alibabacloud-vpc20160428 6.9.2__py3-none-any.whl → 6.9.4__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.
@@ -1 +1 @@
1
- __version__ = '6.9.2'
1
+ __version__ = '6.9.4'
@@ -7579,6 +7579,8 @@ class Client(OpenApiClient):
7579
7579
  query['Description'] = request.description
7580
7580
  if not UtilClient.is_unset(request.flow_log_name):
7581
7581
  query['FlowLogName'] = request.flow_log_name
7582
+ if not UtilClient.is_unset(request.ip_version):
7583
+ query['IpVersion'] = request.ip_version
7582
7584
  if not UtilClient.is_unset(request.log_store_name):
7583
7585
  query['LogStoreName'] = request.log_store_name
7584
7586
  if not UtilClient.is_unset(request.owner_account):
@@ -7648,6 +7650,8 @@ class Client(OpenApiClient):
7648
7650
  query['Description'] = request.description
7649
7651
  if not UtilClient.is_unset(request.flow_log_name):
7650
7652
  query['FlowLogName'] = request.flow_log_name
7653
+ if not UtilClient.is_unset(request.ip_version):
7654
+ query['IpVersion'] = request.ip_version
7651
7655
  if not UtilClient.is_unset(request.log_store_name):
7652
7656
  query['LogStoreName'] = request.log_store_name
7653
7657
  if not UtilClient.is_unset(request.owner_account):
@@ -9681,7 +9685,7 @@ class Client(OpenApiClient):
9681
9685
 
9682
9686
  def create_nat_gateway_with_options(
9683
9687
  self,
9684
- request: vpc_20160428_models.CreateNatGatewayRequest,
9688
+ tmp_req: vpc_20160428_models.CreateNatGatewayRequest,
9685
9689
  runtime: util_models.RuntimeOptions,
9686
9690
  ) -> vpc_20160428_models.CreateNatGatewayResponse:
9687
9691
  """
@@ -9697,12 +9701,18 @@ class Client(OpenApiClient):
9697
9701
  It takes 1 to 3 minutes to create a NAT gateway.
9698
9702
  You cannot repeatedly call the **CreateNatGateway** operation within a specific period of time.
9699
9703
 
9700
- @param request: CreateNatGatewayRequest
9704
+ @param tmp_req: CreateNatGatewayRequest
9701
9705
  @param runtime: runtime options for this request RuntimeOptions
9702
9706
  @return: CreateNatGatewayResponse
9703
9707
  """
9704
- UtilClient.validate_model(request)
9708
+ UtilClient.validate_model(tmp_req)
9709
+ request = vpc_20160428_models.CreateNatGatewayShrinkRequest()
9710
+ OpenApiUtilClient.convert(tmp_req, request)
9711
+ if not UtilClient.is_unset(tmp_req.access_mode):
9712
+ request.access_mode_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.access_mode, 'AccessMode', 'json')
9705
9713
  query = {}
9714
+ if not UtilClient.is_unset(request.access_mode_shrink):
9715
+ query['AccessMode'] = request.access_mode_shrink
9706
9716
  if not UtilClient.is_unset(request.auto_pay):
9707
9717
  query['AutoPay'] = request.auto_pay
9708
9718
  if not UtilClient.is_unset(request.client_token):
@@ -9731,6 +9741,8 @@ class Client(OpenApiClient):
9731
9741
  query['OwnerId'] = request.owner_id
9732
9742
  if not UtilClient.is_unset(request.pricing_cycle):
9733
9743
  query['PricingCycle'] = request.pricing_cycle
9744
+ if not UtilClient.is_unset(request.private_link_enabled):
9745
+ query['PrivateLinkEnabled'] = request.private_link_enabled
9734
9746
  if not UtilClient.is_unset(request.region_id):
9735
9747
  query['RegionId'] = request.region_id
9736
9748
  if not UtilClient.is_unset(request.resource_owner_account):
@@ -9768,7 +9780,7 @@ class Client(OpenApiClient):
9768
9780
 
9769
9781
  async def create_nat_gateway_with_options_async(
9770
9782
  self,
9771
- request: vpc_20160428_models.CreateNatGatewayRequest,
9783
+ tmp_req: vpc_20160428_models.CreateNatGatewayRequest,
9772
9784
  runtime: util_models.RuntimeOptions,
9773
9785
  ) -> vpc_20160428_models.CreateNatGatewayResponse:
9774
9786
  """
@@ -9784,12 +9796,18 @@ class Client(OpenApiClient):
9784
9796
  It takes 1 to 3 minutes to create a NAT gateway.
9785
9797
  You cannot repeatedly call the **CreateNatGateway** operation within a specific period of time.
9786
9798
 
9787
- @param request: CreateNatGatewayRequest
9799
+ @param tmp_req: CreateNatGatewayRequest
9788
9800
  @param runtime: runtime options for this request RuntimeOptions
9789
9801
  @return: CreateNatGatewayResponse
9790
9802
  """
9791
- UtilClient.validate_model(request)
9803
+ UtilClient.validate_model(tmp_req)
9804
+ request = vpc_20160428_models.CreateNatGatewayShrinkRequest()
9805
+ OpenApiUtilClient.convert(tmp_req, request)
9806
+ if not UtilClient.is_unset(tmp_req.access_mode):
9807
+ request.access_mode_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.access_mode, 'AccessMode', 'json')
9792
9808
  query = {}
9809
+ if not UtilClient.is_unset(request.access_mode_shrink):
9810
+ query['AccessMode'] = request.access_mode_shrink
9793
9811
  if not UtilClient.is_unset(request.auto_pay):
9794
9812
  query['AutoPay'] = request.auto_pay
9795
9813
  if not UtilClient.is_unset(request.client_token):
@@ -9818,6 +9836,8 @@ class Client(OpenApiClient):
9818
9836
  query['OwnerId'] = request.owner_id
9819
9837
  if not UtilClient.is_unset(request.pricing_cycle):
9820
9838
  query['PricingCycle'] = request.pricing_cycle
9839
+ if not UtilClient.is_unset(request.private_link_enabled):
9840
+ query['PrivateLinkEnabled'] = request.private_link_enabled
9821
9841
  if not UtilClient.is_unset(request.region_id):
9822
9842
  query['RegionId'] = request.region_id
9823
9843
  if not UtilClient.is_unset(request.resource_owner_account):
@@ -33951,11 +33971,14 @@ class Client(OpenApiClient):
33951
33971
  runtime: util_models.RuntimeOptions,
33952
33972
  ) -> vpc_20160428_models.DisableNatGatewayEcsMetricResponse:
33953
33973
  """
33974
+ @deprecated OpenAPI DisableNatGatewayEcsMetric is deprecated
33975
+
33954
33976
  @summary Disables traffic monitoring for an Elastic Compute Service (ECS) instance.
33955
33977
 
33956
33978
  @param request: DisableNatGatewayEcsMetricRequest
33957
33979
  @param runtime: runtime options for this request RuntimeOptions
33958
33980
  @return: DisableNatGatewayEcsMetricResponse
33981
+ Deprecated
33959
33982
  """
33960
33983
  UtilClient.validate_model(request)
33961
33984
  query = {}
@@ -33992,11 +34015,14 @@ class Client(OpenApiClient):
33992
34015
  runtime: util_models.RuntimeOptions,
33993
34016
  ) -> vpc_20160428_models.DisableNatGatewayEcsMetricResponse:
33994
34017
  """
34018
+ @deprecated OpenAPI DisableNatGatewayEcsMetric is deprecated
34019
+
33995
34020
  @summary Disables traffic monitoring for an Elastic Compute Service (ECS) instance.
33996
34021
 
33997
34022
  @param request: DisableNatGatewayEcsMetricRequest
33998
34023
  @param runtime: runtime options for this request RuntimeOptions
33999
34024
  @return: DisableNatGatewayEcsMetricResponse
34025
+ Deprecated
34000
34026
  """
34001
34027
  UtilClient.validate_model(request)
34002
34028
  query = {}
@@ -34032,10 +34058,13 @@ class Client(OpenApiClient):
34032
34058
  request: vpc_20160428_models.DisableNatGatewayEcsMetricRequest,
34033
34059
  ) -> vpc_20160428_models.DisableNatGatewayEcsMetricResponse:
34034
34060
  """
34061
+ @deprecated OpenAPI DisableNatGatewayEcsMetric is deprecated
34062
+
34035
34063
  @summary Disables traffic monitoring for an Elastic Compute Service (ECS) instance.
34036
34064
 
34037
34065
  @param request: DisableNatGatewayEcsMetricRequest
34038
34066
  @return: DisableNatGatewayEcsMetricResponse
34067
+ Deprecated
34039
34068
  """
34040
34069
  runtime = util_models.RuntimeOptions()
34041
34070
  return self.disable_nat_gateway_ecs_metric_with_options(request, runtime)
@@ -34045,10 +34074,13 @@ class Client(OpenApiClient):
34045
34074
  request: vpc_20160428_models.DisableNatGatewayEcsMetricRequest,
34046
34075
  ) -> vpc_20160428_models.DisableNatGatewayEcsMetricResponse:
34047
34076
  """
34077
+ @deprecated OpenAPI DisableNatGatewayEcsMetric is deprecated
34078
+
34048
34079
  @summary Disables traffic monitoring for an Elastic Compute Service (ECS) instance.
34049
34080
 
34050
34081
  @param request: DisableNatGatewayEcsMetricRequest
34051
34082
  @return: DisableNatGatewayEcsMetricResponse
34083
+ Deprecated
34052
34084
  """
34053
34085
  runtime = util_models.RuntimeOptions()
34054
34086
  return await self.disable_nat_gateway_ecs_metric_with_options_async(request, runtime)
@@ -34695,11 +34727,14 @@ class Client(OpenApiClient):
34695
34727
  runtime: util_models.RuntimeOptions,
34696
34728
  ) -> vpc_20160428_models.EnableNatGatewayEcsMetricResponse:
34697
34729
  """
34730
+ @deprecated OpenAPI EnableNatGatewayEcsMetric is deprecated
34731
+
34698
34732
  @summary Enables Elastic Compute Service (ECS) traffic monitoring.
34699
34733
 
34700
34734
  @param request: EnableNatGatewayEcsMetricRequest
34701
34735
  @param runtime: runtime options for this request RuntimeOptions
34702
34736
  @return: EnableNatGatewayEcsMetricResponse
34737
+ Deprecated
34703
34738
  """
34704
34739
  UtilClient.validate_model(request)
34705
34740
  query = {}
@@ -34736,11 +34771,14 @@ class Client(OpenApiClient):
34736
34771
  runtime: util_models.RuntimeOptions,
34737
34772
  ) -> vpc_20160428_models.EnableNatGatewayEcsMetricResponse:
34738
34773
  """
34774
+ @deprecated OpenAPI EnableNatGatewayEcsMetric is deprecated
34775
+
34739
34776
  @summary Enables Elastic Compute Service (ECS) traffic monitoring.
34740
34777
 
34741
34778
  @param request: EnableNatGatewayEcsMetricRequest
34742
34779
  @param runtime: runtime options for this request RuntimeOptions
34743
34780
  @return: EnableNatGatewayEcsMetricResponse
34781
+ Deprecated
34744
34782
  """
34745
34783
  UtilClient.validate_model(request)
34746
34784
  query = {}
@@ -34776,10 +34814,13 @@ class Client(OpenApiClient):
34776
34814
  request: vpc_20160428_models.EnableNatGatewayEcsMetricRequest,
34777
34815
  ) -> vpc_20160428_models.EnableNatGatewayEcsMetricResponse:
34778
34816
  """
34817
+ @deprecated OpenAPI EnableNatGatewayEcsMetric is deprecated
34818
+
34779
34819
  @summary Enables Elastic Compute Service (ECS) traffic monitoring.
34780
34820
 
34781
34821
  @param request: EnableNatGatewayEcsMetricRequest
34782
34822
  @return: EnableNatGatewayEcsMetricResponse
34823
+ Deprecated
34783
34824
  """
34784
34825
  runtime = util_models.RuntimeOptions()
34785
34826
  return self.enable_nat_gateway_ecs_metric_with_options(request, runtime)
@@ -34789,10 +34830,13 @@ class Client(OpenApiClient):
34789
34830
  request: vpc_20160428_models.EnableNatGatewayEcsMetricRequest,
34790
34831
  ) -> vpc_20160428_models.EnableNatGatewayEcsMetricResponse:
34791
34832
  """
34833
+ @deprecated OpenAPI EnableNatGatewayEcsMetric is deprecated
34834
+
34792
34835
  @summary Enables Elastic Compute Service (ECS) traffic monitoring.
34793
34836
 
34794
34837
  @param request: EnableNatGatewayEcsMetricRequest
34795
34838
  @return: EnableNatGatewayEcsMetricResponse
34839
+ Deprecated
34796
34840
  """
34797
34841
  runtime = util_models.RuntimeOptions()
34798
34842
  return await self.enable_nat_gateway_ecs_metric_with_options_async(request, runtime)
@@ -42058,6 +42102,8 @@ class Client(OpenApiClient):
42058
42102
  query['FlowLogId'] = request.flow_log_id
42059
42103
  if not UtilClient.is_unset(request.flow_log_name):
42060
42104
  query['FlowLogName'] = request.flow_log_name
42105
+ if not UtilClient.is_unset(request.ip_version):
42106
+ query['IpVersion'] = request.ip_version
42061
42107
  if not UtilClient.is_unset(request.owner_account):
42062
42108
  query['OwnerAccount'] = request.owner_account
42063
42109
  if not UtilClient.is_unset(request.owner_id):
@@ -42114,6 +42160,8 @@ class Client(OpenApiClient):
42114
42160
  query['FlowLogId'] = request.flow_log_id
42115
42161
  if not UtilClient.is_unset(request.flow_log_name):
42116
42162
  query['FlowLogName'] = request.flow_log_name
42163
+ if not UtilClient.is_unset(request.ip_version):
42164
+ query['IpVersion'] = request.ip_version
42117
42165
  if not UtilClient.is_unset(request.owner_account):
42118
42166
  query['OwnerAccount'] = request.owner_account
42119
42167
  if not UtilClient.is_unset(request.owner_id):
@@ -44965,7 +45013,7 @@ class Client(OpenApiClient):
44965
45013
  runtime: util_models.RuntimeOptions,
44966
45014
  ) -> vpc_20160428_models.ModifyRouteEntryResponse:
44967
45015
  """
44968
- @summary 修改路由条目属性
45016
+ @summary Modifies the name and description of a custom route entry.
44969
45017
 
44970
45018
  @description You cannot repeatedly call the *ModifyRouteEntry** operation to modify the name and description of a custom route within the specified period of time.
44971
45019
 
@@ -45024,7 +45072,7 @@ class Client(OpenApiClient):
45024
45072
  runtime: util_models.RuntimeOptions,
45025
45073
  ) -> vpc_20160428_models.ModifyRouteEntryResponse:
45026
45074
  """
45027
- @summary 修改路由条目属性
45075
+ @summary Modifies the name and description of a custom route entry.
45028
45076
 
45029
45077
  @description You cannot repeatedly call the *ModifyRouteEntry** operation to modify the name and description of a custom route within the specified period of time.
45030
45078
 
@@ -45082,7 +45130,7 @@ class Client(OpenApiClient):
45082
45130
  request: vpc_20160428_models.ModifyRouteEntryRequest,
45083
45131
  ) -> vpc_20160428_models.ModifyRouteEntryResponse:
45084
45132
  """
45085
- @summary 修改路由条目属性
45133
+ @summary Modifies the name and description of a custom route entry.
45086
45134
 
45087
45135
  @description You cannot repeatedly call the *ModifyRouteEntry** operation to modify the name and description of a custom route within the specified period of time.
45088
45136
 
@@ -45097,7 +45145,7 @@ class Client(OpenApiClient):
45097
45145
  request: vpc_20160428_models.ModifyRouteEntryRequest,
45098
45146
  ) -> vpc_20160428_models.ModifyRouteEntryResponse:
45099
45147
  """
45100
- @summary 修改路由条目属性
45148
+ @summary Modifies the name and description of a custom route entry.
45101
45149
 
45102
45150
  @description You cannot repeatedly call the *ModifyRouteEntry** operation to modify the name and description of a custom route within the specified period of time.
45103
45151
 
@@ -54463,6 +54511,8 @@ class Client(OpenApiClient):
54463
54511
  runtime: util_models.RuntimeOptions,
54464
54512
  ) -> vpc_20160428_models.UpdateNatGatewayNatTypeResponse:
54465
54513
  """
54514
+ @deprecated OpenAPI UpdateNatGatewayNatType is deprecated
54515
+
54466
54516
  @summary Upgrades a standard NAT gateway to an enhanced NAT gateway.
54467
54517
 
54468
54518
  @description Before you call this operation, take note of the following limits:
@@ -54478,6 +54528,7 @@ class Client(OpenApiClient):
54478
54528
  @param request: UpdateNatGatewayNatTypeRequest
54479
54529
  @param runtime: runtime options for this request RuntimeOptions
54480
54530
  @return: UpdateNatGatewayNatTypeResponse
54531
+ Deprecated
54481
54532
  """
54482
54533
  UtilClient.validate_model(request)
54483
54534
  query = {}
@@ -54528,6 +54579,8 @@ class Client(OpenApiClient):
54528
54579
  runtime: util_models.RuntimeOptions,
54529
54580
  ) -> vpc_20160428_models.UpdateNatGatewayNatTypeResponse:
54530
54581
  """
54582
+ @deprecated OpenAPI UpdateNatGatewayNatType is deprecated
54583
+
54531
54584
  @summary Upgrades a standard NAT gateway to an enhanced NAT gateway.
54532
54585
 
54533
54586
  @description Before you call this operation, take note of the following limits:
@@ -54543,6 +54596,7 @@ class Client(OpenApiClient):
54543
54596
  @param request: UpdateNatGatewayNatTypeRequest
54544
54597
  @param runtime: runtime options for this request RuntimeOptions
54545
54598
  @return: UpdateNatGatewayNatTypeResponse
54599
+ Deprecated
54546
54600
  """
54547
54601
  UtilClient.validate_model(request)
54548
54602
  query = {}
@@ -54592,6 +54646,8 @@ class Client(OpenApiClient):
54592
54646
  request: vpc_20160428_models.UpdateNatGatewayNatTypeRequest,
54593
54647
  ) -> vpc_20160428_models.UpdateNatGatewayNatTypeResponse:
54594
54648
  """
54649
+ @deprecated OpenAPI UpdateNatGatewayNatType is deprecated
54650
+
54595
54651
  @summary Upgrades a standard NAT gateway to an enhanced NAT gateway.
54596
54652
 
54597
54653
  @description Before you call this operation, take note of the following limits:
@@ -54606,6 +54662,7 @@ class Client(OpenApiClient):
54606
54662
 
54607
54663
  @param request: UpdateNatGatewayNatTypeRequest
54608
54664
  @return: UpdateNatGatewayNatTypeResponse
54665
+ Deprecated
54609
54666
  """
54610
54667
  runtime = util_models.RuntimeOptions()
54611
54668
  return self.update_nat_gateway_nat_type_with_options(request, runtime)
@@ -54615,6 +54672,8 @@ class Client(OpenApiClient):
54615
54672
  request: vpc_20160428_models.UpdateNatGatewayNatTypeRequest,
54616
54673
  ) -> vpc_20160428_models.UpdateNatGatewayNatTypeResponse:
54617
54674
  """
54675
+ @deprecated OpenAPI UpdateNatGatewayNatType is deprecated
54676
+
54618
54677
  @summary Upgrades a standard NAT gateway to an enhanced NAT gateway.
54619
54678
 
54620
54679
  @description Before you call this operation, take note of the following limits:
@@ -54629,6 +54688,7 @@ class Client(OpenApiClient):
54629
54688
 
54630
54689
  @param request: UpdateNatGatewayNatTypeRequest
54631
54690
  @return: UpdateNatGatewayNatTypeResponse
54691
+ Deprecated
54632
54692
  """
54633
54693
  runtime = util_models.RuntimeOptions()
54634
54694
  return await self.update_nat_gateway_nat_type_with_options_async(request, runtime)
@@ -7289,17 +7289,15 @@ class CreateCommonBandwidthPackageRequest(TeaModel):
7289
7289
  #
7290
7290
  # 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.
7291
7291
  #
7292
- # >
7293
- #
7294
- # 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.
7292
+ # > 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.
7295
7293
  self.client_token = client_token
7296
7294
  # The description of the Internet Shared Bandwidth instance.
7297
7295
  #
7298
- # The description must be 2 to 256 characters in length and start with a letter. The description cannot start with `http://` or `https://`.
7296
+ # The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.
7299
7297
  self.description = description
7300
7298
  # The line type. Valid values:
7301
7299
  #
7302
- # * **BGP** All regions support BGP (Multi-ISP).
7300
+ # * **BGP** (default) All regions support BGP (Multi-ISP).
7303
7301
  # * **BGP_PRO** BGP (Multi-ISP) Pro lines are available in the China (Hong Kong), Singapore, Japan (Tokyo), Philippines (Manila), Malaysia (Kuala Lumpur), Indonesia (Jakarta), and Thailand (Bangkok) regions.
7304
7302
  #
7305
7303
  # If you are allowed to use single-ISP bandwidth, you can also use one of the following values:
@@ -7317,15 +7315,13 @@ class CreateCommonBandwidthPackageRequest(TeaModel):
7317
7315
  self.internet_charge_type = internet_charge_type
7318
7316
  # The name of the Internet Shared Bandwidth instance.
7319
7317
  #
7320
- # 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.
7318
+ # The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.
7321
7319
  self.name = name
7322
7320
  self.owner_account = owner_account
7323
7321
  self.owner_id = owner_id
7324
7322
  # The percentage of the minimum bandwidth commitment. Set the parameter to **20**.
7325
7323
  #
7326
- # >
7327
- #
7328
- # This parameter is available only on the Alibaba Cloud China site.
7324
+ # > This parameter is available only on the Alibaba Cloud China site.
7329
7325
  self.ratio = ratio
7330
7326
  # The region ID of the Internet Shared Bandwidth instance.
7331
7327
  #
@@ -9544,6 +9540,7 @@ class CreateFlowLogRequest(TeaModel):
9544
9540
  aggregation_interval: int = None,
9545
9541
  description: str = None,
9546
9542
  flow_log_name: str = None,
9543
+ ip_version: str = None,
9547
9544
  log_store_name: str = None,
9548
9545
  owner_account: str = None,
9549
9546
  owner_id: int = None,
@@ -9568,6 +9565,7 @@ class CreateFlowLogRequest(TeaModel):
9568
9565
  #
9569
9566
  # The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.
9570
9567
  self.flow_log_name = flow_log_name
9568
+ self.ip_version = ip_version
9571
9569
  # The name of the Logstore that stores the captured traffic data.
9572
9570
  #
9573
9571
  # * The name can contain only lowercase letters, digits, hyphens (-), and underscores (_).
@@ -9640,6 +9638,8 @@ class CreateFlowLogRequest(TeaModel):
9640
9638
  result['Description'] = self.description
9641
9639
  if self.flow_log_name is not None:
9642
9640
  result['FlowLogName'] = self.flow_log_name
9641
+ if self.ip_version is not None:
9642
+ result['IpVersion'] = self.ip_version
9643
9643
  if self.log_store_name is not None:
9644
9644
  result['LogStoreName'] = self.log_store_name
9645
9645
  if self.owner_account is not None:
@@ -9678,6 +9678,8 @@ class CreateFlowLogRequest(TeaModel):
9678
9678
  self.description = m.get('Description')
9679
9679
  if m.get('FlowLogName') is not None:
9680
9680
  self.flow_log_name = m.get('FlowLogName')
9681
+ if m.get('IpVersion') is not None:
9682
+ self.ip_version = m.get('IpVersion')
9681
9683
  if m.get('LogStoreName') is not None:
9682
9684
  self.log_store_name = m.get('LogStoreName')
9683
9685
  if m.get('OwnerAccount') is not None:
@@ -12711,6 +12713,39 @@ class CreateIpv6GatewayResponse(TeaModel):
12711
12713
  return self
12712
12714
 
12713
12715
 
12716
+ class CreateNatGatewayRequestAccessMode(TeaModel):
12717
+ def __init__(
12718
+ self,
12719
+ mode_value: str = None,
12720
+ tunnel_type: str = None,
12721
+ ):
12722
+ self.mode_value = mode_value
12723
+ self.tunnel_type = tunnel_type
12724
+
12725
+ def validate(self):
12726
+ pass
12727
+
12728
+ def to_map(self):
12729
+ _map = super().to_map()
12730
+ if _map is not None:
12731
+ return _map
12732
+
12733
+ result = dict()
12734
+ if self.mode_value is not None:
12735
+ result['ModeValue'] = self.mode_value
12736
+ if self.tunnel_type is not None:
12737
+ result['TunnelType'] = self.tunnel_type
12738
+ return result
12739
+
12740
+ def from_map(self, m: dict = None):
12741
+ m = m or dict()
12742
+ if m.get('ModeValue') is not None:
12743
+ self.mode_value = m.get('ModeValue')
12744
+ if m.get('TunnelType') is not None:
12745
+ self.tunnel_type = m.get('TunnelType')
12746
+ return self
12747
+
12748
+
12714
12749
  class CreateNatGatewayRequestTag(TeaModel):
12715
12750
  def __init__(
12716
12751
  self,
@@ -12749,6 +12784,7 @@ class CreateNatGatewayRequestTag(TeaModel):
12749
12784
  class CreateNatGatewayRequest(TeaModel):
12750
12785
  def __init__(
12751
12786
  self,
12787
+ access_mode: CreateNatGatewayRequestAccessMode = None,
12752
12788
  auto_pay: bool = None,
12753
12789
  client_token: str = None,
12754
12790
  description: str = None,
@@ -12763,6 +12799,7 @@ class CreateNatGatewayRequest(TeaModel):
12763
12799
  owner_account: str = None,
12764
12800
  owner_id: int = None,
12765
12801
  pricing_cycle: str = None,
12802
+ private_link_enabled: bool = None,
12766
12803
  region_id: str = None,
12767
12804
  resource_owner_account: str = None,
12768
12805
  resource_owner_id: int = None,
@@ -12772,6 +12809,7 @@ class CreateNatGatewayRequest(TeaModel):
12772
12809
  v_switch_id: str = None,
12773
12810
  vpc_id: str = None,
12774
12811
  ):
12812
+ self.access_mode = access_mode
12775
12813
  # Subscription Internet NAT gateways are no longer available for purchase. Ignore this parameter.
12776
12814
  self.auto_pay = auto_pay
12777
12815
  # The client token that is used to ensure the idempotence of the request.
@@ -12826,6 +12864,7 @@ class CreateNatGatewayRequest(TeaModel):
12826
12864
  self.owner_id = owner_id
12827
12865
  # Subscription Internet NAT gateways are no longer available for purchase. Ignore this parameter.
12828
12866
  self.pricing_cycle = pricing_cycle
12867
+ self.private_link_enabled = private_link_enabled
12829
12868
  # The region ID of the NAT gateway.
12830
12869
  #
12831
12870
  # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to obtain the region ID.
@@ -12857,6 +12896,8 @@ class CreateNatGatewayRequest(TeaModel):
12857
12896
  self.vpc_id = vpc_id
12858
12897
 
12859
12898
  def validate(self):
12899
+ if self.access_mode:
12900
+ self.access_mode.validate()
12860
12901
  if self.tag:
12861
12902
  for k in self.tag:
12862
12903
  if k:
@@ -12868,6 +12909,8 @@ class CreateNatGatewayRequest(TeaModel):
12868
12909
  return _map
12869
12910
 
12870
12911
  result = dict()
12912
+ if self.access_mode is not None:
12913
+ result['AccessMode'] = self.access_mode.to_map()
12871
12914
  if self.auto_pay is not None:
12872
12915
  result['AutoPay'] = self.auto_pay
12873
12916
  if self.client_token is not None:
@@ -12896,6 +12939,8 @@ class CreateNatGatewayRequest(TeaModel):
12896
12939
  result['OwnerId'] = self.owner_id
12897
12940
  if self.pricing_cycle is not None:
12898
12941
  result['PricingCycle'] = self.pricing_cycle
12942
+ if self.private_link_enabled is not None:
12943
+ result['PrivateLinkEnabled'] = self.private_link_enabled
12899
12944
  if self.region_id is not None:
12900
12945
  result['RegionId'] = self.region_id
12901
12946
  if self.resource_owner_account is not None:
@@ -12918,6 +12963,9 @@ class CreateNatGatewayRequest(TeaModel):
12918
12963
 
12919
12964
  def from_map(self, m: dict = None):
12920
12965
  m = m or dict()
12966
+ if m.get('AccessMode') is not None:
12967
+ temp_model = CreateNatGatewayRequestAccessMode()
12968
+ self.access_mode = temp_model.from_map(m['AccessMode'])
12921
12969
  if m.get('AutoPay') is not None:
12922
12970
  self.auto_pay = m.get('AutoPay')
12923
12971
  if m.get('ClientToken') is not None:
@@ -12946,6 +12994,8 @@ class CreateNatGatewayRequest(TeaModel):
12946
12994
  self.owner_id = m.get('OwnerId')
12947
12995
  if m.get('PricingCycle') is not None:
12948
12996
  self.pricing_cycle = m.get('PricingCycle')
12997
+ if m.get('PrivateLinkEnabled') is not None:
12998
+ self.private_link_enabled = m.get('PrivateLinkEnabled')
12949
12999
  if m.get('RegionId') is not None:
12950
13000
  self.region_id = m.get('RegionId')
12951
13001
  if m.get('ResourceOwnerAccount') is not None:
@@ -12968,6 +13018,275 @@ class CreateNatGatewayRequest(TeaModel):
12968
13018
  return self
12969
13019
 
12970
13020
 
13021
+ class CreateNatGatewayShrinkRequestTag(TeaModel):
13022
+ def __init__(
13023
+ self,
13024
+ key: str = None,
13025
+ value: str = None,
13026
+ ):
13027
+ # The tag key. The format of Tag.N.Key when you call the operation. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length, and cannot start with acs: or aliyun. It cannot contain http:// or https://.
13028
+ self.key = key
13029
+ # The tag value. The format of Tag.N.Value when you call the operation. Valid values of N: 1 to 20. The tag value cannot be an empty string. The tag value can be up to 128 characters in length, and cannot start with acs: or aliyun. It cannot contain http:// or https://.
13030
+ self.value = value
13031
+
13032
+ def validate(self):
13033
+ pass
13034
+
13035
+ def to_map(self):
13036
+ _map = super().to_map()
13037
+ if _map is not None:
13038
+ return _map
13039
+
13040
+ result = dict()
13041
+ if self.key is not None:
13042
+ result['Key'] = self.key
13043
+ if self.value is not None:
13044
+ result['Value'] = self.value
13045
+ return result
13046
+
13047
+ def from_map(self, m: dict = None):
13048
+ m = m or dict()
13049
+ if m.get('Key') is not None:
13050
+ self.key = m.get('Key')
13051
+ if m.get('Value') is not None:
13052
+ self.value = m.get('Value')
13053
+ return self
13054
+
13055
+
13056
+ class CreateNatGatewayShrinkRequest(TeaModel):
13057
+ def __init__(
13058
+ self,
13059
+ access_mode_shrink: str = None,
13060
+ auto_pay: bool = None,
13061
+ client_token: str = None,
13062
+ description: str = None,
13063
+ duration: str = None,
13064
+ eip_bind_mode: str = None,
13065
+ icmp_reply_enabled: bool = None,
13066
+ instance_charge_type: str = None,
13067
+ internet_charge_type: str = None,
13068
+ name: str = None,
13069
+ nat_type: str = None,
13070
+ network_type: str = None,
13071
+ owner_account: str = None,
13072
+ owner_id: int = None,
13073
+ pricing_cycle: str = None,
13074
+ private_link_enabled: bool = None,
13075
+ region_id: str = None,
13076
+ resource_owner_account: str = None,
13077
+ resource_owner_id: int = None,
13078
+ security_protection_enabled: bool = None,
13079
+ spec: str = None,
13080
+ tag: List[CreateNatGatewayShrinkRequestTag] = None,
13081
+ v_switch_id: str = None,
13082
+ vpc_id: str = None,
13083
+ ):
13084
+ self.access_mode_shrink = access_mode_shrink
13085
+ # Subscription Internet NAT gateways are no longer available for purchase. Ignore this parameter.
13086
+ self.auto_pay = auto_pay
13087
+ # The client token that is used to ensure the idempotence of the request.
13088
+ #
13089
+ # You can use the client to generate the token, but you must make sure that the token is unique among different requests.
13090
+ #
13091
+ # > 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.
13092
+ self.client_token = client_token
13093
+ # The description of the NAT gateway.
13094
+ #
13095
+ # You can leave this parameter empty or enter a description. If you enter a description, the description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.
13096
+ self.description = description
13097
+ # Subscription Internet NAT gateways are no longer available for purchase. Ignore this parameter.
13098
+ self.duration = duration
13099
+ # The mode in which the EIP is associated with the NAT gateway. Valid values:
13100
+ #
13101
+ # * **MULTI_BINDED** (default): Multi-EIP-to-ENI mode.
13102
+ #
13103
+ # * **NAT**: NAT mode. IPv4 gateways are supported in this mode.
13104
+ #
13105
+ # **\
13106
+ #
13107
+ # **Note** If a NAT gateway is associated with an EIP in NAT mode, the EIP occupies one private IP address in the vSwitch. Make sure that the vSwitch has sufficient private IP addresses. Otherwise, the NAT gateway fails to be associated with the EIP. In NAT mode, a maximum number of 50 EIPs can be associated with each NAT gateway.
13108
+ self.eip_bind_mode = eip_bind_mode
13109
+ # Specifies whether to enable ICMP retrieval. Valid values:
13110
+ #
13111
+ # * **true** (default)
13112
+ # * **false**\
13113
+ self.icmp_reply_enabled = icmp_reply_enabled
13114
+ # The billing method of the NAT gateway.
13115
+ #
13116
+ # Set the value to **PostPaid** (pay-as-you-go), which is the default value.
13117
+ #
13118
+ # For more information, see [Internet NAT gateway billing](https://help.aliyun.com/document_detail/48126.html) and [VPC NAT gateway billing](https://help.aliyun.com/document_detail/270913.html).
13119
+ self.instance_charge_type = instance_charge_type
13120
+ # The metering method of the NAT gateway. Set the value to **PayByLcu**, which specifies the pay-by-CU metering method.
13121
+ self.internet_charge_type = internet_charge_type
13122
+ # The name of the NAT gateway.
13123
+ #
13124
+ # 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.
13125
+ #
13126
+ # If this parameter is not set, the system assigns a default name to the NAT gateway.
13127
+ self.name = name
13128
+ # The type of NAT gateway. Set the value to **Enhanced**, which specifies enhanced NAT gateway.
13129
+ self.nat_type = nat_type
13130
+ # The network type of the NAT gateway. Valid values:
13131
+ #
13132
+ # * **internet**: Internet
13133
+ # * **intranet**: VPC
13134
+ self.network_type = network_type
13135
+ self.owner_account = owner_account
13136
+ self.owner_id = owner_id
13137
+ # Subscription Internet NAT gateways are no longer available for purchase. Ignore this parameter.
13138
+ self.pricing_cycle = pricing_cycle
13139
+ self.private_link_enabled = private_link_enabled
13140
+ # The region ID of the NAT gateway.
13141
+ #
13142
+ # You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to obtain the region ID.
13143
+ #
13144
+ # This parameter is required.
13145
+ self.region_id = region_id
13146
+ self.resource_owner_account = resource_owner_account
13147
+ self.resource_owner_id = resource_owner_id
13148
+ # Specifies whether to enable the firewall feature. Valid values:
13149
+ #
13150
+ # * **false** (default)>Notice: This parameter is deprecated.
13151
+ self.security_protection_enabled = security_protection_enabled
13152
+ # Subscription Internet NAT gateways are no longer available for purchase. Ignore this parameter.
13153
+ self.spec = spec
13154
+ # The tags.
13155
+ self.tag = tag
13156
+ # The ID of the vSwitch to which the NAT gateway is attached.
13157
+ #
13158
+ # When you create a NAT gateway, you must specify a vSwitch for the NAT gateway. Then, the system assigns an idle private IP address from the vSwitch to the NAT gateway.
13159
+ #
13160
+ # * To attach the NAT gateway to an existing vSwitch, make sure that the zone to which the vSwitch belongs supports NAT gateways. In addition, the vSwitch must have idle IP addresses.
13161
+ # * If no vSwitch exists in the VPC, create a vSwitch in a zone that supports NAT gateways. Then, specify the vSwitch for the NAT gateway.
13162
+ #
13163
+ # > You can call the [ListEnhanhcedNatGatewayAvailableZones](https://help.aliyun.com/document_detail/182292.html) operation to query zones that support NAT gateways. You can call the [DescribeVSwitches](https://help.aliyun.com/document_detail/35748.html) operation to query idle IP addresses in a vSwitch.
13164
+ self.v_switch_id = v_switch_id
13165
+ # The ID of the VPC where you want to create the NAT gateway.
13166
+ #
13167
+ # This parameter is required.
13168
+ self.vpc_id = vpc_id
13169
+
13170
+ def validate(self):
13171
+ if self.tag:
13172
+ for k in self.tag:
13173
+ if k:
13174
+ k.validate()
13175
+
13176
+ def to_map(self):
13177
+ _map = super().to_map()
13178
+ if _map is not None:
13179
+ return _map
13180
+
13181
+ result = dict()
13182
+ if self.access_mode_shrink is not None:
13183
+ result['AccessMode'] = self.access_mode_shrink
13184
+ if self.auto_pay is not None:
13185
+ result['AutoPay'] = self.auto_pay
13186
+ if self.client_token is not None:
13187
+ result['ClientToken'] = self.client_token
13188
+ if self.description is not None:
13189
+ result['Description'] = self.description
13190
+ if self.duration is not None:
13191
+ result['Duration'] = self.duration
13192
+ if self.eip_bind_mode is not None:
13193
+ result['EipBindMode'] = self.eip_bind_mode
13194
+ if self.icmp_reply_enabled is not None:
13195
+ result['IcmpReplyEnabled'] = self.icmp_reply_enabled
13196
+ if self.instance_charge_type is not None:
13197
+ result['InstanceChargeType'] = self.instance_charge_type
13198
+ if self.internet_charge_type is not None:
13199
+ result['InternetChargeType'] = self.internet_charge_type
13200
+ if self.name is not None:
13201
+ result['Name'] = self.name
13202
+ if self.nat_type is not None:
13203
+ result['NatType'] = self.nat_type
13204
+ if self.network_type is not None:
13205
+ result['NetworkType'] = self.network_type
13206
+ if self.owner_account is not None:
13207
+ result['OwnerAccount'] = self.owner_account
13208
+ if self.owner_id is not None:
13209
+ result['OwnerId'] = self.owner_id
13210
+ if self.pricing_cycle is not None:
13211
+ result['PricingCycle'] = self.pricing_cycle
13212
+ if self.private_link_enabled is not None:
13213
+ result['PrivateLinkEnabled'] = self.private_link_enabled
13214
+ if self.region_id is not None:
13215
+ result['RegionId'] = self.region_id
13216
+ if self.resource_owner_account is not None:
13217
+ result['ResourceOwnerAccount'] = self.resource_owner_account
13218
+ if self.resource_owner_id is not None:
13219
+ result['ResourceOwnerId'] = self.resource_owner_id
13220
+ if self.security_protection_enabled is not None:
13221
+ result['SecurityProtectionEnabled'] = self.security_protection_enabled
13222
+ if self.spec is not None:
13223
+ result['Spec'] = self.spec
13224
+ result['Tag'] = []
13225
+ if self.tag is not None:
13226
+ for k in self.tag:
13227
+ result['Tag'].append(k.to_map() if k else None)
13228
+ if self.v_switch_id is not None:
13229
+ result['VSwitchId'] = self.v_switch_id
13230
+ if self.vpc_id is not None:
13231
+ result['VpcId'] = self.vpc_id
13232
+ return result
13233
+
13234
+ def from_map(self, m: dict = None):
13235
+ m = m or dict()
13236
+ if m.get('AccessMode') is not None:
13237
+ self.access_mode_shrink = m.get('AccessMode')
13238
+ if m.get('AutoPay') is not None:
13239
+ self.auto_pay = m.get('AutoPay')
13240
+ if m.get('ClientToken') is not None:
13241
+ self.client_token = m.get('ClientToken')
13242
+ if m.get('Description') is not None:
13243
+ self.description = m.get('Description')
13244
+ if m.get('Duration') is not None:
13245
+ self.duration = m.get('Duration')
13246
+ if m.get('EipBindMode') is not None:
13247
+ self.eip_bind_mode = m.get('EipBindMode')
13248
+ if m.get('IcmpReplyEnabled') is not None:
13249
+ self.icmp_reply_enabled = m.get('IcmpReplyEnabled')
13250
+ if m.get('InstanceChargeType') is not None:
13251
+ self.instance_charge_type = m.get('InstanceChargeType')
13252
+ if m.get('InternetChargeType') is not None:
13253
+ self.internet_charge_type = m.get('InternetChargeType')
13254
+ if m.get('Name') is not None:
13255
+ self.name = m.get('Name')
13256
+ if m.get('NatType') is not None:
13257
+ self.nat_type = m.get('NatType')
13258
+ if m.get('NetworkType') is not None:
13259
+ self.network_type = m.get('NetworkType')
13260
+ if m.get('OwnerAccount') is not None:
13261
+ self.owner_account = m.get('OwnerAccount')
13262
+ if m.get('OwnerId') is not None:
13263
+ self.owner_id = m.get('OwnerId')
13264
+ if m.get('PricingCycle') is not None:
13265
+ self.pricing_cycle = m.get('PricingCycle')
13266
+ if m.get('PrivateLinkEnabled') is not None:
13267
+ self.private_link_enabled = m.get('PrivateLinkEnabled')
13268
+ if m.get('RegionId') is not None:
13269
+ self.region_id = m.get('RegionId')
13270
+ if m.get('ResourceOwnerAccount') is not None:
13271
+ self.resource_owner_account = m.get('ResourceOwnerAccount')
13272
+ if m.get('ResourceOwnerId') is not None:
13273
+ self.resource_owner_id = m.get('ResourceOwnerId')
13274
+ if m.get('SecurityProtectionEnabled') is not None:
13275
+ self.security_protection_enabled = m.get('SecurityProtectionEnabled')
13276
+ if m.get('Spec') is not None:
13277
+ self.spec = m.get('Spec')
13278
+ self.tag = []
13279
+ if m.get('Tag') is not None:
13280
+ for k in m.get('Tag'):
13281
+ temp_model = CreateNatGatewayShrinkRequestTag()
13282
+ self.tag.append(temp_model.from_map(k))
13283
+ if m.get('VSwitchId') is not None:
13284
+ self.v_switch_id = m.get('VSwitchId')
13285
+ if m.get('VpcId') is not None:
13286
+ self.vpc_id = m.get('VpcId')
13287
+ return self
13288
+
13289
+
12971
13290
  class CreateNatGatewayResponseBodyForwardTableIds(TeaModel):
12972
13291
  def __init__(
12973
13292
  self,
@@ -39057,6 +39376,7 @@ class DescribeFlowLogsResponseBodyFlowLogsFlowLog(TeaModel):
39057
39376
  flow_log_deliver_status: str = None,
39058
39377
  flow_log_id: str = None,
39059
39378
  flow_log_name: str = None,
39379
+ ip_version: str = None,
39060
39380
  log_store_name: str = None,
39061
39381
  project_name: str = None,
39062
39382
  region_id: str = None,
@@ -39094,6 +39414,7 @@ class DescribeFlowLogsResponseBodyFlowLogsFlowLog(TeaModel):
39094
39414
  self.flow_log_id = flow_log_id
39095
39415
  # The name of the flow log.
39096
39416
  self.flow_log_name = flow_log_name
39417
+ self.ip_version = ip_version
39097
39418
  # The Logstore that stores the captured traffic data.
39098
39419
  self.log_store_name = log_store_name
39099
39420
  # The project that manages the captured traffic data.
@@ -39167,6 +39488,8 @@ class DescribeFlowLogsResponseBodyFlowLogsFlowLog(TeaModel):
39167
39488
  result['FlowLogId'] = self.flow_log_id
39168
39489
  if self.flow_log_name is not None:
39169
39490
  result['FlowLogName'] = self.flow_log_name
39491
+ if self.ip_version is not None:
39492
+ result['IpVersion'] = self.ip_version
39170
39493
  if self.log_store_name is not None:
39171
39494
  result['LogStoreName'] = self.log_store_name
39172
39495
  if self.project_name is not None:
@@ -39209,6 +39532,8 @@ class DescribeFlowLogsResponseBodyFlowLogsFlowLog(TeaModel):
39209
39532
  self.flow_log_id = m.get('FlowLogId')
39210
39533
  if m.get('FlowLogName') is not None:
39211
39534
  self.flow_log_name = m.get('FlowLogName')
39535
+ if m.get('IpVersion') is not None:
39536
+ self.ip_version = m.get('IpVersion')
39212
39537
  if m.get('LogStoreName') is not None:
39213
39538
  self.log_store_name = m.get('LogStoreName')
39214
39539
  if m.get('ProjectName') is not None:
@@ -44847,12 +45172,14 @@ class DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkIn
44847
45172
  resource_id: str = None,
44848
45173
  resource_owner_id: str = None,
44849
45174
  resource_type: str = None,
45175
+ tunnel_index: str = None,
44850
45176
  ):
44851
45177
  self.ipv_4sets = ipv_4sets
44852
45178
  self.network_interface_id = network_interface_id
44853
45179
  self.resource_id = resource_id
44854
45180
  self.resource_owner_id = resource_owner_id
44855
45181
  self.resource_type = resource_type
45182
+ self.tunnel_index = tunnel_index
44856
45183
 
44857
45184
  def validate(self):
44858
45185
  if self.ipv_4sets:
@@ -44874,6 +45201,8 @@ class DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkIn
44874
45201
  result['ResourceOwnerId'] = self.resource_owner_id
44875
45202
  if self.resource_type is not None:
44876
45203
  result['ResourceType'] = self.resource_type
45204
+ if self.tunnel_index is not None:
45205
+ result['TunnelIndex'] = self.tunnel_index
44877
45206
  return result
44878
45207
 
44879
45208
  def from_map(self, m: dict = None):
@@ -44889,6 +45218,8 @@ class DescribeNatGatewayAssociateNetworkInterfacesResponseBodyAssociateNetworkIn
44889
45218
  self.resource_owner_id = m.get('ResourceOwnerId')
44890
45219
  if m.get('ResourceType') is not None:
44891
45220
  self.resource_type = m.get('ResourceType')
45221
+ if m.get('TunnelIndex') is not None:
45222
+ self.tunnel_index = m.get('TunnelIndex')
44892
45223
  return self
44893
45224
 
44894
45225
 
@@ -45244,6 +45575,39 @@ class DescribeNatGatewaysRequest(TeaModel):
45244
45575
  return self
45245
45576
 
45246
45577
 
45578
+ class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayAccessMode(TeaModel):
45579
+ def __init__(
45580
+ self,
45581
+ mode_value: str = None,
45582
+ tunnel_type: str = None,
45583
+ ):
45584
+ self.mode_value = mode_value
45585
+ self.tunnel_type = tunnel_type
45586
+
45587
+ def validate(self):
45588
+ pass
45589
+
45590
+ def to_map(self):
45591
+ _map = super().to_map()
45592
+ if _map is not None:
45593
+ return _map
45594
+
45595
+ result = dict()
45596
+ if self.mode_value is not None:
45597
+ result['ModeValue'] = self.mode_value
45598
+ if self.tunnel_type is not None:
45599
+ result['TunnelType'] = self.tunnel_type
45600
+ return result
45601
+
45602
+ def from_map(self, m: dict = None):
45603
+ m = m or dict()
45604
+ if m.get('ModeValue') is not None:
45605
+ self.mode_value = m.get('ModeValue')
45606
+ if m.get('TunnelType') is not None:
45607
+ self.tunnel_type = m.get('TunnelType')
45608
+ return self
45609
+
45610
+
45247
45611
  class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayForwardTableIds(TeaModel):
45248
45612
  def __init__(
45249
45613
  self,
@@ -45577,6 +45941,7 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayTags(TeaModel):
45577
45941
  class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
45578
45942
  def __init__(
45579
45943
  self,
45944
+ access_mode: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayAccessMode = None,
45580
45945
  auto_pay: bool = None,
45581
45946
  business_status: str = None,
45582
45947
  creation_time: str = None,
@@ -45608,6 +45973,7 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
45608
45973
  tags: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayTags = None,
45609
45974
  vpc_id: str = None,
45610
45975
  ):
45976
+ self.access_mode = access_mode
45611
45977
  # Indicates whether automatic payment is enabled. Valid values:
45612
45978
  #
45613
45979
  # * **false**: no
@@ -45714,6 +46080,8 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
45714
46080
  self.vpc_id = vpc_id
45715
46081
 
45716
46082
  def validate(self):
46083
+ if self.access_mode:
46084
+ self.access_mode.validate()
45717
46085
  if self.forward_table_ids:
45718
46086
  self.forward_table_ids.validate()
45719
46087
  if self.full_nat_table_ids:
@@ -45733,6 +46101,8 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
45733
46101
  return _map
45734
46102
 
45735
46103
  result = dict()
46104
+ if self.access_mode is not None:
46105
+ result['AccessMode'] = self.access_mode.to_map()
45736
46106
  if self.auto_pay is not None:
45737
46107
  result['AutoPay'] = self.auto_pay
45738
46108
  if self.business_status is not None:
@@ -45797,6 +46167,9 @@ class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway(TeaModel):
45797
46167
 
45798
46168
  def from_map(self, m: dict = None):
45799
46169
  m = m or dict()
46170
+ if m.get('AccessMode') is not None:
46171
+ temp_model = DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayAccessMode()
46172
+ self.access_mode = temp_model.from_map(m['AccessMode'])
45800
46173
  if m.get('AutoPay') is not None:
45801
46174
  self.auto_pay = m.get('AutoPay')
45802
46175
  if m.get('BusinessStatus') is not None:
@@ -69306,6 +69679,39 @@ class GetNatGatewayAttributeRequest(TeaModel):
69306
69679
  return self
69307
69680
 
69308
69681
 
69682
+ class GetNatGatewayAttributeResponseBodyAccessMode(TeaModel):
69683
+ def __init__(
69684
+ self,
69685
+ mode_value: str = None,
69686
+ tunnel_type: str = None,
69687
+ ):
69688
+ self.mode_value = mode_value
69689
+ self.tunnel_type = tunnel_type
69690
+
69691
+ def validate(self):
69692
+ pass
69693
+
69694
+ def to_map(self):
69695
+ _map = super().to_map()
69696
+ if _map is not None:
69697
+ return _map
69698
+
69699
+ result = dict()
69700
+ if self.mode_value is not None:
69701
+ result['ModeValue'] = self.mode_value
69702
+ if self.tunnel_type is not None:
69703
+ result['TunnelType'] = self.tunnel_type
69704
+ return result
69705
+
69706
+ def from_map(self, m: dict = None):
69707
+ m = m or dict()
69708
+ if m.get('ModeValue') is not None:
69709
+ self.mode_value = m.get('ModeValue')
69710
+ if m.get('TunnelType') is not None:
69711
+ self.tunnel_type = m.get('TunnelType')
69712
+ return self
69713
+
69714
+
69309
69715
  class GetNatGatewayAttributeResponseBodyBillingConfig(TeaModel):
69310
69716
  def __init__(
69311
69717
  self,
@@ -69657,6 +70063,7 @@ class GetNatGatewayAttributeResponseBodySnatTable(TeaModel):
69657
70063
  class GetNatGatewayAttributeResponseBody(TeaModel):
69658
70064
  def __init__(
69659
70065
  self,
70066
+ access_mode: GetNatGatewayAttributeResponseBodyAccessMode = None,
69660
70067
  billing_config: GetNatGatewayAttributeResponseBodyBillingConfig = None,
69661
70068
  business_status: str = None,
69662
70069
  creation_time: str = None,
@@ -69683,6 +70090,7 @@ class GetNatGatewayAttributeResponseBody(TeaModel):
69683
70090
  status: str = None,
69684
70091
  vpc_id: str = None,
69685
70092
  ):
70093
+ self.access_mode = access_mode
69686
70094
  # The billing information.
69687
70095
  self.billing_config = billing_config
69688
70096
  # The service status of the NAT gateway. Valid values:
@@ -69754,6 +70162,8 @@ class GetNatGatewayAttributeResponseBody(TeaModel):
69754
70162
  self.vpc_id = vpc_id
69755
70163
 
69756
70164
  def validate(self):
70165
+ if self.access_mode:
70166
+ self.access_mode.validate()
69757
70167
  if self.billing_config:
69758
70168
  self.billing_config.validate()
69759
70169
  if self.deletion_protection_info:
@@ -69779,6 +70189,8 @@ class GetNatGatewayAttributeResponseBody(TeaModel):
69779
70189
  return _map
69780
70190
 
69781
70191
  result = dict()
70192
+ if self.access_mode is not None:
70193
+ result['AccessMode'] = self.access_mode.to_map()
69782
70194
  if self.billing_config is not None:
69783
70195
  result['BillingConfig'] = self.billing_config.to_map()
69784
70196
  if self.business_status is not None:
@@ -69835,6 +70247,9 @@ class GetNatGatewayAttributeResponseBody(TeaModel):
69835
70247
 
69836
70248
  def from_map(self, m: dict = None):
69837
70249
  m = m or dict()
70250
+ if m.get('AccessMode') is not None:
70251
+ temp_model = GetNatGatewayAttributeResponseBodyAccessMode()
70252
+ self.access_mode = temp_model.from_map(m['AccessMode'])
69838
70253
  if m.get('BillingConfig') is not None:
69839
70254
  temp_model = GetNatGatewayAttributeResponseBodyBillingConfig()
69840
70255
  self.billing_config = temp_model.from_map(m['BillingConfig'])
@@ -80637,9 +81052,11 @@ class ListVpcPublishedRouteEntriesResponseBodyRouteEntriesRoutePublishTargets(Te
80637
81052
  def __init__(
80638
81053
  self,
80639
81054
  publish_status: str = None,
81055
+ publish_target_instance_id: str = None,
80640
81056
  publish_target_type: str = None,
80641
81057
  ):
80642
81058
  self.publish_status = publish_status
81059
+ self.publish_target_instance_id = publish_target_instance_id
80643
81060
  self.publish_target_type = publish_target_type
80644
81061
 
80645
81062
  def validate(self):
@@ -80653,6 +81070,8 @@ class ListVpcPublishedRouteEntriesResponseBodyRouteEntriesRoutePublishTargets(Te
80653
81070
  result = dict()
80654
81071
  if self.publish_status is not None:
80655
81072
  result['PublishStatus'] = self.publish_status
81073
+ if self.publish_target_instance_id is not None:
81074
+ result['PublishTargetInstanceId'] = self.publish_target_instance_id
80656
81075
  if self.publish_target_type is not None:
80657
81076
  result['PublishTargetType'] = self.publish_target_type
80658
81077
  return result
@@ -80661,6 +81080,8 @@ class ListVpcPublishedRouteEntriesResponseBodyRouteEntriesRoutePublishTargets(Te
80661
81080
  m = m or dict()
80662
81081
  if m.get('PublishStatus') is not None:
80663
81082
  self.publish_status = m.get('PublishStatus')
81083
+ if m.get('PublishTargetInstanceId') is not None:
81084
+ self.publish_target_instance_id = m.get('PublishTargetInstanceId')
80664
81085
  if m.get('PublishTargetType') is not None:
80665
81086
  self.publish_target_type = m.get('PublishTargetType')
80666
81087
  return self
@@ -83297,6 +83718,7 @@ class ModifyFlowLogAttributeRequest(TeaModel):
83297
83718
  description: str = None,
83298
83719
  flow_log_id: str = None,
83299
83720
  flow_log_name: str = None,
83721
+ ip_version: str = None,
83300
83722
  owner_account: str = None,
83301
83723
  owner_id: int = None,
83302
83724
  region_id: str = None,
@@ -83317,6 +83739,7 @@ class ModifyFlowLogAttributeRequest(TeaModel):
83317
83739
  #
83318
83740
  # The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.
83319
83741
  self.flow_log_name = flow_log_name
83742
+ self.ip_version = ip_version
83320
83743
  self.owner_account = owner_account
83321
83744
  self.owner_id = owner_id
83322
83745
  # The ID of the region where the flow log is created.
@@ -83345,6 +83768,8 @@ class ModifyFlowLogAttributeRequest(TeaModel):
83345
83768
  result['FlowLogId'] = self.flow_log_id
83346
83769
  if self.flow_log_name is not None:
83347
83770
  result['FlowLogName'] = self.flow_log_name
83771
+ if self.ip_version is not None:
83772
+ result['IpVersion'] = self.ip_version
83348
83773
  if self.owner_account is not None:
83349
83774
  result['OwnerAccount'] = self.owner_account
83350
83775
  if self.owner_id is not None:
@@ -83367,6 +83792,8 @@ class ModifyFlowLogAttributeRequest(TeaModel):
83367
83792
  self.flow_log_id = m.get('FlowLogId')
83368
83793
  if m.get('FlowLogName') is not None:
83369
83794
  self.flow_log_name = m.get('FlowLogName')
83795
+ if m.get('IpVersion') is not None:
83796
+ self.ip_version = m.get('IpVersion')
83370
83797
  if m.get('OwnerAccount') is not None:
83371
83798
  self.owner_account = m.get('OwnerAccount')
83372
83799
  if m.get('OwnerId') is not None:
@@ -86977,6 +87404,7 @@ class ModifyRouteEntryRequest(TeaModel):
86977
87404
  #
86978
87405
  # The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.
86979
87406
  self.description = description
87407
+ # The destination CIDR block of the route entry. Only IPv4 CIDR blocks, IPv6 CIDR blocks, and prefix lists are supported.
86980
87408
  self.destination_cidr_block = destination_cidr_block
86981
87409
  # The ID of the new next hop instance.
86982
87410
  self.new_next_hop_id = new_next_hop_id
@@ -86998,6 +87426,7 @@ class ModifyRouteEntryRequest(TeaModel):
86998
87426
  #
86999
87427
  # The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.
87000
87428
  self.route_entry_name = route_entry_name
87429
+ # The ID of the route table to which the route entry belongs.
87001
87430
  self.route_table_id = route_table_id
87002
87431
 
87003
87432
  def validate(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: alibabacloud-vpc20160428
3
- Version: 6.9.2
3
+ Version: 6.9.4
4
4
  Summary: Alibaba Cloud Virtual Private Cloud (20160428) SDK Library for Python
5
5
  Home-page: https://github.com/aliyun/alibabacloud-python-sdk
6
6
  Author: Alibaba Cloud SDK
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: alibabacloud-endpoint-util (<1.0.0,>=0.0.3)
25
25
  Requires-Dist: alibabacloud-openapi-util (<1.0.0,>=0.2.1)
26
- Requires-Dist: alibabacloud-tea-openapi (<1.0.0,>=0.3.11)
26
+ Requires-Dist: alibabacloud-tea-openapi (<1.0.0,>=0.3.12)
27
27
  Requires-Dist: alibabacloud-tea-util (<1.0.0,>=0.3.13)
28
28
 
29
29
  English | [简体中文](README-CN.md)
@@ -33,7 +33,7 @@ English | [简体中文](README-CN.md)
33
33
 
34
34
  ## Requirements
35
35
 
36
- - Python >= 3.6
36
+ - Python >= 3.7
37
37
 
38
38
  ## Installation
39
39
 
@@ -0,0 +1,8 @@
1
+ alibabacloud_vpc20160428/__init__.py,sha256=ALdy6moOg-815K-o7PStTExaP5zyYYF21Qe45HL862E,21
2
+ alibabacloud_vpc20160428/client.py,sha256=TqwT0fGyCq64pImZBRQ7cvhsmgsS14NnrkPR79ITfys,2825401
3
+ alibabacloud_vpc20160428/models.py,sha256=9EUpdWv3WICmtDdV0bC8pac-wVTOyGB2pPM8HZv9v0Y,4043362
4
+ alibabacloud_vpc20160428-6.9.4.dist-info/LICENSE,sha256=0CFItL6bHvxqS44T6vlLoW2R4Zaic304OO3WxN0oXF0,600
5
+ alibabacloud_vpc20160428-6.9.4.dist-info/METADATA,sha256=040fvtfuXzmnJ_WZ2K9zguJBdIguWO5__wErMLDYPkk,2330
6
+ alibabacloud_vpc20160428-6.9.4.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
7
+ alibabacloud_vpc20160428-6.9.4.dist-info/top_level.txt,sha256=aF3N1qaLDlyXEHXQ7AIBXYBUVWa-5wNpQNKhEiij7uA,25
8
+ alibabacloud_vpc20160428-6.9.4.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- alibabacloud_vpc20160428/__init__.py,sha256=koHtkfNDJDlFtDglToZPVcKm4b-MzgEou6rEP6qWRA8,21
2
- alibabacloud_vpc20160428/client.py,sha256=AM1IrV78R_iIcr9y3H9mXfSQFVe5IIJO18GO13xsdd0,2822525
3
- alibabacloud_vpc20160428/models.py,sha256=4ueLp3o5q3tyFIAMhOu88w1KaFw66_ea8AYZo2nnKnU,4024438
4
- alibabacloud_vpc20160428-6.9.2.dist-info/LICENSE,sha256=0CFItL6bHvxqS44T6vlLoW2R4Zaic304OO3WxN0oXF0,600
5
- alibabacloud_vpc20160428-6.9.2.dist-info/METADATA,sha256=FfK1wcJiGYQZYEO6GCbTBE7St2r2P_oRmiaYSFPg9cw,2330
6
- alibabacloud_vpc20160428-6.9.2.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
7
- alibabacloud_vpc20160428-6.9.2.dist-info/top_level.txt,sha256=aF3N1qaLDlyXEHXQ7AIBXYBUVWa-5wNpQNKhEiij7uA,25
8
- alibabacloud_vpc20160428-6.9.2.dist-info/RECORD,,