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.
Files changed (49) hide show
  1. baiducloud_python_sdk_bcc/__init__.py +5 -0
  2. baiducloud_python_sdk_bcc/api/__init__.py +0 -0
  3. baiducloud_python_sdk_bcc/api/bcc_client.py +554 -0
  4. baiducloud_python_sdk_bcc/models/__init__.py +44 -0
  5. baiducloud_python_sdk_bcc/models/attach_volume_request.py +82 -0
  6. baiducloud_python_sdk_bcc/models/attach_volume_response.py +70 -0
  7. baiducloud_python_sdk_bcc/models/auto_snapshot_policy_info.py +98 -0
  8. baiducloud_python_sdk_bcc/models/auto_snapshot_policy_model.py +151 -0
  9. baiducloud_python_sdk_bcc/models/billing.py +68 -0
  10. baiducloud_python_sdk_bcc/models/bind_tag_volume_request.py +67 -0
  11. baiducloud_python_sdk_bcc/models/cds_prices.py +90 -0
  12. baiducloud_python_sdk_bcc/models/create_volume_request.py +264 -0
  13. baiducloud_python_sdk_bcc/models/create_volume_response.py +77 -0
  14. baiducloud_python_sdk_bcc/models/detach_volume_request.py +66 -0
  15. baiducloud_python_sdk_bcc/models/disk_info.py +74 -0
  16. baiducloud_python_sdk_bcc/models/get_cds_price_request.py +117 -0
  17. baiducloud_python_sdk_bcc/models/get_cds_price_response.py +62 -0
  18. baiducloud_python_sdk_bcc/models/get_disk_quota_request.py +58 -0
  19. baiducloud_python_sdk_bcc/models/get_disk_quota_response.py +78 -0
  20. baiducloud_python_sdk_bcc/models/get_volume_request.py +58 -0
  21. baiducloud_python_sdk_bcc/models/get_volume_resize_progress_request.py +58 -0
  22. baiducloud_python_sdk_bcc/models/get_volume_resize_progress_response.py +61 -0
  23. baiducloud_python_sdk_bcc/models/get_volume_response.py +62 -0
  24. baiducloud_python_sdk_bcc/models/group_info.py +66 -0
  25. baiducloud_python_sdk_bcc/models/list_volumes_request.py +117 -0
  26. baiducloud_python_sdk_bcc/models/list_volumes_response.py +94 -0
  27. baiducloud_python_sdk_bcc/models/modify_cds_attribute_request.py +90 -0
  28. baiducloud_python_sdk_bcc/models/modify_volume_charge_type_request.py +75 -0
  29. baiducloud_python_sdk_bcc/models/purchase_reserved_volume_request.py +75 -0
  30. baiducloud_python_sdk_bcc/models/purchase_reserved_volume_response.py +61 -0
  31. baiducloud_python_sdk_bcc/models/release_volume_request.py +90 -0
  32. baiducloud_python_sdk_bcc/models/rename_volume_request.py +66 -0
  33. baiducloud_python_sdk_bcc/models/reservation.py +66 -0
  34. baiducloud_python_sdk_bcc/models/resize_volume_request.py +82 -0
  35. baiducloud_python_sdk_bcc/models/resize_volume_response.py +61 -0
  36. baiducloud_python_sdk_bcc/models/rollback_volume_request.py +66 -0
  37. baiducloud_python_sdk_bcc/models/storage_type.py +53 -0
  38. baiducloud_python_sdk_bcc/models/tag_model.py +66 -0
  39. baiducloud_python_sdk_bcc/models/unbind_tag_volume_request.py +67 -0
  40. baiducloud_python_sdk_bcc/models/volume_attachment_model.py +82 -0
  41. baiducloud_python_sdk_bcc/models/volume_model.py +417 -0
  42. baiducloud_python_sdk_bcc/models/volume_multi_attach_info.py +82 -0
  43. baiducloud_python_sdk_bcc/models/volume_status.py +45 -0
  44. baiducloud_python_sdk_bcc/models/volume_type.py +20 -0
  45. baiducloud_python_sdk_bcc-0.0.1.dist-info/LICENSE +177 -0
  46. baiducloud_python_sdk_bcc-0.0.1.dist-info/METADATA +76 -0
  47. baiducloud_python_sdk_bcc-0.0.1.dist-info/RECORD +49 -0
  48. baiducloud_python_sdk_bcc-0.0.1.dist-info/WHEEL +5 -0
  49. baiducloud_python_sdk_bcc-0.0.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,5 @@
1
+ """
2
+ This module defines some common string constants.
3
+ """
4
+
5
+ SDK_VERSION = b'0.0.1'
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