alibabacloud-vpc20160428 6.7.4__py3-none-any.whl → 6.9.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.
@@ -9316,20 +9316,46 @@ class CreateFailoverTestJobRequest(TeaModel):
9316
9316
  resource_owner_account: str = None,
9317
9317
  resource_type: str = None,
9318
9318
  ):
9319
+ # The client token that is used to ensure the idempotence of the request.
9320
+ #
9321
+ # You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.
9322
+ #
9323
+ # > If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.
9319
9324
  self.client_token = client_token
9325
+ # The description of the failover test.
9326
+ #
9327
+ # The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.
9320
9328
  self.description = description
9329
+ # If you set the value to true, the system performs only a dry run without actually performing the actual request. If you set the value to false, the system performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
9321
9330
  self.dry_run = dry_run
9331
+ # The duration of the failover test. Unit: minutes. Valid values: **1 to 4320**.
9332
+ #
9322
9333
  # This parameter is required.
9323
9334
  self.job_duration = job_duration
9335
+ # The type of the failover test. Valid values:
9336
+ #
9337
+ # * **StartNow**\
9338
+ # * **StartLater**\
9339
+ #
9324
9340
  # This parameter is required.
9325
9341
  self.job_type = job_type
9342
+ # The name of the failover test.
9343
+ #
9344
+ # The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.
9326
9345
  self.name = name
9327
9346
  self.owner_account = owner_account
9328
9347
  self.owner_id = owner_id
9348
+ # The region ID of the failover test.
9349
+ #
9350
+ # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
9329
9351
  self.region_id = region_id
9352
+ # The IDs of failover test resources. You can add at most 16 resources.
9353
+ #
9330
9354
  # This parameter is required.
9331
9355
  self.resource_id = resource_id
9332
9356
  self.resource_owner_account = resource_owner_account
9357
+ # The resource type of the failover test. Set the value to **PHYSICALCONNECTION**.
9358
+ #
9333
9359
  # This parameter is required.
9334
9360
  self.resource_type = resource_type
9335
9361
 
@@ -9403,7 +9429,9 @@ class CreateFailoverTestJobResponseBody(TeaModel):
9403
9429
  job_id: str = None,
9404
9430
  request_id: str = None,
9405
9431
  ):
9432
+ # The ID of the failover test.
9406
9433
  self.job_id = job_id
9434
+ # The request ID.
9407
9435
  self.request_id = request_id
9408
9436
 
9409
9437
  def validate(self):
@@ -44559,6 +44587,440 @@ class DescribeIpv6GatewaysResponse(TeaModel):
44559
44587
  return self
44560
44588
 
44561
44589
 
44590
+ class DescribeNatGatewayAssociateNetworkInterfacesRequestFilter(TeaModel):
44591
+ def __init__(
44592
+ self,
44593
+ key: str = None,
44594
+ value: str = None,
44595
+ ):
44596
+ self.key = key
44597
+ self.value = value
44598
+
44599
+ def validate(self):
44600
+ pass
44601
+
44602
+ def to_map(self):
44603
+ _map = super().to_map()
44604
+ if _map is not None:
44605
+ return _map
44606
+
44607
+ result = dict()
44608
+ if self.key is not None:
44609
+ result['Key'] = self.key
44610
+ if self.value is not None:
44611
+ result['Value'] = self.value
44612
+ return result
44613
+
44614
+ def from_map(self, m: dict = None):
44615
+ m = m or dict()
44616
+ if m.get('Key') is not None:
44617
+ self.key = m.get('Key')
44618
+ if m.get('Value') is not None:
44619
+ self.value = m.get('Value')
44620
+ return self
44621
+
44622
+
44623
+ class DescribeNatGatewayAssociateNetworkInterfacesRequestTag(TeaModel):
44624
+ def __init__(
44625
+ self,
44626
+ key: str = None,
44627
+ value: str = None,
44628
+ ):
44629
+ self.key = key
44630
+ self.value = value
44631
+
44632
+ def validate(self):
44633
+ pass
44634
+
44635
+ def to_map(self):
44636
+ _map = super().to_map()
44637
+ if _map is not None:
44638
+ return _map
44639
+
44640
+ result = dict()
44641
+ if self.key is not None:
44642
+ result['Key'] = self.key
44643
+ if self.value is not None:
44644
+ result['Value'] = self.value
44645
+ return result
44646
+
44647
+ def from_map(self, m: dict = None):
44648
+ m = m or dict()
44649
+ if m.get('Key') is not None:
44650
+ self.key = m.get('Key')
44651
+ if m.get('Value') is not None:
44652
+ self.value = m.get('Value')
44653
+ return self
44654
+
44655
+
44656
+ class DescribeNatGatewayAssociateNetworkInterfacesRequest(TeaModel):
44657
+ def __init__(
44658
+ self,
44659
+ client_token: str = None,
44660
+ filter: List[DescribeNatGatewayAssociateNetworkInterfacesRequestFilter] = None,
44661
+ max_results: int = None,
44662
+ nat_gateway_id: str = None,
44663
+ next_token: str = None,
44664
+ owner_account: str = None,
44665
+ owner_id: int = None,
44666
+ region_id: str = None,
44667
+ resource_group_id: str = None,
44668
+ resource_owner_account: str = None,
44669
+ resource_owner_id: int = None,
44670
+ tag: List[DescribeNatGatewayAssociateNetworkInterfacesRequestTag] = None,
44671
+ ):
44672
+ self.client_token = client_token
44673
+ self.filter = filter
44674
+ self.max_results = max_results
44675
+ # This parameter is required.
44676
+ self.nat_gateway_id = nat_gateway_id
44677
+ self.next_token = next_token
44678
+ self.owner_account = owner_account
44679
+ self.owner_id = owner_id
44680
+ # This parameter is required.
44681
+ self.region_id = region_id
44682
+ self.resource_group_id = resource_group_id
44683
+ self.resource_owner_account = resource_owner_account
44684
+ self.resource_owner_id = resource_owner_id
44685
+ self.tag = tag
44686
+
44687
+ def validate(self):
44688
+ if self.filter:
44689
+ for k in self.filter:
44690
+ if k:
44691
+ k.validate()
44692
+ if self.tag:
44693
+ for k in self.tag:
44694
+ if k:
44695
+ k.validate()
44696
+
44697
+ def to_map(self):
44698
+ _map = super().to_map()
44699
+ if _map is not None:
44700
+ return _map
44701
+
44702
+ result = dict()
44703
+ if self.client_token is not None:
44704
+ result['ClientToken'] = self.client_token
44705
+ result['Filter'] = []
44706
+ if self.filter is not None:
44707
+ for k in self.filter:
44708
+ result['Filter'].append(k.to_map() if k else None)
44709
+ if self.max_results is not None:
44710
+ result['MaxResults'] = self.max_results
44711
+ if self.nat_gateway_id is not None:
44712
+ result['NatGatewayId'] = self.nat_gateway_id
44713
+ if self.next_token is not None:
44714
+ result['NextToken'] = self.next_token
44715
+ if self.owner_account is not None:
44716
+ result['OwnerAccount'] = self.owner_account
44717
+ if self.owner_id is not None:
44718
+ result['OwnerId'] = self.owner_id
44719
+ if self.region_id is not None:
44720
+ result['RegionId'] = self.region_id
44721
+ if self.resource_group_id is not None:
44722
+ result['ResourceGroupId'] = self.resource_group_id
44723
+ if self.resource_owner_account is not None:
44724
+ result['ResourceOwnerAccount'] = self.resource_owner_account
44725
+ if self.resource_owner_id is not None:
44726
+ result['ResourceOwnerId'] = self.resource_owner_id
44727
+ result['Tag'] = []
44728
+ if self.tag is not None:
44729
+ for k in self.tag:
44730
+ result['Tag'].append(k.to_map() if k else None)
44731
+ return result
44732
+
44733
+ def from_map(self, m: dict = None):
44734
+ m = m or dict()
44735
+ if m.get('ClientToken') is not None:
44736
+ self.client_token = m.get('ClientToken')
44737
+ self.filter = []
44738
+ if m.get('Filter') is not None:
44739
+ for k in m.get('Filter'):
44740
+ temp_model = DescribeNatGatewayAssociateNetworkInterfacesRequestFilter()
44741
+ self.filter.append(temp_model.from_map(k))
44742
+ if m.get('MaxResults') is not None:
44743
+ self.max_results = m.get('MaxResults')
44744
+ if m.get('NatGatewayId') is not None:
44745
+ self.nat_gateway_id = m.get('NatGatewayId')
44746
+ if m.get('NextToken') is not None:
44747
+ self.next_token = m.get('NextToken')
44748
+ if m.get('OwnerAccount') is not None:
44749
+ self.owner_account = m.get('OwnerAccount')
44750
+ if m.get('OwnerId') is not None:
44751
+ self.owner_id = m.get('OwnerId')
44752
+ if m.get('RegionId') is not None:
44753
+ self.region_id = m.get('RegionId')
44754
+ if m.get('ResourceGroupId') is not None:
44755
+ self.resource_group_id = m.get('ResourceGroupId')
44756
+ if m.get('ResourceOwnerAccount') is not None:
44757
+ self.resource_owner_account = m.get('ResourceOwnerAccount')
44758
+ if m.get('ResourceOwnerId') is not None:
44759
+ self.resource_owner_id = m.get('ResourceOwnerId')
44760
+ self.tag = []
44761
+ if m.get('Tag') is not None:
44762
+ for k in m.get('Tag'):
44763
+ temp_model = DescribeNatGatewayAssociateNetworkInterfacesRequestTag()
44764
+ self.tag.append(temp_model.from_map(k))
44765
+ return self
44766
+
44767
+
44768
+ class DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterfaceIPv4SetsIPv4Set(TeaModel):
44769
+ def __init__(
44770
+ self,
44771
+ ipv_4address: str = None,
44772
+ primary: bool = None,
44773
+ ):
44774
+ self.ipv_4address = ipv_4address
44775
+ self.primary = primary
44776
+
44777
+ def validate(self):
44778
+ pass
44779
+
44780
+ def to_map(self):
44781
+ _map = super().to_map()
44782
+ if _map is not None:
44783
+ return _map
44784
+
44785
+ result = dict()
44786
+ if self.ipv_4address is not None:
44787
+ result['IPv4Address'] = self.ipv_4address
44788
+ if self.primary is not None:
44789
+ result['Primary'] = self.primary
44790
+ return result
44791
+
44792
+ def from_map(self, m: dict = None):
44793
+ m = m or dict()
44794
+ if m.get('IPv4Address') is not None:
44795
+ self.ipv_4address = m.get('IPv4Address')
44796
+ if m.get('Primary') is not None:
44797
+ self.primary = m.get('Primary')
44798
+ return self
44799
+
44800
+
44801
+ class DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterfaceIPv4Sets(TeaModel):
44802
+ def __init__(
44803
+ self,
44804
+ ipv_4set: List[DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterfaceIPv4SetsIPv4Set] = None,
44805
+ ):
44806
+ self.ipv_4set = ipv_4set
44807
+
44808
+ def validate(self):
44809
+ if self.ipv_4set:
44810
+ for k in self.ipv_4set:
44811
+ if k:
44812
+ k.validate()
44813
+
44814
+ def to_map(self):
44815
+ _map = super().to_map()
44816
+ if _map is not None:
44817
+ return _map
44818
+
44819
+ result = dict()
44820
+ result['IPv4Set'] = []
44821
+ if self.ipv_4set is not None:
44822
+ for k in self.ipv_4set:
44823
+ result['IPv4Set'].append(k.to_map() if k else None)
44824
+ return result
44825
+
44826
+ def from_map(self, m: dict = None):
44827
+ m = m or dict()
44828
+ self.ipv_4set = []
44829
+ if m.get('IPv4Set') is not None:
44830
+ for k in m.get('IPv4Set'):
44831
+ temp_model = DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterfaceIPv4SetsIPv4Set()
44832
+ self.ipv_4set.append(temp_model.from_map(k))
44833
+ return self
44834
+
44835
+
44836
+ class DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterface(TeaModel):
44837
+ def __init__(
44838
+ self,
44839
+ ipv_4sets: DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterfaceIPv4Sets = None,
44840
+ network_interface_id: str = None,
44841
+ resource_id: str = None,
44842
+ resource_owner_id: str = None,
44843
+ resource_type: str = None,
44844
+ ):
44845
+ self.ipv_4sets = ipv_4sets
44846
+ self.network_interface_id = network_interface_id
44847
+ self.resource_id = resource_id
44848
+ self.resource_owner_id = resource_owner_id
44849
+ self.resource_type = resource_type
44850
+
44851
+ def validate(self):
44852
+ if self.ipv_4sets:
44853
+ self.ipv_4sets.validate()
44854
+
44855
+ def to_map(self):
44856
+ _map = super().to_map()
44857
+ if _map is not None:
44858
+ return _map
44859
+
44860
+ result = dict()
44861
+ if self.ipv_4sets is not None:
44862
+ result['IPv4Sets'] = self.ipv_4sets.to_map()
44863
+ if self.network_interface_id is not None:
44864
+ result['NetworkInterfaceId'] = self.network_interface_id
44865
+ if self.resource_id is not None:
44866
+ result['ResourceId'] = self.resource_id
44867
+ if self.resource_owner_id is not None:
44868
+ result['ResourceOwnerId'] = self.resource_owner_id
44869
+ if self.resource_type is not None:
44870
+ result['ResourceType'] = self.resource_type
44871
+ return result
44872
+
44873
+ def from_map(self, m: dict = None):
44874
+ m = m or dict()
44875
+ if m.get('IPv4Sets') is not None:
44876
+ temp_model = DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterfaceIPv4Sets()
44877
+ self.ipv_4sets = temp_model.from_map(m['IPv4Sets'])
44878
+ if m.get('NetworkInterfaceId') is not None:
44879
+ self.network_interface_id = m.get('NetworkInterfaceId')
44880
+ if m.get('ResourceId') is not None:
44881
+ self.resource_id = m.get('ResourceId')
44882
+ if m.get('ResourceOwnerId') is not None:
44883
+ self.resource_owner_id = m.get('ResourceOwnerId')
44884
+ if m.get('ResourceType') is not None:
44885
+ self.resource_type = m.get('ResourceType')
44886
+ return self
44887
+
44888
+
44889
+ class DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfaces(TeaModel):
44890
+ def __init__(
44891
+ self,
44892
+ associate_network_interface: List[DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterface] = None,
44893
+ ):
44894
+ self.associate_network_interface = associate_network_interface
44895
+
44896
+ def validate(self):
44897
+ if self.associate_network_interface:
44898
+ for k in self.associate_network_interface:
44899
+ if k:
44900
+ k.validate()
44901
+
44902
+ def to_map(self):
44903
+ _map = super().to_map()
44904
+ if _map is not None:
44905
+ return _map
44906
+
44907
+ result = dict()
44908
+ result['AssociateNetworkInterface'] = []
44909
+ if self.associate_network_interface is not None:
44910
+ for k in self.associate_network_interface:
44911
+ result['AssociateNetworkInterface'].append(k.to_map() if k else None)
44912
+ return result
44913
+
44914
+ def from_map(self, m: dict = None):
44915
+ m = m or dict()
44916
+ self.associate_network_interface = []
44917
+ if m.get('AssociateNetworkInterface') is not None:
44918
+ for k in m.get('AssociateNetworkInterface'):
44919
+ temp_model = DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfacesAssociateNetworkInterface()
44920
+ self.associate_network_interface.append(temp_model.from_map(k))
44921
+ return self
44922
+
44923
+
44924
+ class DescribeNatGatewayAssociateNetworkInterfacesResponseBody(TeaModel):
44925
+ def __init__(
44926
+ self,
44927
+ associate_network_interfaces: DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfaces = None,
44928
+ max_results: int = None,
44929
+ nat_gateway_id: str = None,
44930
+ next_token: str = None,
44931
+ request_id: str = None,
44932
+ total_count: int = None,
44933
+ ):
44934
+ self.associate_network_interfaces = associate_network_interfaces
44935
+ self.max_results = max_results
44936
+ self.nat_gateway_id = nat_gateway_id
44937
+ self.next_token = next_token
44938
+ self.request_id = request_id
44939
+ self.total_count = total_count
44940
+
44941
+ def validate(self):
44942
+ if self.associate_network_interfaces:
44943
+ self.associate_network_interfaces.validate()
44944
+
44945
+ def to_map(self):
44946
+ _map = super().to_map()
44947
+ if _map is not None:
44948
+ return _map
44949
+
44950
+ result = dict()
44951
+ if self.associate_network_interfaces is not None:
44952
+ result['AssociateNetworkInterfaces'] = self.associate_network_interfaces.to_map()
44953
+ if self.max_results is not None:
44954
+ result['MaxResults'] = self.max_results
44955
+ if self.nat_gateway_id is not None:
44956
+ result['NatGatewayId'] = self.nat_gateway_id
44957
+ if self.next_token is not None:
44958
+ result['NextToken'] = self.next_token
44959
+ if self.request_id is not None:
44960
+ result['RequestId'] = self.request_id
44961
+ if self.total_count is not None:
44962
+ result['TotalCount'] = self.total_count
44963
+ return result
44964
+
44965
+ def from_map(self, m: dict = None):
44966
+ m = m or dict()
44967
+ if m.get('AssociateNetworkInterfaces') is not None:
44968
+ temp_model = DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkInterfaces()
44969
+ self.associate_network_interfaces = temp_model.from_map(m['AssociateNetworkInterfaces'])
44970
+ if m.get('MaxResults') is not None:
44971
+ self.max_results = m.get('MaxResults')
44972
+ if m.get('NatGatewayId') is not None:
44973
+ self.nat_gateway_id = m.get('NatGatewayId')
44974
+ if m.get('NextToken') is not None:
44975
+ self.next_token = m.get('NextToken')
44976
+ if m.get('RequestId') is not None:
44977
+ self.request_id = m.get('RequestId')
44978
+ if m.get('TotalCount') is not None:
44979
+ self.total_count = m.get('TotalCount')
44980
+ return self
44981
+
44982
+
44983
+ class DescribeNatGatewayAssociateNetworkInterfacesResponse(TeaModel):
44984
+ def __init__(
44985
+ self,
44986
+ headers: Dict[str, str] = None,
44987
+ status_code: int = None,
44988
+ body: DescribeNatGatewayAssociateNetworkInterfacesResponseBody = None,
44989
+ ):
44990
+ self.headers = headers
44991
+ self.status_code = status_code
44992
+ self.body = body
44993
+
44994
+ def validate(self):
44995
+ if self.body:
44996
+ self.body.validate()
44997
+
44998
+ def to_map(self):
44999
+ _map = super().to_map()
45000
+ if _map is not None:
45001
+ return _map
45002
+
45003
+ result = dict()
45004
+ if self.headers is not None:
45005
+ result['headers'] = self.headers
45006
+ if self.status_code is not None:
45007
+ result['statusCode'] = self.status_code
45008
+ if self.body is not None:
45009
+ result['body'] = self.body.to_map()
45010
+ return result
45011
+
45012
+ def from_map(self, m: dict = None):
45013
+ m = m or dict()
45014
+ if m.get('headers') is not None:
45015
+ self.headers = m.get('headers')
45016
+ if m.get('statusCode') is not None:
45017
+ self.status_code = m.get('statusCode')
45018
+ if m.get('body') is not None:
45019
+ temp_model = DescribeNatGatewayAssociateNetworkInterfacesResponseBody()
45020
+ self.body = temp_model.from_map(m['body'])
45021
+ return self
45022
+
45023
+
44562
45024
  class DescribeNatGatewaysRequestTag(TeaModel):
44563
45025
  def __init__(
44564
45026
  self,
@@ -80064,6 +80526,269 @@ class ListVpcGatewayEndpointsResponse(TeaModel):
80064
80526
  return self
80065
80527
 
80066
80528
 
80529
+ class ListVpcPublishedRouteEntriesRequest(TeaModel):
80530
+ def __init__(
80531
+ self,
80532
+ destination_cidr_block: str = None,
80533
+ max_results: int = None,
80534
+ next_token: str = None,
80535
+ owner_account: str = None,
80536
+ owner_id: int = None,
80537
+ region_id: str = None,
80538
+ resource_owner_account: str = None,
80539
+ resource_owner_id: int = None,
80540
+ route_table_id: str = None,
80541
+ target_instance_id: str = None,
80542
+ target_type: str = None,
80543
+ ):
80544
+ self.destination_cidr_block = destination_cidr_block
80545
+ self.max_results = max_results
80546
+ self.next_token = next_token
80547
+ self.owner_account = owner_account
80548
+ self.owner_id = owner_id
80549
+ self.region_id = region_id
80550
+ self.resource_owner_account = resource_owner_account
80551
+ self.resource_owner_id = resource_owner_id
80552
+ # This parameter is required.
80553
+ self.route_table_id = route_table_id
80554
+ self.target_instance_id = target_instance_id
80555
+ # This parameter is required.
80556
+ self.target_type = target_type
80557
+
80558
+ def validate(self):
80559
+ pass
80560
+
80561
+ def to_map(self):
80562
+ _map = super().to_map()
80563
+ if _map is not None:
80564
+ return _map
80565
+
80566
+ result = dict()
80567
+ if self.destination_cidr_block is not None:
80568
+ result['DestinationCidrBlock'] = self.destination_cidr_block
80569
+ if self.max_results is not None:
80570
+ result['MaxResults'] = self.max_results
80571
+ if self.next_token is not None:
80572
+ result['NextToken'] = self.next_token
80573
+ if self.owner_account is not None:
80574
+ result['OwnerAccount'] = self.owner_account
80575
+ if self.owner_id is not None:
80576
+ result['OwnerId'] = self.owner_id
80577
+ if self.region_id is not None:
80578
+ result['RegionId'] = self.region_id
80579
+ if self.resource_owner_account is not None:
80580
+ result['ResourceOwnerAccount'] = self.resource_owner_account
80581
+ if self.resource_owner_id is not None:
80582
+ result['ResourceOwnerId'] = self.resource_owner_id
80583
+ if self.route_table_id is not None:
80584
+ result['RouteTableId'] = self.route_table_id
80585
+ if self.target_instance_id is not None:
80586
+ result['TargetInstanceId'] = self.target_instance_id
80587
+ if self.target_type is not None:
80588
+ result['TargetType'] = self.target_type
80589
+ return result
80590
+
80591
+ def from_map(self, m: dict = None):
80592
+ m = m or dict()
80593
+ if m.get('DestinationCidrBlock') is not None:
80594
+ self.destination_cidr_block = m.get('DestinationCidrBlock')
80595
+ if m.get('MaxResults') is not None:
80596
+ self.max_results = m.get('MaxResults')
80597
+ if m.get('NextToken') is not None:
80598
+ self.next_token = m.get('NextToken')
80599
+ if m.get('OwnerAccount') is not None:
80600
+ self.owner_account = m.get('OwnerAccount')
80601
+ if m.get('OwnerId') is not None:
80602
+ self.owner_id = m.get('OwnerId')
80603
+ if m.get('RegionId') is not None:
80604
+ self.region_id = m.get('RegionId')
80605
+ if m.get('ResourceOwnerAccount') is not None:
80606
+ self.resource_owner_account = m.get('ResourceOwnerAccount')
80607
+ if m.get('ResourceOwnerId') is not None:
80608
+ self.resource_owner_id = m.get('ResourceOwnerId')
80609
+ if m.get('RouteTableId') is not None:
80610
+ self.route_table_id = m.get('RouteTableId')
80611
+ if m.get('TargetInstanceId') is not None:
80612
+ self.target_instance_id = m.get('TargetInstanceId')
80613
+ if m.get('TargetType') is not None:
80614
+ self.target_type = m.get('TargetType')
80615
+ return self
80616
+
80617
+
80618
+ class ListVpcPublishedRouteEntriesResponseBodyRouteEntriesRoutePublishTargets(TeaModel):
80619
+ def __init__(
80620
+ self,
80621
+ publish_status: str = None,
80622
+ publish_target_type: str = None,
80623
+ ):
80624
+ self.publish_status = publish_status
80625
+ self.publish_target_type = publish_target_type
80626
+
80627
+ def validate(self):
80628
+ pass
80629
+
80630
+ def to_map(self):
80631
+ _map = super().to_map()
80632
+ if _map is not None:
80633
+ return _map
80634
+
80635
+ result = dict()
80636
+ if self.publish_status is not None:
80637
+ result['PublishStatus'] = self.publish_status
80638
+ if self.publish_target_type is not None:
80639
+ result['PublishTargetType'] = self.publish_target_type
80640
+ return result
80641
+
80642
+ def from_map(self, m: dict = None):
80643
+ m = m or dict()
80644
+ if m.get('PublishStatus') is not None:
80645
+ self.publish_status = m.get('PublishStatus')
80646
+ if m.get('PublishTargetType') is not None:
80647
+ self.publish_target_type = m.get('PublishTargetType')
80648
+ return self
80649
+
80650
+
80651
+ class ListVpcPublishedRouteEntriesResponseBodyRouteEntries(TeaModel):
80652
+ def __init__(
80653
+ self,
80654
+ destination_cidr_block: str = None,
80655
+ route_entry_id: str = None,
80656
+ route_publish_targets: List[ListVpcPublishedRouteEntriesResponseBodyRouteEntriesRoutePublishTargets] = None,
80657
+ route_table_id: str = None,
80658
+ ):
80659
+ self.destination_cidr_block = destination_cidr_block
80660
+ self.route_entry_id = route_entry_id
80661
+ self.route_publish_targets = route_publish_targets
80662
+ self.route_table_id = route_table_id
80663
+
80664
+ def validate(self):
80665
+ if self.route_publish_targets:
80666
+ for k in self.route_publish_targets:
80667
+ if k:
80668
+ k.validate()
80669
+
80670
+ def to_map(self):
80671
+ _map = super().to_map()
80672
+ if _map is not None:
80673
+ return _map
80674
+
80675
+ result = dict()
80676
+ if self.destination_cidr_block is not None:
80677
+ result['DestinationCidrBlock'] = self.destination_cidr_block
80678
+ if self.route_entry_id is not None:
80679
+ result['RouteEntryId'] = self.route_entry_id
80680
+ result['RoutePublishTargets'] = []
80681
+ if self.route_publish_targets is not None:
80682
+ for k in self.route_publish_targets:
80683
+ result['RoutePublishTargets'].append(k.to_map() if k else None)
80684
+ if self.route_table_id is not None:
80685
+ result['RouteTableId'] = self.route_table_id
80686
+ return result
80687
+
80688
+ def from_map(self, m: dict = None):
80689
+ m = m or dict()
80690
+ if m.get('DestinationCidrBlock') is not None:
80691
+ self.destination_cidr_block = m.get('DestinationCidrBlock')
80692
+ if m.get('RouteEntryId') is not None:
80693
+ self.route_entry_id = m.get('RouteEntryId')
80694
+ self.route_publish_targets = []
80695
+ if m.get('RoutePublishTargets') is not None:
80696
+ for k in m.get('RoutePublishTargets'):
80697
+ temp_model = ListVpcPublishedRouteEntriesResponseBodyRouteEntriesRoutePublishTargets()
80698
+ self.route_publish_targets.append(temp_model.from_map(k))
80699
+ if m.get('RouteTableId') is not None:
80700
+ self.route_table_id = m.get('RouteTableId')
80701
+ return self
80702
+
80703
+
80704
+ class ListVpcPublishedRouteEntriesResponseBody(TeaModel):
80705
+ def __init__(
80706
+ self,
80707
+ next_token: str = None,
80708
+ request_id: str = None,
80709
+ route_entries: List[ListVpcPublishedRouteEntriesResponseBodyRouteEntries] = None,
80710
+ ):
80711
+ self.next_token = next_token
80712
+ self.request_id = request_id
80713
+ self.route_entries = route_entries
80714
+
80715
+ def validate(self):
80716
+ if self.route_entries:
80717
+ for k in self.route_entries:
80718
+ if k:
80719
+ k.validate()
80720
+
80721
+ def to_map(self):
80722
+ _map = super().to_map()
80723
+ if _map is not None:
80724
+ return _map
80725
+
80726
+ result = dict()
80727
+ if self.next_token is not None:
80728
+ result['NextToken'] = self.next_token
80729
+ if self.request_id is not None:
80730
+ result['RequestId'] = self.request_id
80731
+ result['RouteEntries'] = []
80732
+ if self.route_entries is not None:
80733
+ for k in self.route_entries:
80734
+ result['RouteEntries'].append(k.to_map() if k else None)
80735
+ return result
80736
+
80737
+ def from_map(self, m: dict = None):
80738
+ m = m or dict()
80739
+ if m.get('NextToken') is not None:
80740
+ self.next_token = m.get('NextToken')
80741
+ if m.get('RequestId') is not None:
80742
+ self.request_id = m.get('RequestId')
80743
+ self.route_entries = []
80744
+ if m.get('RouteEntries') is not None:
80745
+ for k in m.get('RouteEntries'):
80746
+ temp_model = ListVpcPublishedRouteEntriesResponseBodyRouteEntries()
80747
+ self.route_entries.append(temp_model.from_map(k))
80748
+ return self
80749
+
80750
+
80751
+ class ListVpcPublishedRouteEntriesResponse(TeaModel):
80752
+ def __init__(
80753
+ self,
80754
+ headers: Dict[str, str] = None,
80755
+ status_code: int = None,
80756
+ body: ListVpcPublishedRouteEntriesResponseBody = None,
80757
+ ):
80758
+ self.headers = headers
80759
+ self.status_code = status_code
80760
+ self.body = body
80761
+
80762
+ def validate(self):
80763
+ if self.body:
80764
+ self.body.validate()
80765
+
80766
+ def to_map(self):
80767
+ _map = super().to_map()
80768
+ if _map is not None:
80769
+ return _map
80770
+
80771
+ result = dict()
80772
+ if self.headers is not None:
80773
+ result['headers'] = self.headers
80774
+ if self.status_code is not None:
80775
+ result['statusCode'] = self.status_code
80776
+ if self.body is not None:
80777
+ result['body'] = self.body.to_map()
80778
+ return result
80779
+
80780
+ def from_map(self, m: dict = None):
80781
+ m = m or dict()
80782
+ if m.get('headers') is not None:
80783
+ self.headers = m.get('headers')
80784
+ if m.get('statusCode') is not None:
80785
+ self.status_code = m.get('statusCode')
80786
+ if m.get('body') is not None:
80787
+ temp_model = ListVpcPublishedRouteEntriesResponseBody()
80788
+ self.body = temp_model.from_map(m['body'])
80789
+ return self
80790
+
80791
+
80067
80792
  class ListVpnCertificateAssociationsRequest(TeaModel):
80068
80793
  def __init__(
80069
80794
  self,
@@ -93116,69 +93841,253 @@ class ModifyVpnPbrRouteEntryWeightResponse(TeaModel):
93116
93841
  if m.get('statusCode') is not None:
93117
93842
  self.status_code = m.get('statusCode')
93118
93843
  if m.get('body') is not None:
93119
- temp_model = ModifyVpnPbrRouteEntryWeightResponseBody()
93844
+ temp_model = ModifyVpnPbrRouteEntryWeightResponseBody()
93845
+ self.body = temp_model.from_map(m['body'])
93846
+ return self
93847
+
93848
+
93849
+ class ModifyVpnRouteEntryWeightRequest(TeaModel):
93850
+ def __init__(
93851
+ self,
93852
+ client_token: str = None,
93853
+ new_weight: int = None,
93854
+ next_hop: str = None,
93855
+ overlay_mode: str = None,
93856
+ owner_account: str = None,
93857
+ owner_id: int = None,
93858
+ region_id: str = None,
93859
+ resource_owner_account: str = None,
93860
+ resource_owner_id: int = None,
93861
+ route_dest: str = None,
93862
+ vpn_gateway_id: str = None,
93863
+ weight: int = None,
93864
+ ):
93865
+ # The client token that is used to ensure the idempotence of the request.
93866
+ #
93867
+ # You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.
93868
+ #
93869
+ # > If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.
93870
+ self.client_token = client_token
93871
+ # The new weight of the destination-based route. Valid values:
93872
+ #
93873
+ # * **0**: a low priority
93874
+ # * **100**: a high priority
93875
+ #
93876
+ # This parameter is required.
93877
+ self.new_weight = new_weight
93878
+ # The next hop of the destination-based route.
93879
+ #
93880
+ # This parameter is required.
93881
+ self.next_hop = next_hop
93882
+ # The tunneling protocol. Set the value to **Ipsec**.
93883
+ self.overlay_mode = overlay_mode
93884
+ self.owner_account = owner_account
93885
+ self.owner_id = owner_id
93886
+ # The ID of the region where the VPN gateway is created. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
93887
+ #
93888
+ # This parameter is required.
93889
+ self.region_id = region_id
93890
+ self.resource_owner_account = resource_owner_account
93891
+ self.resource_owner_id = resource_owner_id
93892
+ # The destination CIDR block of the destination-based route.
93893
+ #
93894
+ # This parameter is required.
93895
+ self.route_dest = route_dest
93896
+ # The ID of the VPN gateway.
93897
+ #
93898
+ # This parameter is required.
93899
+ self.vpn_gateway_id = vpn_gateway_id
93900
+ # The original weight of the destination-based route. Valid values:
93901
+ #
93902
+ # * **0**: a low priority
93903
+ # * **100**: a high priority
93904
+ #
93905
+ # This parameter is required.
93906
+ self.weight = weight
93907
+
93908
+ def validate(self):
93909
+ pass
93910
+
93911
+ def to_map(self):
93912
+ _map = super().to_map()
93913
+ if _map is not None:
93914
+ return _map
93915
+
93916
+ result = dict()
93917
+ if self.client_token is not None:
93918
+ result['ClientToken'] = self.client_token
93919
+ if self.new_weight is not None:
93920
+ result['NewWeight'] = self.new_weight
93921
+ if self.next_hop is not None:
93922
+ result['NextHop'] = self.next_hop
93923
+ if self.overlay_mode is not None:
93924
+ result['OverlayMode'] = self.overlay_mode
93925
+ if self.owner_account is not None:
93926
+ result['OwnerAccount'] = self.owner_account
93927
+ if self.owner_id is not None:
93928
+ result['OwnerId'] = self.owner_id
93929
+ if self.region_id is not None:
93930
+ result['RegionId'] = self.region_id
93931
+ if self.resource_owner_account is not None:
93932
+ result['ResourceOwnerAccount'] = self.resource_owner_account
93933
+ if self.resource_owner_id is not None:
93934
+ result['ResourceOwnerId'] = self.resource_owner_id
93935
+ if self.route_dest is not None:
93936
+ result['RouteDest'] = self.route_dest
93937
+ if self.vpn_gateway_id is not None:
93938
+ result['VpnGatewayId'] = self.vpn_gateway_id
93939
+ if self.weight is not None:
93940
+ result['Weight'] = self.weight
93941
+ return result
93942
+
93943
+ def from_map(self, m: dict = None):
93944
+ m = m or dict()
93945
+ if m.get('ClientToken') is not None:
93946
+ self.client_token = m.get('ClientToken')
93947
+ if m.get('NewWeight') is not None:
93948
+ self.new_weight = m.get('NewWeight')
93949
+ if m.get('NextHop') is not None:
93950
+ self.next_hop = m.get('NextHop')
93951
+ if m.get('OverlayMode') is not None:
93952
+ self.overlay_mode = m.get('OverlayMode')
93953
+ if m.get('OwnerAccount') is not None:
93954
+ self.owner_account = m.get('OwnerAccount')
93955
+ if m.get('OwnerId') is not None:
93956
+ self.owner_id = m.get('OwnerId')
93957
+ if m.get('RegionId') is not None:
93958
+ self.region_id = m.get('RegionId')
93959
+ if m.get('ResourceOwnerAccount') is not None:
93960
+ self.resource_owner_account = m.get('ResourceOwnerAccount')
93961
+ if m.get('ResourceOwnerId') is not None:
93962
+ self.resource_owner_id = m.get('ResourceOwnerId')
93963
+ if m.get('RouteDest') is not None:
93964
+ self.route_dest = m.get('RouteDest')
93965
+ if m.get('VpnGatewayId') is not None:
93966
+ self.vpn_gateway_id = m.get('VpnGatewayId')
93967
+ if m.get('Weight') is not None:
93968
+ self.weight = m.get('Weight')
93969
+ return self
93970
+
93971
+
93972
+ class ModifyVpnRouteEntryWeightResponseBody(TeaModel):
93973
+ def __init__(
93974
+ self,
93975
+ request_id: str = None,
93976
+ ):
93977
+ # The request ID.
93978
+ self.request_id = request_id
93979
+
93980
+ def validate(self):
93981
+ pass
93982
+
93983
+ def to_map(self):
93984
+ _map = super().to_map()
93985
+ if _map is not None:
93986
+ return _map
93987
+
93988
+ result = dict()
93989
+ if self.request_id is not None:
93990
+ result['RequestId'] = self.request_id
93991
+ return result
93992
+
93993
+ def from_map(self, m: dict = None):
93994
+ m = m or dict()
93995
+ if m.get('RequestId') is not None:
93996
+ self.request_id = m.get('RequestId')
93997
+ return self
93998
+
93999
+
94000
+ class ModifyVpnRouteEntryWeightResponse(TeaModel):
94001
+ def __init__(
94002
+ self,
94003
+ headers: Dict[str, str] = None,
94004
+ status_code: int = None,
94005
+ body: ModifyVpnRouteEntryWeightResponseBody = None,
94006
+ ):
94007
+ self.headers = headers
94008
+ self.status_code = status_code
94009
+ self.body = body
94010
+
94011
+ def validate(self):
94012
+ if self.body:
94013
+ self.body.validate()
94014
+
94015
+ def to_map(self):
94016
+ _map = super().to_map()
94017
+ if _map is not None:
94018
+ return _map
94019
+
94020
+ result = dict()
94021
+ if self.headers is not None:
94022
+ result['headers'] = self.headers
94023
+ if self.status_code is not None:
94024
+ result['statusCode'] = self.status_code
94025
+ if self.body is not None:
94026
+ result['body'] = self.body.to_map()
94027
+ return result
94028
+
94029
+ def from_map(self, m: dict = None):
94030
+ m = m or dict()
94031
+ if m.get('headers') is not None:
94032
+ self.headers = m.get('headers')
94033
+ if m.get('statusCode') is not None:
94034
+ self.status_code = m.get('statusCode')
94035
+ if m.get('body') is not None:
94036
+ temp_model = ModifyVpnRouteEntryWeightResponseBody()
93120
94037
  self.body = temp_model.from_map(m['body'])
93121
94038
  return self
93122
94039
 
93123
94040
 
93124
- class ModifyVpnRouteEntryWeightRequest(TeaModel):
94041
+ class MoveResourceGroupRequest(TeaModel):
93125
94042
  def __init__(
93126
94043
  self,
93127
- client_token: str = None,
93128
- new_weight: int = None,
93129
- next_hop: str = None,
93130
- overlay_mode: str = None,
94044
+ new_resource_group_id: str = None,
93131
94045
  owner_account: str = None,
93132
94046
  owner_id: int = None,
93133
94047
  region_id: str = None,
94048
+ resource_id: str = None,
93134
94049
  resource_owner_account: str = None,
93135
94050
  resource_owner_id: int = None,
93136
- route_dest: str = None,
93137
- vpn_gateway_id: str = None,
93138
- weight: int = None,
94051
+ resource_type: str = None,
93139
94052
  ):
93140
- # The client token that is used to ensure the idempotence of the request.
93141
- #
93142
- # You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.
93143
- #
93144
- # > If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.
93145
- self.client_token = client_token
93146
- # The new weight of the destination-based route. Valid values:
93147
- #
93148
- # * **0**: a low priority
93149
- # * **100**: a high priority
94053
+ # The ID of the resource group to which you want to move the resource.
93150
94054
  #
93151
- # This parameter is required.
93152
- self.new_weight = new_weight
93153
- # The next hop of the destination-based route.
94055
+ # > You can use resource groups to facilitate resource grouping and permission management for an Alibaba Cloud. For more information, see [What is resource management?](https://help.aliyun.com/document_detail/94475.html)
93154
94056
  #
93155
94057
  # This parameter is required.
93156
- self.next_hop = next_hop
93157
- # The tunneling protocol. Set the value to **Ipsec**.
93158
- self.overlay_mode = overlay_mode
94058
+ self.new_resource_group_id = new_resource_group_id
93159
94059
  self.owner_account = owner_account
93160
94060
  self.owner_id = owner_id
93161
- # The ID of the region where the VPN gateway is created. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
94061
+ # The ID of the region to which the cloud resource belongs.
93162
94062
  #
93163
- # This parameter is required.
93164
- self.region_id = region_id
93165
- self.resource_owner_account = resource_owner_account
93166
- self.resource_owner_id = resource_owner_id
93167
- # The destination CIDR block of the destination-based route.
94063
+ # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
93168
94064
  #
93169
94065
  # This parameter is required.
93170
- self.route_dest = route_dest
93171
- # The ID of the VPN gateway.
94066
+ self.region_id = region_id
94067
+ # The resource ID.
93172
94068
  #
93173
94069
  # This parameter is required.
93174
- self.vpn_gateway_id = vpn_gateway_id
93175
- # The original weight of the destination-based route. Valid values:
94070
+ self.resource_id = resource_id
94071
+ self.resource_owner_account = resource_owner_account
94072
+ self.resource_owner_id = resource_owner_id
94073
+ # The type of the resource for which you want to modify the resource group. Valid values:
93176
94074
  #
93177
- # * **0**: a low priority
93178
- # * **100**: a high priority
94075
+ # * **Vpc**\
94076
+ # * **Eip**\
94077
+ # * **BandwidthPackage**\
94078
+ # * **PrefixList**\
94079
+ # * **PublicIpAddressPool**\
94080
+ # * **FlowLog**\
94081
+ # * **HaVip**\
94082
+ # * **TrafficMirrorFilter**\
94083
+ # * **TrafficMirrorSession**\
94084
+ # * **IPv4Gateway**\
94085
+ # * **IPv6Gateway**\
94086
+ # * **DhcpOptionsSet**\
94087
+ # * **GatewayEndpoint**\
93179
94088
  #
93180
94089
  # This parameter is required.
93181
- self.weight = weight
94090
+ self.resource_type = resource_type
93182
94091
 
93183
94092
  def validate(self):
93184
94093
  pass
@@ -93189,62 +94098,46 @@ class ModifyVpnRouteEntryWeightRequest(TeaModel):
93189
94098
  return _map
93190
94099
 
93191
94100
  result = dict()
93192
- if self.client_token is not None:
93193
- result['ClientToken'] = self.client_token
93194
- if self.new_weight is not None:
93195
- result['NewWeight'] = self.new_weight
93196
- if self.next_hop is not None:
93197
- result['NextHop'] = self.next_hop
93198
- if self.overlay_mode is not None:
93199
- result['OverlayMode'] = self.overlay_mode
94101
+ if self.new_resource_group_id is not None:
94102
+ result['NewResourceGroupId'] = self.new_resource_group_id
93200
94103
  if self.owner_account is not None:
93201
94104
  result['OwnerAccount'] = self.owner_account
93202
94105
  if self.owner_id is not None:
93203
94106
  result['OwnerId'] = self.owner_id
93204
94107
  if self.region_id is not None:
93205
94108
  result['RegionId'] = self.region_id
94109
+ if self.resource_id is not None:
94110
+ result['ResourceId'] = self.resource_id
93206
94111
  if self.resource_owner_account is not None:
93207
94112
  result['ResourceOwnerAccount'] = self.resource_owner_account
93208
94113
  if self.resource_owner_id is not None:
93209
94114
  result['ResourceOwnerId'] = self.resource_owner_id
93210
- if self.route_dest is not None:
93211
- result['RouteDest'] = self.route_dest
93212
- if self.vpn_gateway_id is not None:
93213
- result['VpnGatewayId'] = self.vpn_gateway_id
93214
- if self.weight is not None:
93215
- result['Weight'] = self.weight
94115
+ if self.resource_type is not None:
94116
+ result['ResourceType'] = self.resource_type
93216
94117
  return result
93217
94118
 
93218
94119
  def from_map(self, m: dict = None):
93219
94120
  m = m or dict()
93220
- if m.get('ClientToken') is not None:
93221
- self.client_token = m.get('ClientToken')
93222
- if m.get('NewWeight') is not None:
93223
- self.new_weight = m.get('NewWeight')
93224
- if m.get('NextHop') is not None:
93225
- self.next_hop = m.get('NextHop')
93226
- if m.get('OverlayMode') is not None:
93227
- self.overlay_mode = m.get('OverlayMode')
94121
+ if m.get('NewResourceGroupId') is not None:
94122
+ self.new_resource_group_id = m.get('NewResourceGroupId')
93228
94123
  if m.get('OwnerAccount') is not None:
93229
94124
  self.owner_account = m.get('OwnerAccount')
93230
94125
  if m.get('OwnerId') is not None:
93231
94126
  self.owner_id = m.get('OwnerId')
93232
94127
  if m.get('RegionId') is not None:
93233
94128
  self.region_id = m.get('RegionId')
94129
+ if m.get('ResourceId') is not None:
94130
+ self.resource_id = m.get('ResourceId')
93234
94131
  if m.get('ResourceOwnerAccount') is not None:
93235
94132
  self.resource_owner_account = m.get('ResourceOwnerAccount')
93236
94133
  if m.get('ResourceOwnerId') is not None:
93237
94134
  self.resource_owner_id = m.get('ResourceOwnerId')
93238
- if m.get('RouteDest') is not None:
93239
- self.route_dest = m.get('RouteDest')
93240
- if m.get('VpnGatewayId') is not None:
93241
- self.vpn_gateway_id = m.get('VpnGatewayId')
93242
- if m.get('Weight') is not None:
93243
- self.weight = m.get('Weight')
94135
+ if m.get('ResourceType') is not None:
94136
+ self.resource_type = m.get('ResourceType')
93244
94137
  return self
93245
94138
 
93246
94139
 
93247
- class ModifyVpnRouteEntryWeightResponseBody(TeaModel):
94140
+ class MoveResourceGroupResponseBody(TeaModel):
93248
94141
  def __init__(
93249
94142
  self,
93250
94143
  request_id: str = None,
@@ -93272,12 +94165,12 @@ class ModifyVpnRouteEntryWeightResponseBody(TeaModel):
93272
94165
  return self
93273
94166
 
93274
94167
 
93275
- class ModifyVpnRouteEntryWeightResponse(TeaModel):
94168
+ class MoveResourceGroupResponse(TeaModel):
93276
94169
  def __init__(
93277
94170
  self,
93278
94171
  headers: Dict[str, str] = None,
93279
94172
  status_code: int = None,
93280
- body: ModifyVpnRouteEntryWeightResponseBody = None,
94173
+ body: MoveResourceGroupResponseBody = None,
93281
94174
  ):
93282
94175
  self.headers = headers
93283
94176
  self.status_code = status_code
@@ -93308,58 +94201,52 @@ class ModifyVpnRouteEntryWeightResponse(TeaModel):
93308
94201
  if m.get('statusCode') is not None:
93309
94202
  self.status_code = m.get('statusCode')
93310
94203
  if m.get('body') is not None:
93311
- temp_model = ModifyVpnRouteEntryWeightResponseBody()
94204
+ temp_model = MoveResourceGroupResponseBody()
93312
94205
  self.body = temp_model.from_map(m['body'])
93313
94206
  return self
93314
94207
 
93315
94208
 
93316
- class MoveResourceGroupRequest(TeaModel):
94209
+ class MoveVpnResourceGroupRequest(TeaModel):
93317
94210
  def __init__(
93318
94211
  self,
94212
+ instance_id: str = None,
93319
94213
  new_resource_group_id: str = None,
93320
94214
  owner_account: str = None,
93321
94215
  owner_id: int = None,
93322
94216
  region_id: str = None,
93323
- resource_id: str = None,
93324
94217
  resource_owner_account: str = None,
93325
94218
  resource_owner_id: int = None,
93326
94219
  resource_type: str = None,
93327
94220
  ):
93328
- # The ID of the resource group to which you want to move the resource.
94221
+ # The ID of the resource.
93329
94222
  #
93330
- # > You can use resource groups to facilitate resource grouping and permission management for an Alibaba Cloud. For more information, see [What is resource management?](https://help.aliyun.com/document_detail/94475.html)
94223
+ # This parameter is required.
94224
+ self.instance_id = instance_id
94225
+ # The ID of the new resource group.
93331
94226
  #
93332
94227
  # This parameter is required.
93333
94228
  self.new_resource_group_id = new_resource_group_id
93334
94229
  self.owner_account = owner_account
93335
94230
  self.owner_id = owner_id
93336
- # The ID of the region to which the cloud resource belongs.
94231
+ # The region ID of the resource.
93337
94232
  #
93338
94233
  # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
93339
94234
  #
93340
94235
  # This parameter is required.
93341
94236
  self.region_id = region_id
93342
- # The resource ID.
93343
- #
93344
- # This parameter is required.
93345
- self.resource_id = resource_id
93346
94237
  self.resource_owner_account = resource_owner_account
93347
94238
  self.resource_owner_id = resource_owner_id
93348
- # The type of the resource for which you want to modify the resource group. Valid values:
94239
+ # The type of resource.
93349
94240
  #
93350
- # * **Vpc**\
93351
- # * **Eip**\
93352
- # * **BandwidthPackage**\
93353
- # * **PrefixList**\
93354
- # * **PublicIpAddressPool**\
93355
- # * **FlowLog**\
93356
- # * **HaVip**\
93357
- # * **TrafficMirrorFilter**\
93358
- # * **TrafficMirrorSession**\
93359
- # * **IPv4Gateway**\
93360
- # * **IPv6Gateway**\
93361
- # * **DhcpOptionsSet**\
93362
- # * **GatewayEndpoint**\
94241
+ # * **VpnGateway**: VPN gateway
94242
+ #
94243
+ # After you move a VPN gateway to a new resource group, the following associated resources are also moved to the new resource group: IPsec servers, SSL servers, SSL client certificates, and IPsec-VPN connections.
94244
+ #
94245
+ # * **CustomerGateway**: customer gateway
94246
+ #
94247
+ # * **VpnAttachment**: IPsec-VPN connection
94248
+ #
94249
+ # An IPsec-VPN connection associated with a transit router or not associate with a resource.
93363
94250
  #
93364
94251
  # This parameter is required.
93365
94252
  self.resource_type = resource_type
@@ -93373,6 +94260,8 @@ class MoveResourceGroupRequest(TeaModel):
93373
94260
  return _map
93374
94261
 
93375
94262
  result = dict()
94263
+ if self.instance_id is not None:
94264
+ result['InstanceId'] = self.instance_id
93376
94265
  if self.new_resource_group_id is not None:
93377
94266
  result['NewResourceGroupId'] = self.new_resource_group_id
93378
94267
  if self.owner_account is not None:
@@ -93381,8 +94270,6 @@ class MoveResourceGroupRequest(TeaModel):
93381
94270
  result['OwnerId'] = self.owner_id
93382
94271
  if self.region_id is not None:
93383
94272
  result['RegionId'] = self.region_id
93384
- if self.resource_id is not None:
93385
- result['ResourceId'] = self.resource_id
93386
94273
  if self.resource_owner_account is not None:
93387
94274
  result['ResourceOwnerAccount'] = self.resource_owner_account
93388
94275
  if self.resource_owner_id is not None:
@@ -93393,6 +94280,8 @@ class MoveResourceGroupRequest(TeaModel):
93393
94280
 
93394
94281
  def from_map(self, m: dict = None):
93395
94282
  m = m or dict()
94283
+ if m.get('InstanceId') is not None:
94284
+ self.instance_id = m.get('InstanceId')
93396
94285
  if m.get('NewResourceGroupId') is not None:
93397
94286
  self.new_resource_group_id = m.get('NewResourceGroupId')
93398
94287
  if m.get('OwnerAccount') is not None:
@@ -93401,8 +94290,6 @@ class MoveResourceGroupRequest(TeaModel):
93401
94290
  self.owner_id = m.get('OwnerId')
93402
94291
  if m.get('RegionId') is not None:
93403
94292
  self.region_id = m.get('RegionId')
93404
- if m.get('ResourceId') is not None:
93405
- self.resource_id = m.get('ResourceId')
93406
94293
  if m.get('ResourceOwnerAccount') is not None:
93407
94294
  self.resource_owner_account = m.get('ResourceOwnerAccount')
93408
94295
  if m.get('ResourceOwnerId') is not None:
@@ -93412,7 +94299,7 @@ class MoveResourceGroupRequest(TeaModel):
93412
94299
  return self
93413
94300
 
93414
94301
 
93415
- class MoveResourceGroupResponseBody(TeaModel):
94302
+ class MoveVpnResourceGroupResponseBody(TeaModel):
93416
94303
  def __init__(
93417
94304
  self,
93418
94305
  request_id: str = None,
@@ -93440,12 +94327,12 @@ class MoveResourceGroupResponseBody(TeaModel):
93440
94327
  return self
93441
94328
 
93442
94329
 
93443
- class MoveResourceGroupResponse(TeaModel):
94330
+ class MoveVpnResourceGroupResponse(TeaModel):
93444
94331
  def __init__(
93445
94332
  self,
93446
94333
  headers: Dict[str, str] = None,
93447
94334
  status_code: int = None,
93448
- body: MoveResourceGroupResponseBody = None,
94335
+ body: MoveVpnResourceGroupResponseBody = None,
93449
94336
  ):
93450
94337
  self.headers = headers
93451
94338
  self.status_code = status_code
@@ -93476,34 +94363,30 @@ class MoveResourceGroupResponse(TeaModel):
93476
94363
  if m.get('statusCode') is not None:
93477
94364
  self.status_code = m.get('statusCode')
93478
94365
  if m.get('body') is not None:
93479
- temp_model = MoveResourceGroupResponseBody()
94366
+ temp_model = MoveVpnResourceGroupResponseBody()
93480
94367
  self.body = temp_model.from_map(m['body'])
93481
94368
  return self
93482
94369
 
93483
94370
 
93484
- class MoveVpnResourceGroupRequest(TeaModel):
94371
+ class OpenFlowLogServiceRequest(TeaModel):
93485
94372
  def __init__(
93486
94373
  self,
93487
- instance_id: str = None,
93488
- new_resource_group_id: str = None,
94374
+ client_token: str = None,
93489
94375
  owner_account: str = None,
93490
94376
  owner_id: int = None,
93491
94377
  region_id: str = None,
93492
94378
  resource_owner_account: str = None,
93493
94379
  resource_owner_id: int = None,
93494
- resource_type: str = None,
93495
94380
  ):
93496
- # The ID of the resource.
94381
+ # The client token that is used to ensure the idempotence of the request.
93497
94382
  #
93498
- # This parameter is required.
93499
- self.instance_id = instance_id
93500
- # The ID of the new resource group.
94383
+ # You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.
93501
94384
  #
93502
- # This parameter is required.
93503
- self.new_resource_group_id = new_resource_group_id
94385
+ # > If you do not set this parameter, the system automatically set **ClientToken** to the value of **RequestId**. The value of **RequestId** for each API request is different.
94386
+ self.client_token = client_token
93504
94387
  self.owner_account = owner_account
93505
94388
  self.owner_id = owner_id
93506
- # The region ID of the resource.
94389
+ # The region ID of the flow log.
93507
94390
  #
93508
94391
  # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
93509
94392
  #
@@ -93511,20 +94394,6 @@ class MoveVpnResourceGroupRequest(TeaModel):
93511
94394
  self.region_id = region_id
93512
94395
  self.resource_owner_account = resource_owner_account
93513
94396
  self.resource_owner_id = resource_owner_id
93514
- # The type of resource.
93515
- #
93516
- # * **VpnGateway**: VPN gateway
93517
- #
93518
- # After you move a VPN gateway to a new resource group, the following associated resources are also moved to the new resource group: IPsec servers, SSL servers, SSL client certificates, and IPsec-VPN connections.
93519
- #
93520
- # * **CustomerGateway**: customer gateway
93521
- #
93522
- # * **VpnAttachment**: IPsec-VPN connection
93523
- #
93524
- # An IPsec-VPN connection associated with a transit router or not associate with a resource.
93525
- #
93526
- # This parameter is required.
93527
- self.resource_type = resource_type
93528
94397
 
93529
94398
  def validate(self):
93530
94399
  pass
@@ -93535,10 +94404,8 @@ class MoveVpnResourceGroupRequest(TeaModel):
93535
94404
  return _map
93536
94405
 
93537
94406
  result = dict()
93538
- if self.instance_id is not None:
93539
- result['InstanceId'] = self.instance_id
93540
- if self.new_resource_group_id is not None:
93541
- result['NewResourceGroupId'] = self.new_resource_group_id
94407
+ if self.client_token is not None:
94408
+ result['ClientToken'] = self.client_token
93542
94409
  if self.owner_account is not None:
93543
94410
  result['OwnerAccount'] = self.owner_account
93544
94411
  if self.owner_id is not None:
@@ -93549,16 +94416,12 @@ class MoveVpnResourceGroupRequest(TeaModel):
93549
94416
  result['ResourceOwnerAccount'] = self.resource_owner_account
93550
94417
  if self.resource_owner_id is not None:
93551
94418
  result['ResourceOwnerId'] = self.resource_owner_id
93552
- if self.resource_type is not None:
93553
- result['ResourceType'] = self.resource_type
93554
94419
  return result
93555
94420
 
93556
94421
  def from_map(self, m: dict = None):
93557
94422
  m = m or dict()
93558
- if m.get('InstanceId') is not None:
93559
- self.instance_id = m.get('InstanceId')
93560
- if m.get('NewResourceGroupId') is not None:
93561
- self.new_resource_group_id = m.get('NewResourceGroupId')
94423
+ if m.get('ClientToken') is not None:
94424
+ self.client_token = m.get('ClientToken')
93562
94425
  if m.get('OwnerAccount') is not None:
93563
94426
  self.owner_account = m.get('OwnerAccount')
93564
94427
  if m.get('OwnerId') is not None:
@@ -93569,17 +94432,21 @@ class MoveVpnResourceGroupRequest(TeaModel):
93569
94432
  self.resource_owner_account = m.get('ResourceOwnerAccount')
93570
94433
  if m.get('ResourceOwnerId') is not None:
93571
94434
  self.resource_owner_id = m.get('ResourceOwnerId')
93572
- if m.get('ResourceType') is not None:
93573
- self.resource_type = m.get('ResourceType')
93574
94435
  return self
93575
94436
 
93576
94437
 
93577
- class MoveVpnResourceGroupResponseBody(TeaModel):
94438
+ class OpenFlowLogServiceResponseBody(TeaModel):
93578
94439
  def __init__(
93579
94440
  self,
94441
+ code: str = None,
94442
+ message: str = None,
93580
94443
  request_id: str = None,
93581
94444
  ):
93582
- # The request ID.
94445
+ # The HTTP status code.
94446
+ self.code = code
94447
+ # The information returned after the flow log feature is enabled.
94448
+ self.message = message
94449
+ # The ID of the request.
93583
94450
  self.request_id = request_id
93584
94451
 
93585
94452
  def validate(self):
@@ -93591,23 +94458,31 @@ class MoveVpnResourceGroupResponseBody(TeaModel):
93591
94458
  return _map
93592
94459
 
93593
94460
  result = dict()
94461
+ if self.code is not None:
94462
+ result['Code'] = self.code
94463
+ if self.message is not None:
94464
+ result['Message'] = self.message
93594
94465
  if self.request_id is not None:
93595
94466
  result['RequestId'] = self.request_id
93596
94467
  return result
93597
94468
 
93598
94469
  def from_map(self, m: dict = None):
93599
94470
  m = m or dict()
94471
+ if m.get('Code') is not None:
94472
+ self.code = m.get('Code')
94473
+ if m.get('Message') is not None:
94474
+ self.message = m.get('Message')
93600
94475
  if m.get('RequestId') is not None:
93601
94476
  self.request_id = m.get('RequestId')
93602
94477
  return self
93603
94478
 
93604
94479
 
93605
- class MoveVpnResourceGroupResponse(TeaModel):
94480
+ class OpenFlowLogServiceResponse(TeaModel):
93606
94481
  def __init__(
93607
94482
  self,
93608
94483
  headers: Dict[str, str] = None,
93609
94484
  status_code: int = None,
93610
- body: MoveVpnResourceGroupResponseBody = None,
94485
+ body: OpenFlowLogServiceResponseBody = None,
93611
94486
  ):
93612
94487
  self.headers = headers
93613
94488
  self.status_code = status_code
@@ -93638,30 +94513,23 @@ class MoveVpnResourceGroupResponse(TeaModel):
93638
94513
  if m.get('statusCode') is not None:
93639
94514
  self.status_code = m.get('statusCode')
93640
94515
  if m.get('body') is not None:
93641
- temp_model = MoveVpnResourceGroupResponseBody()
94516
+ temp_model = OpenFlowLogServiceResponseBody()
93642
94517
  self.body = temp_model.from_map(m['body'])
93643
94518
  return self
93644
94519
 
93645
94520
 
93646
- class OpenFlowLogServiceRequest(TeaModel):
94521
+ class OpenPhysicalConnectionServiceRequest(TeaModel):
93647
94522
  def __init__(
93648
94523
  self,
93649
- client_token: str = None,
93650
94524
  owner_account: str = None,
93651
94525
  owner_id: int = None,
93652
94526
  region_id: str = None,
93653
94527
  resource_owner_account: str = None,
93654
94528
  resource_owner_id: int = None,
93655
94529
  ):
93656
- # The client token that is used to ensure the idempotence of the request.
93657
- #
93658
- # You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.
93659
- #
93660
- # > If you do not set this parameter, the system automatically set **ClientToken** to the value of **RequestId**. The value of **RequestId** for each API request is different.
93661
- self.client_token = client_token
93662
94530
  self.owner_account = owner_account
93663
94531
  self.owner_id = owner_id
93664
- # The region ID of the flow log.
94532
+ # The ID of the region where the Express Connect circuit is deployed.
93665
94533
  #
93666
94534
  # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
93667
94535
  #
@@ -93679,8 +94547,6 @@ class OpenFlowLogServiceRequest(TeaModel):
93679
94547
  return _map
93680
94548
 
93681
94549
  result = dict()
93682
- if self.client_token is not None:
93683
- result['ClientToken'] = self.client_token
93684
94550
  if self.owner_account is not None:
93685
94551
  result['OwnerAccount'] = self.owner_account
93686
94552
  if self.owner_id is not None:
@@ -93695,8 +94561,6 @@ class OpenFlowLogServiceRequest(TeaModel):
93695
94561
 
93696
94562
  def from_map(self, m: dict = None):
93697
94563
  m = m or dict()
93698
- if m.get('ClientToken') is not None:
93699
- self.client_token = m.get('ClientToken')
93700
94564
  if m.get('OwnerAccount') is not None:
93701
94565
  self.owner_account = m.get('OwnerAccount')
93702
94566
  if m.get('OwnerId') is not None:
@@ -93710,17 +94574,11 @@ class OpenFlowLogServiceRequest(TeaModel):
93710
94574
  return self
93711
94575
 
93712
94576
 
93713
- class OpenFlowLogServiceResponseBody(TeaModel):
94577
+ class OpenPhysicalConnectionServiceResponseBody(TeaModel):
93714
94578
  def __init__(
93715
94579
  self,
93716
- code: str = None,
93717
- message: str = None,
93718
94580
  request_id: str = None,
93719
94581
  ):
93720
- # The HTTP status code.
93721
- self.code = code
93722
- # The information returned after the flow log feature is enabled.
93723
- self.message = message
93724
94582
  # The ID of the request.
93725
94583
  self.request_id = request_id
93726
94584
 
@@ -93733,31 +94591,23 @@ class OpenFlowLogServiceResponseBody(TeaModel):
93733
94591
  return _map
93734
94592
 
93735
94593
  result = dict()
93736
- if self.code is not None:
93737
- result['Code'] = self.code
93738
- if self.message is not None:
93739
- result['Message'] = self.message
93740
94594
  if self.request_id is not None:
93741
94595
  result['RequestId'] = self.request_id
93742
94596
  return result
93743
94597
 
93744
94598
  def from_map(self, m: dict = None):
93745
94599
  m = m or dict()
93746
- if m.get('Code') is not None:
93747
- self.code = m.get('Code')
93748
- if m.get('Message') is not None:
93749
- self.message = m.get('Message')
93750
94600
  if m.get('RequestId') is not None:
93751
94601
  self.request_id = m.get('RequestId')
93752
94602
  return self
93753
94603
 
93754
94604
 
93755
- class OpenFlowLogServiceResponse(TeaModel):
94605
+ class OpenPhysicalConnectionServiceResponse(TeaModel):
93756
94606
  def __init__(
93757
94607
  self,
93758
94608
  headers: Dict[str, str] = None,
93759
94609
  status_code: int = None,
93760
- body: OpenFlowLogServiceResponseBody = None,
94610
+ body: OpenPhysicalConnectionServiceResponseBody = None,
93761
94611
  ):
93762
94612
  self.headers = headers
93763
94613
  self.status_code = status_code
@@ -93788,26 +94638,24 @@ class OpenFlowLogServiceResponse(TeaModel):
93788
94638
  if m.get('statusCode') is not None:
93789
94639
  self.status_code = m.get('statusCode')
93790
94640
  if m.get('body') is not None:
93791
- temp_model = OpenFlowLogServiceResponseBody()
94641
+ temp_model = OpenPhysicalConnectionServiceResponseBody()
93792
94642
  self.body = temp_model.from_map(m['body'])
93793
94643
  return self
93794
94644
 
93795
94645
 
93796
- class OpenPhysicalConnectionServiceRequest(TeaModel):
94646
+ class OpenPublicIpAddressPoolServiceRequest(TeaModel):
93797
94647
  def __init__(
93798
94648
  self,
94649
+ client_token: str = None,
93799
94650
  owner_account: str = None,
93800
94651
  owner_id: int = None,
93801
94652
  region_id: str = None,
93802
94653
  resource_owner_account: str = None,
93803
94654
  resource_owner_id: int = None,
93804
94655
  ):
94656
+ self.client_token = client_token
93805
94657
  self.owner_account = owner_account
93806
94658
  self.owner_id = owner_id
93807
- # The ID of the region where the Express Connect circuit is deployed.
93808
- #
93809
- # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
93810
- #
93811
94659
  # This parameter is required.
93812
94660
  self.region_id = region_id
93813
94661
  self.resource_owner_account = resource_owner_account
@@ -93822,6 +94670,8 @@ class OpenPhysicalConnectionServiceRequest(TeaModel):
93822
94670
  return _map
93823
94671
 
93824
94672
  result = dict()
94673
+ if self.client_token is not None:
94674
+ result['ClientToken'] = self.client_token
93825
94675
  if self.owner_account is not None:
93826
94676
  result['OwnerAccount'] = self.owner_account
93827
94677
  if self.owner_id is not None:
@@ -93836,6 +94686,8 @@ class OpenPhysicalConnectionServiceRequest(TeaModel):
93836
94686
 
93837
94687
  def from_map(self, m: dict = None):
93838
94688
  m = m or dict()
94689
+ if m.get('ClientToken') is not None:
94690
+ self.client_token = m.get('ClientToken')
93839
94691
  if m.get('OwnerAccount') is not None:
93840
94692
  self.owner_account = m.get('OwnerAccount')
93841
94693
  if m.get('OwnerId') is not None:
@@ -93849,12 +94701,15 @@ class OpenPhysicalConnectionServiceRequest(TeaModel):
93849
94701
  return self
93850
94702
 
93851
94703
 
93852
- class OpenPhysicalConnectionServiceResponseBody(TeaModel):
94704
+ class OpenPublicIpAddressPoolServiceResponseBody(TeaModel):
93853
94705
  def __init__(
93854
94706
  self,
94707
+ code: str = None,
94708
+ message: str = None,
93855
94709
  request_id: str = None,
93856
94710
  ):
93857
- # The ID of the request.
94711
+ self.code = code
94712
+ self.message = message
93858
94713
  self.request_id = request_id
93859
94714
 
93860
94715
  def validate(self):
@@ -93866,23 +94721,31 @@ class OpenPhysicalConnectionServiceResponseBody(TeaModel):
93866
94721
  return _map
93867
94722
 
93868
94723
  result = dict()
94724
+ if self.code is not None:
94725
+ result['Code'] = self.code
94726
+ if self.message is not None:
94727
+ result['Message'] = self.message
93869
94728
  if self.request_id is not None:
93870
94729
  result['RequestId'] = self.request_id
93871
94730
  return result
93872
94731
 
93873
94732
  def from_map(self, m: dict = None):
93874
94733
  m = m or dict()
94734
+ if m.get('Code') is not None:
94735
+ self.code = m.get('Code')
94736
+ if m.get('Message') is not None:
94737
+ self.message = m.get('Message')
93875
94738
  if m.get('RequestId') is not None:
93876
94739
  self.request_id = m.get('RequestId')
93877
94740
  return self
93878
94741
 
93879
94742
 
93880
- class OpenPhysicalConnectionServiceResponse(TeaModel):
94743
+ class OpenPublicIpAddressPoolServiceResponse(TeaModel):
93881
94744
  def __init__(
93882
94745
  self,
93883
94746
  headers: Dict[str, str] = None,
93884
94747
  status_code: int = None,
93885
- body: OpenPhysicalConnectionServiceResponseBody = None,
94748
+ body: OpenPublicIpAddressPoolServiceResponseBody = None,
93886
94749
  ):
93887
94750
  self.headers = headers
93888
94751
  self.status_code = status_code
@@ -93913,12 +94776,12 @@ class OpenPhysicalConnectionServiceResponse(TeaModel):
93913
94776
  if m.get('statusCode') is not None:
93914
94777
  self.status_code = m.get('statusCode')
93915
94778
  if m.get('body') is not None:
93916
- temp_model = OpenPhysicalConnectionServiceResponseBody()
94779
+ temp_model = OpenPublicIpAddressPoolServiceResponseBody()
93917
94780
  self.body = temp_model.from_map(m['body'])
93918
94781
  return self
93919
94782
 
93920
94783
 
93921
- class OpenPublicIpAddressPoolServiceRequest(TeaModel):
94784
+ class OpenTrafficMirrorServiceRequest(TeaModel):
93922
94785
  def __init__(
93923
94786
  self,
93924
94787
  client_token: str = None,
@@ -93928,10 +94791,17 @@ class OpenPublicIpAddressPoolServiceRequest(TeaModel):
93928
94791
  resource_owner_account: str = None,
93929
94792
  resource_owner_id: int = None,
93930
94793
  ):
94794
+ # The client token that is used to ensure the idempotence of the request.
94795
+ #
94796
+ # You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.
94797
+ #
94798
+ # > If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.
93931
94799
  self.client_token = client_token
93932
94800
  self.owner_account = owner_account
93933
94801
  self.owner_id = owner_id
93934
- # This parameter is required.
94802
+ # The ID of the region to which the mirrored traffic belongs.
94803
+ #
94804
+ # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
93935
94805
  self.region_id = region_id
93936
94806
  self.resource_owner_account = resource_owner_account
93937
94807
  self.resource_owner_id = resource_owner_id
@@ -93976,15 +94846,18 @@ class OpenPublicIpAddressPoolServiceRequest(TeaModel):
93976
94846
  return self
93977
94847
 
93978
94848
 
93979
- class OpenPublicIpAddressPoolServiceResponseBody(TeaModel):
94849
+ class OpenTrafficMirrorServiceResponseBody(TeaModel):
93980
94850
  def __init__(
93981
94851
  self,
93982
94852
  code: str = None,
93983
94853
  message: str = None,
93984
94854
  request_id: str = None,
93985
94855
  ):
94856
+ # The error code.
93986
94857
  self.code = code
94858
+ # The information returned after traffic mirroring is enabled.
93987
94859
  self.message = message
94860
+ # The request ID.
93988
94861
  self.request_id = request_id
93989
94862
 
93990
94863
  def validate(self):
@@ -94015,12 +94888,12 @@ class OpenPublicIpAddressPoolServiceResponseBody(TeaModel):
94015
94888
  return self
94016
94889
 
94017
94890
 
94018
- class OpenPublicIpAddressPoolServiceResponse(TeaModel):
94891
+ class OpenTrafficMirrorServiceResponse(TeaModel):
94019
94892
  def __init__(
94020
94893
  self,
94021
94894
  headers: Dict[str, str] = None,
94022
94895
  status_code: int = None,
94023
- body: OpenPublicIpAddressPoolServiceResponseBody = None,
94896
+ body: OpenTrafficMirrorServiceResponseBody = None,
94024
94897
  ):
94025
94898
  self.headers = headers
94026
94899
  self.status_code = status_code
@@ -94051,38 +94924,76 @@ class OpenPublicIpAddressPoolServiceResponse(TeaModel):
94051
94924
  if m.get('statusCode') is not None:
94052
94925
  self.status_code = m.get('statusCode')
94053
94926
  if m.get('body') is not None:
94054
- temp_model = OpenPublicIpAddressPoolServiceResponseBody()
94927
+ temp_model = OpenTrafficMirrorServiceResponseBody()
94055
94928
  self.body = temp_model.from_map(m['body'])
94056
94929
  return self
94057
94930
 
94058
94931
 
94059
- class OpenTrafficMirrorServiceRequest(TeaModel):
94932
+ class PublishVpcRouteEntriesRequestRouteEntries(TeaModel):
94060
94933
  def __init__(
94061
94934
  self,
94062
- client_token: str = None,
94935
+ destination_cidr_block: str = None,
94936
+ route_table_id: str = None,
94937
+ ):
94938
+ # This parameter is required.
94939
+ self.destination_cidr_block = destination_cidr_block
94940
+ # This parameter is required.
94941
+ self.route_table_id = route_table_id
94942
+
94943
+ def validate(self):
94944
+ pass
94945
+
94946
+ def to_map(self):
94947
+ _map = super().to_map()
94948
+ if _map is not None:
94949
+ return _map
94950
+
94951
+ result = dict()
94952
+ if self.destination_cidr_block is not None:
94953
+ result['DestinationCidrBlock'] = self.destination_cidr_block
94954
+ if self.route_table_id is not None:
94955
+ result['RouteTableId'] = self.route_table_id
94956
+ return result
94957
+
94958
+ def from_map(self, m: dict = None):
94959
+ m = m or dict()
94960
+ if m.get('DestinationCidrBlock') is not None:
94961
+ self.destination_cidr_block = m.get('DestinationCidrBlock')
94962
+ if m.get('RouteTableId') is not None:
94963
+ self.route_table_id = m.get('RouteTableId')
94964
+ return self
94965
+
94966
+
94967
+ class PublishVpcRouteEntriesRequest(TeaModel):
94968
+ def __init__(
94969
+ self,
94970
+ dry_run: bool = None,
94063
94971
  owner_account: str = None,
94064
94972
  owner_id: int = None,
94065
94973
  region_id: str = None,
94066
94974
  resource_owner_account: str = None,
94067
94975
  resource_owner_id: int = None,
94976
+ route_entries: List[PublishVpcRouteEntriesRequestRouteEntries] = None,
94977
+ target_instance_id: str = None,
94978
+ target_type: str = None,
94068
94979
  ):
94069
- # The client token that is used to ensure the idempotence of the request.
94070
- #
94071
- # You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.
94072
- #
94073
- # > If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.
94074
- self.client_token = client_token
94980
+ self.dry_run = dry_run
94075
94981
  self.owner_account = owner_account
94076
94982
  self.owner_id = owner_id
94077
- # The ID of the region to which the mirrored traffic belongs.
94078
- #
94079
- # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
94080
94983
  self.region_id = region_id
94081
94984
  self.resource_owner_account = resource_owner_account
94082
94985
  self.resource_owner_id = resource_owner_id
94986
+ self.route_entries = route_entries
94987
+ # This parameter is required.
94988
+ self.target_instance_id = target_instance_id
94989
+ # This parameter is required.
94990
+ self.target_type = target_type
94083
94991
 
94084
94992
  def validate(self):
94085
- pass
94993
+ if self.route_entries:
94994
+ for k in self.route_entries:
94995
+ if k:
94996
+ k.validate()
94086
94997
 
94087
94998
  def to_map(self):
94088
94999
  _map = super().to_map()
@@ -94090,8 +95001,8 @@ class OpenTrafficMirrorServiceRequest(TeaModel):
94090
95001
  return _map
94091
95002
 
94092
95003
  result = dict()
94093
- if self.client_token is not None:
94094
- result['ClientToken'] = self.client_token
95004
+ if self.dry_run is not None:
95005
+ result['DryRun'] = self.dry_run
94095
95006
  if self.owner_account is not None:
94096
95007
  result['OwnerAccount'] = self.owner_account
94097
95008
  if self.owner_id is not None:
@@ -94102,12 +95013,20 @@ class OpenTrafficMirrorServiceRequest(TeaModel):
94102
95013
  result['ResourceOwnerAccount'] = self.resource_owner_account
94103
95014
  if self.resource_owner_id is not None:
94104
95015
  result['ResourceOwnerId'] = self.resource_owner_id
95016
+ result['RouteEntries'] = []
95017
+ if self.route_entries is not None:
95018
+ for k in self.route_entries:
95019
+ result['RouteEntries'].append(k.to_map() if k else None)
95020
+ if self.target_instance_id is not None:
95021
+ result['TargetInstanceId'] = self.target_instance_id
95022
+ if self.target_type is not None:
95023
+ result['TargetType'] = self.target_type
94105
95024
  return result
94106
95025
 
94107
95026
  def from_map(self, m: dict = None):
94108
95027
  m = m or dict()
94109
- if m.get('ClientToken') is not None:
94110
- self.client_token = m.get('ClientToken')
95028
+ if m.get('DryRun') is not None:
95029
+ self.dry_run = m.get('DryRun')
94111
95030
  if m.get('OwnerAccount') is not None:
94112
95031
  self.owner_account = m.get('OwnerAccount')
94113
95032
  if m.get('OwnerId') is not None:
@@ -94118,21 +95037,23 @@ class OpenTrafficMirrorServiceRequest(TeaModel):
94118
95037
  self.resource_owner_account = m.get('ResourceOwnerAccount')
94119
95038
  if m.get('ResourceOwnerId') is not None:
94120
95039
  self.resource_owner_id = m.get('ResourceOwnerId')
95040
+ self.route_entries = []
95041
+ if m.get('RouteEntries') is not None:
95042
+ for k in m.get('RouteEntries'):
95043
+ temp_model = PublishVpcRouteEntriesRequestRouteEntries()
95044
+ self.route_entries.append(temp_model.from_map(k))
95045
+ if m.get('TargetInstanceId') is not None:
95046
+ self.target_instance_id = m.get('TargetInstanceId')
95047
+ if m.get('TargetType') is not None:
95048
+ self.target_type = m.get('TargetType')
94121
95049
  return self
94122
95050
 
94123
95051
 
94124
- class OpenTrafficMirrorServiceResponseBody(TeaModel):
95052
+ class PublishVpcRouteEntriesResponseBody(TeaModel):
94125
95053
  def __init__(
94126
95054
  self,
94127
- code: str = None,
94128
- message: str = None,
94129
95055
  request_id: str = None,
94130
95056
  ):
94131
- # The error code.
94132
- self.code = code
94133
- # The information returned after traffic mirroring is enabled.
94134
- self.message = message
94135
- # The request ID.
94136
95057
  self.request_id = request_id
94137
95058
 
94138
95059
  def validate(self):
@@ -94144,31 +95065,23 @@ class OpenTrafficMirrorServiceResponseBody(TeaModel):
94144
95065
  return _map
94145
95066
 
94146
95067
  result = dict()
94147
- if self.code is not None:
94148
- result['Code'] = self.code
94149
- if self.message is not None:
94150
- result['Message'] = self.message
94151
95068
  if self.request_id is not None:
94152
95069
  result['RequestId'] = self.request_id
94153
95070
  return result
94154
95071
 
94155
95072
  def from_map(self, m: dict = None):
94156
95073
  m = m or dict()
94157
- if m.get('Code') is not None:
94158
- self.code = m.get('Code')
94159
- if m.get('Message') is not None:
94160
- self.message = m.get('Message')
94161
95074
  if m.get('RequestId') is not None:
94162
95075
  self.request_id = m.get('RequestId')
94163
95076
  return self
94164
95077
 
94165
95078
 
94166
- class OpenTrafficMirrorServiceResponse(TeaModel):
95079
+ class PublishVpcRouteEntriesResponse(TeaModel):
94167
95080
  def __init__(
94168
95081
  self,
94169
95082
  headers: Dict[str, str] = None,
94170
95083
  status_code: int = None,
94171
- body: OpenTrafficMirrorServiceResponseBody = None,
95084
+ body: PublishVpcRouteEntriesResponseBody = None,
94172
95085
  ):
94173
95086
  self.headers = headers
94174
95087
  self.status_code = status_code
@@ -94199,7 +95112,7 @@ class OpenTrafficMirrorServiceResponse(TeaModel):
94199
95112
  if m.get('statusCode') is not None:
94200
95113
  self.status_code = m.get('statusCode')
94201
95114
  if m.get('body') is not None:
94202
- temp_model = OpenTrafficMirrorServiceResponseBody()
95115
+ temp_model = PublishVpcRouteEntriesResponseBody()
94203
95116
  self.body = temp_model.from_map(m['body'])
94204
95117
  return self
94205
95118
 
@@ -102412,3 +103325,191 @@ class VpcDescribeVpcNatGatewayNetworkInterfaceQuotaResponse(TeaModel):
102412
103325
  return self
102413
103326
 
102414
103327
 
103328
+ class WithdrawVpcPublishedRouteEntriesRequestRouteEntries(TeaModel):
103329
+ def __init__(
103330
+ self,
103331
+ destination_cidr_block: str = None,
103332
+ route_table_id: str = None,
103333
+ ):
103334
+ # This parameter is required.
103335
+ self.destination_cidr_block = destination_cidr_block
103336
+ # This parameter is required.
103337
+ self.route_table_id = route_table_id
103338
+
103339
+ def validate(self):
103340
+ pass
103341
+
103342
+ def to_map(self):
103343
+ _map = super().to_map()
103344
+ if _map is not None:
103345
+ return _map
103346
+
103347
+ result = dict()
103348
+ if self.destination_cidr_block is not None:
103349
+ result['DestinationCidrBlock'] = self.destination_cidr_block
103350
+ if self.route_table_id is not None:
103351
+ result['RouteTableId'] = self.route_table_id
103352
+ return result
103353
+
103354
+ def from_map(self, m: dict = None):
103355
+ m = m or dict()
103356
+ if m.get('DestinationCidrBlock') is not None:
103357
+ self.destination_cidr_block = m.get('DestinationCidrBlock')
103358
+ if m.get('RouteTableId') is not None:
103359
+ self.route_table_id = m.get('RouteTableId')
103360
+ return self
103361
+
103362
+
103363
+ class WithdrawVpcPublishedRouteEntriesRequest(TeaModel):
103364
+ def __init__(
103365
+ self,
103366
+ dry_run: bool = None,
103367
+ owner_account: str = None,
103368
+ owner_id: int = None,
103369
+ region_id: str = None,
103370
+ resource_owner_account: str = None,
103371
+ resource_owner_id: int = None,
103372
+ route_entries: List[WithdrawVpcPublishedRouteEntriesRequestRouteEntries] = None,
103373
+ target_instance_id: str = None,
103374
+ target_type: str = None,
103375
+ ):
103376
+ self.dry_run = dry_run
103377
+ self.owner_account = owner_account
103378
+ self.owner_id = owner_id
103379
+ self.region_id = region_id
103380
+ self.resource_owner_account = resource_owner_account
103381
+ self.resource_owner_id = resource_owner_id
103382
+ self.route_entries = route_entries
103383
+ # This parameter is required.
103384
+ self.target_instance_id = target_instance_id
103385
+ # This parameter is required.
103386
+ self.target_type = target_type
103387
+
103388
+ def validate(self):
103389
+ if self.route_entries:
103390
+ for k in self.route_entries:
103391
+ if k:
103392
+ k.validate()
103393
+
103394
+ def to_map(self):
103395
+ _map = super().to_map()
103396
+ if _map is not None:
103397
+ return _map
103398
+
103399
+ result = dict()
103400
+ if self.dry_run is not None:
103401
+ result['DryRun'] = self.dry_run
103402
+ if self.owner_account is not None:
103403
+ result['OwnerAccount'] = self.owner_account
103404
+ if self.owner_id is not None:
103405
+ result['OwnerId'] = self.owner_id
103406
+ if self.region_id is not None:
103407
+ result['RegionId'] = self.region_id
103408
+ if self.resource_owner_account is not None:
103409
+ result['ResourceOwnerAccount'] = self.resource_owner_account
103410
+ if self.resource_owner_id is not None:
103411
+ result['ResourceOwnerId'] = self.resource_owner_id
103412
+ result['RouteEntries'] = []
103413
+ if self.route_entries is not None:
103414
+ for k in self.route_entries:
103415
+ result['RouteEntries'].append(k.to_map() if k else None)
103416
+ if self.target_instance_id is not None:
103417
+ result['TargetInstanceId'] = self.target_instance_id
103418
+ if self.target_type is not None:
103419
+ result['TargetType'] = self.target_type
103420
+ return result
103421
+
103422
+ def from_map(self, m: dict = None):
103423
+ m = m or dict()
103424
+ if m.get('DryRun') is not None:
103425
+ self.dry_run = m.get('DryRun')
103426
+ if m.get('OwnerAccount') is not None:
103427
+ self.owner_account = m.get('OwnerAccount')
103428
+ if m.get('OwnerId') is not None:
103429
+ self.owner_id = m.get('OwnerId')
103430
+ if m.get('RegionId') is not None:
103431
+ self.region_id = m.get('RegionId')
103432
+ if m.get('ResourceOwnerAccount') is not None:
103433
+ self.resource_owner_account = m.get('ResourceOwnerAccount')
103434
+ if m.get('ResourceOwnerId') is not None:
103435
+ self.resource_owner_id = m.get('ResourceOwnerId')
103436
+ self.route_entries = []
103437
+ if m.get('RouteEntries') is not None:
103438
+ for k in m.get('RouteEntries'):
103439
+ temp_model = WithdrawVpcPublishedRouteEntriesRequestRouteEntries()
103440
+ self.route_entries.append(temp_model.from_map(k))
103441
+ if m.get('TargetInstanceId') is not None:
103442
+ self.target_instance_id = m.get('TargetInstanceId')
103443
+ if m.get('TargetType') is not None:
103444
+ self.target_type = m.get('TargetType')
103445
+ return self
103446
+
103447
+
103448
+ class WithdrawVpcPublishedRouteEntriesResponseBody(TeaModel):
103449
+ def __init__(
103450
+ self,
103451
+ request_id: str = None,
103452
+ ):
103453
+ self.request_id = request_id
103454
+
103455
+ def validate(self):
103456
+ pass
103457
+
103458
+ def to_map(self):
103459
+ _map = super().to_map()
103460
+ if _map is not None:
103461
+ return _map
103462
+
103463
+ result = dict()
103464
+ if self.request_id is not None:
103465
+ result['RequestId'] = self.request_id
103466
+ return result
103467
+
103468
+ def from_map(self, m: dict = None):
103469
+ m = m or dict()
103470
+ if m.get('RequestId') is not None:
103471
+ self.request_id = m.get('RequestId')
103472
+ return self
103473
+
103474
+
103475
+ class WithdrawVpcPublishedRouteEntriesResponse(TeaModel):
103476
+ def __init__(
103477
+ self,
103478
+ headers: Dict[str, str] = None,
103479
+ status_code: int = None,
103480
+ body: WithdrawVpcPublishedRouteEntriesResponseBody = None,
103481
+ ):
103482
+ self.headers = headers
103483
+ self.status_code = status_code
103484
+ self.body = body
103485
+
103486
+ def validate(self):
103487
+ if self.body:
103488
+ self.body.validate()
103489
+
103490
+ def to_map(self):
103491
+ _map = super().to_map()
103492
+ if _map is not None:
103493
+ return _map
103494
+
103495
+ result = dict()
103496
+ if self.headers is not None:
103497
+ result['headers'] = self.headers
103498
+ if self.status_code is not None:
103499
+ result['statusCode'] = self.status_code
103500
+ if self.body is not None:
103501
+ result['body'] = self.body.to_map()
103502
+ return result
103503
+
103504
+ def from_map(self, m: dict = None):
103505
+ m = m or dict()
103506
+ if m.get('headers') is not None:
103507
+ self.headers = m.get('headers')
103508
+ if m.get('statusCode') is not None:
103509
+ self.status_code = m.get('statusCode')
103510
+ if m.get('body') is not None:
103511
+ temp_model = WithdrawVpcPublishedRouteEntriesResponseBody()
103512
+ self.body = temp_model.from_map(m['body'])
103513
+ return self
103514
+
103515
+