baiducloud-python-sdk-bcc 0.0.1__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.
- baiducloud_python_sdk_bcc/__init__.py +5 -0
- baiducloud_python_sdk_bcc/api/__init__.py +0 -0
- baiducloud_python_sdk_bcc/api/bcc_client.py +554 -0
- baiducloud_python_sdk_bcc/models/__init__.py +44 -0
- baiducloud_python_sdk_bcc/models/attach_volume_request.py +82 -0
- baiducloud_python_sdk_bcc/models/attach_volume_response.py +70 -0
- baiducloud_python_sdk_bcc/models/auto_snapshot_policy_info.py +98 -0
- baiducloud_python_sdk_bcc/models/auto_snapshot_policy_model.py +151 -0
- baiducloud_python_sdk_bcc/models/billing.py +68 -0
- baiducloud_python_sdk_bcc/models/bind_tag_volume_request.py +67 -0
- baiducloud_python_sdk_bcc/models/cds_prices.py +90 -0
- baiducloud_python_sdk_bcc/models/create_volume_request.py +264 -0
- baiducloud_python_sdk_bcc/models/create_volume_response.py +77 -0
- baiducloud_python_sdk_bcc/models/detach_volume_request.py +66 -0
- baiducloud_python_sdk_bcc/models/disk_info.py +74 -0
- baiducloud_python_sdk_bcc/models/get_cds_price_request.py +117 -0
- baiducloud_python_sdk_bcc/models/get_cds_price_response.py +62 -0
- baiducloud_python_sdk_bcc/models/get_disk_quota_request.py +58 -0
- baiducloud_python_sdk_bcc/models/get_disk_quota_response.py +78 -0
- baiducloud_python_sdk_bcc/models/get_volume_request.py +58 -0
- baiducloud_python_sdk_bcc/models/get_volume_resize_progress_request.py +58 -0
- baiducloud_python_sdk_bcc/models/get_volume_resize_progress_response.py +61 -0
- baiducloud_python_sdk_bcc/models/get_volume_response.py +62 -0
- baiducloud_python_sdk_bcc/models/group_info.py +66 -0
- baiducloud_python_sdk_bcc/models/list_volumes_request.py +117 -0
- baiducloud_python_sdk_bcc/models/list_volumes_response.py +94 -0
- baiducloud_python_sdk_bcc/models/modify_cds_attribute_request.py +90 -0
- baiducloud_python_sdk_bcc/models/modify_volume_charge_type_request.py +75 -0
- baiducloud_python_sdk_bcc/models/purchase_reserved_volume_request.py +75 -0
- baiducloud_python_sdk_bcc/models/purchase_reserved_volume_response.py +61 -0
- baiducloud_python_sdk_bcc/models/release_volume_request.py +90 -0
- baiducloud_python_sdk_bcc/models/rename_volume_request.py +66 -0
- baiducloud_python_sdk_bcc/models/reservation.py +66 -0
- baiducloud_python_sdk_bcc/models/resize_volume_request.py +82 -0
- baiducloud_python_sdk_bcc/models/resize_volume_response.py +61 -0
- baiducloud_python_sdk_bcc/models/rollback_volume_request.py +66 -0
- baiducloud_python_sdk_bcc/models/storage_type.py +53 -0
- baiducloud_python_sdk_bcc/models/tag_model.py +66 -0
- baiducloud_python_sdk_bcc/models/unbind_tag_volume_request.py +67 -0
- baiducloud_python_sdk_bcc/models/volume_attachment_model.py +82 -0
- baiducloud_python_sdk_bcc/models/volume_model.py +417 -0
- baiducloud_python_sdk_bcc/models/volume_multi_attach_info.py +82 -0
- baiducloud_python_sdk_bcc/models/volume_status.py +45 -0
- baiducloud_python_sdk_bcc/models/volume_type.py +20 -0
- baiducloud_python_sdk_bcc-0.0.1.dist-info/LICENSE +177 -0
- baiducloud_python_sdk_bcc-0.0.1.dist-info/METADATA +76 -0
- baiducloud_python_sdk_bcc-0.0.1.dist-info/RECORD +49 -0
- baiducloud_python_sdk_bcc-0.0.1.dist-info/WHEEL +5 -0
- baiducloud_python_sdk_bcc-0.0.1.dist-info/top_level.txt +1 -0
|
File without changes
|
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Example for bcc client.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import logging
|
|
7
|
+
|
|
8
|
+
from baiducloud_python_sdk_core import utils, bce_base_client
|
|
9
|
+
from baiducloud_python_sdk_core.auth import bce_v1_signer
|
|
10
|
+
from baiducloud_python_sdk_core.bce_base_client import BceBaseClient
|
|
11
|
+
from baiducloud_python_sdk_core.http import bce_http_client
|
|
12
|
+
from baiducloud_python_sdk_core.http import handler
|
|
13
|
+
from baiducloud_python_sdk_core.http import http_methods
|
|
14
|
+
from baiducloud_python_sdk_bcc.models.attach_volume_response import AttachVolumeResponse
|
|
15
|
+
from baiducloud_python_sdk_bcc.models.create_volume_response import CreateVolumeResponse
|
|
16
|
+
from baiducloud_python_sdk_bcc.models.get_cds_price_response import GetCdsPriceResponse
|
|
17
|
+
from baiducloud_python_sdk_bcc.models.get_disk_quota_response import GetDiskQuotaResponse
|
|
18
|
+
from baiducloud_python_sdk_bcc.models.get_volume_response import GetVolumeResponse
|
|
19
|
+
from baiducloud_python_sdk_bcc.models.get_volume_resize_progress_response import GetVolumeResizeProgressResponse
|
|
20
|
+
from baiducloud_python_sdk_bcc.models.list_volumes_response import ListVolumesResponse
|
|
21
|
+
from baiducloud_python_sdk_bcc.models.purchase_reserved_volume_response import PurchaseReservedVolumeResponse
|
|
22
|
+
from baiducloud_python_sdk_bcc.models.resize_volume_response import ResizeVolumeResponse
|
|
23
|
+
|
|
24
|
+
_logger = logging.getLogger(__name__)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class BccClient(BceBaseClient):
|
|
28
|
+
"""
|
|
29
|
+
bcc base sdk client
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
VERSION_V2 = b'/v2'
|
|
33
|
+
|
|
34
|
+
CONSTANT_VOLUME = b'volume'
|
|
35
|
+
|
|
36
|
+
CONSTANT_TAG = b'tag'
|
|
37
|
+
|
|
38
|
+
CONSTANT_PROGRESS = b'progress'
|
|
39
|
+
|
|
40
|
+
CONSTANT_DISK = b'disk'
|
|
41
|
+
|
|
42
|
+
CONSTANT_QUOTA = b'quota'
|
|
43
|
+
|
|
44
|
+
CONSTANT_GET_PRICE = b'getPrice'
|
|
45
|
+
|
|
46
|
+
def __init__(self, config=None):
|
|
47
|
+
"""
|
|
48
|
+
Initialize the bcc client.
|
|
49
|
+
|
|
50
|
+
:param config: Client configuration
|
|
51
|
+
:type config: baidubce.BceClientConfiguration
|
|
52
|
+
"""
|
|
53
|
+
bce_base_client.BceBaseClient.__init__(self, config)
|
|
54
|
+
|
|
55
|
+
def attach_volume(self, request, config=None):
|
|
56
|
+
"""
|
|
57
|
+
attach_volume
|
|
58
|
+
|
|
59
|
+
:param request: Request entity containing all parameters
|
|
60
|
+
:type request: BccClientRequest
|
|
61
|
+
:param config: Optional request configuration override
|
|
62
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
63
|
+
|
|
64
|
+
:return: API response containing AttachVolumeResponse data
|
|
65
|
+
:rtype: AttachVolumeResponse
|
|
66
|
+
|
|
67
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
68
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
69
|
+
"""
|
|
70
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
71
|
+
headers = None
|
|
72
|
+
params = {}
|
|
73
|
+
params['attach'] = None
|
|
74
|
+
merged_config = self._create_request_with_host(request, config)
|
|
75
|
+
return self._send_request(
|
|
76
|
+
http_methods.PUT,
|
|
77
|
+
path=path,
|
|
78
|
+
body=request.to_json_string(),
|
|
79
|
+
params=params,
|
|
80
|
+
config=merged_config,
|
|
81
|
+
model=AttachVolumeResponse,
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
def bind_tag_volume(self, request, config=None):
|
|
85
|
+
"""
|
|
86
|
+
bind_tag_volume
|
|
87
|
+
|
|
88
|
+
:param request: Request entity containing all parameters
|
|
89
|
+
:type request: BccClientRequest
|
|
90
|
+
:param config: Optional request configuration override
|
|
91
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
92
|
+
|
|
93
|
+
:return: API response
|
|
94
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
95
|
+
|
|
96
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
97
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
98
|
+
"""
|
|
99
|
+
path = utils.append_uri(
|
|
100
|
+
BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id, BccClient.CONSTANT_TAG
|
|
101
|
+
)
|
|
102
|
+
headers = None
|
|
103
|
+
params = {}
|
|
104
|
+
params['bind'] = None
|
|
105
|
+
merged_config = self._create_request_with_host(request, config)
|
|
106
|
+
return self._send_request(
|
|
107
|
+
http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
def create_volume(self, request, config=None):
|
|
111
|
+
"""
|
|
112
|
+
create_volume
|
|
113
|
+
|
|
114
|
+
:param request: Request entity containing all parameters
|
|
115
|
+
:type request: BccClientRequest
|
|
116
|
+
:param config: Optional request configuration override
|
|
117
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
118
|
+
|
|
119
|
+
:return: API response containing CreateVolumeResponse data
|
|
120
|
+
:rtype: CreateVolumeResponse
|
|
121
|
+
|
|
122
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
123
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
124
|
+
"""
|
|
125
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME)
|
|
126
|
+
headers = None
|
|
127
|
+
merged_config = self._create_request_with_host(request, config)
|
|
128
|
+
return self._send_request(
|
|
129
|
+
http_methods.POST,
|
|
130
|
+
path=path,
|
|
131
|
+
body=request.to_json_string(),
|
|
132
|
+
config=merged_config,
|
|
133
|
+
model=CreateVolumeResponse,
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
def detach_volume(self, request, config=None):
|
|
137
|
+
"""
|
|
138
|
+
detach_volume
|
|
139
|
+
|
|
140
|
+
:param request: Request entity containing all parameters
|
|
141
|
+
:type request: BccClientRequest
|
|
142
|
+
:param config: Optional request configuration override
|
|
143
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
144
|
+
|
|
145
|
+
:return: API response
|
|
146
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
147
|
+
|
|
148
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
149
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
150
|
+
"""
|
|
151
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
152
|
+
headers = None
|
|
153
|
+
params = {}
|
|
154
|
+
params['detach'] = None
|
|
155
|
+
merged_config = self._create_request_with_host(request, config)
|
|
156
|
+
return self._send_request(
|
|
157
|
+
http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
def get_cds_price(self, request, config=None):
|
|
161
|
+
"""
|
|
162
|
+
get_cds_price
|
|
163
|
+
|
|
164
|
+
:param request: Request entity containing all parameters
|
|
165
|
+
:type request: BccClientRequest
|
|
166
|
+
:param config: Optional request configuration override
|
|
167
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
168
|
+
|
|
169
|
+
:return: API response containing GetCdsPriceResponse data
|
|
170
|
+
:rtype: GetCdsPriceResponse
|
|
171
|
+
|
|
172
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
173
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
174
|
+
"""
|
|
175
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, BccClient.CONSTANT_GET_PRICE)
|
|
176
|
+
headers = None
|
|
177
|
+
merged_config = self._create_request_with_host(request, config)
|
|
178
|
+
return self._send_request(
|
|
179
|
+
http_methods.POST,
|
|
180
|
+
path=path,
|
|
181
|
+
body=request.to_json_string(),
|
|
182
|
+
config=merged_config,
|
|
183
|
+
model=GetCdsPriceResponse,
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
def get_disk_quota(self, request, config=None):
|
|
187
|
+
"""
|
|
188
|
+
get_disk_quota
|
|
189
|
+
|
|
190
|
+
:param request: Request entity containing all parameters
|
|
191
|
+
:type request: BccClientRequest
|
|
192
|
+
:param config: Optional request configuration override
|
|
193
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
194
|
+
|
|
195
|
+
:return: API response containing GetDiskQuotaResponse data
|
|
196
|
+
:rtype: GetDiskQuotaResponse
|
|
197
|
+
|
|
198
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
199
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
200
|
+
"""
|
|
201
|
+
path = utils.append_uri(
|
|
202
|
+
BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, BccClient.CONSTANT_DISK, BccClient.CONSTANT_QUOTA
|
|
203
|
+
)
|
|
204
|
+
headers = None
|
|
205
|
+
params = {}
|
|
206
|
+
if request.zone_name is not None:
|
|
207
|
+
params['zoneName'] = request.zone_name
|
|
208
|
+
merged_config = self._create_request_with_host(request, config)
|
|
209
|
+
return self._send_request(
|
|
210
|
+
http_methods.GET, path=path, params=params, config=merged_config, model=GetDiskQuotaResponse
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
def get_volume(self, request, config=None):
|
|
214
|
+
"""
|
|
215
|
+
get_volume
|
|
216
|
+
|
|
217
|
+
:param request: Request entity containing all parameters
|
|
218
|
+
:type request: BccClientRequest
|
|
219
|
+
:param config: Optional request configuration override
|
|
220
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
221
|
+
|
|
222
|
+
:return: API response containing GetVolumeResponse data
|
|
223
|
+
:rtype: GetVolumeResponse
|
|
224
|
+
|
|
225
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
226
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
227
|
+
"""
|
|
228
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
229
|
+
headers = None
|
|
230
|
+
merged_config = self._create_request_with_host(request, config)
|
|
231
|
+
return self._send_request(http_methods.GET, path=path, config=merged_config, model=GetVolumeResponse)
|
|
232
|
+
|
|
233
|
+
def get_volume_resize_progress(self, request, config=None):
|
|
234
|
+
"""
|
|
235
|
+
get_volume_resize_progress
|
|
236
|
+
|
|
237
|
+
:param request: Request entity containing all parameters
|
|
238
|
+
:type request: BccClientRequest
|
|
239
|
+
:param config: Optional request configuration override
|
|
240
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
241
|
+
|
|
242
|
+
:return: API response containing GetVolumeResizeProgressResponse data
|
|
243
|
+
:rtype: GetVolumeResizeProgressResponse
|
|
244
|
+
|
|
245
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
246
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
247
|
+
"""
|
|
248
|
+
path = utils.append_uri(
|
|
249
|
+
BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, BccClient.CONSTANT_PROGRESS, request.volume_id
|
|
250
|
+
)
|
|
251
|
+
headers = None
|
|
252
|
+
merged_config = self._create_request_with_host(request, config)
|
|
253
|
+
return self._send_request(
|
|
254
|
+
http_methods.GET, path=path, config=merged_config, model=GetVolumeResizeProgressResponse
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
def list_volumes(self, request, config=None):
|
|
258
|
+
"""
|
|
259
|
+
list_volumes
|
|
260
|
+
|
|
261
|
+
:param request: Request entity containing all parameters
|
|
262
|
+
:type request: BccClientRequest
|
|
263
|
+
:param config: Optional request configuration override
|
|
264
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
265
|
+
|
|
266
|
+
:return: API response containing ListVolumesResponse data
|
|
267
|
+
:rtype: ListVolumesResponse
|
|
268
|
+
|
|
269
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
270
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
271
|
+
"""
|
|
272
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME)
|
|
273
|
+
headers = None
|
|
274
|
+
params = {}
|
|
275
|
+
if request.marker is not None:
|
|
276
|
+
params['marker'] = request.marker
|
|
277
|
+
if request.max_keys is not None:
|
|
278
|
+
params['maxKeys'] = request.max_keys
|
|
279
|
+
if request.instance_id is not None:
|
|
280
|
+
params['instanceId'] = request.instance_id
|
|
281
|
+
if request.zone_name is not None:
|
|
282
|
+
params['zoneName'] = request.zone_name
|
|
283
|
+
if request.cluster_id is not None:
|
|
284
|
+
params['clusterId'] = request.cluster_id
|
|
285
|
+
if request.charge_filter is not None:
|
|
286
|
+
params['chargeFilter'] = request.charge_filter
|
|
287
|
+
if request.usage_filter is not None:
|
|
288
|
+
params['usageFilter'] = request.usage_filter
|
|
289
|
+
if request.name is not None:
|
|
290
|
+
params['name'] = request.name
|
|
291
|
+
if request.product_category is not None:
|
|
292
|
+
params['productCategory'] = request.product_category
|
|
293
|
+
merged_config = self._create_request_with_host(request, config)
|
|
294
|
+
return self._send_request(
|
|
295
|
+
http_methods.GET, path=path, params=params, config=merged_config, model=ListVolumesResponse
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
def modify_cds_attribute(self, request, config=None):
|
|
299
|
+
"""
|
|
300
|
+
modify_cds_attribute
|
|
301
|
+
|
|
302
|
+
:param request: Request entity containing all parameters
|
|
303
|
+
:type request: BccClientRequest
|
|
304
|
+
:param config: Optional request configuration override
|
|
305
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
306
|
+
|
|
307
|
+
:return: API response
|
|
308
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
309
|
+
|
|
310
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
311
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
312
|
+
"""
|
|
313
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
314
|
+
headers = None
|
|
315
|
+
params = {}
|
|
316
|
+
params['modify'] = None
|
|
317
|
+
merged_config = self._create_request_with_host(request, config)
|
|
318
|
+
return self._send_request(
|
|
319
|
+
http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
def modify_volume_charge_type(self, request, config=None):
|
|
323
|
+
"""
|
|
324
|
+
modify_volume_charge_type
|
|
325
|
+
|
|
326
|
+
:param request: Request entity containing all parameters
|
|
327
|
+
:type request: BccClientRequest
|
|
328
|
+
:param config: Optional request configuration override
|
|
329
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
330
|
+
|
|
331
|
+
:return: API response
|
|
332
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
333
|
+
|
|
334
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
335
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
336
|
+
"""
|
|
337
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
338
|
+
headers = None
|
|
339
|
+
params = {}
|
|
340
|
+
params['modifyChargeType'] = None
|
|
341
|
+
merged_config = self._create_request_with_host(request, config)
|
|
342
|
+
return self._send_request(
|
|
343
|
+
http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
|
|
344
|
+
)
|
|
345
|
+
|
|
346
|
+
def purchase_reserved_volume(self, request, config=None):
|
|
347
|
+
"""
|
|
348
|
+
purchase_reserved_volume
|
|
349
|
+
|
|
350
|
+
:param request: Request entity containing all parameters
|
|
351
|
+
:type request: BccClientRequest
|
|
352
|
+
:param config: Optional request configuration override
|
|
353
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
354
|
+
|
|
355
|
+
:return: API response containing PurchaseReservedVolumeResponse data
|
|
356
|
+
:rtype: PurchaseReservedVolumeResponse
|
|
357
|
+
|
|
358
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
359
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
360
|
+
"""
|
|
361
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
362
|
+
headers = None
|
|
363
|
+
params = {}
|
|
364
|
+
params['purchaseReserved'] = None
|
|
365
|
+
merged_config = self._create_request_with_host(request, config)
|
|
366
|
+
return self._send_request(
|
|
367
|
+
http_methods.PUT,
|
|
368
|
+
path=path,
|
|
369
|
+
body=request.to_json_string(),
|
|
370
|
+
params=params,
|
|
371
|
+
config=merged_config,
|
|
372
|
+
model=PurchaseReservedVolumeResponse,
|
|
373
|
+
)
|
|
374
|
+
|
|
375
|
+
def release_volume(self, request, config=None):
|
|
376
|
+
"""
|
|
377
|
+
release_volume
|
|
378
|
+
|
|
379
|
+
:param request: Request entity containing all parameters
|
|
380
|
+
:type request: BccClientRequest
|
|
381
|
+
:param config: Optional request configuration override
|
|
382
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
383
|
+
|
|
384
|
+
:return: API response
|
|
385
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
386
|
+
|
|
387
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
388
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
389
|
+
"""
|
|
390
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
391
|
+
headers = None
|
|
392
|
+
merged_config = self._create_request_with_host(request, config)
|
|
393
|
+
return self._send_request(http_methods.POST, path=path, body=request.to_json_string(), config=merged_config)
|
|
394
|
+
|
|
395
|
+
def rename_volume(self, request, config=None):
|
|
396
|
+
"""
|
|
397
|
+
rename_volume
|
|
398
|
+
|
|
399
|
+
:param request: Request entity containing all parameters
|
|
400
|
+
:type request: BccClientRequest
|
|
401
|
+
:param config: Optional request configuration override
|
|
402
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
403
|
+
|
|
404
|
+
:return: API response
|
|
405
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
406
|
+
|
|
407
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
408
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
409
|
+
"""
|
|
410
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
411
|
+
headers = None
|
|
412
|
+
params = {}
|
|
413
|
+
params['rename'] = None
|
|
414
|
+
merged_config = self._create_request_with_host(request, config)
|
|
415
|
+
return self._send_request(
|
|
416
|
+
http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
def resize_volume(self, request, config=None):
|
|
420
|
+
"""
|
|
421
|
+
resize_volume
|
|
422
|
+
|
|
423
|
+
:param request: Request entity containing all parameters
|
|
424
|
+
:type request: BccClientRequest
|
|
425
|
+
:param config: Optional request configuration override
|
|
426
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
427
|
+
|
|
428
|
+
:return: API response containing ResizeVolumeResponse data
|
|
429
|
+
:rtype: ResizeVolumeResponse
|
|
430
|
+
|
|
431
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
432
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
433
|
+
"""
|
|
434
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
435
|
+
headers = None
|
|
436
|
+
params = {}
|
|
437
|
+
params['resize'] = None
|
|
438
|
+
merged_config = self._create_request_with_host(request, config)
|
|
439
|
+
return self._send_request(
|
|
440
|
+
http_methods.PUT,
|
|
441
|
+
path=path,
|
|
442
|
+
body=request.to_json_string(),
|
|
443
|
+
params=params,
|
|
444
|
+
config=merged_config,
|
|
445
|
+
model=ResizeVolumeResponse,
|
|
446
|
+
)
|
|
447
|
+
|
|
448
|
+
def rollback_volume(self, request, config=None):
|
|
449
|
+
"""
|
|
450
|
+
rollback_volume
|
|
451
|
+
|
|
452
|
+
:param request: Request entity containing all parameters
|
|
453
|
+
:type request: BccClientRequest
|
|
454
|
+
:param config: Optional request configuration override
|
|
455
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
456
|
+
|
|
457
|
+
:return: API response
|
|
458
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
459
|
+
|
|
460
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
461
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
462
|
+
"""
|
|
463
|
+
path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id)
|
|
464
|
+
headers = None
|
|
465
|
+
params = {}
|
|
466
|
+
params['rollback'] = None
|
|
467
|
+
merged_config = self._create_request_with_host(request, config)
|
|
468
|
+
return self._send_request(
|
|
469
|
+
http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
|
|
470
|
+
)
|
|
471
|
+
|
|
472
|
+
def unbind_tag_volume(self, request, config=None):
|
|
473
|
+
"""
|
|
474
|
+
unbind_tag_volume
|
|
475
|
+
|
|
476
|
+
:param request: Request entity containing all parameters
|
|
477
|
+
:type request: BccClientRequest
|
|
478
|
+
:param config: Optional request configuration override
|
|
479
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
480
|
+
|
|
481
|
+
:return: API response
|
|
482
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
483
|
+
|
|
484
|
+
:raises BceClientError: Client error (network failure, invalid parameters, etc.)
|
|
485
|
+
:raises BceServerError: Server error (4xx/5xx HTTP status codes)
|
|
486
|
+
"""
|
|
487
|
+
path = utils.append_uri(
|
|
488
|
+
BccClient.VERSION_V2, BccClient.CONSTANT_VOLUME, request.volume_id, BccClient.CONSTANT_TAG
|
|
489
|
+
)
|
|
490
|
+
headers = None
|
|
491
|
+
params = {}
|
|
492
|
+
params['unbind'] = None
|
|
493
|
+
merged_config = self._create_request_with_host(request, config)
|
|
494
|
+
return self._send_request(
|
|
495
|
+
http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
|
|
496
|
+
)
|
|
497
|
+
|
|
498
|
+
def _merge_config(self, config=None):
|
|
499
|
+
"""
|
|
500
|
+
:param config:
|
|
501
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
502
|
+
"""
|
|
503
|
+
if config is None:
|
|
504
|
+
return self.config
|
|
505
|
+
else:
|
|
506
|
+
new_config = copy.copy(self.config)
|
|
507
|
+
new_config.merge_non_none_values(config)
|
|
508
|
+
return new_config
|
|
509
|
+
|
|
510
|
+
def _send_request(
|
|
511
|
+
self, http_method, path, body=None, headers=None, params=None, config=None, body_parser=None, model=None
|
|
512
|
+
):
|
|
513
|
+
"""
|
|
514
|
+
Send an HTTP request to the service endpoint.
|
|
515
|
+
|
|
516
|
+
:param http_method: HTTP method (GET, POST, PUT, DELETE, etc.)
|
|
517
|
+
:type http_method: bytes
|
|
518
|
+
:param path: Request path
|
|
519
|
+
:type path: bytes
|
|
520
|
+
:param body: Optional request body
|
|
521
|
+
:type body: str or bytes
|
|
522
|
+
:param headers: Optional HTTP headers
|
|
523
|
+
:type headers: dict
|
|
524
|
+
:param params: Optional query parameters
|
|
525
|
+
:type params: dict
|
|
526
|
+
:param config: Optional request configuration override
|
|
527
|
+
:type config: baiducloud_python_sdk_core.BceClientConfiguration
|
|
528
|
+
:param body_parser: Optional custom body parser function
|
|
529
|
+
:type body_parser: callable
|
|
530
|
+
:param model: Optional response model class for deserialization
|
|
531
|
+
:type model: class
|
|
532
|
+
|
|
533
|
+
:return: API response
|
|
534
|
+
:rtype: baiducloud_python_sdk_core.bce_response.BceResponse
|
|
535
|
+
|
|
536
|
+
:raises BceClientError: Client error (network connection failure, SSL errors, etc.)
|
|
537
|
+
:raises BceServerError: Server returned error response
|
|
538
|
+
"""
|
|
539
|
+
config = self._merge_config(config)
|
|
540
|
+
if body_parser is None:
|
|
541
|
+
body_parser = handler.parse_json
|
|
542
|
+
if headers is None:
|
|
543
|
+
headers = {b'Accept': b'*/*', b'Content-Type': b'application/json;charset=utf-8'}
|
|
544
|
+
return bce_http_client.send_request(
|
|
545
|
+
config,
|
|
546
|
+
bce_v1_signer.sign,
|
|
547
|
+
[handler.parse_error, body_parser],
|
|
548
|
+
http_method,
|
|
549
|
+
path,
|
|
550
|
+
body,
|
|
551
|
+
headers,
|
|
552
|
+
params,
|
|
553
|
+
model=model,
|
|
554
|
+
)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Models for bcc SDK.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from .attach_volume_request import AttachVolumeRequest
|
|
6
|
+
from .attach_volume_response import AttachVolumeResponse
|
|
7
|
+
from .auto_snapshot_policy_info import AutoSnapshotPolicyInfo
|
|
8
|
+
from .auto_snapshot_policy_model import AutoSnapshotPolicyModel
|
|
9
|
+
from .billing import Billing
|
|
10
|
+
from .bind_tag_volume_request import BindTagVolumeRequest
|
|
11
|
+
from .cds_prices import CdsPrices
|
|
12
|
+
from .create_volume_request import CreateVolumeRequest
|
|
13
|
+
from .create_volume_response import CreateVolumeResponse
|
|
14
|
+
from .detach_volume_request import DetachVolumeRequest
|
|
15
|
+
from .disk_info import DiskInfo
|
|
16
|
+
from .get_cds_price_request import GetCdsPriceRequest
|
|
17
|
+
from .get_cds_price_response import GetCdsPriceResponse
|
|
18
|
+
from .get_disk_quota_response import GetDiskQuotaResponse
|
|
19
|
+
from .get_volume_resize_progress_response import GetVolumeResizeProgressResponse
|
|
20
|
+
from .get_volume_response import GetVolumeResponse
|
|
21
|
+
from .group_info import GroupInfo
|
|
22
|
+
from .list_volumes_response import ListVolumesResponse
|
|
23
|
+
from .modify_cds_attribute_request import ModifyCdsAttributeRequest
|
|
24
|
+
from .modify_volume_charge_type_request import ModifyVolumeChargeTypeRequest
|
|
25
|
+
from .purchase_reserved_volume_request import PurchaseReservedVolumeRequest
|
|
26
|
+
from .purchase_reserved_volume_response import PurchaseReservedVolumeResponse
|
|
27
|
+
from .release_volume_request import ReleaseVolumeRequest
|
|
28
|
+
from .rename_volume_request import RenameVolumeRequest
|
|
29
|
+
from .reservation import Reservation
|
|
30
|
+
from .resize_volume_request import ResizeVolumeRequest
|
|
31
|
+
from .resize_volume_response import ResizeVolumeResponse
|
|
32
|
+
from .rollback_volume_request import RollbackVolumeRequest
|
|
33
|
+
from .storage_type import StorageType
|
|
34
|
+
from .tag_model import TagModel
|
|
35
|
+
from .unbind_tag_volume_request import UnbindTagVolumeRequest
|
|
36
|
+
from .volume_attachment_model import VolumeAttachmentModel
|
|
37
|
+
from .volume_model import VolumeModel
|
|
38
|
+
from .volume_multi_attach_info import VolumeMultiAttachInfo
|
|
39
|
+
from .volume_status import VolumeStatus
|
|
40
|
+
from .volume_type import VolumeType
|
|
41
|
+
from .list_volumes_request import ListVolumesRequest
|
|
42
|
+
from .get_volume_request import GetVolumeRequest
|
|
43
|
+
from .get_volume_resize_progress_request import GetVolumeResizeProgressRequest
|
|
44
|
+
from .get_disk_quota_request import GetDiskQuotaRequest
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Request entity for AttachVolumeRequest information.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from baiducloud_python_sdk_core.abstract_model import AbstractModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AttachVolumeRequest(AbstractModel):
|
|
9
|
+
"""
|
|
10
|
+
Request entity for AttachVolumeRequest operation.
|
|
11
|
+
|
|
12
|
+
This class encapsulates all parameters for the API request.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
def __init__(self, volume_id, instance_id, delete_with_instance=None, delete_auto_snapshot=None):
|
|
16
|
+
"""
|
|
17
|
+
Initialize AttachVolumeRequest request entity.
|
|
18
|
+
|
|
19
|
+
:param volume_id: volume_id parameter
|
|
20
|
+
:type volume_id: str (required)
|
|
21
|
+
|
|
22
|
+
:param instance_id: 待挂载的虚拟机实例ID
|
|
23
|
+
:type instance_id: str (required)
|
|
24
|
+
|
|
25
|
+
:param delete_with_instance: 磁盘随实例删除,默认为false,仅后付费类型的数据盘支持配置该选项
|
|
26
|
+
:type delete_with_instance: bool (optional)
|
|
27
|
+
|
|
28
|
+
:param delete_auto_snapshot: 自动快照随磁盘删除,默认为false,所有类型的磁盘都支持配置该选项
|
|
29
|
+
:type delete_auto_snapshot: bool (optional)
|
|
30
|
+
"""
|
|
31
|
+
super().__init__()
|
|
32
|
+
self.volume_id = volume_id
|
|
33
|
+
self.instance_id = instance_id
|
|
34
|
+
self.delete_with_instance = delete_with_instance
|
|
35
|
+
self.delete_auto_snapshot = delete_auto_snapshot
|
|
36
|
+
|
|
37
|
+
def to_dict(self):
|
|
38
|
+
"""
|
|
39
|
+
Convert the request entity to a dictionary representation.
|
|
40
|
+
|
|
41
|
+
Nested model objects are recursively converted to dictionaries.
|
|
42
|
+
|
|
43
|
+
:return: Dictionary representation of the request
|
|
44
|
+
:rtype: dict
|
|
45
|
+
"""
|
|
46
|
+
_map = super().to_dict()
|
|
47
|
+
if _map is not None:
|
|
48
|
+
return _map
|
|
49
|
+
result = dict()
|
|
50
|
+
if self.instance_id is not None:
|
|
51
|
+
result['instanceId'] = self.instance_id
|
|
52
|
+
if self.delete_with_instance is not None:
|
|
53
|
+
result['deleteWithInstance'] = self.delete_with_instance
|
|
54
|
+
if self.delete_auto_snapshot is not None:
|
|
55
|
+
result['deleteAutoSnapshot'] = self.delete_auto_snapshot
|
|
56
|
+
return result
|
|
57
|
+
|
|
58
|
+
def from_dict(self, m):
|
|
59
|
+
"""
|
|
60
|
+
Populate the request entity from a dictionary.
|
|
61
|
+
|
|
62
|
+
Nested dictionaries are recursively converted to model objects.
|
|
63
|
+
|
|
64
|
+
:param m: Dictionary containing request data
|
|
65
|
+
:type m: dict
|
|
66
|
+
|
|
67
|
+
:return: Self reference for method chaining
|
|
68
|
+
:rtype: AttachVolumeRequest
|
|
69
|
+
|
|
70
|
+
:raises TypeError: If input is not a dictionary or field type mismatch
|
|
71
|
+
:raises ValueError: If nested model conversion fails
|
|
72
|
+
"""
|
|
73
|
+
m = m or dict()
|
|
74
|
+
if m.get('volumeId') is not None:
|
|
75
|
+
self.volume_id = m.get('volumeId')
|
|
76
|
+
if m.get('instanceId') is not None:
|
|
77
|
+
self.instance_id = m.get('instanceId')
|
|
78
|
+
if m.get('deleteWithInstance') is not None:
|
|
79
|
+
self.delete_with_instance = m.get('deleteWithInstance')
|
|
80
|
+
if m.get('deleteAutoSnapshot') is not None:
|
|
81
|
+
self.delete_auto_snapshot = m.get('deleteAutoSnapshot')
|
|
82
|
+
return self
|