baiducloud-python-sdk-vpc 0.0.4__tar.gz → 0.0.6__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 (104) hide show
  1. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/ChangeLog.md +4 -0
  2. {baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc.egg-info → baiducloud_python_sdk_vpc-0.0.6}/PKG-INFO +1 -1
  3. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/__init__.py +1 -0
  4. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/api/vpc_client.py +472 -0
  5. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/batch_create_ssl_vpn_users_request.py +65 -0
  6. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/batch_create_ssl_vpn_users_response.py +56 -0
  7. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/billing.py +60 -0
  8. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/bind_eip_request.py +51 -0
  9. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/cgw.py +52 -0
  10. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/models/create_a_reserved_network_segment_request.py → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_ip_reserved_request.py +1 -1
  11. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/models/create_a_reserved_network_segment_response.py → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_ip_reserved_response.py +2 -2
  12. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_ssl_vpn_server_request.py +75 -0
  13. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_ssl_vpn_server_response.py +56 -0
  14. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_user_gateway_request.py +64 -0
  15. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_user_gateway_response.py +52 -0
  16. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_vpn_request.py +114 -0
  17. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_vpn_response.py +49 -0
  18. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_vpn_tunnel_request.py +100 -0
  19. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/create_vpn_tunnel_response.py +53 -0
  20. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/models/delete_reserved_network_segment_request.py → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/delete_ip_reserve_request.py +1 -1
  21. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/delete_ssl_vpn_server_request.py +49 -0
  22. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/delete_ssl_vpn_user_request.py +27 -0
  23. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/delete_user_gateway_request.py +21 -0
  24. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/delete_vpn_tunnel_request.py +46 -0
  25. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/models/query_the_ip_addresses_occupied_by_products_within_vpc_request.py → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/get_vpc_resource_ip_info_request.py +1 -1
  26. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/models/query_the_ip_addresses_occupied_by_products_within_vpc_response.py → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/get_vpc_resource_ip_info_response.py +2 -2
  27. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/ike_config.py +90 -0
  28. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/ipsec_config.py +74 -0
  29. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/models/query_the_reserved_network_segment_list_request.py → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/list_ip_reserve_request.py +1 -1
  30. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/models/query_the_reserved_network_segment_list_response.py → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/list_ip_reserve_response.py +2 -2
  31. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/models/enable_vpc_relay_request.py → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/open_vpc_relay_request.py +1 -1
  32. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/query_ssl_vpn_server_request.py +45 -0
  33. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/query_ssl_vpn_server_response.py +93 -0
  34. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/query_ssl_vpn_users_request.py +53 -0
  35. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/query_ssl_vpn_users_response.py +73 -0
  36. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/query_vpn_list_request.py +62 -0
  37. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/query_vpn_list_response.py +51 -0
  38. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/release_vpn_request.py +59 -0
  39. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/renew_vpn_request.py +62 -0
  40. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/reservation.py +32 -0
  41. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/search_for_vpn_details_request.py +45 -0
  42. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/search_for_vpn_details_response.py +116 -0
  43. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/search_vpn_tunnel_request.py +45 -0
  44. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/search_vpn_tunnel_response.py +31 -0
  45. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/show_vpc_model.py +6 -1
  46. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/ssl_vpn_server.py +67 -0
  47. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/ssl_vpn_user.py +37 -0
  48. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/ssl_vpn_user_vo.py +72 -0
  49. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/unbind_eip_request.py +54 -0
  50. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/update_ssl_vpn_server_request.py +78 -0
  51. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/update_ssl_vpn_users_request.py +72 -0
  52. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/update_user_gateway_request.py +72 -0
  53. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/update_vpn_release_protection_request.py +61 -0
  54. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/update_vpn_request.py +60 -0
  55. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/update_vpn_tunnel_request.py +106 -0
  56. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/user_gateway_details_request.py +21 -0
  57. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/user_gateway_details_response.py +87 -0
  58. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/user_gateway_list_request.py +48 -0
  59. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/user_gateway_list_response.py +81 -0
  60. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/vpn.py +152 -0
  61. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc/models/vpn_conn.py +138 -0
  62. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc.egg-info}/PKG-INFO +1 -1
  63. baiducloud_python_sdk_vpc-0.0.6/baiducloud_python_sdk_vpc.egg-info/SOURCES.txt +100 -0
  64. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/__init__.py +0 -1
  65. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc/api/vpc_client.py +0 -240
  66. baiducloud_python_sdk_vpc-0.0.4/baiducloud_python_sdk_vpc.egg-info/SOURCES.txt +0 -52
  67. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/LICENSE +0 -0
  68. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/MANIFEST.in +0 -0
  69. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/README-CN.md +0 -0
  70. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/README.md +0 -0
  71. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/api/__init__.py +0 -0
  72. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/__init__.py +0 -0
  73. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/close_vpc_relay_request.py +0 -0
  74. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/create_subnet_request.py +0 -0
  75. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/create_subnet_response.py +0 -0
  76. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/create_vpc_request.py +0 -0
  77. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/create_vpc_response.py +0 -0
  78. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/delete_subnet_request.py +0 -0
  79. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/delete_vpc_request.py +0 -0
  80. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/ip_reserve.py +0 -0
  81. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_specified_subnet_request.py +0 -0
  82. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_specified_subnet_response.py +0 -0
  83. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_specified_vpc_request.py +0 -0
  84. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_specified_vpc_response.py +0 -0
  85. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_subnet_list_request.py +0 -0
  86. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_subnet_list_response.py +0 -0
  87. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_vpc_intranet_ip_request.py +0 -0
  88. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_vpc_intranet_ip_response.py +0 -0
  89. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_vpc_list_request.py +0 -0
  90. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/query_vpc_list_response.py +0 -0
  91. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/resource_ip.py +0 -0
  92. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/subnet.py +0 -0
  93. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/subnet_detail.py +0 -0
  94. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/tag_model.py +0 -0
  95. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/update_subnet_request.py +0 -0
  96. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/update_vpc_request.py +0 -0
  97. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/vpc.py +0 -0
  98. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/models/vpc_private_ip_address.py +0 -0
  99. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc/setup.py +0 -0
  100. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc.egg-info/dependency_links.txt +0 -0
  101. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc.egg-info/requires.txt +0 -0
  102. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/baiducloud_python_sdk_vpc.egg-info/top_level.txt +0 -0
  103. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/setup.cfg +0 -0
  104. {baiducloud_python_sdk_vpc-0.0.4 → baiducloud_python_sdk_vpc-0.0.6}/setup.py +0 -0
@@ -1,3 +1,7 @@
1
+ 2026-03-16 Version: 0.0.6
2
+ - vpn sdk 支持
3
+ 2026-02-26 Version: 0.0.5
4
+ - 方法名称修正
1
5
  2026-02-26 Version: 0.0.4
2
6
  - params判断None
3
7
  2026-02-10 Version: 0.0.3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: baiducloud-python-sdk-vpc
3
- Version: 0.0.4
3
+ Version: 0.0.6
4
4
  Summary: Baidu Cloud vpcApi SDK Library for Python
5
5
  Home-page: https://github.com/baidubce/baiducloud-python-sdk
6
6
  Author: Baidu Cloud SDK
@@ -0,0 +1 @@
1
+ SDK_VERSION = b'0.0.6'
@@ -0,0 +1,472 @@
1
+ import copy
2
+ import logging
3
+
4
+ from baiducloud_python_sdk_core import utils, bce_base_client
5
+ from baiducloud_python_sdk_core.auth import bce_v1_signer
6
+ from baiducloud_python_sdk_core.bce_base_client import BceBaseClient
7
+ from baiducloud_python_sdk_core.http import bce_http_client
8
+ from baiducloud_python_sdk_core.http import handler
9
+ from baiducloud_python_sdk_core.http import http_methods
10
+ from baiducloud_python_sdk_vpc.models.batch_create_ssl_vpn_users_response import BatchCreateSslVpnUsersResponse
11
+ from baiducloud_python_sdk_vpc.models.create_ip_reserved_response import CreateIpReservedResponse
12
+ from baiducloud_python_sdk_vpc.models.create_ssl_vpn_server_response import CreateSslVpnServerResponse
13
+ from baiducloud_python_sdk_vpc.models.create_subnet_response import CreateSubnetResponse
14
+ from baiducloud_python_sdk_vpc.models.create_user_gateway_response import CreateUserGatewayResponse
15
+ from baiducloud_python_sdk_vpc.models.create_vpc_response import CreateVpcResponse
16
+ from baiducloud_python_sdk_vpc.models.create_vpn_response import CreateVpnResponse
17
+ from baiducloud_python_sdk_vpc.models.create_vpn_tunnel_response import CreateVpnTunnelResponse
18
+ from baiducloud_python_sdk_vpc.models.get_vpc_resource_ip_info_response import GetVpcResourceIpInfoResponse
19
+ from baiducloud_python_sdk_vpc.models.list_ip_reserve_response import ListIpReserveResponse
20
+ from baiducloud_python_sdk_vpc.models.query_specified_subnet_response import QuerySpecifiedSubnetResponse
21
+ from baiducloud_python_sdk_vpc.models.query_specified_vpc_response import QuerySpecifiedVpcResponse
22
+ from baiducloud_python_sdk_vpc.models.query_ssl_vpn_server_response import QuerySslVpnServerResponse
23
+ from baiducloud_python_sdk_vpc.models.query_ssl_vpn_users_response import QuerySslVpnUsersResponse
24
+ from baiducloud_python_sdk_vpc.models.query_subnet_list_response import QuerySubnetListResponse
25
+ from baiducloud_python_sdk_vpc.models.query_vpc_intranet_ip_response import QueryVpcIntranetIpResponse
26
+ from baiducloud_python_sdk_vpc.models.query_vpc_list_response import QueryVpcListResponse
27
+ from baiducloud_python_sdk_vpc.models.query_vpn_list_response import QueryVpnListResponse
28
+ from baiducloud_python_sdk_vpc.models.search_for_vpn_details_response import SearchForVpnDetailsResponse
29
+ from baiducloud_python_sdk_vpc.models.search_vpn_tunnel_response import SearchVpnTunnelResponse
30
+ from baiducloud_python_sdk_vpc.models.user_gateway_details_response import UserGatewayDetailsResponse
31
+ from baiducloud_python_sdk_vpc.models.user_gateway_list_response import UserGatewayListResponse
32
+
33
+ _logger = logging.getLogger(__name__)
34
+
35
+
36
+ class VpcClient(BceBaseClient):
37
+
38
+ VERSION_V1 = b'/v1'
39
+
40
+ CONSTANT_VPC = b'vpc'
41
+
42
+ CONSTANT_VPN = b'vpn'
43
+
44
+ CONSTANT_VPNCONN = b'vpnconn'
45
+
46
+ CONSTANT_SSL_VPN_SERVER = b'sslVpnServer'
47
+
48
+ CONSTANT_SHUTDOWN_RELAY = b'shutdownRelay'
49
+
50
+ CONSTANT_RESOURCE_IP = b'resourceIp'
51
+
52
+ CONSTANT_CGW = b'cgw'
53
+
54
+ CONSTANT_SSL_VPN_USER = b'sslVpnUser'
55
+
56
+ CONSTANT_SUBNET = b'subnet'
57
+
58
+ CONSTANT_PRIVATE_IP_ADDRESS_INFO = b'privateIpAddressInfo'
59
+
60
+ CONSTANT_IPRESERVE = b'ipreserve'
61
+
62
+ CONSTANT_OPEN_RELAY = b'openRelay'
63
+
64
+ CONSTANT_DELETE_PROTECT = b'deleteProtect'
65
+
66
+ def __init__(self, config=None):
67
+ bce_base_client.BceBaseClient.__init__(self, config)
68
+
69
+ def batch_create_ssl_vpn_users(self, request, config=None):
70
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_SSL_VPN_USER)
71
+ params = {}
72
+ if request.client_token is not None:
73
+ params['clientToken'] = request.client_token
74
+ return self._send_request(http_methods.POST, path=path
75
+ , body=request.to_json_string(), params=params, config=config, model=BatchCreateSslVpnUsersResponse)
76
+
77
+ def bind_eip(self, request, config=None):
78
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id)
79
+ params = {}
80
+ params['bind'] = None
81
+ if request.client_token is not None:
82
+ params['clientToken'] = request.client_token
83
+ return self._send_request(http_methods.PUT, path=path
84
+ , body=request.to_json_string(), params=params, config=config)
85
+
86
+ def close_vpc_relay(self, request, config=None):
87
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC, VpcClient.CONSTANT_SHUTDOWN_RELAY, request.vpc_id)
88
+ params = {}
89
+ if request.client_token is not None:
90
+ params['clientToken'] = request.client_token
91
+ return self._send_request(http_methods.PUT, path=path
92
+ , params=params, config=config)
93
+
94
+ def create_ip_reserved(self, request, config=None):
95
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_SUBNET, VpcClient.CONSTANT_IPRESERVE)
96
+ params = {}
97
+ if request.client_token is not None:
98
+ params['clientToken'] = request.client_token
99
+ return self._send_request(http_methods.POST, path=path
100
+ , body=request.to_json_string(), params=params, config=config, model=CreateIpReservedResponse)
101
+
102
+ def create_ssl_vpn_server(self, request, config=None):
103
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_SSL_VPN_SERVER)
104
+ params = {}
105
+ if request.client_token is not None:
106
+ params['clientToken'] = request.client_token
107
+ return self._send_request(http_methods.POST, path=path
108
+ , body=request.to_json_string(), params=params, config=config, model=CreateSslVpnServerResponse)
109
+
110
+ def create_subnet(self, request, config=None):
111
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_SUBNET)
112
+ params = {}
113
+ if request.client_token is not None:
114
+ params['clientToken'] = request.client_token
115
+ return self._send_request(http_methods.POST, path=path
116
+ , body=request.to_json_string(), params=params, config=config, model=CreateSubnetResponse)
117
+
118
+ def create_user_gateway(self, request, config=None):
119
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, VpcClient.CONSTANT_CGW)
120
+ params = {}
121
+ if request.client_token is not None:
122
+ params['clientToken'] = request.client_token
123
+ return self._send_request(http_methods.POST, path=path
124
+ , body=request.to_json_string(), params=params, config=config, model=CreateUserGatewayResponse)
125
+
126
+ def create_vpc(self, request, config=None):
127
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC)
128
+ params = {}
129
+ if request.client_token is not None:
130
+ params['clientToken'] = request.client_token
131
+ return self._send_request(http_methods.POST, path=path
132
+ , body=request.to_json_string(), params=params, config=config, model=CreateVpcResponse)
133
+
134
+ def create_vpn(self, request, config=None):
135
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN)
136
+ params = {}
137
+ if request.client_token is not None:
138
+ params['clientToken'] = request.client_token
139
+ return self._send_request(http_methods.POST, path=path
140
+ , body=request.to_json_string(), params=params, config=config, model=CreateVpnResponse)
141
+
142
+ def create_vpn_tunnel(self, request, config=None):
143
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_VPNCONN)
144
+ params = {}
145
+ if request.client_token is not None:
146
+ params['clientToken'] = request.client_token
147
+ return self._send_request(http_methods.POST, path=path
148
+ , body=request.to_json_string(), params=params, config=config, model=CreateVpnTunnelResponse)
149
+
150
+ def delete_ip_reserve(self, request, config=None):
151
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_SUBNET, VpcClient.CONSTANT_IPRESERVE, request.ip_reserve_id)
152
+ params = {}
153
+ if request.client_token is not None:
154
+ params['clientToken'] = request.client_token
155
+ return self._send_request(http_methods.DELETE, path=path
156
+ , params=params, config=config)
157
+
158
+ def delete_ssl_vpn_server(self, request, config=None):
159
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_SSL_VPN_SERVER, request.ssl_vpn_server_id)
160
+ params = {}
161
+ if request.client_token is not None:
162
+ params['clientToken'] = request.client_token
163
+ return self._send_request(http_methods.DELETE, path=path
164
+ , params=params, config=config)
165
+
166
+ def delete_ssl_vpn_user(self, request, config=None):
167
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_SSL_VPN_USER, request.user_id)
168
+ params = {}
169
+ if request.client_token is not None:
170
+ params['clientToken'] = request.client_token
171
+ return self._send_request(http_methods.DELETE, path=path
172
+ , params=params, config=config)
173
+
174
+ def delete_subnet(self, request, config=None):
175
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_SUBNET, request.subnet_id)
176
+ params = {}
177
+ if request.client_token is not None:
178
+ params['clientToken'] = request.client_token
179
+ return self._send_request(http_methods.DELETE, path=path
180
+ , params=params, config=config)
181
+
182
+ def delete_user_gateway(self, request, config=None):
183
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, VpcClient.CONSTANT_CGW, request.cgw_id)
184
+ return self._send_request(http_methods.DELETE, path=path
185
+ , config=config)
186
+
187
+ def delete_vpc(self, request, config=None):
188
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC, request.vpc_id)
189
+ params = {}
190
+ if request.client_token is not None:
191
+ params['clientToken'] = request.client_token
192
+ return self._send_request(http_methods.DELETE, path=path
193
+ , params=params, config=config)
194
+
195
+ def delete_vpn_tunnel(self, request, config=None):
196
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, VpcClient.CONSTANT_VPNCONN, request.vpn_conn_id)
197
+ params = {}
198
+ if request.client_token is not None:
199
+ params['clientToken'] = request.client_token
200
+ return self._send_request(http_methods.DELETE, path=path
201
+ , params=params, config=config)
202
+
203
+ def get_vpc_resource_ip_info(self, request, config=None):
204
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC, VpcClient.CONSTANT_RESOURCE_IP)
205
+ params = {}
206
+ if request.vpc_id is not None:
207
+ params['vpcId'] = request.vpc_id
208
+ if request.subnet_id is not None:
209
+ params['subnetId'] = request.subnet_id
210
+ if request.resource_type is not None:
211
+ params['resourceType'] = request.resource_type
212
+ if request.page_no is not None:
213
+ params['pageNo'] = request.page_no
214
+ if request.page_size is not None:
215
+ params['pageSize'] = request.page_size
216
+ return self._send_request(http_methods.GET, path=path
217
+ , params=params, config=config, model=GetVpcResourceIpInfoResponse)
218
+
219
+ def list_ip_reserve(self, request, config=None):
220
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_SUBNET, VpcClient.CONSTANT_IPRESERVE)
221
+ params = {}
222
+ if request.subnet_id is not None:
223
+ params['subnetId'] = request.subnet_id
224
+ if request.marker is not None:
225
+ params['marker'] = request.marker
226
+ if request.max_keys is not None:
227
+ params['maxKeys'] = request.max_keys
228
+ return self._send_request(http_methods.GET, path=path
229
+ , params=params, config=config, model=ListIpReserveResponse)
230
+
231
+ def open_vpc_relay(self, request, config=None):
232
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC, VpcClient.CONSTANT_OPEN_RELAY, request.vpc_id)
233
+ params = {}
234
+ if request.client_token is not None:
235
+ params['clientToken'] = request.client_token
236
+ return self._send_request(http_methods.PUT, path=path
237
+ , params=params, config=config)
238
+
239
+ def query_specified_subnet(self, request, config=None):
240
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_SUBNET, request.subnet_id)
241
+ return self._send_request(http_methods.GET, path=path
242
+ , config=config, model=QuerySpecifiedSubnetResponse)
243
+
244
+ def query_specified_vpc(self, request, config=None):
245
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC, request.vpc_id)
246
+ return self._send_request(http_methods.GET, path=path
247
+ , config=config, model=QuerySpecifiedVpcResponse)
248
+
249
+ def query_ssl_vpn_server(self, request, config=None):
250
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_SSL_VPN_SERVER)
251
+ params = {}
252
+ if request.client_token is not None:
253
+ params['clientToken'] = request.client_token
254
+ return self._send_request(http_methods.GET, path=path
255
+ , params=params, config=config, model=QuerySslVpnServerResponse)
256
+
257
+ def query_ssl_vpn_users(self, request, config=None):
258
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_SSL_VPN_USER)
259
+ params = {}
260
+ if request.marker is not None:
261
+ params['marker'] = request.marker
262
+ if request.max_keys is not None:
263
+ params['maxKeys'] = request.max_keys
264
+ if request.user_name is not None:
265
+ params['userName'] = request.user_name
266
+ return self._send_request(http_methods.GET, path=path
267
+ , params=params, config=config, model=QuerySslVpnUsersResponse)
268
+
269
+ def query_subnet_list(self, request, config=None):
270
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_SUBNET)
271
+ params = {}
272
+ if request.marker is not None:
273
+ params['marker'] = request.marker
274
+ if request.max_keys is not None:
275
+ params['maxKeys'] = request.max_keys
276
+ if request.vpc_id is not None:
277
+ params['vpcId'] = request.vpc_id
278
+ if request.zone_name is not None:
279
+ params['zoneName'] = request.zone_name
280
+ if request.subnet_type is not None:
281
+ params['subnetType'] = request.subnet_type
282
+ if request.subnet_ids is not None:
283
+ params['subnetIds'] = request.subnet_ids
284
+ return self._send_request(http_methods.GET, path=path
285
+ , params=params, config=config, model=QuerySubnetListResponse)
286
+
287
+ def query_vpc_intranet_ip(self, request, config=None):
288
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC, request.vpc_id, VpcClient.CONSTANT_PRIVATE_IP_ADDRESS_INFO)
289
+ params = {}
290
+ if request.private_ip_addresses is not None:
291
+ params['privateIpAddresses'] = ','.join(request.private_ip_addresses)
292
+ if request.private_ip_range is not None:
293
+ params['privateIpRange'] = request.private_ip_range
294
+ return self._send_request(http_methods.GET, path=path
295
+ , params=params, config=config, model=QueryVpcIntranetIpResponse)
296
+
297
+ def query_vpc_list(self, request, config=None):
298
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC)
299
+ params = {}
300
+ if request.marker is not None:
301
+ params['marker'] = request.marker
302
+ if request.max_keys is not None:
303
+ params['maxKeys'] = request.max_keys
304
+ if request.is_default is not None:
305
+ params['isDefault'] = request.is_default
306
+ if request.vpc_ids is not None:
307
+ params['vpcIds'] = request.vpc_ids
308
+ return self._send_request(http_methods.GET, path=path
309
+ , params=params, config=config, model=QueryVpcListResponse)
310
+
311
+ def query_vpn_list(self, request, config=None):
312
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN)
313
+ params = {}
314
+ if request.vpc_id is not None:
315
+ params['vpcId'] = request.vpc_id
316
+ if request.marker is not None:
317
+ params['marker'] = request.marker
318
+ if request.max_keys is not None:
319
+ params['maxKeys'] = request.max_keys
320
+ if request.eip is not None:
321
+ params['eip'] = request.eip
322
+ if request.type is not None:
323
+ params['type'] = request.type
324
+ return self._send_request(http_methods.GET, path=path
325
+ , params=params, config=config, model=QueryVpnListResponse)
326
+
327
+ def release_vpn(self, request, config=None):
328
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id)
329
+ params = {}
330
+ if request.client_token is not None:
331
+ params['clientToken'] = request.client_token
332
+ return self._send_request(http_methods.DELETE, path=path
333
+ , params=params, config=config)
334
+
335
+ def renew_vpn(self, request, config=None):
336
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id)
337
+ params = {}
338
+ params['purchaseReserved'] = None
339
+ if request.client_token is not None:
340
+ params['clientToken'] = request.client_token
341
+ return self._send_request(http_methods.PUT, path=path
342
+ , body=request.to_json_string(), params=params, config=config)
343
+
344
+ def search_for_vpn_details(self, request, config=None):
345
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id)
346
+ return self._send_request(http_methods.GET, path=path
347
+ , config=config, model=SearchForVpnDetailsResponse)
348
+
349
+ def search_vpn_tunnel(self, request, config=None):
350
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, VpcClient.CONSTANT_VPNCONN, request.vpn_id)
351
+ params = {}
352
+ if request.client_token is not None:
353
+ params['clientToken'] = request.client_token
354
+ return self._send_request(http_methods.GET, path=path
355
+ , params=params, config=config, model=SearchVpnTunnelResponse)
356
+
357
+ def unbind_eip(self, request, config=None):
358
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id)
359
+ params = {}
360
+ params['unbind'] = None
361
+ if request.client_token is not None:
362
+ params['clientToken'] = request.client_token
363
+ return self._send_request(http_methods.PUT, path=path
364
+ , params=params, config=config)
365
+
366
+ def update_ssl_vpn_server(self, request, config=None):
367
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_SSL_VPN_SERVER, request.ssl_vpn_server_id)
368
+ params = {}
369
+ if request.client_token is not None:
370
+ params['clientToken'] = request.client_token
371
+ return self._send_request(http_methods.PUT, path=path
372
+ , body=request.to_json_string(), params=params, config=config)
373
+
374
+ def update_ssl_vpn_users(self, request, config=None):
375
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_SSL_VPN_USER, request.user_id)
376
+ params = {}
377
+ if request.client_token is not None:
378
+ params['clientToken'] = request.client_token
379
+ return self._send_request(http_methods.PUT, path=path
380
+ , body=request.to_json_string(), params=params, config=config)
381
+
382
+ def update_subnet(self, request, config=None):
383
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_SUBNET, request.subnet_id)
384
+ params = {}
385
+ params['modifyAttribute'] = None
386
+ if request.client_token is not None:
387
+ params['clientToken'] = request.client_token
388
+ return self._send_request(http_methods.PUT, path=path
389
+ , body=request.to_json_string(), params=params, config=config)
390
+
391
+ def update_user_gateway(self, request, config=None):
392
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, VpcClient.CONSTANT_CGW, request.cgw_id)
393
+ params = {}
394
+ if request.client_token is not None:
395
+ params['clientToken'] = request.client_token
396
+ return self._send_request(http_methods.PUT, path=path
397
+ , body=request.to_json_string(), params=params, config=config)
398
+
399
+ def update_vpc(self, request, config=None):
400
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPC, request.vpc_id)
401
+ params = {}
402
+ params['modifyAttribute'] = None
403
+ if request.client_token is not None:
404
+ params['clientToken'] = request.client_token
405
+ return self._send_request(http_methods.PUT, path=path
406
+ , body=request.to_json_string(), params=params, config=config)
407
+
408
+ def update_vpn(self, request, config=None):
409
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id)
410
+ params = {}
411
+ params['modifyAttribute'] = None
412
+ if request.client_token is not None:
413
+ params['clientToken'] = request.client_token
414
+ return self._send_request(http_methods.PUT, path=path
415
+ , body=request.to_json_string(), params=params, config=config)
416
+
417
+ def update_vpn_release_protection(self, request, config=None):
418
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, request.vpn_id, VpcClient.CONSTANT_DELETE_PROTECT)
419
+ params = {}
420
+ if request.client_token is not None:
421
+ params['clientToken'] = request.client_token
422
+ return self._send_request(http_methods.PUT, path=path
423
+ , body=request.to_json_string(), params=params, config=config)
424
+
425
+ def update_vpn_tunnel(self, request, config=None):
426
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, VpcClient.CONSTANT_VPNCONN, request.vpn_conn_id)
427
+ params = {}
428
+ if request.client_token is not None:
429
+ params['clientToken'] = request.client_token
430
+ return self._send_request(http_methods.PUT, path=path
431
+ , body=request.to_json_string(), params=params, config=config)
432
+
433
+ def user_gateway_details(self, request, config=None):
434
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, VpcClient.CONSTANT_CGW, request.cgw_id)
435
+ return self._send_request(http_methods.GET, path=path
436
+ , config=config, model=UserGatewayDetailsResponse)
437
+
438
+ def user_gateway_list(self, request, config=None):
439
+ path = utils.append_uri(VpcClient.VERSION_V1, VpcClient.CONSTANT_VPN, VpcClient.CONSTANT_CGW)
440
+ params = {}
441
+ if request.marker is not None:
442
+ params['marker'] = request.marker
443
+ if request.max_keys is not None:
444
+ params['maxKeys'] = request.max_keys
445
+ return self._send_request(http_methods.GET, path=path
446
+ , params=params, config=config, model=UserGatewayListResponse)
447
+
448
+
449
+ def _merge_config(self, config=None):
450
+ """
451
+ :param config:
452
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
453
+ """
454
+ if config is None:
455
+ return self.config
456
+ else:
457
+ new_config = copy.copy(self.config)
458
+ new_config.merge_non_none_values(config)
459
+ return new_config
460
+
461
+ def _send_request(self, http_method, path,
462
+ body=None, headers=None, params=None,
463
+ config=None, body_parser=None, model=None):
464
+ config = self._merge_config(config)
465
+ if body_parser is None:
466
+ body_parser = handler.parse_json
467
+ if headers is None:
468
+ headers = {b'Accept': b'*/*', b'Content-Type':
469
+ b'application/json;charset=utf-8'}
470
+ return bce_http_client.send_request(
471
+ config, bce_v1_signer.sign, [handler.parse_error, body_parser],
472
+ http_method, path, body, headers, params, model=model)
@@ -0,0 +1,65 @@
1
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
2
+ from baiducloud_python_sdk_vpc.models.ssl_vpn_user import SslVpnUser
3
+
4
+
5
+ class BatchCreateSslVpnUsersRequest(AbstractModel):
6
+ """
7
+ 批量创建SSL VPN用户请求类
8
+
9
+ Attributes:
10
+ vpn_id (str): VPN实例ID
11
+ ssl_vpn_users (list[SslVpnUser]): SSL VPN用户列表
12
+ client_token (str): 客户端token,用于保证请求的幂等性
13
+ """
14
+
15
+ def __init__(self, vpn_id, ssl_vpn_users, client_token=None):
16
+ """
17
+ 初始化批量创建SSL VPN用户请求
18
+
19
+ Args:
20
+ vpn_id (str): VPN实例ID
21
+ ssl_vpn_users (list[SslVpnUser]): SSL VPN用户列表
22
+ client_token (str, optional): 客户端token,用于保证请求的幂等性
23
+ """
24
+ super().__init__()
25
+ self.vpn_id = vpn_id
26
+ self.client_token = client_token
27
+ self.ssl_vpn_users = ssl_vpn_users
28
+
29
+ def to_dict(self):
30
+ """
31
+ 将对象转换为字典格式
32
+
33
+ Returns:
34
+ dict: 包含对象属性的字典
35
+ """
36
+ _map = super().to_dict()
37
+ if _map is not None:
38
+ return _map
39
+ result = dict()
40
+ if self.ssl_vpn_users is not None:
41
+ result['sslVpnUsers'] = [i.to_dict() for i in self.ssl_vpn_users]
42
+ return result
43
+
44
+
45
+ def from_dict(self, m):
46
+ """
47
+ 从字典格式初始化对象
48
+
49
+ Args:
50
+ m (dict): 包含对象属性的字典
51
+
52
+ Returns:
53
+ BatchCreateSslVpnUsersRequest: 初始化后的对象
54
+ """
55
+ m = m or dict()
56
+ if m.get('vpnId') is not None:
57
+ self.vpn_id = m.get('vpnId')
58
+ if m.get('clientToken') is not None:
59
+ self.client_token = m.get('clientToken')
60
+ if m.get('sslVpnUsers') is not None:
61
+ self.ssl_vpn_users = [
62
+ SslVpnUser().from_dict(i)
63
+ for i in m.get('sslVpnUsers')
64
+ ]
65
+ return self
@@ -0,0 +1,56 @@
1
+ """
2
+ This module provides the BatchCreateSslVpnUsersResponse class for handling SSL VPN user creation responses.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.bce_response import BceResponse
6
+
7
+
8
+ class BatchCreateSslVpnUsersResponse(BceResponse):
9
+ """
10
+ Represents a response for batch creating SSL VPN users.
11
+
12
+ Attributes:
13
+ ssl_vpn_user_ids (list): List of created SSL VPN user IDs.
14
+ """
15
+
16
+ def __init__(self, ssl_vpn_user_ids=None):
17
+ """
18
+ Initializes the BatchCreateSslVpnUsersResponse instance.
19
+
20
+ Args:
21
+ ssl_vpn_user_ids (list, optional): List of SSL VPN user IDs. Defaults to None.
22
+ """
23
+ super().__init__()
24
+ self.ssl_vpn_user_ids = ssl_vpn_user_ids
25
+
26
+ def to_dict(self):
27
+ """
28
+ Converts the response object to a dictionary.
29
+
30
+ Returns:
31
+ dict: A dictionary containing the response data.
32
+ """
33
+ _map = super().to_dict()
34
+ if _map is not None:
35
+ return _map
36
+ result = dict()
37
+ if self.metadata is not None:
38
+ result['metadata'] = self.metadata
39
+ if self.ssl_vpn_user_ids is not None:
40
+ result['sslVpnUserIds'] = self.ssl_vpn_user_ids
41
+ return result
42
+
43
+ def from_dict(self, m):
44
+ """
45
+ Populates the response object from a dictionary.
46
+
47
+ Args:
48
+ m (dict): A dictionary containing the response data.
49
+
50
+ Returns:
51
+ BatchCreateSslVpnUsersResponse: The populated response object.
52
+ """
53
+ m = m or dict()
54
+ if m.get('sslVpnUserIds') is not None:
55
+ self.ssl_vpn_user_ids = m.get('sslVpnUserIds')
56
+ return self
@@ -0,0 +1,60 @@
1
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
2
+
3
+ from baiducloud_python_sdk_vpc.models.reservation import Reservation
4
+
5
+
6
+ class Billing(AbstractModel):
7
+ """
8
+ Billing class represents the billing information for resources.
9
+
10
+ Attributes:
11
+ payment_timing (str): The payment timing for the billing.
12
+ reservation (Reservation): The reservation details if applicable.
13
+ """
14
+
15
+ def __init__(self, payment_timing=None, reservation=None):
16
+ """
17
+ Initialize Billing instance.
18
+
19
+ Args:
20
+ payment_timing (str, optional): The payment timing. Defaults to None.
21
+ reservation (Reservation, optional): The reservation details. Defaults to None.
22
+ """
23
+ super().__init__()
24
+ self.payment_timing = payment_timing
25
+ self.reservation = reservation
26
+
27
+ def to_dict(self):
28
+ """
29
+ Convert the Billing object to a dictionary.
30
+
31
+ Returns:
32
+ dict: A dictionary containing the billing information.
33
+ """
34
+ _map = super().to_dict()
35
+ if _map is not None:
36
+ return _map
37
+ result = dict()
38
+ if self.payment_timing is not None:
39
+ result['paymentTiming'] = self.payment_timing
40
+ if self.reservation is not None:
41
+ result['reservation'] = self.reservation.to_dict()
42
+ return result
43
+
44
+
45
+ def from_dict(self, m):
46
+ """
47
+ Initialize Billing object from a dictionary.
48
+
49
+ Args:
50
+ m (dict): A dictionary containing the billing information.
51
+
52
+ Returns:
53
+ Billing: The Billing object initialized from the dictionary.
54
+ """
55
+ m = m or dict()
56
+ if m.get('paymentTiming') is not None:
57
+ self.payment_timing = m.get('paymentTiming')
58
+ if m.get('reservation') is not None:
59
+ self.reservation = Reservation().from_dict(m.get('reservation'))
60
+ return self