zenlayercloud-sdk-python 2.0.47__tar.gz → 2.0.49__tar.gz

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.
Files changed (103) hide show
  1. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/PKG-INFO +1 -1
  2. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/__init__.py +1 -1
  3. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/bmc/v20221120/bmc_client.py +16 -0
  4. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/bmc/v20221120/models.py +26 -0
  5. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/bmc/v20260201/bmc_client.py +9 -0
  6. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/bmc/v20260201/models.py +26 -0
  7. zenlayercloud_sdk_python-2.0.49/zenlayercloud/ipt/v20240901/ipt_client.py +82 -0
  8. zenlayercloud_sdk_python-2.0.49/zenlayercloud/ipt/v20240901/models.py +605 -0
  9. zenlayercloud_sdk_python-2.0.49/zenlayercloud/zrm/__init__.py +0 -0
  10. zenlayercloud_sdk_python-2.0.49/zenlayercloud/zrm/v20251014/__init__.py +0 -0
  11. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud_sdk_python.egg-info/PKG-INFO +1 -1
  12. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +4 -0
  13. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/LICENSE +0 -0
  14. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/README.rst +0 -0
  15. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/setup.cfg +0 -0
  16. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/setup.py +0 -0
  17. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/alarm/__init__.py +0 -0
  18. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/alarm/v20250307/__init__.py +0 -0
  19. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/alarm/v20250307/alarm_client.py +0 -0
  20. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/alarm/v20250307/models.py +0 -0
  21. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/bmc/__init__.py +0 -0
  22. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/bmc/v20221120/__init__.py +0 -0
  23. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/bmc/v20260201/__init__.py +0 -0
  24. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/ccs/__init__.py +0 -0
  25. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/ccs/v20250901/__init__.py +0 -0
  26. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/ccs/v20250901/ccs_client.py +0 -0
  27. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/ccs/v20250901/models.py +0 -0
  28. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/__init__.py +0 -0
  29. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/abstract_client.py +0 -0
  30. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/abstract_model.py +0 -0
  31. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/config.py +0 -0
  32. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/credential.py +0 -0
  33. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/excpetion/__init__.py +0 -0
  34. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/excpetion/error_code.py +0 -0
  35. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
  36. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/request.py +0 -0
  37. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/response.py +0 -0
  38. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/common/utils.py +0 -0
  39. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/pvtdns → zenlayercloud_sdk_python-2.0.49/zenlayercloud/ipt}/__init__.py +0 -0
  40. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/pvtdns/v20251101 → zenlayercloud_sdk_python-2.0.49/zenlayercloud/ipt/v20240901}/__init__.py +0 -0
  41. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/maintenance/__init__.py +0 -0
  42. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/maintenance/v20250310/__init__.py +0 -0
  43. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/maintenance/v20250310/maintenance_client.py +0 -0
  44. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/maintenance/v20250310/models.py +0 -0
  45. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/traffic → zenlayercloud_sdk_python-2.0.49/zenlayercloud/pvtdns}/__init__.py +0 -0
  46. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/traffic/v20240326 → zenlayercloud_sdk_python-2.0.49/zenlayercloud/pvtdns/v20251101}/__init__.py +0 -0
  47. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/pvtdns/v20251101/models.py +0 -0
  48. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/pvtdns/v20251101/pvtdns_client.py +0 -0
  49. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/sdn/__init__.py +0 -0
  50. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/sdn/v20230830/__init__.py +0 -0
  51. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/sdn/v20230830/models.py +0 -0
  52. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/sdn/v20230830/sdn_client.py +0 -0
  53. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/vm → zenlayercloud_sdk_python-2.0.49/zenlayercloud/traffic}/__init__.py +0 -0
  54. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/vm/v20260401 → zenlayercloud_sdk_python-2.0.49/zenlayercloud/traffic/v20240326}/__init__.py +0 -0
  55. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/traffic/v20240326/models.py +0 -0
  56. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/traffic/v20240326/traffic_client.py +0 -0
  57. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/user/__init__.py +0 -0
  58. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/user/v20240529/__init__.py +0 -0
  59. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/user/v20240529/models.py +0 -0
  60. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/user/v20240529/user_client.py +0 -0
  61. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zdns → zenlayercloud_sdk_python-2.0.49/zenlayercloud/vm}/__init__.py +0 -0
  62. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/vm/v20230313/__init__.py +0 -0
  63. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/vm/v20230313/models.py +0 -0
  64. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/vm/v20230313/vm_client.py +0 -0
  65. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zdns/v20251101 → zenlayercloud_sdk_python-2.0.49/zenlayercloud/vm/v20260401}/__init__.py +0 -0
  66. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/vm/v20260401/models.py +0 -0
  67. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/vm/v20260401/vm_client.py +0 -0
  68. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zbc/__init__.py +0 -0
  69. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zbc/v20240809/__init__.py +0 -0
  70. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zbc/v20240809/models.py +0 -0
  71. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zbc/v20240809/zbc_client.py +0 -0
  72. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zec → zenlayercloud_sdk_python-2.0.49/zenlayercloud/zdns}/__init__.py +0 -0
  73. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zec/v20250901 → zenlayercloud_sdk_python-2.0.49/zenlayercloud/zdns/v20251101}/__init__.py +0 -0
  74. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zdns/v20251101/models.py +0 -0
  75. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zdns/v20251101/zdns_client.py +0 -0
  76. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zlb → zenlayercloud_sdk_python-2.0.49/zenlayercloud/zec}/__init__.py +0 -0
  77. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zec/v20240401/__init__.py +0 -0
  78. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zec/v20240401/models.py +0 -0
  79. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zec/v20240401/zec_client.py +0 -0
  80. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zlb/v20250401 → zenlayercloud_sdk_python-2.0.49/zenlayercloud/zec/v20250901}/__init__.py +0 -0
  81. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zec/v20250901/models.py +0 -0
  82. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zec/v20250901/zec_client.py +0 -0
  83. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zga/__init__.py +0 -0
  84. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zga/v20241104/__init__.py +0 -0
  85. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zga/v20241104/models.py +0 -0
  86. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
  87. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zos → zenlayercloud_sdk_python-2.0.49/zenlayercloud/zlb}/__init__.py +0 -0
  88. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zos/v20251010 → zenlayercloud_sdk_python-2.0.49/zenlayercloud/zlb/v20250401}/__init__.py +0 -0
  89. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zlb/v20250401/models.py +0 -0
  90. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zlb/v20250401/zlb_client.py +0 -0
  91. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zls/__init__.py +0 -0
  92. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zls/v20230804/__init__.py +0 -0
  93. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zls/v20230804/models.py +0 -0
  94. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
  95. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zrm → zenlayercloud_sdk_python-2.0.49/zenlayercloud/zos}/__init__.py +0 -0
  96. {zenlayercloud_sdk_python-2.0.47/zenlayercloud/zrm/v20251014 → zenlayercloud_sdk_python-2.0.49/zenlayercloud/zos/v20251010}/__init__.py +0 -0
  97. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zos/v20251010/models.py +0 -0
  98. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zos/v20251010/zos_client.py +0 -0
  99. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zrm/v20251014/models.py +0 -0
  100. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud/zrm/v20251014/zrm_client.py +0 -0
  101. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
  102. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
  103. {zenlayercloud_sdk_python-2.0.47 → zenlayercloud_sdk_python-2.0.49}/zenlayercloud_sdk_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zenlayercloud-sdk-python
3
- Version: 2.0.47
3
+ Version: 2.0.49
4
4
  Summary: Zenlayer Cloud SDK for Python
5
5
  Home-page: https://github.com/zenlayer/zenlayercloud-sdk-python
6
6
  Author: Zenlayer Cloud
@@ -1,5 +1,5 @@
1
1
  # Zenlayer.com Inc.
2
2
  # Copyright (c) 2014-2023 All Rights Reserved.
3
3
 
4
- __version__ = "2.0.047"
4
+ __version__ = "2.0.049"
5
5
 
@@ -5,6 +5,13 @@ from zenlayercloud.common.abstract_client import AbstractClient
5
5
 
6
6
 
7
7
  class BmcClient(AbstractClient):
8
+ """
9
+ For maintaining enhanced SDK consistency. This client is no longer maintained.
10
+
11
+ .. deprecated:: v20221120
12
+ Using :class:`v20260201.BmcClient` instead。
13
+ """
14
+
8
15
  _api_version = "2022-11-20"
9
16
  _service = "bmc"
10
17
 
@@ -268,6 +275,15 @@ class BmcClient(AbstractClient):
268
275
  model._deserialize(response)
269
276
  return model
270
277
 
278
+ def CreateByoip(self, request):
279
+ """
280
+ 创建一个BYO IP。
281
+ """
282
+ response = self._api_call("CreateByoip", request)
283
+ model = models.CreateByoipResponse()
284
+ model._deserialize(response)
285
+ return model
286
+
271
287
  def InquiryPriceCreateEipAddress(self, request):
272
288
  response = self._api_call("InquiryPriceCreateEipAddress", request)
273
289
 
@@ -1579,6 +1579,32 @@ class UnAssociateEipAddressResponse(AbstractModel):
1579
1579
  self.requestId = params.get("requestId")
1580
1580
 
1581
1581
 
1582
+ class CreateByoipRequest(AbstractModel):
1583
+ def __init__(self):
1584
+ self.ipType = None
1585
+ self.cidr = None
1586
+ self.asn = None
1587
+ self.publicVirtualInterfaceId = None
1588
+
1589
+ def _deserialize(self, params):
1590
+ self.ipType = params.get("ipType")
1591
+ self.cidr = params.get("cidr")
1592
+ self.asn = params.get("asn")
1593
+ self.publicVirtualInterfaceId = params.get("publicVirtualInterfaceId")
1594
+
1595
+
1596
+ class CreateByoipResponse(AbstractModel):
1597
+ def __init__(self):
1598
+ self.requestId = None
1599
+ self.byoipId = None
1600
+ self.cidrBlockId = None
1601
+
1602
+ def _deserialize(self, params):
1603
+ self.requestId = params.get("requestId")
1604
+ self.byoipId = params.get("byoipId")
1605
+ self.cidrBlockId = params.get("cidrBlockId")
1606
+
1607
+
1582
1608
  class InquiryPriceCreateEipAddressRequest(AbstractModel):
1583
1609
 
1584
1610
  def __init__(self):
@@ -431,6 +431,15 @@ class BmcClient(AbstractClient):
431
431
  model._deserialize(response)
432
432
  return model
433
433
 
434
+ def CreateByoip(self, request):
435
+ """
436
+ 创建一个BYO IP。
437
+ """
438
+ response = self._api_call("CreateByoip", request)
439
+ model = models.CreateByoipResponse()
440
+ model._deserialize(response)
441
+ return model
442
+
434
443
  def InquiryPriceCreateEipAddress(self, request):
435
444
  """
436
445
  创建EIP询价。
@@ -1942,6 +1942,32 @@ class UnbindCidrBlockIpsResponse(AbstractModel):
1942
1942
  self.requestId = params.get("requestId")
1943
1943
 
1944
1944
 
1945
+ class CreateByoipRequest(AbstractModel):
1946
+ def __init__(self):
1947
+ self.ipType = None
1948
+ self.cidr = None
1949
+ self.asn = None
1950
+ self.publicVirtualInterfaceId = None
1951
+
1952
+ def _deserialize(self, params):
1953
+ self.ipType = params.get("ipType")
1954
+ self.cidr = params.get("cidr")
1955
+ self.asn = params.get("asn")
1956
+ self.publicVirtualInterfaceId = params.get("publicVirtualInterfaceId")
1957
+
1958
+
1959
+ class CreateByoipResponse(AbstractModel):
1960
+ def __init__(self):
1961
+ self.requestId = None
1962
+ self.byoipId = None
1963
+ self.cidrBlockId = None
1964
+
1965
+ def _deserialize(self, params):
1966
+ self.requestId = params.get("requestId")
1967
+ self.byoipId = params.get("byoipId")
1968
+ self.cidrBlockId = params.get("cidrBlockId")
1969
+
1970
+
1945
1971
  class InquiryPriceCreateEipAddressRequest(AbstractModel):
1946
1972
  def __init__(self):
1947
1973
  self.zoneId = None
@@ -0,0 +1,82 @@
1
+ # Zenlayer.com Inc.
2
+ # Copyright (c) 2014-2024 All Rights Reserved.
3
+ from zenlayercloud.ipt.v20240901 import models
4
+ from zenlayercloud.common.abstract_client import AbstractClient
5
+
6
+
7
+ class IptClient(AbstractClient):
8
+ _api_version = "2024-09-01"
9
+ _service = "ipt"
10
+
11
+ def DescribeIPTransitDatacenters(self, request):
12
+ """
13
+ 本接口用于连接IP Transit 服务支持的数据中心。
14
+ """
15
+ response = self._api_call("DescribeIPTransitDatacenters", request)
16
+ model = models.DescribeIPTransitDatacentersResponse()
17
+ model._deserialize(response)
18
+ return model
19
+
20
+ def InquiryCreateIPTransitPrice(self, request):
21
+ """
22
+ 创建一条IP Transit 的询价。
23
+ """
24
+ response = self._api_call("InquiryCreateIPTransitPrice", request)
25
+ model = models.InquiryCreateIPTransitPriceResponse()
26
+ model._deserialize(response)
27
+ return model
28
+
29
+ def CreateIPTransit(self, request):
30
+ """
31
+ 创建一条IP Transit。
32
+ """
33
+ response = self._api_call("CreateIPTransit", request)
34
+ model = models.CreateIPTransitResponse()
35
+ model._deserialize(response)
36
+ return model
37
+
38
+ def DescribeIPTransits(self, request):
39
+ """
40
+ 本接口用于查询IP Transit资源列表。
41
+ """
42
+ response = self._api_call("DescribeIPTransits", request)
43
+ model = models.DescribeIPTransitsResponse()
44
+ model._deserialize(response)
45
+ return model
46
+
47
+ def ModifyIPTransitBandwidth(self, request):
48
+ """
49
+ 修改一条IP Transit的带宽限速。
50
+ """
51
+ response = self._api_call("ModifyIPTransitBandwidth", request)
52
+ model = models.ModifyIPTransitBandwidthResponse()
53
+ model._deserialize(response)
54
+ return model
55
+
56
+ def ModifyIPTransitsAttribute(self, request):
57
+ """
58
+ 修改IP Transit的基本信息,包括名称和备注。
59
+ """
60
+ response = self._api_call("ModifyIPTransitsAttribute", request)
61
+ model = models.ModifyIPTransitsAttributeResponse()
62
+ model._deserialize(response)
63
+ return model
64
+
65
+ def DeleteIPTransit(self, request):
66
+ """
67
+ 删除一条IP Transit。
68
+ """
69
+ response = self._api_call("DeleteIPTransit", request)
70
+ model = models.DeleteIPTransitResponse()
71
+ model._deserialize(response)
72
+ return model
73
+
74
+ def DescribeIPTransitTraffic(self, request):
75
+ """
76
+ 查询IP Transit在指定时间段内的带宽数据。
77
+ """
78
+ response = self._api_call("DescribeIPTransitTraffic", request)
79
+ model = models.DescribeIPTransitTrafficResponse()
80
+ model._deserialize(response)
81
+ return model
82
+
@@ -0,0 +1,605 @@
1
+ # Zenlayer.com Inc.
2
+ # Copyright (c) 2014-2024 All Rights Reserved.
3
+ from zenlayercloud.common.abstract_model import AbstractModel
4
+ import warnings
5
+
6
+ class DescribeIPTransitDatacentersRequest(AbstractModel):
7
+ def __init__(self):
8
+ self.peerPortId = None
9
+ self.peerDcId = None
10
+
11
+ def _deserialize(self, params):
12
+ self.peerPortId = params.get("peerPortId")
13
+ self.peerDcId = params.get("peerDcId")
14
+
15
+
16
+ class DescribeIPTransitDatacentersResponse(AbstractModel):
17
+ def __init__(self):
18
+ self.requestId = None
19
+ self.supportSet = None
20
+
21
+ def _deserialize(self, params):
22
+ self.requestId = params.get("requestId")
23
+ if params.get("supportSet") is not None:
24
+ self.supportSet = []
25
+ for item in params.get("supportSet"):
26
+ obj = IPTransitDatacenter(item)
27
+ self.supportSet.append(obj)
28
+
29
+
30
+ class IPTransitDatacenter(AbstractModel):
31
+ def __init__(self, params=None):
32
+ if params is None:
33
+ params = {}
34
+ if len(params) > 0:
35
+ self._deserialize(params)
36
+ return
37
+ self.dataCenter = None
38
+ self.availableRoutingTypes = None
39
+
40
+ def _deserialize(self, params):
41
+ if params.get("dataCenter") is not None:
42
+ self.dataCenter = DatacenterInfo(params.get("dataCenter"))
43
+ if params.get("availableRoutingTypes") is not None:
44
+ self.availableRoutingTypes = []
45
+ for item in params.get("availableRoutingTypes"):
46
+ obj = RemoteIptAvailableRoutingType(item)
47
+ self.availableRoutingTypes.append(obj)
48
+
49
+
50
+ class DatacenterInfo(AbstractModel):
51
+ def __init__(self, params=None):
52
+ if params is None:
53
+ params = {}
54
+ if len(params) > 0:
55
+ self._deserialize(params)
56
+ return
57
+ self.dcId = None
58
+ self.dcName = None
59
+ self.dcAddress = None
60
+ self.cityName = None
61
+ self.countryName = None
62
+ self.areaName = None
63
+ self.latitude = None
64
+ self.longitude = None
65
+
66
+ def _deserialize(self, params):
67
+ self.dcId = params.get("dcId")
68
+ self.dcName = params.get("dcName")
69
+ self.dcAddress = params.get("dcAddress")
70
+ self.cityName = params.get("cityName")
71
+ self.countryName = params.get("countryName")
72
+ self.areaName = params.get("areaName")
73
+ self.latitude = params.get("latitude")
74
+ self.longitude = params.get("longitude")
75
+
76
+
77
+ class RemoteIptAvailableRoutingType(AbstractModel):
78
+ def __init__(self, params=None):
79
+ if params is None:
80
+ params = {}
81
+ if len(params) > 0:
82
+ self._deserialize(params)
83
+ return
84
+ self.routingType = None
85
+ self.deliveryType = None
86
+
87
+ def _deserialize(self, params):
88
+ self.routingType = params.get("routingType")
89
+ self.deliveryType = params.get("deliveryType")
90
+
91
+
92
+ class InquiryCreateIPTransitPriceRequest(AbstractModel):
93
+ def __init__(self):
94
+ self.peerPortId = None
95
+ self.iptDcId = None
96
+ self.internetType = None
97
+ self.commitBandwidth = None
98
+ self.bandwidth = None
99
+ self.routingType = None
100
+ self.publicIPv4BlockSize = None
101
+ self.bgpRouteType = None
102
+
103
+ def _deserialize(self, params):
104
+ self.peerPortId = params.get("peerPortId")
105
+ self.iptDcId = params.get("iptDcId")
106
+ self.internetType = params.get("internetType")
107
+ self.commitBandwidth = params.get("commitBandwidth")
108
+ self.bandwidth = params.get("bandwidth")
109
+ self.routingType = params.get("routingType")
110
+ self.publicIPv4BlockSize = params.get("publicIPv4BlockSize")
111
+ self.bgpRouteType = params.get("bgpRouteType")
112
+
113
+
114
+ class InquiryCreateIPTransitPriceResponse(AbstractModel):
115
+ def __init__(self):
116
+ self.requestId = None
117
+ self.privateConnectPrice = None
118
+ self.iptBandwidthPrice = None
119
+ self.publicIpPrices = None
120
+
121
+ def _deserialize(self, params):
122
+ self.requestId = params.get("requestId")
123
+ if params.get("privateConnectPrice") is not None:
124
+ self.privateConnectPrice = PriceItem(params.get("privateConnectPrice"))
125
+ if params.get("iptBandwidthPrice") is not None:
126
+ self.iptBandwidthPrice = PriceItem(params.get("iptBandwidthPrice"))
127
+ if params.get("publicIpPrices") is not None:
128
+ self.publicIpPrices = []
129
+ for item in params.get("publicIpPrices"):
130
+ obj = IPPrice(item)
131
+ self.publicIpPrices.append(obj)
132
+
133
+
134
+ class PriceItem(AbstractModel):
135
+ def __init__(self, params=None):
136
+ if params is None:
137
+ params = {}
138
+ if len(params) > 0:
139
+ self._deserialize(params)
140
+ return
141
+ self.discount = None
142
+ self.discountPrice = None
143
+ self.originalPrice = None
144
+ self.unitPrice = None
145
+ self.discountUnitPrice = None
146
+ self.chargeUnit = None
147
+ self.stepPrices = None
148
+ self.amountUnit = None
149
+ self.excessUnitPrice = None
150
+ self.excessDiscountUnitPrice = None
151
+ self.excessAmountUnit = None
152
+ self.category = None
153
+
154
+ def _deserialize(self, params):
155
+ self.discount = params.get("discount")
156
+ self.discountPrice = params.get("discountPrice")
157
+ self.originalPrice = params.get("originalPrice")
158
+ self.unitPrice = params.get("unitPrice")
159
+ self.discountUnitPrice = params.get("discountUnitPrice")
160
+ self.chargeUnit = params.get("chargeUnit")
161
+ if params.get("stepPrices") is not None:
162
+ self.stepPrices = []
163
+ for item in params.get("stepPrices"):
164
+ obj = StepPrice(item)
165
+ self.stepPrices.append(obj)
166
+ self.amountUnit = params.get("amountUnit")
167
+ self.excessUnitPrice = params.get("excessUnitPrice")
168
+ self.excessDiscountUnitPrice = params.get("excessDiscountUnitPrice")
169
+ self.excessAmountUnit = params.get("excessAmountUnit")
170
+ self.category = params.get("category")
171
+
172
+
173
+ class StepPrice(AbstractModel):
174
+ def __init__(self, params=None):
175
+ if params is None:
176
+ params = {}
177
+ if len(params) > 0:
178
+ self._deserialize(params)
179
+ return
180
+ self.stepStart = None
181
+ self.stepEnd = None
182
+ self.unitPrice = None
183
+ self.discountUnitPrice = None
184
+
185
+ def _deserialize(self, params):
186
+ self.stepStart = params.get("stepStart")
187
+ self.stepEnd = params.get("stepEnd")
188
+ self.unitPrice = params.get("unitPrice")
189
+ self.discountUnitPrice = params.get("discountUnitPrice")
190
+
191
+
192
+ class IPPrice(AbstractModel):
193
+ def __init__(self, params=None):
194
+ if params is None:
195
+ params = {}
196
+ if len(params) > 0:
197
+ self._deserialize(params)
198
+ return
199
+ self.price = None
200
+ self.netmask = None
201
+ self.qty = None
202
+
203
+ def _deserialize(self, params):
204
+ if params.get("price") is not None:
205
+ self.price = PriceItem(params.get("price"))
206
+ self.netmask = params.get("netmask")
207
+ self.qty = params.get("qty")
208
+
209
+
210
+ class CreateIPTransitRequest(AbstractModel):
211
+ def __init__(self):
212
+ self.iptName = None
213
+ self.iptDescription = None
214
+ self.peerPortId = None
215
+ self.peerPortVlan = None
216
+ self.iptDcId = None
217
+ self.internetType = None
218
+ self.commitBandwidth = None
219
+ self.bandwidth = None
220
+ self.routingType = None
221
+ self.publicIPv4BlockSize = None
222
+ self.bfd = None
223
+ self.resourceGroupId = None
224
+ self.bgp = None
225
+ self.tags = None
226
+
227
+ def _deserialize(self, params):
228
+ self.iptName = params.get("iptName")
229
+ self.iptDescription = params.get("iptDescription")
230
+ self.peerPortId = params.get("peerPortId")
231
+ self.peerPortVlan = params.get("peerPortVlan")
232
+ self.iptDcId = params.get("iptDcId")
233
+ self.internetType = params.get("internetType")
234
+ self.commitBandwidth = params.get("commitBandwidth")
235
+ self.bandwidth = params.get("bandwidth")
236
+ self.routingType = params.get("routingType")
237
+ self.publicIPv4BlockSize = params.get("publicIPv4BlockSize")
238
+ if params.get("bfd") is not None:
239
+ self.bfd = BFDConfig(params.get("bfd"))
240
+ self.resourceGroupId = params.get("resourceGroupId")
241
+ if params.get("bgp") is not None:
242
+ self.bgp = RiptBgpConfig(params.get("bgp"))
243
+ if params.get("tags") is not None:
244
+ self.tags = TagAssociation(params.get("tags"))
245
+
246
+
247
+ class BFDConfig(AbstractModel):
248
+ def __init__(self, params=None):
249
+ if params is None:
250
+ params = {}
251
+ if len(params) > 0:
252
+ self._deserialize(params)
253
+ return
254
+ self.bfdTxInterval = None
255
+ self.bfdRxInterval = None
256
+ self.bfdMultiplier = None
257
+
258
+ def _deserialize(self, params):
259
+ self.bfdTxInterval = params.get("bfdTxInterval")
260
+ self.bfdRxInterval = params.get("bfdRxInterval")
261
+ self.bfdMultiplier = params.get("bfdMultiplier")
262
+
263
+
264
+ class RiptBgpConfig(AbstractModel):
265
+ def __init__(self, params=None):
266
+ if params is None:
267
+ params = {}
268
+ if len(params) > 0:
269
+ self._deserialize(params)
270
+ return
271
+ self.routeType = None
272
+ self.asn = None
273
+ self.password = None
274
+ self.asnList = None
275
+ self.asSetList = None
276
+
277
+ def _deserialize(self, params):
278
+ self.routeType = params.get("routeType")
279
+ self.asn = params.get("asn")
280
+ self.password = params.get("password")
281
+ self.asnList = params.get("asnList")
282
+ self.asSetList = params.get("asSetList")
283
+
284
+
285
+ class TagAssociation(AbstractModel):
286
+ def __init__(self, params=None):
287
+ if params is None:
288
+ params = {}
289
+ if len(params) > 0:
290
+ self._deserialize(params)
291
+ return
292
+ self.tags = None
293
+
294
+ def _deserialize(self, params):
295
+ if params.get("tags") is not None:
296
+ self.tags = []
297
+ for item in params.get("tags"):
298
+ obj = Tag(item)
299
+ self.tags.append(obj)
300
+
301
+
302
+ class Tag(AbstractModel):
303
+ def __init__(self, params=None):
304
+ if params is None:
305
+ params = {}
306
+ if len(params) > 0:
307
+ self._deserialize(params)
308
+ return
309
+ self.key = None
310
+ self.value = None
311
+
312
+ def _deserialize(self, params):
313
+ self.key = params.get("key")
314
+ self.value = params.get("value")
315
+
316
+
317
+ class CreateIPTransitResponse(AbstractModel):
318
+ def __init__(self):
319
+ self.requestId = None
320
+ self.orderNumber = None
321
+ self.iptId = None
322
+
323
+ def _deserialize(self, params):
324
+ self.requestId = params.get("requestId")
325
+ self.orderNumber = params.get("orderNumber")
326
+ self.iptId = params.get("iptId")
327
+
328
+
329
+ class DescribeIPTransitsRequest(AbstractModel):
330
+ def __init__(self):
331
+ self.iptIds = None
332
+ self.iptName = None
333
+ self.resourceGroupId = None
334
+ self.peerPortId = None
335
+ self.iptDcId = None
336
+ self.pageSize = None
337
+ self.pageNum = None
338
+ self.tagKeys = None
339
+ self.tags = None
340
+
341
+ def _deserialize(self, params):
342
+ self.iptIds = params.get("iptIds")
343
+ self.iptName = params.get("iptName")
344
+ self.resourceGroupId = params.get("resourceGroupId")
345
+ self.peerPortId = params.get("peerPortId")
346
+ self.iptDcId = params.get("iptDcId")
347
+ self.pageSize = params.get("pageSize")
348
+ self.pageNum = params.get("pageNum")
349
+ self.tagKeys = params.get("tagKeys")
350
+ if params.get("tags") is not None:
351
+ self.tags = []
352
+ for item in params.get("tags"):
353
+ obj = Tag(item)
354
+ self.tags.append(obj)
355
+
356
+
357
+ class DescribeIPTransitsResponse(AbstractModel):
358
+ def __init__(self):
359
+ self.requestId = None
360
+ self.totalCount = None
361
+ self.dataSet = None
362
+
363
+ def _deserialize(self, params):
364
+ self.requestId = params.get("requestId")
365
+ self.totalCount = params.get("totalCount")
366
+ if params.get("dataSet") is not None:
367
+ self.dataSet = []
368
+ for item in params.get("dataSet"):
369
+ obj = IPTransit(item)
370
+ self.dataSet.append(obj)
371
+
372
+
373
+ class IPTransit(AbstractModel):
374
+ def __init__(self, params=None):
375
+ if params is None:
376
+ params = {}
377
+ if len(params) > 0:
378
+ self._deserialize(params)
379
+ return
380
+ self.iptId = None
381
+ self.iptName = None
382
+ self.iptDescription = None
383
+ self.dataCenter = None
384
+ self.peerPortId = None
385
+ self.peerPortName = None
386
+ self.peerDataCenter = None
387
+ self.deliveryType = None
388
+ self.resourceGroupId = None
389
+ self.resourceGroupName = None
390
+ self.createTime = None
391
+ self.routingType = None
392
+ self.internetType = None
393
+ self.bandwidth = None
394
+ self.commitBandwidth = None
395
+ self.bfd = None
396
+ self.bgp = None
397
+ self.interconnect = None
398
+ self.privateConnectId = None
399
+ self.privateConnectName = None
400
+ self.publicIpv4Addresses = None
401
+ self.iptStatus = None
402
+ self.tags = None
403
+
404
+ def _deserialize(self, params):
405
+ self.iptId = params.get("iptId")
406
+ self.iptName = params.get("iptName")
407
+ self.iptDescription = params.get("iptDescription")
408
+ if params.get("dataCenter") is not None:
409
+ self.dataCenter = DatacenterInfo(params.get("dataCenter"))
410
+ self.peerPortId = params.get("peerPortId")
411
+ self.peerPortName = params.get("peerPortName")
412
+ if params.get("peerDataCenter") is not None:
413
+ self.peerDataCenter = DatacenterInfo(params.get("peerDataCenter"))
414
+ self.deliveryType = params.get("deliveryType")
415
+ self.resourceGroupId = params.get("resourceGroupId")
416
+ self.resourceGroupName = params.get("resourceGroupName")
417
+ self.createTime = params.get("createTime")
418
+ self.routingType = params.get("routingType")
419
+ self.internetType = params.get("internetType")
420
+ self.bandwidth = params.get("bandwidth")
421
+ self.commitBandwidth = params.get("commitBandwidth")
422
+ if params.get("bfd") is not None:
423
+ self.bfd = BFDConfig(params.get("bfd"))
424
+ if params.get("bgp") is not None:
425
+ self.bgp = RiptBgpConfig(params.get("bgp"))
426
+ if params.get("interconnect") is not None:
427
+ self.interconnect = Interconnect(params.get("interconnect"))
428
+ self.privateConnectId = params.get("privateConnectId")
429
+ self.privateConnectName = params.get("privateConnectName")
430
+ if params.get("publicIpv4Addresses") is not None:
431
+ self.publicIpv4Addresses = []
432
+ for item in params.get("publicIpv4Addresses"):
433
+ obj = IPAddress(item)
434
+ self.publicIpv4Addresses.append(obj)
435
+ self.iptStatus = params.get("iptStatus")
436
+ if params.get("tags") is not None:
437
+ self.tags = Tags(params.get("tags"))
438
+
439
+
440
+ class Interconnect(AbstractModel):
441
+ def __init__(self, params=None):
442
+ if params is None:
443
+ params = {}
444
+ if len(params) > 0:
445
+ self._deserialize(params)
446
+ return
447
+ self.vendorIpv4Address = None
448
+ self.customerIpv4Address = None
449
+
450
+ def _deserialize(self, params):
451
+ self.vendorIpv4Address = params.get("vendorIpv4Address")
452
+ self.customerIpv4Address = params.get("customerIpv4Address")
453
+
454
+
455
+ class IPAddress(AbstractModel):
456
+ def __init__(self, params=None):
457
+ if params is None:
458
+ params = {}
459
+ if len(params) > 0:
460
+ self._deserialize(params)
461
+ return
462
+ self.ipAddress = None
463
+ self.netmask = None
464
+ self.gatewayIpAddress = None
465
+
466
+ def _deserialize(self, params):
467
+ self.ipAddress = params.get("ipAddress")
468
+ self.netmask = params.get("netmask")
469
+ self.gatewayIpAddress = params.get("gatewayIpAddress")
470
+
471
+
472
+ class Tags(AbstractModel):
473
+ def __init__(self, params=None):
474
+ if params is None:
475
+ params = {}
476
+ if len(params) > 0:
477
+ self._deserialize(params)
478
+ return
479
+ self.tags = None
480
+
481
+ def _deserialize(self, params):
482
+ if params.get("tags") is not None:
483
+ self.tags = []
484
+ for item in params.get("tags"):
485
+ obj = Tag(item)
486
+ self.tags.append(obj)
487
+
488
+
489
+ class ModifyIPTransitBandwidthRequest(AbstractModel):
490
+ def __init__(self):
491
+ self.iptId = None
492
+ self.bandwidth = None
493
+ self.commitBandwidth = None
494
+
495
+ def _deserialize(self, params):
496
+ self.iptId = params.get("iptId")
497
+ self.bandwidth = params.get("bandwidth")
498
+ self.commitBandwidth = params.get("commitBandwidth")
499
+
500
+
501
+ class ModifyIPTransitBandwidthResponse(AbstractModel):
502
+ def __init__(self):
503
+ self.requestId = None
504
+
505
+ def _deserialize(self, params):
506
+ self.requestId = params.get("requestId")
507
+
508
+
509
+ class ModifyIPTransitsAttributeRequest(AbstractModel):
510
+ def __init__(self):
511
+ self.iptIds = None
512
+ self.iptName = None
513
+ self.iptDescription = None
514
+
515
+ def _deserialize(self, params):
516
+ self.iptIds = params.get("iptIds")
517
+ self.iptName = params.get("iptName")
518
+ self.iptDescription = params.get("iptDescription")
519
+
520
+
521
+ class ModifyIPTransitsAttributeResponse(AbstractModel):
522
+ def __init__(self):
523
+ self.requestId = None
524
+
525
+ def _deserialize(self, params):
526
+ self.requestId = params.get("requestId")
527
+
528
+
529
+ class DeleteIPTransitRequest(AbstractModel):
530
+ def __init__(self):
531
+ self.iptId = None
532
+
533
+ def _deserialize(self, params):
534
+ self.iptId = params.get("iptId")
535
+
536
+
537
+ class DeleteIPTransitResponse(AbstractModel):
538
+ def __init__(self):
539
+ self.requestId = None
540
+
541
+ def _deserialize(self, params):
542
+ self.requestId = params.get("requestId")
543
+
544
+
545
+ class DescribeIPTransitTrafficRequest(AbstractModel):
546
+ def __init__(self):
547
+ self.iptId = None
548
+ self.startTime = None
549
+ self.endTime = None
550
+
551
+ def _deserialize(self, params):
552
+ self.iptId = params.get("iptId")
553
+ self.startTime = params.get("startTime")
554
+ self.endTime = params.get("endTime")
555
+
556
+
557
+ class DescribeIPTransitTrafficResponse(AbstractModel):
558
+ def __init__(self):
559
+ self.requestId = None
560
+ self.dataList = None
561
+ self.in95 = None
562
+ self.inAvg = None
563
+ self.inMax = None
564
+ self.inMin = None
565
+ self.out95 = None
566
+ self.outAvg = None
567
+ self.outMax = None
568
+ self.outMin = None
569
+ self.unit = None
570
+
571
+ def _deserialize(self, params):
572
+ self.requestId = params.get("requestId")
573
+ if params.get("dataList") is not None:
574
+ self.dataList = []
575
+ for item in params.get("dataList"):
576
+ obj = TrafficData(item)
577
+ self.dataList.append(obj)
578
+ self.in95 = params.get("in95")
579
+ self.inAvg = params.get("inAvg")
580
+ self.inMax = params.get("inMax")
581
+ self.inMin = params.get("inMin")
582
+ self.out95 = params.get("out95")
583
+ self.outAvg = params.get("outAvg")
584
+ self.outMax = params.get("outMax")
585
+ self.outMin = params.get("outMin")
586
+ self.unit = params.get("unit")
587
+
588
+
589
+ class TrafficData(AbstractModel):
590
+ def __init__(self, params=None):
591
+ if params is None:
592
+ params = {}
593
+ if len(params) > 0:
594
+ self._deserialize(params)
595
+ return
596
+ self.internetRX = None
597
+ self.internetTX = None
598
+ self.time = None
599
+
600
+ def _deserialize(self, params):
601
+ self.internetRX = params.get("internetRX")
602
+ self.internetTX = params.get("internetTX")
603
+ self.time = params.get("time")
604
+
605
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zenlayercloud-sdk-python
3
- Version: 2.0.47
3
+ Version: 2.0.49
4
4
  Summary: Zenlayer Cloud SDK for Python
5
5
  Home-page: https://github.com/zenlayer/zenlayercloud-sdk-python
6
6
  Author: Zenlayer Cloud
@@ -28,6 +28,10 @@ zenlayercloud/common/utils.py
28
28
  zenlayercloud/common/excpetion/__init__.py
29
29
  zenlayercloud/common/excpetion/error_code.py
30
30
  zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py
31
+ zenlayercloud/ipt/__init__.py
32
+ zenlayercloud/ipt/v20240901/__init__.py
33
+ zenlayercloud/ipt/v20240901/ipt_client.py
34
+ zenlayercloud/ipt/v20240901/models.py
31
35
  zenlayercloud/maintenance/__init__.py
32
36
  zenlayercloud/maintenance/v20250310/__init__.py
33
37
  zenlayercloud/maintenance/v20250310/maintenance_client.py