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

@@ -2483,6 +2483,7 @@ class CreateVpcFirewallCenConfigureRequest(TeaModel):
2483
2483
  firewall_switch: str = None,
2484
2484
  firewall_vswitch_cidr_block: str = None,
2485
2485
  firewall_vpc_cidr_block: str = None,
2486
+ firewall_vpc_standby_zone_id: str = None,
2486
2487
  firewall_vpc_zone_id: str = None,
2487
2488
  lang: str = None,
2488
2489
  member_uid: str = None,
@@ -2514,6 +2515,10 @@ class CreateVpcFirewallCenConfigureRequest(TeaModel):
2514
2515
  #
2515
2516
  # > This parameter takes effect only when you create a VPC firewall for the first time in the current CEN instance and region.
2516
2517
  self.firewall_vpc_cidr_block = firewall_vpc_cidr_block
2518
+ # The ID of the backup availability zone to which the firewall belongs. The firewall will automatically switch to the backup availability zone to continue running only if the primary availability zone service is unavailable.
2519
+ # If this parameter is not filled, the backup availability zone for the firewall will be automatically assigned.
2520
+ # > This parameter is only effective when creating a VPC firewall for the first time in this CEN region.
2521
+ self.firewall_vpc_standby_zone_id = firewall_vpc_standby_zone_id
2517
2522
  # The ID of the zone to which the vSwitch belongs. If your service is latency-sensitive, you can specify the same zone for the vSwitch of the firewall and the vSwitch of your business VPC to minimize latency.
2518
2523
  #
2519
2524
  # If you do not specify a value, a zone is automatically assigned for the vSwitch.
@@ -2561,6 +2566,8 @@ class CreateVpcFirewallCenConfigureRequest(TeaModel):
2561
2566
  result['FirewallVSwitchCidrBlock'] = self.firewall_vswitch_cidr_block
2562
2567
  if self.firewall_vpc_cidr_block is not None:
2563
2568
  result['FirewallVpcCidrBlock'] = self.firewall_vpc_cidr_block
2569
+ if self.firewall_vpc_standby_zone_id is not None:
2570
+ result['FirewallVpcStandbyZoneId'] = self.firewall_vpc_standby_zone_id
2564
2571
  if self.firewall_vpc_zone_id is not None:
2565
2572
  result['FirewallVpcZoneId'] = self.firewall_vpc_zone_id
2566
2573
  if self.lang is not None:
@@ -2587,6 +2594,8 @@ class CreateVpcFirewallCenConfigureRequest(TeaModel):
2587
2594
  self.firewall_vswitch_cidr_block = m.get('FirewallVSwitchCidrBlock')
2588
2595
  if m.get('FirewallVpcCidrBlock') is not None:
2589
2596
  self.firewall_vpc_cidr_block = m.get('FirewallVpcCidrBlock')
2597
+ if m.get('FirewallVpcStandbyZoneId') is not None:
2598
+ self.firewall_vpc_standby_zone_id = m.get('FirewallVpcStandbyZoneId')
2590
2599
  if m.get('FirewallVpcZoneId') is not None:
2591
2600
  self.firewall_vpc_zone_id = m.get('FirewallVpcZoneId')
2592
2601
  if m.get('Lang') is not None:
@@ -5062,7 +5071,9 @@ class DescribeAddressBookResponseBodyAclsAddresses(TeaModel):
5062
5071
  address: str = None,
5063
5072
  note: str = None,
5064
5073
  ):
5074
+ # Address information in the address book.
5065
5075
  self.address = address
5076
+ # Single address description.
5066
5077
  self.note = note
5067
5078
 
5068
5079
  def validate(self):
@@ -5143,6 +5154,7 @@ class DescribeAddressBookResponseBodyAcls(TeaModel):
5143
5154
  self.address_list = address_list
5144
5155
  # The number of addresses in the address book.
5145
5156
  self.address_list_count = address_list_count
5157
+ # A list of addresses in the address book, each with a single address description.
5146
5158
  self.addresses = addresses
5147
5159
  # Indicates whether the public IP addresses of ECS instances are automatically added to the address book if the instances match the specified tags. The setting takes effect on both newly purchased ECS instances whose tag settings are complete and ECS instances whose tag settings are modified. Valid values:
5148
5160
  #
@@ -7083,7 +7095,6 @@ class DescribeDefaultIPSConfigResponseBody(TeaModel):
7083
7095
  self,
7084
7096
  basic_rules: int = None,
7085
7097
  cti_rules: int = None,
7086
- free_trail_status: str = None,
7087
7098
  max_sdl: int = None,
7088
7099
  patch_rules: int = None,
7089
7100
  request_id: str = None,
@@ -7100,7 +7111,7 @@ class DescribeDefaultIPSConfigResponseBody(TeaModel):
7100
7111
  # * **1**: yes
7101
7112
  # * **0**: no
7102
7113
  self.cti_rules = cti_rules
7103
- self.free_trail_status = free_trail_status
7114
+ # The maximum amount of traffic that can be processed by the sensitive data leak detection feature each day.
7104
7115
  self.max_sdl = max_sdl
7105
7116
  # Indicates whether virtual patching is enabled. Valid values:
7106
7117
  #
@@ -7134,8 +7145,6 @@ class DescribeDefaultIPSConfigResponseBody(TeaModel):
7134
7145
  result['BasicRules'] = self.basic_rules
7135
7146
  if self.cti_rules is not None:
7136
7147
  result['CtiRules'] = self.cti_rules
7137
- if self.free_trail_status is not None:
7138
- result['FreeTrailStatus'] = self.free_trail_status
7139
7148
  if self.max_sdl is not None:
7140
7149
  result['MaxSdl'] = self.max_sdl
7141
7150
  if self.patch_rules is not None:
@@ -7154,8 +7163,6 @@ class DescribeDefaultIPSConfigResponseBody(TeaModel):
7154
7163
  self.basic_rules = m.get('BasicRules')
7155
7164
  if m.get('CtiRules') is not None:
7156
7165
  self.cti_rules = m.get('CtiRules')
7157
- if m.get('FreeTrailStatus') is not None:
7158
- self.free_trail_status = m.get('FreeTrailStatus')
7159
7166
  if m.get('MaxSdl') is not None:
7160
7167
  self.max_sdl = m.get('MaxSdl')
7161
7168
  if m.get('PatchRules') is not None:
@@ -8453,6 +8460,9 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8453
8460
  assets_type: str = None,
8454
8461
  detail_num: int = None,
8455
8462
  has_acl_recommend: bool = None,
8463
+ in_bytes: int = None,
8464
+ member_uid: int = None,
8465
+ out_bytes: int = None,
8456
8466
  port_list: List[str] = None,
8457
8467
  public_ip: str = None,
8458
8468
  region_no: str = None,
@@ -8460,10 +8470,12 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8460
8470
  risk_reason: str = None,
8461
8471
  service_name_list: List[str] = None,
8462
8472
  src_ip_cnt: int = None,
8473
+ total_bytes: int = None,
8463
8474
  total_reply_bytes: int = None,
8464
8475
  traffic_percent_1day: str = None,
8465
8476
  traffic_percent_30day: str = None,
8466
8477
  traffic_percent_7day: str = None,
8478
+ unknown_reason: List[str] = None,
8467
8479
  ):
8468
8480
  # The reason why recommended intelligent policies are unavailable. Valid values:
8469
8481
  #
@@ -8485,6 +8497,12 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8485
8497
  # * **true**\
8486
8498
  # * **false**\
8487
8499
  self.has_acl_recommend = has_acl_recommend
8500
+ # The inbound network throughput, which indicates the total number of bytes that are sent inbound. Unit: bytes.
8501
+ self.in_bytes = in_bytes
8502
+ # The UID of the member that is managed by your Alibaba Cloud account.
8503
+ self.member_uid = member_uid
8504
+ # The outbound network throughput, which indicates the total number of bytes that are sent outbound. Unit: bytes.
8505
+ self.out_bytes = out_bytes
8488
8506
  # The list of ports.
8489
8507
  self.port_list = port_list
8490
8508
  # The public IP address of the instance.
@@ -8504,14 +8522,18 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8504
8522
  self.service_name_list = service_name_list
8505
8523
  # Number of source IPs.
8506
8524
  self.src_ip_cnt = src_ip_cnt
8525
+ # The total inbound and outbound network throughput, which indicates the total number of bytes that are sent inbound and outbound. Unit: bytes.
8526
+ self.total_bytes = total_bytes
8507
8527
  # Outbound traffic in the last 7 days.
8508
8528
  self.total_reply_bytes = total_reply_bytes
8509
- # The percentage of traffic of a day. Unit: percent (%).
8529
+ # For detailed traffic information, see the TotalBytes field.
8510
8530
  self.traffic_percent_1day = traffic_percent_1day
8511
- # The percentage of traffic of 30 days. Unit: percent (%).
8531
+ # For detailed traffic information, see the TotalBytes field.
8512
8532
  self.traffic_percent_30day = traffic_percent_30day
8513
- # The percentage of traffic of seven days. Unit: percent (%).
8533
+ # For detailed traffic information, see the TotalBytes field.
8514
8534
  self.traffic_percent_7day = traffic_percent_7day
8535
+ # Reasons for not analyzing the protocol when the protocol is identified as Unknown.
8536
+ self.unknown_reason = unknown_reason
8515
8537
 
8516
8538
  def validate(self):
8517
8539
  pass
@@ -8534,6 +8556,12 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8534
8556
  result['DetailNum'] = self.detail_num
8535
8557
  if self.has_acl_recommend is not None:
8536
8558
  result['HasAclRecommend'] = self.has_acl_recommend
8559
+ if self.in_bytes is not None:
8560
+ result['InBytes'] = self.in_bytes
8561
+ if self.member_uid is not None:
8562
+ result['MemberUid'] = self.member_uid
8563
+ if self.out_bytes is not None:
8564
+ result['OutBytes'] = self.out_bytes
8537
8565
  if self.port_list is not None:
8538
8566
  result['PortList'] = self.port_list
8539
8567
  if self.public_ip is not None:
@@ -8548,6 +8576,8 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8548
8576
  result['ServiceNameList'] = self.service_name_list
8549
8577
  if self.src_ip_cnt is not None:
8550
8578
  result['SrcIpCnt'] = self.src_ip_cnt
8579
+ if self.total_bytes is not None:
8580
+ result['TotalBytes'] = self.total_bytes
8551
8581
  if self.total_reply_bytes is not None:
8552
8582
  result['TotalReplyBytes'] = self.total_reply_bytes
8553
8583
  if self.traffic_percent_1day is not None:
@@ -8556,6 +8586,8 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8556
8586
  result['TrafficPercent30Day'] = self.traffic_percent_30day
8557
8587
  if self.traffic_percent_7day is not None:
8558
8588
  result['TrafficPercent7Day'] = self.traffic_percent_7day
8589
+ if self.unknown_reason is not None:
8590
+ result['UnknownReason'] = self.unknown_reason
8559
8591
  return result
8560
8592
 
8561
8593
  def from_map(self, m: dict = None):
@@ -8572,6 +8604,12 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8572
8604
  self.detail_num = m.get('DetailNum')
8573
8605
  if m.get('HasAclRecommend') is not None:
8574
8606
  self.has_acl_recommend = m.get('HasAclRecommend')
8607
+ if m.get('InBytes') is not None:
8608
+ self.in_bytes = m.get('InBytes')
8609
+ if m.get('MemberUid') is not None:
8610
+ self.member_uid = m.get('MemberUid')
8611
+ if m.get('OutBytes') is not None:
8612
+ self.out_bytes = m.get('OutBytes')
8575
8613
  if m.get('PortList') is not None:
8576
8614
  self.port_list = m.get('PortList')
8577
8615
  if m.get('PublicIp') is not None:
@@ -8586,6 +8624,8 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8586
8624
  self.service_name_list = m.get('ServiceNameList')
8587
8625
  if m.get('SrcIpCnt') is not None:
8588
8626
  self.src_ip_cnt = m.get('SrcIpCnt')
8627
+ if m.get('TotalBytes') is not None:
8628
+ self.total_bytes = m.get('TotalBytes')
8589
8629
  if m.get('TotalReplyBytes') is not None:
8590
8630
  self.total_reply_bytes = m.get('TotalReplyBytes')
8591
8631
  if m.get('TrafficPercent1Day') is not None:
@@ -8594,6 +8634,8 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8594
8634
  self.traffic_percent_30day = m.get('TrafficPercent30Day')
8595
8635
  if m.get('TrafficPercent7Day') is not None:
8596
8636
  self.traffic_percent_7day = m.get('TrafficPercent7Day')
8637
+ if m.get('UnknownReason') is not None:
8638
+ self.unknown_reason = m.get('UnknownReason')
8597
8639
  return self
8598
8640
 
8599
8641
 
@@ -9586,6 +9628,104 @@ class DescribeInvadeEventListResponse(TeaModel):
9586
9628
  return self
9587
9629
 
9588
9630
 
9631
+ class DescribeLogStoreInfoResponseBody(TeaModel):
9632
+ def __init__(
9633
+ self,
9634
+ log_store_name: str = None,
9635
+ project_name: str = None,
9636
+ quota: int = None,
9637
+ request_id: str = None,
9638
+ ttl: int = None,
9639
+ used: int = None,
9640
+ ):
9641
+ self.log_store_name = log_store_name
9642
+ self.project_name = project_name
9643
+ self.quota = quota
9644
+ self.request_id = request_id
9645
+ self.ttl = ttl
9646
+ self.used = used
9647
+
9648
+ def validate(self):
9649
+ pass
9650
+
9651
+ def to_map(self):
9652
+ _map = super().to_map()
9653
+ if _map is not None:
9654
+ return _map
9655
+
9656
+ result = dict()
9657
+ if self.log_store_name is not None:
9658
+ result['LogStoreName'] = self.log_store_name
9659
+ if self.project_name is not None:
9660
+ result['ProjectName'] = self.project_name
9661
+ if self.quota is not None:
9662
+ result['Quota'] = self.quota
9663
+ if self.request_id is not None:
9664
+ result['RequestId'] = self.request_id
9665
+ if self.ttl is not None:
9666
+ result['Ttl'] = self.ttl
9667
+ if self.used is not None:
9668
+ result['Used'] = self.used
9669
+ return result
9670
+
9671
+ def from_map(self, m: dict = None):
9672
+ m = m or dict()
9673
+ if m.get('LogStoreName') is not None:
9674
+ self.log_store_name = m.get('LogStoreName')
9675
+ if m.get('ProjectName') is not None:
9676
+ self.project_name = m.get('ProjectName')
9677
+ if m.get('Quota') is not None:
9678
+ self.quota = m.get('Quota')
9679
+ if m.get('RequestId') is not None:
9680
+ self.request_id = m.get('RequestId')
9681
+ if m.get('Ttl') is not None:
9682
+ self.ttl = m.get('Ttl')
9683
+ if m.get('Used') is not None:
9684
+ self.used = m.get('Used')
9685
+ return self
9686
+
9687
+
9688
+ class DescribeLogStoreInfoResponse(TeaModel):
9689
+ def __init__(
9690
+ self,
9691
+ headers: Dict[str, str] = None,
9692
+ status_code: int = None,
9693
+ body: DescribeLogStoreInfoResponseBody = None,
9694
+ ):
9695
+ self.headers = headers
9696
+ self.status_code = status_code
9697
+ self.body = body
9698
+
9699
+ def validate(self):
9700
+ if self.body:
9701
+ self.body.validate()
9702
+
9703
+ def to_map(self):
9704
+ _map = super().to_map()
9705
+ if _map is not None:
9706
+ return _map
9707
+
9708
+ result = dict()
9709
+ if self.headers is not None:
9710
+ result['headers'] = self.headers
9711
+ if self.status_code is not None:
9712
+ result['statusCode'] = self.status_code
9713
+ if self.body is not None:
9714
+ result['body'] = self.body.to_map()
9715
+ return result
9716
+
9717
+ def from_map(self, m: dict = None):
9718
+ m = m or dict()
9719
+ if m.get('headers') is not None:
9720
+ self.headers = m.get('headers')
9721
+ if m.get('statusCode') is not None:
9722
+ self.status_code = m.get('statusCode')
9723
+ if m.get('body') is not None:
9724
+ temp_model = DescribeLogStoreInfoResponseBody()
9725
+ self.body = temp_model.from_map(m['body'])
9726
+ return self
9727
+
9728
+
9589
9729
  class DescribeNatAclPageStatusRequest(TeaModel):
9590
9730
  def __init__(
9591
9731
  self,
@@ -10793,6 +10933,226 @@ class DescribeNatFirewallPolicyPriorUsedResponse(TeaModel):
10793
10933
  return self
10794
10934
 
10795
10935
 
10936
+ class DescribeNatFirewallTrafficTrendRequest(TeaModel):
10937
+ def __init__(
10938
+ self,
10939
+ end_time: int = None,
10940
+ interval: int = None,
10941
+ nat_gateway_id: str = None,
10942
+ src_private_ip: str = None,
10943
+ src_public_ip: str = None,
10944
+ start_time: int = None,
10945
+ ):
10946
+ # The end of the time range to query. The value is a UNIX timestamp that is accurate to seconds.
10947
+ self.end_time = end_time
10948
+ # The time interval between the data entries to return. Unit: seconds. Valid values:
10949
+ #
10950
+ # * **60**: 1 minute
10951
+ # * **1800**: 30 minutes
10952
+ self.interval = interval
10953
+ # The ID of the NAT gateway.
10954
+ self.nat_gateway_id = nat_gateway_id
10955
+ # The private IP address of the source.
10956
+ self.src_private_ip = src_private_ip
10957
+ # The public IP address of the source.
10958
+ self.src_public_ip = src_public_ip
10959
+ # The beginning of the time range to query. The value is a UNIX timestamp. Unit: seconds.
10960
+ self.start_time = start_time
10961
+
10962
+ def validate(self):
10963
+ pass
10964
+
10965
+ def to_map(self):
10966
+ _map = super().to_map()
10967
+ if _map is not None:
10968
+ return _map
10969
+
10970
+ result = dict()
10971
+ if self.end_time is not None:
10972
+ result['EndTime'] = self.end_time
10973
+ if self.interval is not None:
10974
+ result['Interval'] = self.interval
10975
+ if self.nat_gateway_id is not None:
10976
+ result['NatGatewayId'] = self.nat_gateway_id
10977
+ if self.src_private_ip is not None:
10978
+ result['SrcPrivateIP'] = self.src_private_ip
10979
+ if self.src_public_ip is not None:
10980
+ result['SrcPublicIP'] = self.src_public_ip
10981
+ if self.start_time is not None:
10982
+ result['StartTime'] = self.start_time
10983
+ return result
10984
+
10985
+ def from_map(self, m: dict = None):
10986
+ m = m or dict()
10987
+ if m.get('EndTime') is not None:
10988
+ self.end_time = m.get('EndTime')
10989
+ if m.get('Interval') is not None:
10990
+ self.interval = m.get('Interval')
10991
+ if m.get('NatGatewayId') is not None:
10992
+ self.nat_gateway_id = m.get('NatGatewayId')
10993
+ if m.get('SrcPrivateIP') is not None:
10994
+ self.src_private_ip = m.get('SrcPrivateIP')
10995
+ if m.get('SrcPublicIP') is not None:
10996
+ self.src_public_ip = m.get('SrcPublicIP')
10997
+ if m.get('StartTime') is not None:
10998
+ self.start_time = m.get('StartTime')
10999
+ return self
11000
+
11001
+
11002
+ class DescribeNatFirewallTrafficTrendResponseBodyDataList(TeaModel):
11003
+ def __init__(
11004
+ self,
11005
+ max_in_bps: int = None,
11006
+ max_out_bps: int = None,
11007
+ max_total_bps: int = None,
11008
+ traffic_time: int = None,
11009
+ ):
11010
+ # The maximum inbound network throughput, which indicates the maximum number of bits that are sent inbound per second. Unit: bit/s.
11011
+ self.max_in_bps = max_in_bps
11012
+ # The maximum outbound network throughput, which indicates the maximum number of bits that are sent outbound per second. Unit: bit/s.
11013
+ self.max_out_bps = max_out_bps
11014
+ # The total maximum inbound and outbound network throughput, which indicates the maximum number of bits that are sent inbound and outbound per second. Unit: bit/s.
11015
+ self.max_total_bps = max_total_bps
11016
+ # The time range to query. The value is a UNIX timestamp. Unit: seconds.
11017
+ self.traffic_time = traffic_time
11018
+
11019
+ def validate(self):
11020
+ pass
11021
+
11022
+ def to_map(self):
11023
+ _map = super().to_map()
11024
+ if _map is not None:
11025
+ return _map
11026
+
11027
+ result = dict()
11028
+ if self.max_in_bps is not None:
11029
+ result['MaxInBps'] = self.max_in_bps
11030
+ if self.max_out_bps is not None:
11031
+ result['MaxOutBps'] = self.max_out_bps
11032
+ if self.max_total_bps is not None:
11033
+ result['MaxTotalBps'] = self.max_total_bps
11034
+ if self.traffic_time is not None:
11035
+ result['TrafficTime'] = self.traffic_time
11036
+ return result
11037
+
11038
+ def from_map(self, m: dict = None):
11039
+ m = m or dict()
11040
+ if m.get('MaxInBps') is not None:
11041
+ self.max_in_bps = m.get('MaxInBps')
11042
+ if m.get('MaxOutBps') is not None:
11043
+ self.max_out_bps = m.get('MaxOutBps')
11044
+ if m.get('MaxTotalBps') is not None:
11045
+ self.max_total_bps = m.get('MaxTotalBps')
11046
+ if m.get('TrafficTime') is not None:
11047
+ self.traffic_time = m.get('TrafficTime')
11048
+ return self
11049
+
11050
+
11051
+ class DescribeNatFirewallTrafficTrendResponseBody(TeaModel):
11052
+ def __init__(
11053
+ self,
11054
+ data_list: List[DescribeNatFirewallTrafficTrendResponseBodyDataList] = None,
11055
+ max_in_bps: int = None,
11056
+ max_out_bps: int = None,
11057
+ max_total_bps: int = None,
11058
+ request_id: str = None,
11059
+ ):
11060
+ # The statistics on traffic.
11061
+ self.data_list = data_list
11062
+ # The maximum inbound network throughput, which indicates the maximum number of bits that are sent inbound per second. Unit: bit/s.
11063
+ self.max_in_bps = max_in_bps
11064
+ # The maximum outbound network throughput, which indicates the maximum number of bits that are sent outbound per second. Unit: bit/s.
11065
+ self.max_out_bps = max_out_bps
11066
+ # The total maximum inbound and outbound network throughput, which indicates the maximum number of bits that are sent inbound and outbound per second. Unit: bit/s.
11067
+ self.max_total_bps = max_total_bps
11068
+ # Id of the request
11069
+ self.request_id = request_id
11070
+
11071
+ def validate(self):
11072
+ if self.data_list:
11073
+ for k in self.data_list:
11074
+ if k:
11075
+ k.validate()
11076
+
11077
+ def to_map(self):
11078
+ _map = super().to_map()
11079
+ if _map is not None:
11080
+ return _map
11081
+
11082
+ result = dict()
11083
+ result['DataList'] = []
11084
+ if self.data_list is not None:
11085
+ for k in self.data_list:
11086
+ result['DataList'].append(k.to_map() if k else None)
11087
+ if self.max_in_bps is not None:
11088
+ result['MaxInBps'] = self.max_in_bps
11089
+ if self.max_out_bps is not None:
11090
+ result['MaxOutBps'] = self.max_out_bps
11091
+ if self.max_total_bps is not None:
11092
+ result['MaxTotalBps'] = self.max_total_bps
11093
+ if self.request_id is not None:
11094
+ result['RequestId'] = self.request_id
11095
+ return result
11096
+
11097
+ def from_map(self, m: dict = None):
11098
+ m = m or dict()
11099
+ self.data_list = []
11100
+ if m.get('DataList') is not None:
11101
+ for k in m.get('DataList'):
11102
+ temp_model = DescribeNatFirewallTrafficTrendResponseBodyDataList()
11103
+ self.data_list.append(temp_model.from_map(k))
11104
+ if m.get('MaxInBps') is not None:
11105
+ self.max_in_bps = m.get('MaxInBps')
11106
+ if m.get('MaxOutBps') is not None:
11107
+ self.max_out_bps = m.get('MaxOutBps')
11108
+ if m.get('MaxTotalBps') is not None:
11109
+ self.max_total_bps = m.get('MaxTotalBps')
11110
+ if m.get('RequestId') is not None:
11111
+ self.request_id = m.get('RequestId')
11112
+ return self
11113
+
11114
+
11115
+ class DescribeNatFirewallTrafficTrendResponse(TeaModel):
11116
+ def __init__(
11117
+ self,
11118
+ headers: Dict[str, str] = None,
11119
+ status_code: int = None,
11120
+ body: DescribeNatFirewallTrafficTrendResponseBody = None,
11121
+ ):
11122
+ self.headers = headers
11123
+ self.status_code = status_code
11124
+ self.body = body
11125
+
11126
+ def validate(self):
11127
+ if self.body:
11128
+ self.body.validate()
11129
+
11130
+ def to_map(self):
11131
+ _map = super().to_map()
11132
+ if _map is not None:
11133
+ return _map
11134
+
11135
+ result = dict()
11136
+ if self.headers is not None:
11137
+ result['headers'] = self.headers
11138
+ if self.status_code is not None:
11139
+ result['statusCode'] = self.status_code
11140
+ if self.body is not None:
11141
+ result['body'] = self.body.to_map()
11142
+ return result
11143
+
11144
+ def from_map(self, m: dict = None):
11145
+ m = m or dict()
11146
+ if m.get('headers') is not None:
11147
+ self.headers = m.get('headers')
11148
+ if m.get('statusCode') is not None:
11149
+ self.status_code = m.get('statusCode')
11150
+ if m.get('body') is not None:
11151
+ temp_model = DescribeNatFirewallTrafficTrendResponseBody()
11152
+ self.body = temp_model.from_map(m['body'])
11153
+ return self
11154
+
11155
+
10796
11156
  class DescribeOutgoingDestinationIPRequest(TeaModel):
10797
11157
  def __init__(
10798
11158
  self,
@@ -11031,6 +11391,7 @@ class DescribeOutgoingDestinationIPResponseBodyDstIPListApplicationPortList(TeaM
11031
11391
  self,
11032
11392
  application_name: str = None,
11033
11393
  port: int = None,
11394
+ unknown_reason: List[str] = None,
11034
11395
  ):
11035
11396
  # The application type used in the access control policy. Valid values:
11036
11397
  #
@@ -11054,6 +11415,7 @@ class DescribeOutgoingDestinationIPResponseBodyDstIPListApplicationPortList(TeaM
11054
11415
  self.application_name = application_name
11055
11416
  # The application port.
11056
11417
  self.port = port
11418
+ self.unknown_reason = unknown_reason
11057
11419
 
11058
11420
  def validate(self):
11059
11421
  pass
@@ -11068,6 +11430,8 @@ class DescribeOutgoingDestinationIPResponseBodyDstIPListApplicationPortList(TeaM
11068
11430
  result['ApplicationName'] = self.application_name
11069
11431
  if self.port is not None:
11070
11432
  result['Port'] = self.port
11433
+ if self.unknown_reason is not None:
11434
+ result['UnknownReason'] = self.unknown_reason
11071
11435
  return result
11072
11436
 
11073
11437
  def from_map(self, m: dict = None):
@@ -11076,6 +11440,8 @@ class DescribeOutgoingDestinationIPResponseBodyDstIPListApplicationPortList(TeaM
11076
11440
  self.application_name = m.get('ApplicationName')
11077
11441
  if m.get('Port') is not None:
11078
11442
  self.port = m.get('Port')
11443
+ if m.get('UnknownReason') is not None:
11444
+ self.unknown_reason = m.get('UnknownReason')
11079
11445
  return self
11080
11446
 
11081
11447
 
@@ -12665,7 +13031,9 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
12665
13031
  self.total_nat_assets = total_nat_assets
12666
13032
  # 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.
12667
13033
  self.total_nat_traffic = total_nat_traffic
13034
+ # Data Leak Detection Total Fee Flow.
12668
13035
  self.total_sdl_bill_traffic = total_sdl_bill_traffic
13036
+ # Data Leak Detection Total free usage traffic.
12669
13037
  self.total_sdl_free_traffic = total_sdl_free_traffic
12670
13038
  # 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.
12671
13039
  self.total_traffic = total_traffic
@@ -14031,6 +14399,7 @@ class DescribeSignatureLibVersionResponseBodyVersion(TeaModel):
14031
14399
  def __init__(
14032
14400
  self,
14033
14401
  type: str = None,
14402
+ update_time: int = None,
14034
14403
  version: str = None,
14035
14404
  ):
14036
14405
  # The type.
@@ -14063,6 +14432,7 @@ class DescribeSignatureLibVersionResponseBodyVersion(TeaModel):
14063
14432
  #
14064
14433
  # <!-- -->
14065
14434
  self.type = type
14435
+ self.update_time = update_time
14066
14436
  # The version number.
14067
14437
  self.version = version
14068
14438
 
@@ -14077,6 +14447,8 @@ class DescribeSignatureLibVersionResponseBodyVersion(TeaModel):
14077
14447
  result = dict()
14078
14448
  if self.type is not None:
14079
14449
  result['Type'] = self.type
14450
+ if self.update_time is not None:
14451
+ result['UpdateTime'] = self.update_time
14080
14452
  if self.version is not None:
14081
14453
  result['Version'] = self.version
14082
14454
  return result
@@ -14085,6 +14457,8 @@ class DescribeSignatureLibVersionResponseBodyVersion(TeaModel):
14085
14457
  m = m or dict()
14086
14458
  if m.get('Type') is not None:
14087
14459
  self.type = m.get('Type')
14460
+ if m.get('UpdateTime') is not None:
14461
+ self.update_time = m.get('UpdateTime')
14088
14462
  if m.get('Version') is not None:
14089
14463
  self.version = m.get('Version')
14090
14464
  return self
@@ -14842,7 +15216,9 @@ class DescribeTrFirewallsV2DetailResponseBody(TeaModel):
14842
15216
  request_id: str = None,
14843
15217
  route_mode: str = None,
14844
15218
  tr_attachment_master_cidr: str = None,
15219
+ tr_attachment_master_zone: str = None,
14845
15220
  tr_attachment_slave_cidr: str = None,
15221
+ tr_attachment_slave_zone: str = None,
14846
15222
  transit_router_id: str = None,
14847
15223
  ):
14848
15224
  # The ID of the Cloud Enterprise Network (CEN) instance.
@@ -14892,8 +15268,10 @@ class DescribeTrFirewallsV2DetailResponseBody(TeaModel):
14892
15268
  self.route_mode = route_mode
14893
15269
  # The primary subnet CIDR block that the VPC uses to connect to the transit router in automatic mode.
14894
15270
  self.tr_attachment_master_cidr = tr_attachment_master_cidr
15271
+ self.tr_attachment_master_zone = tr_attachment_master_zone
14895
15272
  # The secondary subnet CIDR block that the VPC uses to connect to the transit router in automatic mode.
14896
15273
  self.tr_attachment_slave_cidr = tr_attachment_slave_cidr
15274
+ self.tr_attachment_slave_zone = tr_attachment_slave_zone
14897
15275
  # The ID of the transit router.
14898
15276
  self.transit_router_id = transit_router_id
14899
15277
 
@@ -14936,8 +15314,12 @@ class DescribeTrFirewallsV2DetailResponseBody(TeaModel):
14936
15314
  result['RouteMode'] = self.route_mode
14937
15315
  if self.tr_attachment_master_cidr is not None:
14938
15316
  result['TrAttachmentMasterCidr'] = self.tr_attachment_master_cidr
15317
+ if self.tr_attachment_master_zone is not None:
15318
+ result['TrAttachmentMasterZone'] = self.tr_attachment_master_zone
14939
15319
  if self.tr_attachment_slave_cidr is not None:
14940
15320
  result['TrAttachmentSlaveCidr'] = self.tr_attachment_slave_cidr
15321
+ if self.tr_attachment_slave_zone is not None:
15322
+ result['TrAttachmentSlaveZone'] = self.tr_attachment_slave_zone
14941
15323
  if self.transit_router_id is not None:
14942
15324
  result['TransitRouterId'] = self.transit_router_id
14943
15325
  return result
@@ -14974,8 +15356,12 @@ class DescribeTrFirewallsV2DetailResponseBody(TeaModel):
14974
15356
  self.route_mode = m.get('RouteMode')
14975
15357
  if m.get('TrAttachmentMasterCidr') is not None:
14976
15358
  self.tr_attachment_master_cidr = m.get('TrAttachmentMasterCidr')
15359
+ if m.get('TrAttachmentMasterZone') is not None:
15360
+ self.tr_attachment_master_zone = m.get('TrAttachmentMasterZone')
14977
15361
  if m.get('TrAttachmentSlaveCidr') is not None:
14978
15362
  self.tr_attachment_slave_cidr = m.get('TrAttachmentSlaveCidr')
15363
+ if m.get('TrAttachmentSlaveZone') is not None:
15364
+ self.tr_attachment_slave_zone = m.get('TrAttachmentSlaveZone')
14979
15365
  if m.get('TransitRouterId') is not None:
14980
15366
  self.transit_router_id = m.get('TransitRouterId')
14981
15367
  return self
@@ -15137,6 +15523,33 @@ class DescribeTrFirewallsV2ListRequest(TeaModel):
15137
15523
  return self
15138
15524
 
15139
15525
 
15526
+ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsAclConfig(TeaModel):
15527
+ def __init__(
15528
+ self,
15529
+ strict_mode: int = None,
15530
+ ):
15531
+ self.strict_mode = strict_mode
15532
+
15533
+ def validate(self):
15534
+ pass
15535
+
15536
+ def to_map(self):
15537
+ _map = super().to_map()
15538
+ if _map is not None:
15539
+ return _map
15540
+
15541
+ result = dict()
15542
+ if self.strict_mode is not None:
15543
+ result['StrictMode'] = self.strict_mode
15544
+ return result
15545
+
15546
+ def from_map(self, m: dict = None):
15547
+ m = m or dict()
15548
+ if m.get('StrictMode') is not None:
15549
+ self.strict_mode = m.get('StrictMode')
15550
+ return self
15551
+
15552
+
15140
15553
  class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
15141
15554
  def __init__(
15142
15555
  self,
@@ -15328,6 +15741,7 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsUnprotectedResource(Tea
15328
15741
  class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewalls(TeaModel):
15329
15742
  def __init__(
15330
15743
  self,
15744
+ acl_config: DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsAclConfig = None,
15331
15745
  cen_id: str = None,
15332
15746
  cen_name: str = None,
15333
15747
  cloud_firewall_vpc_order_type: str = None,
@@ -15345,6 +15759,7 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewalls(TeaModel):
15345
15759
  unprotected_resource: DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsUnprotectedResource = None,
15346
15760
  vpc_firewall_name: str = None,
15347
15761
  ):
15762
+ self.acl_config = acl_config
15348
15763
  # The ID of the CEN instance.
15349
15764
  self.cen_id = cen_id
15350
15765
  # The name of the CEN instance.
@@ -15405,6 +15820,8 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewalls(TeaModel):
15405
15820
  self.vpc_firewall_name = vpc_firewall_name
15406
15821
 
15407
15822
  def validate(self):
15823
+ if self.acl_config:
15824
+ self.acl_config.validate()
15408
15825
  if self.ips_config:
15409
15826
  self.ips_config.validate()
15410
15827
  if self.protected_resource:
@@ -15418,6 +15835,8 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewalls(TeaModel):
15418
15835
  return _map
15419
15836
 
15420
15837
  result = dict()
15838
+ if self.acl_config is not None:
15839
+ result['AclConfig'] = self.acl_config.to_map()
15421
15840
  if self.cen_id is not None:
15422
15841
  result['CenId'] = self.cen_id
15423
15842
  if self.cen_name is not None:
@@ -15454,6 +15873,9 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewalls(TeaModel):
15454
15873
 
15455
15874
  def from_map(self, m: dict = None):
15456
15875
  m = m or dict()
15876
+ if m.get('AclConfig') is not None:
15877
+ temp_model = DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsAclConfig()
15878
+ self.acl_config = temp_model.from_map(m['AclConfig'])
15457
15879
  if m.get('CenId') is not None:
15458
15880
  self.cen_id = m.get('CenId')
15459
15881
  if m.get('CenName') is not None:
@@ -16017,6 +16439,7 @@ class DescribeUserBuyVersionResponseBody(TeaModel):
16017
16439
  # * **abnormal**: An exception occurs in Cloud Firewall.
16018
16440
  # * **free**: Cloud Firewall is invalid.
16019
16441
  self.instance_status = instance_status
16442
+ # The peak Internet traffic that can be protected.
16020
16443
  self.internet_bandwidth = internet_bandwidth
16021
16444
  # The number of public IP addresses that can be protected.
16022
16445
  #
@@ -16038,6 +16461,7 @@ class DescribeUserBuyVersionResponseBody(TeaModel):
16038
16461
  #
16039
16462
  # > This parameter takes effect only for Cloud Firewall that uses the subscription billing method.
16040
16463
  self.max_overflow = max_overflow
16464
+ # The peak traffic of NAT private network that can be protected.
16041
16465
  self.nat_bandwidth = nat_bandwidth
16042
16466
  # The request ID.
16043
16467
  self.request_id = request_id
@@ -16057,6 +16481,7 @@ class DescribeUserBuyVersionResponseBody(TeaModel):
16057
16481
  # * **4**: Ultimate Edition.
16058
16482
  # * **10**: Cloud Firewall that uses the pay-as-you-go billing method.
16059
16483
  self.version = version
16484
+ # The peak cross-VPC traffic that can be protected.
16060
16485
  self.vpc_bandwidth = vpc_bandwidth
16061
16486
  # The number of virtual private clouds (VPCs) that can be protected.
16062
16487
  #
@@ -16421,6 +16846,7 @@ class DescribeVpcFirewallAclGroupListRequest(TeaModel):
16421
16846
  self,
16422
16847
  current_page: str = None,
16423
16848
  firewall_configure_status: str = None,
16849
+ firewall_id: str = None,
16424
16850
  lang: str = None,
16425
16851
  page_size: str = None,
16426
16852
  ):
@@ -16432,6 +16858,7 @@ class DescribeVpcFirewallAclGroupListRequest(TeaModel):
16432
16858
  # * **configured**: VPC firewalls are configured.
16433
16859
  # * If you do not specify this parameter, the access control policies of all VPC firewalls are queried.
16434
16860
  self.firewall_configure_status = firewall_configure_status
16861
+ self.firewall_id = firewall_id
16435
16862
  # The language of the content within the response. Valid values:
16436
16863
  #
16437
16864
  # * **zh**: Chinese (default)
@@ -16453,6 +16880,8 @@ class DescribeVpcFirewallAclGroupListRequest(TeaModel):
16453
16880
  result['CurrentPage'] = self.current_page
16454
16881
  if self.firewall_configure_status is not None:
16455
16882
  result['FirewallConfigureStatus'] = self.firewall_configure_status
16883
+ if self.firewall_id is not None:
16884
+ result['FirewallId'] = self.firewall_id
16456
16885
  if self.lang is not None:
16457
16886
  result['Lang'] = self.lang
16458
16887
  if self.page_size is not None:
@@ -16465,6 +16894,8 @@ class DescribeVpcFirewallAclGroupListRequest(TeaModel):
16465
16894
  self.current_page = m.get('CurrentPage')
16466
16895
  if m.get('FirewallConfigureStatus') is not None:
16467
16896
  self.firewall_configure_status = m.get('FirewallConfigureStatus')
16897
+ if m.get('FirewallId') is not None:
16898
+ self.firewall_id = m.get('FirewallId')
16468
16899
  if m.get('Lang') is not None:
16469
16900
  self.lang = m.get('Lang')
16470
16901
  if m.get('PageSize') is not None:
@@ -16472,15 +16903,44 @@ class DescribeVpcFirewallAclGroupListRequest(TeaModel):
16472
16903
  return self
16473
16904
 
16474
16905
 
16906
+ class DescribeVpcFirewallAclGroupListResponseBodyAclGroupListAclConfig(TeaModel):
16907
+ def __init__(
16908
+ self,
16909
+ strict_mode: int = None,
16910
+ ):
16911
+ self.strict_mode = strict_mode
16912
+
16913
+ def validate(self):
16914
+ pass
16915
+
16916
+ def to_map(self):
16917
+ _map = super().to_map()
16918
+ if _map is not None:
16919
+ return _map
16920
+
16921
+ result = dict()
16922
+ if self.strict_mode is not None:
16923
+ result['StrictMode'] = self.strict_mode
16924
+ return result
16925
+
16926
+ def from_map(self, m: dict = None):
16927
+ m = m or dict()
16928
+ if m.get('StrictMode') is not None:
16929
+ self.strict_mode = m.get('StrictMode')
16930
+ return self
16931
+
16932
+
16475
16933
  class DescribeVpcFirewallAclGroupListResponseBodyAclGroupList(TeaModel):
16476
16934
  def __init__(
16477
16935
  self,
16936
+ acl_config: DescribeVpcFirewallAclGroupListResponseBodyAclGroupListAclConfig = None,
16478
16937
  acl_group_id: str = None,
16479
16938
  acl_group_name: str = None,
16480
16939
  acl_rule_count: int = None,
16481
16940
  is_default: bool = None,
16482
16941
  member_uid: str = None,
16483
16942
  ):
16943
+ self.acl_config = acl_config
16484
16944
  # The ID of the policy group.
16485
16945
  #
16486
16946
  # Valid values:
@@ -16508,7 +16968,8 @@ class DescribeVpcFirewallAclGroupListResponseBodyAclGroupList(TeaModel):
16508
16968
  self.member_uid = member_uid
16509
16969
 
16510
16970
  def validate(self):
16511
- pass
16971
+ if self.acl_config:
16972
+ self.acl_config.validate()
16512
16973
 
16513
16974
  def to_map(self):
16514
16975
  _map = super().to_map()
@@ -16516,6 +16977,8 @@ class DescribeVpcFirewallAclGroupListResponseBodyAclGroupList(TeaModel):
16516
16977
  return _map
16517
16978
 
16518
16979
  result = dict()
16980
+ if self.acl_config is not None:
16981
+ result['AclConfig'] = self.acl_config.to_map()
16519
16982
  if self.acl_group_id is not None:
16520
16983
  result['AclGroupId'] = self.acl_group_id
16521
16984
  if self.acl_group_name is not None:
@@ -16530,6 +16993,9 @@ class DescribeVpcFirewallAclGroupListResponseBodyAclGroupList(TeaModel):
16530
16993
 
16531
16994
  def from_map(self, m: dict = None):
16532
16995
  m = m or dict()
16996
+ if m.get('AclConfig') is not None:
16997
+ temp_model = DescribeVpcFirewallAclGroupListResponseBodyAclGroupListAclConfig()
16998
+ self.acl_config = temp_model.from_map(m['AclConfig'])
16533
16999
  if m.get('AclGroupId') is not None:
16534
17000
  self.acl_group_id = m.get('AclGroupId')
16535
17001
  if m.get('AclGroupName') is not None:
@@ -16687,10 +17153,12 @@ class DescribeVpcFirewallCenDetailResponseBodyFirewallVpc(TeaModel):
16687
17153
  def __init__(
16688
17154
  self,
16689
17155
  allow_configuration: int = None,
17156
+ standby_zone_id: str = None,
16690
17157
  vpc_cidr: str = None,
16691
17158
  vpc_id: str = None,
16692
17159
  vswitch_cidr: str = None,
16693
17160
  vswitch_id: str = None,
17161
+ vswitch_zone_id: str = None,
16694
17162
  zone_id: str = None,
16695
17163
  ):
16696
17164
  # Indicates whether you can specify a CIDR block when you create a VPC firewall for a Basic Edition transit router of a CEN instance. Valid values:
@@ -16698,6 +17166,8 @@ class DescribeVpcFirewallCenDetailResponseBodyFirewallVpc(TeaModel):
16698
17166
  # * **1**: yes
16699
17167
  # * **0**: no
16700
17168
  self.allow_configuration = allow_configuration
17169
+ # Firewall backup availability zone ID.
17170
+ self.standby_zone_id = standby_zone_id
16701
17171
  # The CIDR block of the VPC.
16702
17172
  self.vpc_cidr = vpc_cidr
16703
17173
  # The VPC ID.
@@ -16706,6 +17176,8 @@ class DescribeVpcFirewallCenDetailResponseBodyFirewallVpc(TeaModel):
16706
17176
  self.vswitch_cidr = vswitch_cidr
16707
17177
  # The vSwitch ID.
16708
17178
  self.vswitch_id = vswitch_id
17179
+ # The availability zone ID of the virtual switch.
17180
+ self.vswitch_zone_id = vswitch_zone_id
16709
17181
  # The zone ID.
16710
17182
  self.zone_id = zone_id
16711
17183
 
@@ -16720,6 +17192,8 @@ class DescribeVpcFirewallCenDetailResponseBodyFirewallVpc(TeaModel):
16720
17192
  result = dict()
16721
17193
  if self.allow_configuration is not None:
16722
17194
  result['AllowConfiguration'] = self.allow_configuration
17195
+ if self.standby_zone_id is not None:
17196
+ result['StandbyZoneId'] = self.standby_zone_id
16723
17197
  if self.vpc_cidr is not None:
16724
17198
  result['VpcCidr'] = self.vpc_cidr
16725
17199
  if self.vpc_id is not None:
@@ -16728,6 +17202,8 @@ class DescribeVpcFirewallCenDetailResponseBodyFirewallVpc(TeaModel):
16728
17202
  result['VswitchCidr'] = self.vswitch_cidr
16729
17203
  if self.vswitch_id is not None:
16730
17204
  result['VswitchId'] = self.vswitch_id
17205
+ if self.vswitch_zone_id is not None:
17206
+ result['VswitchZoneId'] = self.vswitch_zone_id
16731
17207
  if self.zone_id is not None:
16732
17208
  result['ZoneId'] = self.zone_id
16733
17209
  return result
@@ -16736,6 +17212,8 @@ class DescribeVpcFirewallCenDetailResponseBodyFirewallVpc(TeaModel):
16736
17212
  m = m or dict()
16737
17213
  if m.get('AllowConfiguration') is not None:
16738
17214
  self.allow_configuration = m.get('AllowConfiguration')
17215
+ if m.get('StandbyZoneId') is not None:
17216
+ self.standby_zone_id = m.get('StandbyZoneId')
16739
17217
  if m.get('VpcCidr') is not None:
16740
17218
  self.vpc_cidr = m.get('VpcCidr')
16741
17219
  if m.get('VpcId') is not None:
@@ -16744,6 +17222,8 @@ class DescribeVpcFirewallCenDetailResponseBodyFirewallVpc(TeaModel):
16744
17222
  self.vswitch_cidr = m.get('VswitchCidr')
16745
17223
  if m.get('VswitchId') is not None:
16746
17224
  self.vswitch_id = m.get('VswitchId')
17225
+ if m.get('VswitchZoneId') is not None:
17226
+ self.vswitch_zone_id = m.get('VswitchZoneId')
16747
17227
  if m.get('ZoneId') is not None:
16748
17228
  self.zone_id = m.get('ZoneId')
16749
17229
  return self
@@ -17054,7 +17534,7 @@ class DescribeVpcFirewallCenDetailResponseBody(TeaModel):
17054
17534
  # * **closed**: disabled
17055
17535
  # * **notconfigured**: not configured
17056
17536
  self.firewall_switch_status = firewall_switch_status
17057
- # The VPC that is automatically created for the firewall.
17537
+ # The firewall VPC.
17058
17538
  self.firewall_vpc = firewall_vpc
17059
17539
  # The details about the VPC.
17060
17540
  self.local_vpc = local_vpc
@@ -17290,6 +17770,33 @@ class DescribeVpcFirewallCenListRequest(TeaModel):
17290
17770
  return self
17291
17771
 
17292
17772
 
17773
+ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsAclConfig(TeaModel):
17774
+ def __init__(
17775
+ self,
17776
+ strict_mode: int = None,
17777
+ ):
17778
+ self.strict_mode = strict_mode
17779
+
17780
+ def validate(self):
17781
+ pass
17782
+
17783
+ def to_map(self):
17784
+ _map = super().to_map()
17785
+ if _map is not None:
17786
+ return _map
17787
+
17788
+ result = dict()
17789
+ if self.strict_mode is not None:
17790
+ result['StrictMode'] = self.strict_mode
17791
+ return result
17792
+
17793
+ def from_map(self, m: dict = None):
17794
+ m = m or dict()
17795
+ if m.get('StrictMode') is not None:
17796
+ self.strict_mode = m.get('StrictMode')
17797
+ return self
17798
+
17799
+
17293
17800
  class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
17294
17801
  def __init__(
17295
17802
  self,
@@ -17573,6 +18080,7 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsLocalVpc(TeaModel):
17573
18080
  class DescribeVpcFirewallCenListResponseBodyVpcFirewalls(TeaModel):
17574
18081
  def __init__(
17575
18082
  self,
18083
+ acl_config: DescribeVpcFirewallCenListResponseBodyVpcFirewallsAclConfig = None,
17576
18084
  cen_id: str = None,
17577
18085
  cen_name: str = None,
17578
18086
  connect_type: str = None,
@@ -17586,6 +18094,7 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewalls(TeaModel):
17586
18094
  vpc_firewall_id: str = None,
17587
18095
  vpc_firewall_name: str = None,
17588
18096
  ):
18097
+ self.acl_config = acl_config
17589
18098
  # The ID of the CEN instance.
17590
18099
  self.cen_id = cen_id
17591
18100
  # The name of the CEN instance.
@@ -17629,6 +18138,8 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewalls(TeaModel):
17629
18138
  self.vpc_firewall_name = vpc_firewall_name
17630
18139
 
17631
18140
  def validate(self):
18141
+ if self.acl_config:
18142
+ self.acl_config.validate()
17632
18143
  if self.ips_config:
17633
18144
  self.ips_config.validate()
17634
18145
  if self.local_vpc:
@@ -17640,6 +18151,8 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewalls(TeaModel):
17640
18151
  return _map
17641
18152
 
17642
18153
  result = dict()
18154
+ if self.acl_config is not None:
18155
+ result['AclConfig'] = self.acl_config.to_map()
17643
18156
  if self.cen_id is not None:
17644
18157
  result['CenId'] = self.cen_id
17645
18158
  if self.cen_name is not None:
@@ -17668,6 +18181,9 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewalls(TeaModel):
17668
18181
 
17669
18182
  def from_map(self, m: dict = None):
17670
18183
  m = m or dict()
18184
+ if m.get('AclConfig') is not None:
18185
+ temp_model = DescribeVpcFirewallCenListResponseBodyVpcFirewallsAclConfig()
18186
+ self.acl_config = temp_model.from_map(m['AclConfig'])
17671
18187
  if m.get('CenId') is not None:
17672
18188
  self.cen_id = m.get('CenId')
17673
18189
  if m.get('CenName') is not None:
@@ -19331,6 +19847,34 @@ class DescribeVpcFirewallListRequest(TeaModel):
19331
19847
  return self
19332
19848
 
19333
19849
 
19850
+ class DescribeVpcFirewallListResponseBodyVpcFirewallsAclConfig(TeaModel):
19851
+ def __init__(
19852
+ self,
19853
+ strict_mode: int = None,
19854
+ ):
19855
+ # This parameter is required.
19856
+ self.strict_mode = strict_mode
19857
+
19858
+ def validate(self):
19859
+ pass
19860
+
19861
+ def to_map(self):
19862
+ _map = super().to_map()
19863
+ if _map is not None:
19864
+ return _map
19865
+
19866
+ result = dict()
19867
+ if self.strict_mode is not None:
19868
+ result['StrictMode'] = self.strict_mode
19869
+ return result
19870
+
19871
+ def from_map(self, m: dict = None):
19872
+ m = m or dict()
19873
+ if m.get('StrictMode') is not None:
19874
+ self.strict_mode = m.get('StrictMode')
19875
+ return self
19876
+
19877
+
19334
19878
  class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
19335
19879
  def __init__(
19336
19880
  self,
@@ -19694,6 +20238,7 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsPeerVpc(TeaModel):
19694
20238
  class DescribeVpcFirewallListResponseBodyVpcFirewalls(TeaModel):
19695
20239
  def __init__(
19696
20240
  self,
20241
+ acl_config: DescribeVpcFirewallListResponseBodyVpcFirewallsAclConfig = None,
19697
20242
  bandwidth: int = None,
19698
20243
  connect_sub_type: str = None,
19699
20244
  connect_type: str = None,
@@ -19707,6 +20252,7 @@ class DescribeVpcFirewallListResponseBodyVpcFirewalls(TeaModel):
19707
20252
  vpc_firewall_id: str = None,
19708
20253
  vpc_firewall_name: str = None,
19709
20254
  ):
20255
+ self.acl_config = acl_config
19710
20256
  # The bandwidth of the Express Connect circuit. Unit: Mbit/s.
19711
20257
  self.bandwidth = bandwidth
19712
20258
  # The sub-type of the connection. Valid values:
@@ -19747,6 +20293,8 @@ class DescribeVpcFirewallListResponseBodyVpcFirewalls(TeaModel):
19747
20293
  self.vpc_firewall_name = vpc_firewall_name
19748
20294
 
19749
20295
  def validate(self):
20296
+ if self.acl_config:
20297
+ self.acl_config.validate()
19750
20298
  if self.ips_config:
19751
20299
  self.ips_config.validate()
19752
20300
  if self.local_vpc:
@@ -19760,6 +20308,8 @@ class DescribeVpcFirewallListResponseBodyVpcFirewalls(TeaModel):
19760
20308
  return _map
19761
20309
 
19762
20310
  result = dict()
20311
+ if self.acl_config is not None:
20312
+ result['AclConfig'] = self.acl_config.to_map()
19763
20313
  if self.bandwidth is not None:
19764
20314
  result['Bandwidth'] = self.bandwidth
19765
20315
  if self.connect_sub_type is not None:
@@ -19788,6 +20338,9 @@ class DescribeVpcFirewallListResponseBodyVpcFirewalls(TeaModel):
19788
20338
 
19789
20339
  def from_map(self, m: dict = None):
19790
20340
  m = m or dict()
20341
+ if m.get('AclConfig') is not None:
20342
+ temp_model = DescribeVpcFirewallListResponseBodyVpcFirewallsAclConfig()
20343
+ self.acl_config = temp_model.from_map(m['AclConfig'])
19791
20344
  if m.get('Bandwidth') is not None:
19792
20345
  self.bandwidth = m.get('Bandwidth')
19793
20346
  if m.get('ConnectSubType') is not None:
@@ -21723,33 +22276,30 @@ class ModifyControlPolicyPositionResponse(TeaModel):
21723
22276
  class ModifyDefaultIPSConfigRequest(TeaModel):
21724
22277
  def __init__(
21725
22278
  self,
21726
- basic_rules: str = None,
21727
- cti_rules: str = None,
22279
+ basic_rules: int = None,
22280
+ cti_rules: int = None,
21728
22281
  lang: str = None,
21729
22282
  max_sdl: int = None,
21730
- patch_rules: str = None,
21731
- rule_class: str = None,
21732
- run_mode: str = None,
22283
+ patch_rules: int = None,
22284
+ rule_class: int = None,
22285
+ run_mode: int = None,
21733
22286
  ):
21734
22287
  # Specifies whether to enable basic protection. Valid values:
21735
22288
  #
21736
22289
  # * **1**: yes
21737
22290
  # * **0**: no
21738
- #
21739
- # This parameter is required.
21740
22291
  self.basic_rules = basic_rules
21741
22292
  # Specifies whether to enable threat intelligence. Valid values:
21742
22293
  #
21743
22294
  # * **1**: yes
21744
22295
  # * **0**: no
21745
- #
21746
- # This parameter is required.
21747
22296
  self.cti_rules = cti_rules
21748
22297
  # The language of the content within the request and response. Valid values:
21749
22298
  #
21750
22299
  # * **zh** (default)
21751
22300
  # * **en**\
21752
22301
  self.lang = lang
22302
+ # The maximum amount of traffic that can be processed by the sensitive data leak detection feature each day.
21753
22303
  self.max_sdl = max_sdl
21754
22304
  # Specifies whether to enable virtual patching. Valid values:
21755
22305
  #
@@ -22801,10 +23351,12 @@ class ModifyObjectGroupOperationResponse(TeaModel):
22801
23351
  class ModifyPolicyAdvancedConfigRequest(TeaModel):
22802
23352
  def __init__(
22803
23353
  self,
23354
+ eips: List[str] = None,
22804
23355
  internet_switch: str = None,
22805
23356
  lang: str = None,
22806
23357
  source_ip: str = None,
22807
23358
  ):
23359
+ self.eips = eips
22808
23360
  # Specifies whether to enable the strict mode for the access control policy. Valid values:
22809
23361
  #
22810
23362
  # * **on**: enables the strict mode.
@@ -22829,6 +23381,8 @@ class ModifyPolicyAdvancedConfigRequest(TeaModel):
22829
23381
  return _map
22830
23382
 
22831
23383
  result = dict()
23384
+ if self.eips is not None:
23385
+ result['Eips'] = self.eips
22832
23386
  if self.internet_switch is not None:
22833
23387
  result['InternetSwitch'] = self.internet_switch
22834
23388
  if self.lang is not None:
@@ -22839,6 +23393,8 @@ class ModifyPolicyAdvancedConfigRequest(TeaModel):
22839
23393
 
22840
23394
  def from_map(self, m: dict = None):
22841
23395
  m = m or dict()
23396
+ if m.get('Eips') is not None:
23397
+ self.eips = m.get('Eips')
22842
23398
  if m.get('InternetSwitch') is not None:
22843
23399
  self.internet_switch = m.get('InternetSwitch')
22844
23400
  if m.get('Lang') is not None: