alibabacloud-vpc20160428 6.11.8__py3-none-any.whl → 6.12.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.
- alibabacloud_vpc20160428/__init__.py +1 -1
- alibabacloud_vpc20160428/client.py +192 -12
- alibabacloud_vpc20160428/models.py +550 -93
- {alibabacloud_vpc20160428-6.11.8.dist-info → alibabacloud_vpc20160428-6.12.0.dist-info}/METADATA +2 -2
- alibabacloud_vpc20160428-6.12.0.dist-info/RECORD +8 -0
- alibabacloud_vpc20160428-6.11.8.dist-info/RECORD +0 -8
- {alibabacloud_vpc20160428-6.11.8.dist-info → alibabacloud_vpc20160428-6.12.0.dist-info}/LICENSE +0 -0
- {alibabacloud_vpc20160428-6.11.8.dist-info → alibabacloud_vpc20160428-6.12.0.dist-info}/WHEEL +0 -0
- {alibabacloud_vpc20160428-6.11.8.dist-info → alibabacloud_vpc20160428-6.12.0.dist-info}/top_level.txt +0 -0
|
@@ -4808,6 +4808,7 @@ class AssociateVpcCidrBlockRequest(TeaModel):
|
|
|
4808
4808
|
ipv_6cidr_block: str = None,
|
|
4809
4809
|
ip_version: str = None,
|
|
4810
4810
|
ipam_pool_id: str = None,
|
|
4811
|
+
ipv_6cidr_mask: int = None,
|
|
4811
4812
|
ipv_6isp: str = None,
|
|
4812
4813
|
owner_account: str = None,
|
|
4813
4814
|
owner_id: int = None,
|
|
@@ -4818,17 +4819,21 @@ class AssociateVpcCidrBlockRequest(TeaModel):
|
|
|
4818
4819
|
secondary_cidr_mask: int = None,
|
|
4819
4820
|
vpc_id: str = None,
|
|
4820
4821
|
):
|
|
4821
|
-
# The IPv6 CIDR block to
|
|
4822
|
+
# The IPv6 CIDR block that you want to add to the VPC.
|
|
4822
4823
|
#
|
|
4823
|
-
# > You
|
|
4824
|
+
# > You can specify only one of **SecondaryCidrBlock** and **Ipv6CidrBlock**.
|
|
4824
4825
|
self.ipv_6cidr_block = ipv_6cidr_block
|
|
4825
4826
|
# The version of the IP address. Valid values:
|
|
4826
4827
|
#
|
|
4827
4828
|
# * **IPV4**: the IPv4 address.
|
|
4828
4829
|
# * **IPV6**: the IPv6 address. If you set **IpVersion** to **IPV6** and do not specify **SecondaryCidrBlock**, you can add a secondary IPv6 CIDR block to the VPC.
|
|
4829
4830
|
self.ip_version = ip_version
|
|
4830
|
-
# The ID of the
|
|
4831
|
+
# The ID of the IPAM pool.
|
|
4831
4832
|
self.ipam_pool_id = ipam_pool_id
|
|
4833
|
+
# Add an IPv6 CIDR block from the IPAM pool to the VPC by entering a mask.
|
|
4834
|
+
#
|
|
4835
|
+
# > To add an IPv6 CIDR block to a VPC, specify at least one of the IPv6CidrBlock and Ipv6CidrMask parameters.
|
|
4836
|
+
self.ipv_6cidr_mask = ipv_6cidr_mask
|
|
4832
4837
|
# The type of the IPv6 CIDR block. Valid values:
|
|
4833
4838
|
#
|
|
4834
4839
|
# * **BGP** (default)
|
|
@@ -4843,8 +4848,6 @@ class AssociateVpcCidrBlockRequest(TeaModel):
|
|
|
4843
4848
|
# The region ID of the VPC to which you want to add a secondary CIDR block.
|
|
4844
4849
|
#
|
|
4845
4850
|
# You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the region ID.
|
|
4846
|
-
#
|
|
4847
|
-
# This parameter is required.
|
|
4848
4851
|
self.region_id = region_id
|
|
4849
4852
|
self.resource_owner_account = resource_owner_account
|
|
4850
4853
|
self.resource_owner_id = resource_owner_id
|
|
@@ -4860,10 +4863,9 @@ class AssociateVpcCidrBlockRequest(TeaModel):
|
|
|
4860
4863
|
#
|
|
4861
4864
|
# > You must and can specify only one of **SecondaryCidrBlock** and **Ipv6CidrBlock**.
|
|
4862
4865
|
self.secondary_cidr_block = secondary_cidr_block
|
|
4863
|
-
# Add
|
|
4866
|
+
# Add an IPv4 CIDR block from the IPAM pool to the VPC by specifying a mask.
|
|
4864
4867
|
#
|
|
4865
|
-
# >
|
|
4866
|
-
# > To add a secondary CIDR block to the VPC using the specified IPAM pool, you must specify at least one of the parameters, SecondaryCidrBlock or SecondaryCidrMask.
|
|
4868
|
+
# > If you use an IPAM pool, you must specify at least one of SecondaryCidrBlock and SecondaryCidrMask.
|
|
4867
4869
|
self.secondary_cidr_mask = secondary_cidr_mask
|
|
4868
4870
|
# The ID of the VPC to which you want to add a secondary CIDR block.
|
|
4869
4871
|
#
|
|
@@ -4885,6 +4887,8 @@ class AssociateVpcCidrBlockRequest(TeaModel):
|
|
|
4885
4887
|
result['IpVersion'] = self.ip_version
|
|
4886
4888
|
if self.ipam_pool_id is not None:
|
|
4887
4889
|
result['IpamPoolId'] = self.ipam_pool_id
|
|
4890
|
+
if self.ipv_6cidr_mask is not None:
|
|
4891
|
+
result['Ipv6CidrMask'] = self.ipv_6cidr_mask
|
|
4888
4892
|
if self.ipv_6isp is not None:
|
|
4889
4893
|
result['Ipv6Isp'] = self.ipv_6isp
|
|
4890
4894
|
if self.owner_account is not None:
|
|
@@ -4913,6 +4917,8 @@ class AssociateVpcCidrBlockRequest(TeaModel):
|
|
|
4913
4917
|
self.ip_version = m.get('IpVersion')
|
|
4914
4918
|
if m.get('IpamPoolId') is not None:
|
|
4915
4919
|
self.ipam_pool_id = m.get('IpamPoolId')
|
|
4920
|
+
if m.get('Ipv6CidrMask') is not None:
|
|
4921
|
+
self.ipv_6cidr_mask = m.get('Ipv6CidrMask')
|
|
4916
4922
|
if m.get('Ipv6Isp') is not None:
|
|
4917
4923
|
self.ipv_6isp = m.get('Ipv6Isp')
|
|
4918
4924
|
if m.get('OwnerAccount') is not None:
|
|
@@ -13142,7 +13148,9 @@ class CreateNatGatewayRequest(TeaModel):
|
|
|
13142
13148
|
icmp_reply_enabled: bool = None,
|
|
13143
13149
|
instance_charge_type: str = None,
|
|
13144
13150
|
internet_charge_type: str = None,
|
|
13151
|
+
ipv_4prefix: str = None,
|
|
13145
13152
|
name: str = None,
|
|
13153
|
+
nat_ip: str = None,
|
|
13146
13154
|
nat_type: str = None,
|
|
13147
13155
|
network_type: str = None,
|
|
13148
13156
|
owner_account: str = None,
|
|
@@ -13195,12 +13203,14 @@ class CreateNatGatewayRequest(TeaModel):
|
|
|
13195
13203
|
self.instance_charge_type = instance_charge_type
|
|
13196
13204
|
# The metering method of the NAT gateway. Set the value to **PayByLcu**, which specifies the pay-by-CU metering method.
|
|
13197
13205
|
self.internet_charge_type = internet_charge_type
|
|
13206
|
+
self.ipv_4prefix = ipv_4prefix
|
|
13198
13207
|
# The name of the NAT gateway.
|
|
13199
13208
|
#
|
|
13200
13209
|
# The name must be 2 to 128 characters in length and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter.
|
|
13201
13210
|
#
|
|
13202
13211
|
# If this parameter is not set, the system assigns a default name to the NAT gateway.
|
|
13203
13212
|
self.name = name
|
|
13213
|
+
self.nat_ip = nat_ip
|
|
13204
13214
|
# The type of NAT gateway. Set the value to **Enhanced**, which specifies enhanced NAT gateway.
|
|
13205
13215
|
self.nat_type = nat_type
|
|
13206
13216
|
# The network type of the NAT gateway. Valid values:
|
|
@@ -13276,8 +13286,12 @@ class CreateNatGatewayRequest(TeaModel):
|
|
|
13276
13286
|
result['InstanceChargeType'] = self.instance_charge_type
|
|
13277
13287
|
if self.internet_charge_type is not None:
|
|
13278
13288
|
result['InternetChargeType'] = self.internet_charge_type
|
|
13289
|
+
if self.ipv_4prefix is not None:
|
|
13290
|
+
result['Ipv4Prefix'] = self.ipv_4prefix
|
|
13279
13291
|
if self.name is not None:
|
|
13280
13292
|
result['Name'] = self.name
|
|
13293
|
+
if self.nat_ip is not None:
|
|
13294
|
+
result['NatIp'] = self.nat_ip
|
|
13281
13295
|
if self.nat_type is not None:
|
|
13282
13296
|
result['NatType'] = self.nat_type
|
|
13283
13297
|
if self.network_type is not None:
|
|
@@ -13331,8 +13345,12 @@ class CreateNatGatewayRequest(TeaModel):
|
|
|
13331
13345
|
self.instance_charge_type = m.get('InstanceChargeType')
|
|
13332
13346
|
if m.get('InternetChargeType') is not None:
|
|
13333
13347
|
self.internet_charge_type = m.get('InternetChargeType')
|
|
13348
|
+
if m.get('Ipv4Prefix') is not None:
|
|
13349
|
+
self.ipv_4prefix = m.get('Ipv4Prefix')
|
|
13334
13350
|
if m.get('Name') is not None:
|
|
13335
13351
|
self.name = m.get('Name')
|
|
13352
|
+
if m.get('NatIp') is not None:
|
|
13353
|
+
self.nat_ip = m.get('NatIp')
|
|
13336
13354
|
if m.get('NatType') is not None:
|
|
13337
13355
|
self.nat_type = m.get('NatType')
|
|
13338
13356
|
if m.get('NetworkType') is not None:
|
|
@@ -13414,7 +13432,9 @@ class CreateNatGatewayShrinkRequest(TeaModel):
|
|
|
13414
13432
|
icmp_reply_enabled: bool = None,
|
|
13415
13433
|
instance_charge_type: str = None,
|
|
13416
13434
|
internet_charge_type: str = None,
|
|
13435
|
+
ipv_4prefix: str = None,
|
|
13417
13436
|
name: str = None,
|
|
13437
|
+
nat_ip: str = None,
|
|
13418
13438
|
nat_type: str = None,
|
|
13419
13439
|
network_type: str = None,
|
|
13420
13440
|
owner_account: str = None,
|
|
@@ -13467,12 +13487,14 @@ class CreateNatGatewayShrinkRequest(TeaModel):
|
|
|
13467
13487
|
self.instance_charge_type = instance_charge_type
|
|
13468
13488
|
# The metering method of the NAT gateway. Set the value to **PayByLcu**, which specifies the pay-by-CU metering method.
|
|
13469
13489
|
self.internet_charge_type = internet_charge_type
|
|
13490
|
+
self.ipv_4prefix = ipv_4prefix
|
|
13470
13491
|
# The name of the NAT gateway.
|
|
13471
13492
|
#
|
|
13472
13493
|
# The name must be 2 to 128 characters in length and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter.
|
|
13473
13494
|
#
|
|
13474
13495
|
# If this parameter is not set, the system assigns a default name to the NAT gateway.
|
|
13475
13496
|
self.name = name
|
|
13497
|
+
self.nat_ip = nat_ip
|
|
13476
13498
|
# The type of NAT gateway. Set the value to **Enhanced**, which specifies enhanced NAT gateway.
|
|
13477
13499
|
self.nat_type = nat_type
|
|
13478
13500
|
# The network type of the NAT gateway. Valid values:
|
|
@@ -13546,8 +13568,12 @@ class CreateNatGatewayShrinkRequest(TeaModel):
|
|
|
13546
13568
|
result['InstanceChargeType'] = self.instance_charge_type
|
|
13547
13569
|
if self.internet_charge_type is not None:
|
|
13548
13570
|
result['InternetChargeType'] = self.internet_charge_type
|
|
13571
|
+
if self.ipv_4prefix is not None:
|
|
13572
|
+
result['Ipv4Prefix'] = self.ipv_4prefix
|
|
13549
13573
|
if self.name is not None:
|
|
13550
13574
|
result['Name'] = self.name
|
|
13575
|
+
if self.nat_ip is not None:
|
|
13576
|
+
result['NatIp'] = self.nat_ip
|
|
13551
13577
|
if self.nat_type is not None:
|
|
13552
13578
|
result['NatType'] = self.nat_type
|
|
13553
13579
|
if self.network_type is not None:
|
|
@@ -13600,8 +13626,12 @@ class CreateNatGatewayShrinkRequest(TeaModel):
|
|
|
13600
13626
|
self.instance_charge_type = m.get('InstanceChargeType')
|
|
13601
13627
|
if m.get('InternetChargeType') is not None:
|
|
13602
13628
|
self.internet_charge_type = m.get('InternetChargeType')
|
|
13629
|
+
if m.get('Ipv4Prefix') is not None:
|
|
13630
|
+
self.ipv_4prefix = m.get('Ipv4Prefix')
|
|
13603
13631
|
if m.get('Name') is not None:
|
|
13604
13632
|
self.name = m.get('Name')
|
|
13633
|
+
if m.get('NatIp') is not None:
|
|
13634
|
+
self.nat_ip = m.get('NatIp')
|
|
13605
13635
|
if m.get('NatType') is not None:
|
|
13606
13636
|
self.nat_type = m.get('NatType')
|
|
13607
13637
|
if m.get('NetworkType') is not None:
|
|
@@ -13827,6 +13857,8 @@ class CreateNatIpRequest(TeaModel):
|
|
|
13827
13857
|
self,
|
|
13828
13858
|
client_token: str = None,
|
|
13829
13859
|
dry_run: bool = None,
|
|
13860
|
+
ipv_4prefix: str = None,
|
|
13861
|
+
ipv_4prefix_count: int = None,
|
|
13830
13862
|
nat_gateway_id: str = None,
|
|
13831
13863
|
nat_ip: str = None,
|
|
13832
13864
|
nat_ip_cidr: str = None,
|
|
@@ -13849,6 +13881,8 @@ class CreateNatIpRequest(TeaModel):
|
|
|
13849
13881
|
# * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
|
|
13850
13882
|
# * **false** (default): 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.
|
|
13851
13883
|
self.dry_run = dry_run
|
|
13884
|
+
self.ipv_4prefix = ipv_4prefix
|
|
13885
|
+
self.ipv_4prefix_count = ipv_4prefix_count
|
|
13852
13886
|
# The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
|
|
13853
13887
|
#
|
|
13854
13888
|
# This parameter is required.
|
|
@@ -13893,6 +13927,10 @@ class CreateNatIpRequest(TeaModel):
|
|
|
13893
13927
|
result['ClientToken'] = self.client_token
|
|
13894
13928
|
if self.dry_run is not None:
|
|
13895
13929
|
result['DryRun'] = self.dry_run
|
|
13930
|
+
if self.ipv_4prefix is not None:
|
|
13931
|
+
result['Ipv4Prefix'] = self.ipv_4prefix
|
|
13932
|
+
if self.ipv_4prefix_count is not None:
|
|
13933
|
+
result['Ipv4PrefixCount'] = self.ipv_4prefix_count
|
|
13896
13934
|
if self.nat_gateway_id is not None:
|
|
13897
13935
|
result['NatGatewayId'] = self.nat_gateway_id
|
|
13898
13936
|
if self.nat_ip is not None:
|
|
@@ -13921,6 +13959,10 @@ class CreateNatIpRequest(TeaModel):
|
|
|
13921
13959
|
self.client_token = m.get('ClientToken')
|
|
13922
13960
|
if m.get('DryRun') is not None:
|
|
13923
13961
|
self.dry_run = m.get('DryRun')
|
|
13962
|
+
if m.get('Ipv4Prefix') is not None:
|
|
13963
|
+
self.ipv_4prefix = m.get('Ipv4Prefix')
|
|
13964
|
+
if m.get('Ipv4PrefixCount') is not None:
|
|
13965
|
+
self.ipv_4prefix_count = m.get('Ipv4PrefixCount')
|
|
13924
13966
|
if m.get('NatGatewayId') is not None:
|
|
13925
13967
|
self.nat_gateway_id = m.get('NatGatewayId')
|
|
13926
13968
|
if m.get('NatIp') is not None:
|
|
@@ -13947,10 +13989,12 @@ class CreateNatIpRequest(TeaModel):
|
|
|
13947
13989
|
class CreateNatIpResponseBody(TeaModel):
|
|
13948
13990
|
def __init__(
|
|
13949
13991
|
self,
|
|
13992
|
+
ipv_4prefix: str = None,
|
|
13950
13993
|
nat_ip: str = None,
|
|
13951
13994
|
nat_ip_id: str = None,
|
|
13952
13995
|
request_id: str = None,
|
|
13953
13996
|
):
|
|
13997
|
+
self.ipv_4prefix = ipv_4prefix
|
|
13954
13998
|
# The NAT IP address.
|
|
13955
13999
|
self.nat_ip = nat_ip
|
|
13956
14000
|
# The ID of the NAT IP address.
|
|
@@ -13967,6 +14011,8 @@ class CreateNatIpResponseBody(TeaModel):
|
|
|
13967
14011
|
return _map
|
|
13968
14012
|
|
|
13969
14013
|
result = dict()
|
|
14014
|
+
if self.ipv_4prefix is not None:
|
|
14015
|
+
result['Ipv4Prefix'] = self.ipv_4prefix
|
|
13970
14016
|
if self.nat_ip is not None:
|
|
13971
14017
|
result['NatIp'] = self.nat_ip
|
|
13972
14018
|
if self.nat_ip_id is not None:
|
|
@@ -13977,6 +14023,8 @@ class CreateNatIpResponseBody(TeaModel):
|
|
|
13977
14023
|
|
|
13978
14024
|
def from_map(self, m: dict = None):
|
|
13979
14025
|
m = m or dict()
|
|
14026
|
+
if m.get('Ipv4Prefix') is not None:
|
|
14027
|
+
self.ipv_4prefix = m.get('Ipv4Prefix')
|
|
13980
14028
|
if m.get('NatIp') is not None:
|
|
13981
14029
|
self.nat_ip = m.get('NatIp')
|
|
13982
14030
|
if m.get('NatIpId') is not None:
|
|
@@ -20805,6 +20853,8 @@ class CreateVpcRequest(TeaModel):
|
|
|
20805
20853
|
ipv_4cidr_mask: int = None,
|
|
20806
20854
|
ipv_4ipam_pool_id: str = None,
|
|
20807
20855
|
ipv_6cidr_block: str = None,
|
|
20856
|
+
ipv_6cidr_mask: int = None,
|
|
20857
|
+
ipv_6ipam_pool_id: str = None,
|
|
20808
20858
|
ipv_6isp: str = None,
|
|
20809
20859
|
owner_account: str = None,
|
|
20810
20860
|
owner_id: int = None,
|
|
@@ -20852,6 +20902,10 @@ class CreateVpcRequest(TeaModel):
|
|
|
20852
20902
|
self.ipv_4ipam_pool_id = ipv_4ipam_pool_id
|
|
20853
20903
|
# The IPv6 CIDR block of the VPC. If you enable IPv6 for a VPC, the system allocates an IPv6 CIDR block. To specify an IPv6 CIDR block, you must call the [AllocateVpcIpv6Cidr](https://help.aliyun.com/document_detail/448916.html) operation to reserve the specified IPv6 CIDR block.
|
|
20854
20904
|
self.ipv_6cidr_block = ipv_6cidr_block
|
|
20905
|
+
# Add an IPv6 CIDR block from the IPAM pool to the VPC by entering a mask.
|
|
20906
|
+
self.ipv_6cidr_mask = ipv_6cidr_mask
|
|
20907
|
+
# The ID of the IP Address Manager (IPAM) pool of the IPv6 type.
|
|
20908
|
+
self.ipv_6ipam_pool_id = ipv_6ipam_pool_id
|
|
20855
20909
|
# The type of the IPv6 CIDR block of the VPC. Valid values:
|
|
20856
20910
|
#
|
|
20857
20911
|
# * **BGP** (default)
|
|
@@ -20916,6 +20970,10 @@ class CreateVpcRequest(TeaModel):
|
|
|
20916
20970
|
result['Ipv4IpamPoolId'] = self.ipv_4ipam_pool_id
|
|
20917
20971
|
if self.ipv_6cidr_block is not None:
|
|
20918
20972
|
result['Ipv6CidrBlock'] = self.ipv_6cidr_block
|
|
20973
|
+
if self.ipv_6cidr_mask is not None:
|
|
20974
|
+
result['Ipv6CidrMask'] = self.ipv_6cidr_mask
|
|
20975
|
+
if self.ipv_6ipam_pool_id is not None:
|
|
20976
|
+
result['Ipv6IpamPoolId'] = self.ipv_6ipam_pool_id
|
|
20919
20977
|
if self.ipv_6isp is not None:
|
|
20920
20978
|
result['Ipv6Isp'] = self.ipv_6isp
|
|
20921
20979
|
if self.owner_account is not None:
|
|
@@ -20960,6 +21018,10 @@ class CreateVpcRequest(TeaModel):
|
|
|
20960
21018
|
self.ipv_4ipam_pool_id = m.get('Ipv4IpamPoolId')
|
|
20961
21019
|
if m.get('Ipv6CidrBlock') is not None:
|
|
20962
21020
|
self.ipv_6cidr_block = m.get('Ipv6CidrBlock')
|
|
21021
|
+
if m.get('Ipv6CidrMask') is not None:
|
|
21022
|
+
self.ipv_6cidr_mask = m.get('Ipv6CidrMask')
|
|
21023
|
+
if m.get('Ipv6IpamPoolId') is not None:
|
|
21024
|
+
self.ipv_6ipam_pool_id = m.get('Ipv6IpamPoolId')
|
|
20963
21025
|
if m.get('Ipv6Isp') is not None:
|
|
20964
21026
|
self.ipv_6isp = m.get('Ipv6Isp')
|
|
20965
21027
|
if m.get('OwnerAccount') is not None:
|
|
@@ -27330,6 +27392,9 @@ class DeleteIpv4GatewayRequest(TeaModel):
|
|
|
27330
27392
|
# * **true**: performs only a dry run, without performing the actual request. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
|
|
27331
27393
|
# * **false** (default): 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.
|
|
27332
27394
|
self.dry_run = dry_run
|
|
27395
|
+
# Select the public network mode of the VPC after deleting the IPv4 gateway. The values are:
|
|
27396
|
+
# - **private**: Default value, after deleting the IPv4 gateway, the VPC will become a pure private VPC without public network access capability.
|
|
27397
|
+
# - **public**: After deleting the IPv4 gateway, the VPC\\"s public network access is no longer centrally controlled by the IPv4 gateway, and instances with public IPs bound can access the public network by default.
|
|
27333
27398
|
self.internet_mode = internet_mode
|
|
27334
27399
|
# The ID of the IPv4 gateway that you want to delete.
|
|
27335
27400
|
#
|
|
@@ -28081,6 +28146,8 @@ class DeleteNatIpRequest(TeaModel):
|
|
|
28081
28146
|
self,
|
|
28082
28147
|
client_token: str = None,
|
|
28083
28148
|
dry_run: bool = None,
|
|
28149
|
+
ipv_4prefix: str = None,
|
|
28150
|
+
nat_gateway_id: str = None,
|
|
28084
28151
|
nat_ip_id: str = None,
|
|
28085
28152
|
owner_account: str = None,
|
|
28086
28153
|
owner_id: int = None,
|
|
@@ -28099,9 +28166,9 @@ class DeleteNatIpRequest(TeaModel):
|
|
|
28099
28166
|
# * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
|
|
28100
28167
|
# * **false** (default): 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.
|
|
28101
28168
|
self.dry_run = dry_run
|
|
28169
|
+
self.ipv_4prefix = ipv_4prefix
|
|
28170
|
+
self.nat_gateway_id = nat_gateway_id
|
|
28102
28171
|
# The ID of the NAT IP address that you want to delete.
|
|
28103
|
-
#
|
|
28104
|
-
# This parameter is required.
|
|
28105
28172
|
self.nat_ip_id = nat_ip_id
|
|
28106
28173
|
self.owner_account = owner_account
|
|
28107
28174
|
self.owner_id = owner_id
|
|
@@ -28127,6 +28194,10 @@ class DeleteNatIpRequest(TeaModel):
|
|
|
28127
28194
|
result['ClientToken'] = self.client_token
|
|
28128
28195
|
if self.dry_run is not None:
|
|
28129
28196
|
result['DryRun'] = self.dry_run
|
|
28197
|
+
if self.ipv_4prefix is not None:
|
|
28198
|
+
result['Ipv4Prefix'] = self.ipv_4prefix
|
|
28199
|
+
if self.nat_gateway_id is not None:
|
|
28200
|
+
result['NatGatewayId'] = self.nat_gateway_id
|
|
28130
28201
|
if self.nat_ip_id is not None:
|
|
28131
28202
|
result['NatIpId'] = self.nat_ip_id
|
|
28132
28203
|
if self.owner_account is not None:
|
|
@@ -28147,6 +28218,10 @@ class DeleteNatIpRequest(TeaModel):
|
|
|
28147
28218
|
self.client_token = m.get('ClientToken')
|
|
28148
28219
|
if m.get('DryRun') is not None:
|
|
28149
28220
|
self.dry_run = m.get('DryRun')
|
|
28221
|
+
if m.get('Ipv4Prefix') is not None:
|
|
28222
|
+
self.ipv_4prefix = m.get('Ipv4Prefix')
|
|
28223
|
+
if m.get('NatGatewayId') is not None:
|
|
28224
|
+
self.nat_gateway_id = m.get('NatGatewayId')
|
|
28150
28225
|
if m.get('NatIpId') is not None:
|
|
28151
28226
|
self.nat_ip_id = m.get('NatIpId')
|
|
28152
28227
|
if m.get('OwnerAccount') is not None:
|
|
@@ -29076,6 +29151,10 @@ class DeleteRouteEntriesRequest(TeaModel):
|
|
|
29076
29151
|
resource_owner_id: int = None,
|
|
29077
29152
|
route_entries: List[DeleteRouteEntriesRequestRouteEntries] = None,
|
|
29078
29153
|
):
|
|
29154
|
+
# Specifies whether to perform a dry run, without performing the actual request. Valid values:
|
|
29155
|
+
#
|
|
29156
|
+
# * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
|
|
29157
|
+
# * **false** (default): 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.
|
|
29079
29158
|
self.dry_run = dry_run
|
|
29080
29159
|
self.owner_account = owner_account
|
|
29081
29160
|
self.owner_id = owner_id
|
|
@@ -29348,6 +29427,11 @@ class DeleteRouteEntryRequest(TeaModel):
|
|
|
29348
29427
|
):
|
|
29349
29428
|
# The destination CIDR block of the route. Only IPv4 CIDR blocks, IPv6 CIDR blocks, and prefix lists are supported.
|
|
29350
29429
|
self.destination_cidr_block = destination_cidr_block
|
|
29430
|
+
# Specifies whether to perform only a dry run, without performing the actual request. Valid values:
|
|
29431
|
+
#
|
|
29432
|
+
# **true**: sends a request without deleting the route entry. The system checks the request for potential issues, including invalid AccessKey pairs, unauthorized RAM users, and missing parameter values. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
|
|
29433
|
+
#
|
|
29434
|
+
# **false** (default): performs a dry run and the actual request. If the request passes the check, a 2xx HTTP status code is returned and the route entry is deleted.
|
|
29351
29435
|
self.dry_run = dry_run
|
|
29352
29436
|
# The ID of the next hop.
|
|
29353
29437
|
#
|
|
@@ -36750,7 +36834,8 @@ class DescribeEipAddressesResponseBodyEipAddressesEipAddressOperationLocksLockRe
|
|
|
36750
36834
|
# The reason why the EIP is locked. Valid values:
|
|
36751
36835
|
#
|
|
36752
36836
|
# * **financial**: The EIP is locked due to overdue payments.
|
|
36753
|
-
# * **security**: The
|
|
36837
|
+
# * **security**: The instance is locked for security purposes.
|
|
36838
|
+
# * **sharedPool**: The shared IP address pool is locked due to overdue payments.
|
|
36754
36839
|
self.lock_reason = lock_reason
|
|
36755
36840
|
|
|
36756
36841
|
def validate(self):
|
|
@@ -36968,10 +37053,11 @@ class DescribeEipAddressesResponseBodyEipAddressesEipAddress(TeaModel):
|
|
|
36968
37053
|
# * **CloudBox** Only cloud box users can select this type.
|
|
36969
37054
|
# * **Default** (default)
|
|
36970
37055
|
self.biz_type = biz_type
|
|
36971
|
-
# The service
|
|
37056
|
+
# The service status of the EIP. Valid values:
|
|
36972
37057
|
#
|
|
36973
37058
|
# * **Normal**\
|
|
36974
|
-
# * **
|
|
37059
|
+
# * **OperationLock**\
|
|
37060
|
+
# * **Unactivated**\
|
|
36975
37061
|
self.business_status = business_status
|
|
36976
37062
|
# The billing method of the EIP. Valid values:
|
|
36977
37063
|
#
|
|
@@ -40240,13 +40326,13 @@ class DescribeFlowLogsRequestTags(TeaModel):
|
|
|
40240
40326
|
key: str = None,
|
|
40241
40327
|
value: str = None,
|
|
40242
40328
|
):
|
|
40243
|
-
# The key of tag
|
|
40329
|
+
# The key of the tag. Up to 20 tag keys are supported. If you need to pass this value, it cannot be an empty string.
|
|
40244
40330
|
#
|
|
40245
|
-
#
|
|
40331
|
+
# A tag key can have up to 128 characters and cannot start with `aliyun` or `acs:`. It also cannot contain `http://` or `https://`.
|
|
40246
40332
|
self.key = key
|
|
40247
|
-
# The value of tag
|
|
40333
|
+
# The value of the tag. Up to 20 tag values are supported. If you need to pass this value, it can be an empty string.
|
|
40248
40334
|
#
|
|
40249
|
-
#
|
|
40335
|
+
# A tag value can have up to 128 characters and cannot start with `aliyun` or `acs:`. It also cannot contain `http://` or `https://`.
|
|
40250
40336
|
self.value = value
|
|
40251
40337
|
|
|
40252
40338
|
def validate(self):
|
|
@@ -40298,57 +40384,54 @@ class DescribeFlowLogsRequest(TeaModel):
|
|
|
40298
40384
|
):
|
|
40299
40385
|
# The description of the flow log.
|
|
40300
40386
|
#
|
|
40301
|
-
# The description must be 1 to 256 characters
|
|
40387
|
+
# The description must be 1 to 256 characters long and cannot start with `http://` or `https://`.
|
|
40302
40388
|
self.description = description
|
|
40303
40389
|
# The ID of the flow log.
|
|
40304
40390
|
self.flow_log_id = flow_log_id
|
|
40305
40391
|
# The name of the flow log.
|
|
40306
40392
|
#
|
|
40307
|
-
# The name must be 1 to 128 characters
|
|
40393
|
+
# The name must be 1 to 128 characters long and cannot start with `http://` or `https://`.
|
|
40308
40394
|
self.flow_log_name = flow_log_name
|
|
40309
|
-
# The Logstore that stores the captured traffic
|
|
40395
|
+
# The Logstore that stores the captured traffic.
|
|
40310
40396
|
self.log_store_name = log_store_name
|
|
40311
40397
|
self.owner_account = owner_account
|
|
40312
40398
|
self.owner_id = owner_id
|
|
40313
|
-
# The number
|
|
40399
|
+
# The page number, with a default value of **1**.
|
|
40314
40400
|
self.page_number = page_number
|
|
40315
|
-
# The number of
|
|
40401
|
+
# The number of items per page in a paginated query, with a maximum value of **50** and a default value of **20**.
|
|
40316
40402
|
self.page_size = page_size
|
|
40317
|
-
# The
|
|
40403
|
+
# The Project that manages the captured traffic.
|
|
40318
40404
|
self.project_name = project_name
|
|
40319
40405
|
# The region ID of the flow log.
|
|
40320
40406
|
#
|
|
40321
|
-
# You can
|
|
40407
|
+
# You can obtain the region ID by calling the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) interface.
|
|
40322
40408
|
#
|
|
40323
40409
|
# This parameter is required.
|
|
40324
40410
|
self.region_id = region_id
|
|
40325
|
-
# The
|
|
40411
|
+
# The resource group ID of the flow log.
|
|
40326
40412
|
self.resource_group_id = resource_group_id
|
|
40327
|
-
# The ID of the
|
|
40413
|
+
# The resource ID of the traffic to capture.
|
|
40328
40414
|
self.resource_id = resource_id
|
|
40329
40415
|
self.resource_owner_account = resource_owner_account
|
|
40330
40416
|
self.resource_owner_id = resource_owner_id
|
|
40331
|
-
# The type of
|
|
40332
|
-
#
|
|
40333
|
-
#
|
|
40334
|
-
#
|
|
40335
|
-
# * **VPC**: all ENIs in a virtual private cloud (VPC)
|
|
40417
|
+
# The resource type of the traffic to capture. Values:
|
|
40418
|
+
# - **NetworkInterface**: Elastic Network Interface (ENI).
|
|
40419
|
+
# - **VSwitch**: All ENIs within a VSwitch.
|
|
40420
|
+
# - **VPC**: All ENIs within a VPC.
|
|
40336
40421
|
self.resource_type = resource_type
|
|
40337
|
-
# The status of the flow log.
|
|
40338
|
-
#
|
|
40339
|
-
#
|
|
40340
|
-
#
|
|
40341
|
-
# * **Inactive**\
|
|
40422
|
+
# The status of the flow log. Values:
|
|
40423
|
+
# - **Active**: The flow log is in an active state.
|
|
40424
|
+
# - **Activating**: The flow log is being created.
|
|
40425
|
+
# - **Inactive**: The flow log is in an inactive state.
|
|
40342
40426
|
self.status = status
|
|
40343
40427
|
# The list of tags.
|
|
40344
40428
|
self.tags = tags
|
|
40345
|
-
# The type of traffic
|
|
40346
|
-
#
|
|
40347
|
-
#
|
|
40348
|
-
#
|
|
40349
|
-
# * **Drop**: traffic that is denied by access control
|
|
40429
|
+
# The type of traffic to collect. Values:
|
|
40430
|
+
# - **All**: All traffic.
|
|
40431
|
+
# - **Allow**: Traffic allowed by access control.
|
|
40432
|
+
# - **Drop**: Traffic denied by access control.
|
|
40350
40433
|
self.traffic_type = traffic_type
|
|
40351
|
-
# The ID of the VPC
|
|
40434
|
+
# The ID of the VPC for which you want to view the flow log.
|
|
40352
40435
|
self.vpc_id = vpc_id
|
|
40353
40436
|
|
|
40354
40437
|
def validate(self):
|
|
@@ -40457,9 +40540,9 @@ class DescribeFlowLogsResponseBodyFlowLogsFlowLogTagsTag(TeaModel):
|
|
|
40457
40540
|
key: str = None,
|
|
40458
40541
|
value: str = None,
|
|
40459
40542
|
):
|
|
40460
|
-
#
|
|
40543
|
+
# Tag key.
|
|
40461
40544
|
self.key = key
|
|
40462
|
-
#
|
|
40545
|
+
# Tag value.
|
|
40463
40546
|
self.value = value
|
|
40464
40547
|
|
|
40465
40548
|
def validate(self):
|
|
@@ -40574,73 +40657,70 @@ class DescribeFlowLogsResponseBodyFlowLogsFlowLog(TeaModel):
|
|
|
40574
40657
|
):
|
|
40575
40658
|
# The sampling interval of the flow log. Unit: minutes.
|
|
40576
40659
|
self.aggregation_interval = aggregation_interval
|
|
40577
|
-
# The business status
|
|
40660
|
+
# The business status. Values:
|
|
40578
40661
|
#
|
|
40579
|
-
#
|
|
40580
|
-
#
|
|
40662
|
+
# - **Normal**: Normal status.
|
|
40663
|
+
# - **FinancialLocked**: Locked due to unpaid bills.
|
|
40581
40664
|
self.business_status = business_status
|
|
40582
|
-
# The time
|
|
40665
|
+
# The creation time of the flow log.
|
|
40583
40666
|
self.creation_time = creation_time
|
|
40584
40667
|
# The description of the flow log.
|
|
40585
40668
|
self.description = description
|
|
40586
|
-
#
|
|
40587
|
-
#
|
|
40588
|
-
#
|
|
40589
|
-
#
|
|
40590
|
-
# * **UnknownError**: An internal error occurred. Try again later.
|
|
40669
|
+
# When log delivery fails, you can troubleshoot based on the error messages. Possible error messages include:
|
|
40670
|
+
# - **UnavaliableTarget**: The Logstore of the Log Service SLS is unavailable and cannot receive logs. It is recommended to check if the corresponding Logstore actually exists and is accessible.
|
|
40671
|
+
# - **ProjectNotExist**: The Project of the Log Service SLS does not exist. It is suggested to delete the original flow log and create a new one pointing to an existing Project.
|
|
40672
|
+
# - **UnknownError**: An internal error has occurred. Please try again later.
|
|
40591
40673
|
self.flow_log_deliver_error_message = flow_log_deliver_error_message
|
|
40592
|
-
#
|
|
40593
|
-
# - **SUCCESS
|
|
40594
|
-
# - **FAILED
|
|
40674
|
+
# The delivery status of the flow log, with values:
|
|
40675
|
+
# - **SUCCESS**: Delivery succeeded.
|
|
40676
|
+
# - **FAILED**: Delivery failed.
|
|
40595
40677
|
self.flow_log_deliver_status = flow_log_deliver_status
|
|
40596
40678
|
# The ID of the flow log.
|
|
40597
40679
|
self.flow_log_id = flow_log_id
|
|
40598
40680
|
# The name of the flow log.
|
|
40599
40681
|
self.flow_log_name = flow_log_name
|
|
40682
|
+
# The type of IP address for collecting flow log traffic.
|
|
40600
40683
|
self.ip_version = ip_version
|
|
40601
|
-
# The Logstore
|
|
40684
|
+
# The Logstore where the captured traffic is stored.
|
|
40602
40685
|
self.log_store_name = log_store_name
|
|
40603
|
-
# The
|
|
40686
|
+
# The Project that manages the captured traffic.
|
|
40604
40687
|
self.project_name = project_name
|
|
40605
|
-
# The region ID
|
|
40688
|
+
# The region ID to which the flow log belongs.
|
|
40606
40689
|
self.region_id = region_id
|
|
40607
40690
|
# The ID of the resource group to which the flow log belongs.
|
|
40608
40691
|
self.resource_group_id = resource_group_id
|
|
40609
|
-
# The ID of the
|
|
40692
|
+
# The resource ID of the traffic captured by the flow log.
|
|
40610
40693
|
self.resource_id = resource_id
|
|
40611
|
-
# The type of the
|
|
40694
|
+
# The resource type of the traffic captured by the flow log:
|
|
40612
40695
|
#
|
|
40613
|
-
#
|
|
40614
|
-
#
|
|
40615
|
-
#
|
|
40696
|
+
# - **NetworkInterface**: Elastic network interface.
|
|
40697
|
+
# - **VSwitch**: All elastic network interfaces within a VSwitch.
|
|
40698
|
+
# - **VPC**: All elastic network interfaces within a VPC.
|
|
40616
40699
|
self.resource_type = resource_type
|
|
40617
40700
|
# The hosting type of the cloud service.
|
|
40618
|
-
#
|
|
40619
|
-
#
|
|
40620
|
-
#
|
|
40621
|
-
#
|
|
40622
|
-
# > A flow log that is created in the SLS console can be displayed in the VPC list. However, you cannot modify, start, stop, or delete the flow log in the VPC console. If you want to manage the flow log, you can log on to the [SLS console](https://sls.console.aliyun.com) and perform required operations.
|
|
40701
|
+
# - It can be empty, indicating that the flow log was created by the user.
|
|
40702
|
+
# - When not empty, the only supported value is: **sls**, indicating that the flow log was created through the Log Service console.
|
|
40703
|
+
# > Flow log instances created through the Log Service console can be displayed in the VPC list, but they cannot be modified, started, stopped, or deleted within the VPC. If you need to perform these operations on the flow log, you can log in to the [Log Service console](https://sls.console.aliyun.com) to modify, start, stop, or delete it.
|
|
40623
40704
|
self.service_type = service_type
|
|
40624
|
-
# The status of the flow log.
|
|
40705
|
+
# The status of the flow log. Values:
|
|
40706
|
+
# - **Active**: The flow log is in an active state.
|
|
40625
40707
|
#
|
|
40626
|
-
#
|
|
40627
|
-
#
|
|
40628
|
-
#
|
|
40708
|
+
# - **Activating**: The flow log is being created.
|
|
40709
|
+
#
|
|
40710
|
+
# - **Inactive**: The flow log is in an inactive state.
|
|
40629
40711
|
self.status = status
|
|
40630
|
-
#
|
|
40712
|
+
# List of tags
|
|
40631
40713
|
self.tags = tags
|
|
40632
|
-
# The
|
|
40714
|
+
# The path of the captured traffic. Values:
|
|
40633
40715
|
#
|
|
40634
|
-
#
|
|
40635
|
-
#
|
|
40636
|
-
#
|
|
40637
|
-
# > By default, the traffic path feature is unavailable. To use this feature, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.11182188.console-base-top.dworkorder.18ae4882n3v6ZW#/ticket/createIndex).
|
|
40716
|
+
# - **all**: Indicates full collection.
|
|
40717
|
+
# - **internetGateway**: Indicates public network traffic collection.
|
|
40638
40718
|
self.traffic_path = traffic_path
|
|
40639
|
-
# The type of traffic
|
|
40719
|
+
# The type of traffic captured by the flow log. Values:
|
|
40640
40720
|
#
|
|
40641
|
-
#
|
|
40642
|
-
#
|
|
40643
|
-
#
|
|
40721
|
+
# - **All**: All traffic.
|
|
40722
|
+
# - **Allow**: Traffic allowed by access control.
|
|
40723
|
+
# - **Drop**: Traffic denied by access control.
|
|
40644
40724
|
self.traffic_type = traffic_type
|
|
40645
40725
|
|
|
40646
40726
|
def validate(self):
|
|
@@ -40789,20 +40869,19 @@ class DescribeFlowLogsResponseBody(TeaModel):
|
|
|
40789
40869
|
success: str = None,
|
|
40790
40870
|
total_count: str = None,
|
|
40791
40871
|
):
|
|
40792
|
-
#
|
|
40872
|
+
# List of flow logs.
|
|
40793
40873
|
self.flow_logs = flow_logs
|
|
40794
|
-
# The number
|
|
40874
|
+
# The page number.
|
|
40795
40875
|
self.page_number = page_number
|
|
40796
|
-
# The number of
|
|
40876
|
+
# The number of items per page in a paginated query.
|
|
40797
40877
|
self.page_size = page_size
|
|
40798
40878
|
# The request ID.
|
|
40799
40879
|
self.request_id = request_id
|
|
40800
|
-
# Indicates whether the
|
|
40801
|
-
#
|
|
40802
|
-
#
|
|
40803
|
-
# * **false**\
|
|
40880
|
+
# Indicates whether the call was successful. Values:
|
|
40881
|
+
# - **true**: The call was successful.
|
|
40882
|
+
# - **false**: The call failed.
|
|
40804
40883
|
self.success = success
|
|
40805
|
-
# The number of
|
|
40884
|
+
# The number of entries in the queried flow log list.
|
|
40806
40885
|
self.total_count = total_count
|
|
40807
40886
|
|
|
40808
40887
|
def validate(self):
|
|
@@ -46981,6 +47060,68 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpLists(TeaModel):
|
|
|
46981
47060
|
return self
|
|
46982
47061
|
|
|
46983
47062
|
|
|
47063
|
+
class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixListIpPrefixList(TeaModel):
|
|
47064
|
+
def __init__(
|
|
47065
|
+
self,
|
|
47066
|
+
ip_prefix: str = None,
|
|
47067
|
+
):
|
|
47068
|
+
self.ip_prefix = ip_prefix
|
|
47069
|
+
|
|
47070
|
+
def validate(self):
|
|
47071
|
+
pass
|
|
47072
|
+
|
|
47073
|
+
def to_map(self):
|
|
47074
|
+
_map = super().to_map()
|
|
47075
|
+
if _map is not None:
|
|
47076
|
+
return _map
|
|
47077
|
+
|
|
47078
|
+
result = dict()
|
|
47079
|
+
if self.ip_prefix is not None:
|
|
47080
|
+
result['IpPrefix'] = self.ip_prefix
|
|
47081
|
+
return result
|
|
47082
|
+
|
|
47083
|
+
def from_map(self, m: dict = None):
|
|
47084
|
+
m = m or dict()
|
|
47085
|
+
if m.get('IpPrefix') is not None:
|
|
47086
|
+
self.ip_prefix = m.get('IpPrefix')
|
|
47087
|
+
return self
|
|
47088
|
+
|
|
47089
|
+
|
|
47090
|
+
class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixList(TeaModel):
|
|
47091
|
+
def __init__(
|
|
47092
|
+
self,
|
|
47093
|
+
ip_prefix_list: List[DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixListIpPrefixList] = None,
|
|
47094
|
+
):
|
|
47095
|
+
self.ip_prefix_list = ip_prefix_list
|
|
47096
|
+
|
|
47097
|
+
def validate(self):
|
|
47098
|
+
if self.ip_prefix_list:
|
|
47099
|
+
for k in self.ip_prefix_list:
|
|
47100
|
+
if k:
|
|
47101
|
+
k.validate()
|
|
47102
|
+
|
|
47103
|
+
def to_map(self):
|
|
47104
|
+
_map = super().to_map()
|
|
47105
|
+
if _map is not None:
|
|
47106
|
+
return _map
|
|
47107
|
+
|
|
47108
|
+
result = dict()
|
|
47109
|
+
result['IpPrefixList'] = []
|
|
47110
|
+
if self.ip_prefix_list is not None:
|
|
47111
|
+
for k in self.ip_prefix_list:
|
|
47112
|
+
result['IpPrefixList'].append(k.to_map() if k else None)
|
|
47113
|
+
return result
|
|
47114
|
+
|
|
47115
|
+
def from_map(self, m: dict = None):
|
|
47116
|
+
m = m or dict()
|
|
47117
|
+
self.ip_prefix_list = []
|
|
47118
|
+
if m.get('IpPrefixList') is not None:
|
|
47119
|
+
for k in m.get('IpPrefixList'):
|
|
47120
|
+
temp_model = DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixListIpPrefixList()
|
|
47121
|
+
self.ip_prefix_list.append(temp_model.from_map(k))
|
|
47122
|
+
return self
|
|
47123
|
+
|
|
47124
|
+
|
|
46984
47125
|
class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayNatGatewayPrivateInfo(TeaModel):
|
|
46985
47126
|
def __init__(
|
|
46986
47127
|
self,
|
|
@@ -47177,6 +47318,7 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
|
|
|
47177
47318
|
instance_charge_type: str = None,
|
|
47178
47319
|
internet_charge_type: str = None,
|
|
47179
47320
|
ip_lists: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpLists = None,
|
|
47321
|
+
ip_prefix_list: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixList = None,
|
|
47180
47322
|
name: str = None,
|
|
47181
47323
|
nat_gateway_id: str = None,
|
|
47182
47324
|
nat_gateway_private_info: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayNatGatewayPrivateInfo = None,
|
|
@@ -47246,6 +47388,7 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
|
|
|
47246
47388
|
self.internet_charge_type = internet_charge_type
|
|
47247
47389
|
# The list of elastic IP addresses (EIPs) that are associated with the Internet NAT gateway.
|
|
47248
47390
|
self.ip_lists = ip_lists
|
|
47391
|
+
self.ip_prefix_list = ip_prefix_list
|
|
47249
47392
|
# The name of the NAT gateway.
|
|
47250
47393
|
self.name = name
|
|
47251
47394
|
# The ID of the NAT gateway.
|
|
@@ -47308,6 +47451,8 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
|
|
|
47308
47451
|
self.full_nat_table_ids.validate()
|
|
47309
47452
|
if self.ip_lists:
|
|
47310
47453
|
self.ip_lists.validate()
|
|
47454
|
+
if self.ip_prefix_list:
|
|
47455
|
+
self.ip_prefix_list.validate()
|
|
47311
47456
|
if self.nat_gateway_private_info:
|
|
47312
47457
|
self.nat_gateway_private_info.validate()
|
|
47313
47458
|
if self.snat_table_ids:
|
|
@@ -47353,6 +47498,8 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
|
|
|
47353
47498
|
result['InternetChargeType'] = self.internet_charge_type
|
|
47354
47499
|
if self.ip_lists is not None:
|
|
47355
47500
|
result['IpLists'] = self.ip_lists.to_map()
|
|
47501
|
+
if self.ip_prefix_list is not None:
|
|
47502
|
+
result['IpPrefixList'] = self.ip_prefix_list.to_map()
|
|
47356
47503
|
if self.name is not None:
|
|
47357
47504
|
result['Name'] = self.name
|
|
47358
47505
|
if self.nat_gateway_id is not None:
|
|
@@ -47423,6 +47570,9 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
|
|
|
47423
47570
|
if m.get('IpLists') is not None:
|
|
47424
47571
|
temp_model = DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpLists()
|
|
47425
47572
|
self.ip_lists = temp_model.from_map(m['IpLists'])
|
|
47573
|
+
if m.get('IpPrefixList') is not None:
|
|
47574
|
+
temp_model = DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixList()
|
|
47575
|
+
self.ip_prefix_list = temp_model.from_map(m['IpPrefixList'])
|
|
47426
47576
|
if m.get('Name') is not None:
|
|
47427
47577
|
self.name = m.get('Name')
|
|
47428
47578
|
if m.get('NatGatewayId') is not None:
|
|
@@ -56349,6 +56499,7 @@ class DescribeTagsRequest(TeaModel):
|
|
|
56349
56499
|
#
|
|
56350
56500
|
# This parameter is required.
|
|
56351
56501
|
self.region_id = region_id
|
|
56502
|
+
# The resource IDs.
|
|
56352
56503
|
self.resource_id = resource_id
|
|
56353
56504
|
self.resource_owner_account = resource_owner_account
|
|
56354
56505
|
self.resource_owner_id = resource_owner_id
|
|
@@ -56362,6 +56513,7 @@ class DescribeTagsRequest(TeaModel):
|
|
|
56362
56513
|
# * **NATGATEWAY**: NAT gateway
|
|
56363
56514
|
# * **COMMONBANDWIDTHPACKAGE**: EIP bandwidth plan
|
|
56364
56515
|
self.resource_type = resource_type
|
|
56516
|
+
# The tags.
|
|
56365
56517
|
self.tag = tag
|
|
56366
56518
|
|
|
56367
56519
|
def validate(self):
|
|
@@ -56707,7 +56859,7 @@ class DescribeVRoutersResponseBodyVRoutersVRouter(TeaModel):
|
|
|
56707
56859
|
self.description = description
|
|
56708
56860
|
# The region to which the vRouter belongs.
|
|
56709
56861
|
self.region_id = region_id
|
|
56710
|
-
# The
|
|
56862
|
+
# The IDs of the route tables.
|
|
56711
56863
|
self.route_table_ids = route_table_ids
|
|
56712
56864
|
# The ID of the vRouter.
|
|
56713
56865
|
self.vrouter_id = vrouter_id
|
|
@@ -60873,6 +61025,304 @@ class DescribeVpcAttributeResponse(TeaModel):
|
|
|
60873
61025
|
return self
|
|
60874
61026
|
|
|
60875
61027
|
|
|
61028
|
+
class DescribeVpcGrantRulesToEcrRequestTags(TeaModel):
|
|
61029
|
+
def __init__(
|
|
61030
|
+
self,
|
|
61031
|
+
key: str = None,
|
|
61032
|
+
value: str = None,
|
|
61033
|
+
):
|
|
61034
|
+
self.key = key
|
|
61035
|
+
self.value = value
|
|
61036
|
+
|
|
61037
|
+
def validate(self):
|
|
61038
|
+
pass
|
|
61039
|
+
|
|
61040
|
+
def to_map(self):
|
|
61041
|
+
_map = super().to_map()
|
|
61042
|
+
if _map is not None:
|
|
61043
|
+
return _map
|
|
61044
|
+
|
|
61045
|
+
result = dict()
|
|
61046
|
+
if self.key is not None:
|
|
61047
|
+
result['Key'] = self.key
|
|
61048
|
+
if self.value is not None:
|
|
61049
|
+
result['Value'] = self.value
|
|
61050
|
+
return result
|
|
61051
|
+
|
|
61052
|
+
def from_map(self, m: dict = None):
|
|
61053
|
+
m = m or dict()
|
|
61054
|
+
if m.get('Key') is not None:
|
|
61055
|
+
self.key = m.get('Key')
|
|
61056
|
+
if m.get('Value') is not None:
|
|
61057
|
+
self.value = m.get('Value')
|
|
61058
|
+
return self
|
|
61059
|
+
|
|
61060
|
+
|
|
61061
|
+
class DescribeVpcGrantRulesToEcrRequest(TeaModel):
|
|
61062
|
+
def __init__(
|
|
61063
|
+
self,
|
|
61064
|
+
ecr_instance_id: str = None,
|
|
61065
|
+
ecr_owner_id: int = None,
|
|
61066
|
+
instance_id: str = None,
|
|
61067
|
+
instance_type: str = None,
|
|
61068
|
+
max_results: int = None,
|
|
61069
|
+
next_token: str = None,
|
|
61070
|
+
owner_account: str = None,
|
|
61071
|
+
owner_id: int = None,
|
|
61072
|
+
region_id: str = None,
|
|
61073
|
+
resource_group_id: str = None,
|
|
61074
|
+
resource_owner_account: str = None,
|
|
61075
|
+
resource_owner_id: int = None,
|
|
61076
|
+
tags: List[DescribeVpcGrantRulesToEcrRequestTags] = None,
|
|
61077
|
+
):
|
|
61078
|
+
self.ecr_instance_id = ecr_instance_id
|
|
61079
|
+
self.ecr_owner_id = ecr_owner_id
|
|
61080
|
+
self.instance_id = instance_id
|
|
61081
|
+
self.instance_type = instance_type
|
|
61082
|
+
self.max_results = max_results
|
|
61083
|
+
self.next_token = next_token
|
|
61084
|
+
self.owner_account = owner_account
|
|
61085
|
+
self.owner_id = owner_id
|
|
61086
|
+
# This parameter is required.
|
|
61087
|
+
self.region_id = region_id
|
|
61088
|
+
self.resource_group_id = resource_group_id
|
|
61089
|
+
self.resource_owner_account = resource_owner_account
|
|
61090
|
+
self.resource_owner_id = resource_owner_id
|
|
61091
|
+
self.tags = tags
|
|
61092
|
+
|
|
61093
|
+
def validate(self):
|
|
61094
|
+
if self.tags:
|
|
61095
|
+
for k in self.tags:
|
|
61096
|
+
if k:
|
|
61097
|
+
k.validate()
|
|
61098
|
+
|
|
61099
|
+
def to_map(self):
|
|
61100
|
+
_map = super().to_map()
|
|
61101
|
+
if _map is not None:
|
|
61102
|
+
return _map
|
|
61103
|
+
|
|
61104
|
+
result = dict()
|
|
61105
|
+
if self.ecr_instance_id is not None:
|
|
61106
|
+
result['EcrInstanceId'] = self.ecr_instance_id
|
|
61107
|
+
if self.ecr_owner_id is not None:
|
|
61108
|
+
result['EcrOwnerId'] = self.ecr_owner_id
|
|
61109
|
+
if self.instance_id is not None:
|
|
61110
|
+
result['InstanceId'] = self.instance_id
|
|
61111
|
+
if self.instance_type is not None:
|
|
61112
|
+
result['InstanceType'] = self.instance_type
|
|
61113
|
+
if self.max_results is not None:
|
|
61114
|
+
result['MaxResults'] = self.max_results
|
|
61115
|
+
if self.next_token is not None:
|
|
61116
|
+
result['NextToken'] = self.next_token
|
|
61117
|
+
if self.owner_account is not None:
|
|
61118
|
+
result['OwnerAccount'] = self.owner_account
|
|
61119
|
+
if self.owner_id is not None:
|
|
61120
|
+
result['OwnerId'] = self.owner_id
|
|
61121
|
+
if self.region_id is not None:
|
|
61122
|
+
result['RegionId'] = self.region_id
|
|
61123
|
+
if self.resource_group_id is not None:
|
|
61124
|
+
result['ResourceGroupId'] = self.resource_group_id
|
|
61125
|
+
if self.resource_owner_account is not None:
|
|
61126
|
+
result['ResourceOwnerAccount'] = self.resource_owner_account
|
|
61127
|
+
if self.resource_owner_id is not None:
|
|
61128
|
+
result['ResourceOwnerId'] = self.resource_owner_id
|
|
61129
|
+
result['Tags'] = []
|
|
61130
|
+
if self.tags is not None:
|
|
61131
|
+
for k in self.tags:
|
|
61132
|
+
result['Tags'].append(k.to_map() if k else None)
|
|
61133
|
+
return result
|
|
61134
|
+
|
|
61135
|
+
def from_map(self, m: dict = None):
|
|
61136
|
+
m = m or dict()
|
|
61137
|
+
if m.get('EcrInstanceId') is not None:
|
|
61138
|
+
self.ecr_instance_id = m.get('EcrInstanceId')
|
|
61139
|
+
if m.get('EcrOwnerId') is not None:
|
|
61140
|
+
self.ecr_owner_id = m.get('EcrOwnerId')
|
|
61141
|
+
if m.get('InstanceId') is not None:
|
|
61142
|
+
self.instance_id = m.get('InstanceId')
|
|
61143
|
+
if m.get('InstanceType') is not None:
|
|
61144
|
+
self.instance_type = m.get('InstanceType')
|
|
61145
|
+
if m.get('MaxResults') is not None:
|
|
61146
|
+
self.max_results = m.get('MaxResults')
|
|
61147
|
+
if m.get('NextToken') is not None:
|
|
61148
|
+
self.next_token = m.get('NextToken')
|
|
61149
|
+
if m.get('OwnerAccount') is not None:
|
|
61150
|
+
self.owner_account = m.get('OwnerAccount')
|
|
61151
|
+
if m.get('OwnerId') is not None:
|
|
61152
|
+
self.owner_id = m.get('OwnerId')
|
|
61153
|
+
if m.get('RegionId') is not None:
|
|
61154
|
+
self.region_id = m.get('RegionId')
|
|
61155
|
+
if m.get('ResourceGroupId') is not None:
|
|
61156
|
+
self.resource_group_id = m.get('ResourceGroupId')
|
|
61157
|
+
if m.get('ResourceOwnerAccount') is not None:
|
|
61158
|
+
self.resource_owner_account = m.get('ResourceOwnerAccount')
|
|
61159
|
+
if m.get('ResourceOwnerId') is not None:
|
|
61160
|
+
self.resource_owner_id = m.get('ResourceOwnerId')
|
|
61161
|
+
self.tags = []
|
|
61162
|
+
if m.get('Tags') is not None:
|
|
61163
|
+
for k in m.get('Tags'):
|
|
61164
|
+
temp_model = DescribeVpcGrantRulesToEcrRequestTags()
|
|
61165
|
+
self.tags.append(temp_model.from_map(k))
|
|
61166
|
+
return self
|
|
61167
|
+
|
|
61168
|
+
|
|
61169
|
+
class DescribeVpcGrantRulesToEcrResponseBodyGrantRuleModels(TeaModel):
|
|
61170
|
+
def __init__(
|
|
61171
|
+
self,
|
|
61172
|
+
creation_time: str = None,
|
|
61173
|
+
ecr_id: str = None,
|
|
61174
|
+
ecr_owner_id: int = None,
|
|
61175
|
+
instance_id: str = None,
|
|
61176
|
+
instance_uid: int = None,
|
|
61177
|
+
region_no: str = None,
|
|
61178
|
+
type: str = None,
|
|
61179
|
+
):
|
|
61180
|
+
self.creation_time = creation_time
|
|
61181
|
+
self.ecr_id = ecr_id
|
|
61182
|
+
self.ecr_owner_id = ecr_owner_id
|
|
61183
|
+
self.instance_id = instance_id
|
|
61184
|
+
self.instance_uid = instance_uid
|
|
61185
|
+
self.region_no = region_no
|
|
61186
|
+
self.type = type
|
|
61187
|
+
|
|
61188
|
+
def validate(self):
|
|
61189
|
+
pass
|
|
61190
|
+
|
|
61191
|
+
def to_map(self):
|
|
61192
|
+
_map = super().to_map()
|
|
61193
|
+
if _map is not None:
|
|
61194
|
+
return _map
|
|
61195
|
+
|
|
61196
|
+
result = dict()
|
|
61197
|
+
if self.creation_time is not None:
|
|
61198
|
+
result['CreationTime'] = self.creation_time
|
|
61199
|
+
if self.ecr_id is not None:
|
|
61200
|
+
result['EcrId'] = self.ecr_id
|
|
61201
|
+
if self.ecr_owner_id is not None:
|
|
61202
|
+
result['EcrOwnerId'] = self.ecr_owner_id
|
|
61203
|
+
if self.instance_id is not None:
|
|
61204
|
+
result['InstanceId'] = self.instance_id
|
|
61205
|
+
if self.instance_uid is not None:
|
|
61206
|
+
result['InstanceUid'] = self.instance_uid
|
|
61207
|
+
if self.region_no is not None:
|
|
61208
|
+
result['RegionNo'] = self.region_no
|
|
61209
|
+
if self.type is not None:
|
|
61210
|
+
result['Type'] = self.type
|
|
61211
|
+
return result
|
|
61212
|
+
|
|
61213
|
+
def from_map(self, m: dict = None):
|
|
61214
|
+
m = m or dict()
|
|
61215
|
+
if m.get('CreationTime') is not None:
|
|
61216
|
+
self.creation_time = m.get('CreationTime')
|
|
61217
|
+
if m.get('EcrId') is not None:
|
|
61218
|
+
self.ecr_id = m.get('EcrId')
|
|
61219
|
+
if m.get('EcrOwnerId') is not None:
|
|
61220
|
+
self.ecr_owner_id = m.get('EcrOwnerId')
|
|
61221
|
+
if m.get('InstanceId') is not None:
|
|
61222
|
+
self.instance_id = m.get('InstanceId')
|
|
61223
|
+
if m.get('InstanceUid') is not None:
|
|
61224
|
+
self.instance_uid = m.get('InstanceUid')
|
|
61225
|
+
if m.get('RegionNo') is not None:
|
|
61226
|
+
self.region_no = m.get('RegionNo')
|
|
61227
|
+
if m.get('Type') is not None:
|
|
61228
|
+
self.type = m.get('Type')
|
|
61229
|
+
return self
|
|
61230
|
+
|
|
61231
|
+
|
|
61232
|
+
class DescribeVpcGrantRulesToEcrResponseBody(TeaModel):
|
|
61233
|
+
def __init__(
|
|
61234
|
+
self,
|
|
61235
|
+
grant_rule_models: List[DescribeVpcGrantRulesToEcrResponseBodyGrantRuleModels] = None,
|
|
61236
|
+
next_token: str = None,
|
|
61237
|
+
request_id: str = None,
|
|
61238
|
+
total_count: str = None,
|
|
61239
|
+
):
|
|
61240
|
+
self.grant_rule_models = grant_rule_models
|
|
61241
|
+
self.next_token = next_token
|
|
61242
|
+
self.request_id = request_id
|
|
61243
|
+
self.total_count = total_count
|
|
61244
|
+
|
|
61245
|
+
def validate(self):
|
|
61246
|
+
if self.grant_rule_models:
|
|
61247
|
+
for k in self.grant_rule_models:
|
|
61248
|
+
if k:
|
|
61249
|
+
k.validate()
|
|
61250
|
+
|
|
61251
|
+
def to_map(self):
|
|
61252
|
+
_map = super().to_map()
|
|
61253
|
+
if _map is not None:
|
|
61254
|
+
return _map
|
|
61255
|
+
|
|
61256
|
+
result = dict()
|
|
61257
|
+
result['GrantRuleModels'] = []
|
|
61258
|
+
if self.grant_rule_models is not None:
|
|
61259
|
+
for k in self.grant_rule_models:
|
|
61260
|
+
result['GrantRuleModels'].append(k.to_map() if k else None)
|
|
61261
|
+
if self.next_token is not None:
|
|
61262
|
+
result['NextToken'] = self.next_token
|
|
61263
|
+
if self.request_id is not None:
|
|
61264
|
+
result['RequestId'] = self.request_id
|
|
61265
|
+
if self.total_count is not None:
|
|
61266
|
+
result['TotalCount'] = self.total_count
|
|
61267
|
+
return result
|
|
61268
|
+
|
|
61269
|
+
def from_map(self, m: dict = None):
|
|
61270
|
+
m = m or dict()
|
|
61271
|
+
self.grant_rule_models = []
|
|
61272
|
+
if m.get('GrantRuleModels') is not None:
|
|
61273
|
+
for k in m.get('GrantRuleModels'):
|
|
61274
|
+
temp_model = DescribeVpcGrantRulesToEcrResponseBodyGrantRuleModels()
|
|
61275
|
+
self.grant_rule_models.append(temp_model.from_map(k))
|
|
61276
|
+
if m.get('NextToken') is not None:
|
|
61277
|
+
self.next_token = m.get('NextToken')
|
|
61278
|
+
if m.get('RequestId') is not None:
|
|
61279
|
+
self.request_id = m.get('RequestId')
|
|
61280
|
+
if m.get('TotalCount') is not None:
|
|
61281
|
+
self.total_count = m.get('TotalCount')
|
|
61282
|
+
return self
|
|
61283
|
+
|
|
61284
|
+
|
|
61285
|
+
class DescribeVpcGrantRulesToEcrResponse(TeaModel):
|
|
61286
|
+
def __init__(
|
|
61287
|
+
self,
|
|
61288
|
+
headers: Dict[str, str] = None,
|
|
61289
|
+
status_code: int = None,
|
|
61290
|
+
body: DescribeVpcGrantRulesToEcrResponseBody = None,
|
|
61291
|
+
):
|
|
61292
|
+
self.headers = headers
|
|
61293
|
+
self.status_code = status_code
|
|
61294
|
+
self.body = body
|
|
61295
|
+
|
|
61296
|
+
def validate(self):
|
|
61297
|
+
if self.body:
|
|
61298
|
+
self.body.validate()
|
|
61299
|
+
|
|
61300
|
+
def to_map(self):
|
|
61301
|
+
_map = super().to_map()
|
|
61302
|
+
if _map is not None:
|
|
61303
|
+
return _map
|
|
61304
|
+
|
|
61305
|
+
result = dict()
|
|
61306
|
+
if self.headers is not None:
|
|
61307
|
+
result['headers'] = self.headers
|
|
61308
|
+
if self.status_code is not None:
|
|
61309
|
+
result['statusCode'] = self.status_code
|
|
61310
|
+
if self.body is not None:
|
|
61311
|
+
result['body'] = self.body.to_map()
|
|
61312
|
+
return result
|
|
61313
|
+
|
|
61314
|
+
def from_map(self, m: dict = None):
|
|
61315
|
+
m = m or dict()
|
|
61316
|
+
if m.get('headers') is not None:
|
|
61317
|
+
self.headers = m.get('headers')
|
|
61318
|
+
if m.get('statusCode') is not None:
|
|
61319
|
+
self.status_code = m.get('statusCode')
|
|
61320
|
+
if m.get('body') is not None:
|
|
61321
|
+
temp_model = DescribeVpcGrantRulesToEcrResponseBody()
|
|
61322
|
+
self.body = temp_model.from_map(m['body'])
|
|
61323
|
+
return self
|
|
61324
|
+
|
|
61325
|
+
|
|
60876
61326
|
class DescribeVpcsRequestTag(TeaModel):
|
|
60877
61327
|
def __init__(
|
|
60878
61328
|
self,
|
|
@@ -72951,7 +73401,7 @@ class GetVpcPrefixListAssociationsRequest(TeaModel):
|
|
|
72951
73401
|
resource_owner_account: str = None,
|
|
72952
73402
|
resource_owner_id: int = None,
|
|
72953
73403
|
):
|
|
72954
|
-
# The number of entries
|
|
73404
|
+
# The number of entries to return in each call. Valid values: **1** to **100**. Default value: **20**.
|
|
72955
73405
|
self.max_results = max_results
|
|
72956
73406
|
# The pagination token that is used in the next request to retrieve a new page of results. Valid values:
|
|
72957
73407
|
#
|
|
@@ -73034,6 +73484,7 @@ class GetVpcPrefixListAssociationsResponseBodyPrefixListAssociation(TeaModel):
|
|
|
73034
73484
|
resource_uid: str = None,
|
|
73035
73485
|
status: str = None,
|
|
73036
73486
|
):
|
|
73487
|
+
# List of CIDR addresses where the prefix list is effective in the currently associated resources.
|
|
73037
73488
|
self.cidr_list = cidr_list
|
|
73038
73489
|
# The ID of the Alibaba Cloud account to which the prefix list belongs.
|
|
73039
73490
|
self.owner_id = owner_id
|
|
@@ -77675,6 +78126,7 @@ class ListNatIpsRequest(TeaModel):
|
|
|
77675
78126
|
class ListNatIpsResponseBodyNatIps(TeaModel):
|
|
77676
78127
|
def __init__(
|
|
77677
78128
|
self,
|
|
78129
|
+
ipv_4prefix: str = None,
|
|
77678
78130
|
is_default: bool = None,
|
|
77679
78131
|
nat_gateway_id: str = None,
|
|
77680
78132
|
nat_ip: str = None,
|
|
@@ -77684,6 +78136,7 @@ class ListNatIpsResponseBodyNatIps(TeaModel):
|
|
|
77684
78136
|
nat_ip_name: str = None,
|
|
77685
78137
|
nat_ip_status: str = None,
|
|
77686
78138
|
):
|
|
78139
|
+
self.ipv_4prefix = ipv_4prefix
|
|
77687
78140
|
# Indicates whether the IP address is the default IP address of the NAT gateway. Valid values:
|
|
77688
78141
|
#
|
|
77689
78142
|
# * **true**: yes
|
|
@@ -77720,6 +78173,8 @@ class ListNatIpsResponseBodyNatIps(TeaModel):
|
|
|
77720
78173
|
return _map
|
|
77721
78174
|
|
|
77722
78175
|
result = dict()
|
|
78176
|
+
if self.ipv_4prefix is not None:
|
|
78177
|
+
result['Ipv4Prefix'] = self.ipv_4prefix
|
|
77723
78178
|
if self.is_default is not None:
|
|
77724
78179
|
result['IsDefault'] = self.is_default
|
|
77725
78180
|
if self.nat_gateway_id is not None:
|
|
@@ -77740,6 +78195,8 @@ class ListNatIpsResponseBodyNatIps(TeaModel):
|
|
|
77740
78195
|
|
|
77741
78196
|
def from_map(self, m: dict = None):
|
|
77742
78197
|
m = m or dict()
|
|
78198
|
+
if m.get('Ipv4Prefix') is not None:
|
|
78199
|
+
self.ipv_4prefix = m.get('Ipv4Prefix')
|
|
77743
78200
|
if m.get('IsDefault') is not None:
|
|
77744
78201
|
self.is_default = m.get('IsDefault')
|
|
77745
78202
|
if m.get('NatGatewayId') is not None:
|