baiducloud-python-sdk-bcc 0.0.1__tar.gz → 0.0.2__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 (91) hide show
  1. baiducloud-python-sdk-bcc-0.0.2/ChangeLog.md +12 -0
  2. {baiducloud-python-sdk-bcc-0.0.1/baiducloud_python_sdk_bcc.egg-info → baiducloud-python-sdk-bcc-0.0.2}/PKG-INFO +1 -1
  3. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/__init__.py +1 -1
  4. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/api/bcc_client.py +392 -1
  5. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/__init__.py +33 -0
  6. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/bind_tag_image_request.py +67 -0
  7. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/cancel_remote_copy_image_request.py +58 -0
  8. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/create_image_request.py +102 -0
  9. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/create_image_response.py +69 -0
  10. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/delete_image_request.py +58 -0
  11. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/get_available_images_by_spec_request.py +76 -0
  12. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/get_available_images_by_spec_response.py +94 -0
  13. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/get_image_request.py +58 -0
  14. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/get_image_response.py +62 -0
  15. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/image_model.py +225 -0
  16. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/image_status.py +22 -0
  17. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/image_type.py +49 -0
  18. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/import_image_request.py +116 -0
  19. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/import_image_response.py +61 -0
  20. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/list_images_request.py +76 -0
  21. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/list_images_response.py +94 -0
  22. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/list_os_request.py +60 -0
  23. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/list_os_response.py +62 -0
  24. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/list_shared_user_request.py +58 -0
  25. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/list_shared_user_response.py +62 -0
  26. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/os_model.py +115 -0
  27. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/remote_copy_image_request.py +74 -0
  28. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/remote_copy_image_response.py +62 -0
  29. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/remote_copy_result.py +82 -0
  30. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/rename_image_request.py +68 -0
  31. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/share_image_request.py +82 -0
  32. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/shared_user.py +74 -0
  33. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/snapshot_model.py +189 -0
  34. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/snapshot_status.py +21 -0
  35. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/system_image_model.py +124 -0
  36. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/tag.py +66 -0
  37. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/un_share_image_request.py +82 -0
  38. baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc/models/unbind_tag_image_request.py +67 -0
  39. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2/baiducloud_python_sdk_bcc.egg-info}/PKG-INFO +1 -1
  40. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc.egg-info/SOURCES.txt +33 -0
  41. baiducloud-python-sdk-bcc-0.0.1/ChangeLog.md +0 -5
  42. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/LICENSE +0 -0
  43. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/MANIFEST.in +0 -0
  44. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/README-CN.md +0 -0
  45. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/README.md +0 -0
  46. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/api/__init__.py +0 -0
  47. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/attach_volume_request.py +0 -0
  48. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/attach_volume_response.py +0 -0
  49. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/auto_snapshot_policy_info.py +0 -0
  50. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/auto_snapshot_policy_model.py +0 -0
  51. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/billing.py +0 -0
  52. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/bind_tag_volume_request.py +0 -0
  53. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/cds_prices.py +0 -0
  54. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/create_volume_request.py +0 -0
  55. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/create_volume_response.py +0 -0
  56. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/detach_volume_request.py +0 -0
  57. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/disk_info.py +0 -0
  58. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/get_cds_price_request.py +0 -0
  59. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/get_cds_price_response.py +0 -0
  60. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/get_disk_quota_request.py +0 -0
  61. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/get_disk_quota_response.py +0 -0
  62. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/get_volume_request.py +0 -0
  63. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/get_volume_resize_progress_request.py +0 -0
  64. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/get_volume_resize_progress_response.py +0 -0
  65. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/get_volume_response.py +0 -0
  66. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/group_info.py +0 -0
  67. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/list_volumes_request.py +0 -0
  68. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/list_volumes_response.py +0 -0
  69. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/modify_cds_attribute_request.py +0 -0
  70. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/modify_volume_charge_type_request.py +0 -0
  71. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/purchase_reserved_volume_request.py +0 -0
  72. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/purchase_reserved_volume_response.py +0 -0
  73. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/release_volume_request.py +0 -0
  74. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/rename_volume_request.py +0 -0
  75. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/reservation.py +0 -0
  76. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/resize_volume_request.py +0 -0
  77. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/resize_volume_response.py +0 -0
  78. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/rollback_volume_request.py +0 -0
  79. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/storage_type.py +0 -0
  80. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/tag_model.py +0 -0
  81. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/unbind_tag_volume_request.py +0 -0
  82. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/volume_attachment_model.py +0 -0
  83. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/volume_model.py +0 -0
  84. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/volume_multi_attach_info.py +0 -0
  85. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/volume_status.py +0 -0
  86. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc/models/volume_type.py +0 -0
  87. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc.egg-info/dependency_links.txt +0 -0
  88. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc.egg-info/requires.txt +0 -0
  89. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/baiducloud_python_sdk_bcc.egg-info/top_level.txt +0 -0
  90. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/setup.cfg +0 -0
  91. {baiducloud-python-sdk-bcc-0.0.1 → baiducloud-python-sdk-bcc-0.0.2}/setup.py +0 -0
@@ -0,0 +1,12 @@
1
+ 2026-06-11 Version: 0.0.2
2
+ 新增BCC自定义镜像管理相关接口
3
+ - 涉及产品: BCC,新增镜像创建、查询、删除、重命名接口
4
+ - 涉及产品: BCC,新增镜像共享、取消共享及共享用户查询接口
5
+ - 涉及产品: BCC,新增镜像导入、跨地域复制及取消复制接口
6
+ - 涉及产品: BCC,新增镜像标签绑定、OS查询及可用镜像查询接口
7
+
8
+ 2026-06-10 Version: 0.0.1
9
+ - 涉及产品: BCC,支持CDS磁盘创建、挂载、卸载、释放等生命周期管理
10
+ - 涉及产品: BCC,支持磁盘扩容、类型变更、计费变更及续费操作
11
+ - 涉及产品: BCC,支持磁盘标签绑定解绑、重命名及属性修改
12
+ - 涉及产品: BCC,支持磁盘详情查询、列表查询、价格查询及变配进度查询
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: baiducloud-python-sdk-bcc
3
- Version: 0.0.1
3
+ Version: 0.0.2
4
4
  Summary: Baidu Cloud bccApi SDK Library for Python
5
5
  Home-page: https://github.com/baidubce/baiducloud-python-sdk
6
6
  Author: Baidu Cloud SDK
@@ -2,4 +2,4 @@
2
2
  This module defines some common string constants.
3
3
  """
4
4
 
5
- SDK_VERSION = b'0.0.1'
5
+ SDK_VERSION = b'0.0.2'
@@ -12,13 +12,21 @@ from baiducloud_python_sdk_core.http import bce_http_client
12
12
  from baiducloud_python_sdk_core.http import handler
13
13
  from baiducloud_python_sdk_core.http import http_methods
14
14
  from baiducloud_python_sdk_bcc.models.attach_volume_response import AttachVolumeResponse
15
+ from baiducloud_python_sdk_bcc.models.create_image_response import CreateImageResponse
15
16
  from baiducloud_python_sdk_bcc.models.create_volume_response import CreateVolumeResponse
17
+ from baiducloud_python_sdk_bcc.models.get_available_images_by_spec_response import GetAvailableImagesBySpecResponse
16
18
  from baiducloud_python_sdk_bcc.models.get_cds_price_response import GetCdsPriceResponse
17
19
  from baiducloud_python_sdk_bcc.models.get_disk_quota_response import GetDiskQuotaResponse
20
+ from baiducloud_python_sdk_bcc.models.get_image_response import GetImageResponse
18
21
  from baiducloud_python_sdk_bcc.models.get_volume_response import GetVolumeResponse
19
22
  from baiducloud_python_sdk_bcc.models.get_volume_resize_progress_response import GetVolumeResizeProgressResponse
23
+ from baiducloud_python_sdk_bcc.models.import_image_response import ImportImageResponse
24
+ from baiducloud_python_sdk_bcc.models.list_images_response import ListImagesResponse
25
+ from baiducloud_python_sdk_bcc.models.list_os_response import ListOsResponse
26
+ from baiducloud_python_sdk_bcc.models.list_shared_user_response import ListSharedUserResponse
20
27
  from baiducloud_python_sdk_bcc.models.list_volumes_response import ListVolumesResponse
21
28
  from baiducloud_python_sdk_bcc.models.purchase_reserved_volume_response import PurchaseReservedVolumeResponse
29
+ from baiducloud_python_sdk_bcc.models.remote_copy_image_response import RemoteCopyImageResponse
22
30
  from baiducloud_python_sdk_bcc.models.resize_volume_response import ResizeVolumeResponse
23
31
 
24
32
  _logger = logging.getLogger(__name__)
@@ -31,10 +39,12 @@ class BccClient(BceBaseClient):
31
39
 
32
40
  VERSION_V2 = b'/v2'
33
41
 
34
- CONSTANT_VOLUME = b'volume'
42
+ CONSTANT_IMAGE = b'image'
35
43
 
36
44
  CONSTANT_TAG = b'tag'
37
45
 
46
+ CONSTANT_VOLUME = b'volume'
47
+
38
48
  CONSTANT_PROGRESS = b'progress'
39
49
 
40
50
  CONSTANT_DISK = b'disk'
@@ -43,6 +53,16 @@ class BccClient(BceBaseClient):
43
53
 
44
54
  CONSTANT_GET_PRICE = b'getPrice'
45
55
 
56
+ CONSTANT_GET_AVAILABLE_IMAGES_BY_SPEC = b'getAvailableImagesBySpec'
57
+
58
+ CONSTANT_RENAME = b'rename'
59
+
60
+ CONSTANT_IMPORT = b'import'
61
+
62
+ CONSTANT_OS = b'os'
63
+
64
+ CONSTANT_SHARED_USERS = b'sharedUsers'
65
+
46
66
  def __init__(self, config=None):
47
67
  """
48
68
  Initialize the bcc client.
@@ -81,6 +101,32 @@ class BccClient(BceBaseClient):
81
101
  model=AttachVolumeResponse,
82
102
  )
83
103
 
104
+ def bind_tag_image(self, request, config=None):
105
+ """
106
+ bind_tag_image
107
+
108
+ :param request: Request entity containing all parameters
109
+ :type request: BccClientRequest
110
+ :param config: Optional request configuration override
111
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
112
+
113
+ :return: API response
114
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
115
+
116
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
117
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
118
+ """
119
+ path = utils.append_uri(
120
+ BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id, BccClient.CONSTANT_TAG
121
+ )
122
+ headers = None
123
+ params = {}
124
+ params['bind'] = None
125
+ merged_config = self._create_request_with_host(request, config)
126
+ return self._send_request(
127
+ http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
128
+ )
129
+
84
130
  def bind_tag_volume(self, request, config=None):
85
131
  """
86
132
  bind_tag_volume
@@ -107,6 +153,54 @@ class BccClient(BceBaseClient):
107
153
  http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
108
154
  )
109
155
 
156
+ def cancel_remote_copy_image(self, request, config=None):
157
+ """
158
+ cancel_remote_copy_image
159
+
160
+ :param request: Request entity containing all parameters
161
+ :type request: BccClientRequest
162
+ :param config: Optional request configuration override
163
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
164
+
165
+ :return: API response
166
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
167
+
168
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
169
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
170
+ """
171
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id)
172
+ headers = None
173
+ params = {}
174
+ params['cancelRemoteCopy'] = None
175
+ merged_config = self._create_request_with_host(request, config)
176
+ return self._send_request(http_methods.POST, path=path, params=params, config=merged_config)
177
+
178
+ def create_image(self, request, config=None):
179
+ """
180
+ create_image
181
+
182
+ :param request: Request entity containing all parameters
183
+ :type request: BccClientRequest
184
+ :param config: Optional request configuration override
185
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
186
+
187
+ :return: API response containing CreateImageResponse data
188
+ :rtype: CreateImageResponse
189
+
190
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
191
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
192
+ """
193
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE)
194
+ headers = None
195
+ merged_config = self._create_request_with_host(request, config)
196
+ return self._send_request(
197
+ http_methods.POST,
198
+ path=path,
199
+ body=request.to_json_string(),
200
+ config=merged_config,
201
+ model=CreateImageResponse,
202
+ )
203
+
110
204
  def create_volume(self, request, config=None):
111
205
  """
112
206
  create_volume
@@ -133,6 +227,26 @@ class BccClient(BceBaseClient):
133
227
  model=CreateVolumeResponse,
134
228
  )
135
229
 
230
+ def delete_image(self, request, config=None):
231
+ """
232
+ delete_image
233
+
234
+ :param request: Request entity containing all parameters
235
+ :type request: BccClientRequest
236
+ :param config: Optional request configuration override
237
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
238
+
239
+ :return: API response
240
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
241
+
242
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
243
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
244
+ """
245
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id)
246
+ headers = None
247
+ merged_config = self._create_request_with_host(request, config)
248
+ return self._send_request(http_methods.DELETE, path=path, config=merged_config)
249
+
136
250
  def detach_volume(self, request, config=None):
137
251
  """
138
252
  detach_volume
@@ -157,6 +271,39 @@ class BccClient(BceBaseClient):
157
271
  http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
158
272
  )
159
273
 
274
+ def get_available_images_by_spec(self, request, config=None):
275
+ """
276
+ get_available_images_by_spec
277
+
278
+ :param request: Request entity containing all parameters
279
+ :type request: BccClientRequest
280
+ :param config: Optional request configuration override
281
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
282
+
283
+ :return: API response containing GetAvailableImagesBySpecResponse data
284
+ :rtype: GetAvailableImagesBySpecResponse
285
+
286
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
287
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
288
+ """
289
+ path = utils.append_uri(
290
+ BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, BccClient.CONSTANT_GET_AVAILABLE_IMAGES_BY_SPEC
291
+ )
292
+ headers = None
293
+ params = {}
294
+ if request.spec is not None:
295
+ params['spec'] = request.spec
296
+ if request.marker is not None:
297
+ params['marker'] = request.marker
298
+ if request.max_keys is not None:
299
+ params['maxKeys'] = request.max_keys
300
+ if request.os_name is not None:
301
+ params['osName'] = request.os_name
302
+ merged_config = self._create_request_with_host(request, config)
303
+ return self._send_request(
304
+ http_methods.GET, path=path, params=params, config=merged_config, model=GetAvailableImagesBySpecResponse
305
+ )
306
+
160
307
  def get_cds_price(self, request, config=None):
161
308
  """
162
309
  get_cds_price
@@ -210,6 +357,26 @@ class BccClient(BceBaseClient):
210
357
  http_methods.GET, path=path, params=params, config=merged_config, model=GetDiskQuotaResponse
211
358
  )
212
359
 
360
+ def get_image(self, request, config=None):
361
+ """
362
+ get_image
363
+
364
+ :param request: Request entity containing all parameters
365
+ :type request: BccClientRequest
366
+ :param config: Optional request configuration override
367
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
368
+
369
+ :return: API response containing GetImageResponse data
370
+ :rtype: GetImageResponse
371
+
372
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
373
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
374
+ """
375
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id)
376
+ headers = None
377
+ merged_config = self._create_request_with_host(request, config)
378
+ return self._send_request(http_methods.GET, path=path, config=merged_config, model=GetImageResponse)
379
+
213
380
  def get_volume(self, request, config=None):
214
381
  """
215
382
  get_volume
@@ -254,6 +421,107 @@ class BccClient(BceBaseClient):
254
421
  http_methods.GET, path=path, config=merged_config, model=GetVolumeResizeProgressResponse
255
422
  )
256
423
 
424
+ def import_image(self, request, config=None):
425
+ """
426
+ import_image
427
+
428
+ :param request: Request entity containing all parameters
429
+ :type request: BccClientRequest
430
+ :param config: Optional request configuration override
431
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
432
+
433
+ :return: API response containing ImportImageResponse data
434
+ :rtype: ImportImageResponse
435
+
436
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
437
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
438
+ """
439
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, BccClient.CONSTANT_IMPORT)
440
+ headers = None
441
+ merged_config = self._create_request_with_host(request, config)
442
+ return self._send_request(
443
+ http_methods.POST,
444
+ path=path,
445
+ body=request.to_json_string(),
446
+ config=merged_config,
447
+ model=ImportImageResponse,
448
+ )
449
+
450
+ def list_images(self, request, config=None):
451
+ """
452
+ list_images
453
+
454
+ :param request: Request entity containing all parameters
455
+ :type request: BccClientRequest
456
+ :param config: Optional request configuration override
457
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
458
+
459
+ :return: API response containing ListImagesResponse data
460
+ :rtype: ListImagesResponse
461
+
462
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
463
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
464
+ """
465
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE)
466
+ headers = None
467
+ params = {}
468
+ if request.marker is not None:
469
+ params['marker'] = request.marker
470
+ if request.max_keys is not None:
471
+ params['maxKeys'] = request.max_keys
472
+ if request.image_type is not None:
473
+ params['imageType'] = request.image_type
474
+ if request.image_name is not None:
475
+ params['imageName'] = request.image_name
476
+ merged_config = self._create_request_with_host(request, config)
477
+ return self._send_request(
478
+ http_methods.GET, path=path, params=params, config=merged_config, model=ListImagesResponse
479
+ )
480
+
481
+ def list_os(self, request, config=None):
482
+ """
483
+ list_os
484
+
485
+ :param request: Request entity containing all parameters
486
+ :type request: BccClientRequest
487
+ :param config: Optional request configuration override
488
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
489
+
490
+ :return: API response containing ListOsResponse data
491
+ :rtype: ListOsResponse
492
+
493
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
494
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
495
+ """
496
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, BccClient.CONSTANT_OS)
497
+ headers = None
498
+ merged_config = self._create_request_with_host(request, config)
499
+ return self._send_request(
500
+ http_methods.POST, path=path, body=request.to_json_string(), config=merged_config, model=ListOsResponse
501
+ )
502
+
503
+ def list_shared_user(self, request, config=None):
504
+ """
505
+ list_shared_user
506
+
507
+ :param request: Request entity containing all parameters
508
+ :type request: BccClientRequest
509
+ :param config: Optional request configuration override
510
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
511
+
512
+ :return: API response containing ListSharedUserResponse data
513
+ :rtype: ListSharedUserResponse
514
+
515
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
516
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
517
+ """
518
+ path = utils.append_uri(
519
+ BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id, BccClient.CONSTANT_SHARED_USERS
520
+ )
521
+ headers = None
522
+ merged_config = self._create_request_with_host(request, config)
523
+ return self._send_request(http_methods.GET, path=path, config=merged_config, model=ListSharedUserResponse)
524
+
257
525
  def list_volumes(self, request, config=None):
258
526
  """
259
527
  list_volumes
@@ -392,6 +660,55 @@ class BccClient(BceBaseClient):
392
660
  merged_config = self._create_request_with_host(request, config)
393
661
  return self._send_request(http_methods.POST, path=path, body=request.to_json_string(), config=merged_config)
394
662
 
663
+ def remote_copy_image(self, request, config=None):
664
+ """
665
+ remote_copy_image
666
+
667
+ :param request: Request entity containing all parameters
668
+ :type request: BccClientRequest
669
+ :param config: Optional request configuration override
670
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
671
+
672
+ :return: API response containing RemoteCopyImageResponse data
673
+ :rtype: RemoteCopyImageResponse
674
+
675
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
676
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
677
+ """
678
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id)
679
+ headers = None
680
+ params = {}
681
+ params['remoteCopy'] = None
682
+ merged_config = self._create_request_with_host(request, config)
683
+ return self._send_request(
684
+ http_methods.POST,
685
+ path=path,
686
+ body=request.to_json_string(),
687
+ params=params,
688
+ config=merged_config,
689
+ model=RemoteCopyImageResponse,
690
+ )
691
+
692
+ def rename_image(self, request, config=None):
693
+ """
694
+ rename_image
695
+
696
+ :param request: Request entity containing all parameters
697
+ :type request: BccClientRequest
698
+ :param config: Optional request configuration override
699
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
700
+
701
+ :return: API response
702
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
703
+
704
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
705
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
706
+ """
707
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, BccClient.CONSTANT_RENAME)
708
+ headers = None
709
+ merged_config = self._create_request_with_host(request, config)
710
+ return self._send_request(http_methods.PUT, path=path, body=request.to_json_string(), config=merged_config)
711
+
395
712
  def rename_volume(self, request, config=None):
396
713
  """
397
714
  rename_volume
@@ -469,6 +786,80 @@ class BccClient(BceBaseClient):
469
786
  http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
470
787
  )
471
788
 
789
+ def share_image(self, request, config=None):
790
+ """
791
+ share_image
792
+
793
+ :param request: Request entity containing all parameters
794
+ :type request: BccClientRequest
795
+ :param config: Optional request configuration override
796
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
797
+
798
+ :return: API response
799
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
800
+
801
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
802
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
803
+ """
804
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id)
805
+ headers = None
806
+ params = {}
807
+ params['share'] = None
808
+ merged_config = self._create_request_with_host(request, config)
809
+ return self._send_request(
810
+ http_methods.POST, path=path, body=request.to_json_string(), params=params, config=merged_config
811
+ )
812
+
813
+ def un_share_image(self, request, config=None):
814
+ """
815
+ un_share_image
816
+
817
+ :param request: Request entity containing all parameters
818
+ :type request: BccClientRequest
819
+ :param config: Optional request configuration override
820
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
821
+
822
+ :return: API response
823
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
824
+
825
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
826
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
827
+ """
828
+ path = utils.append_uri(BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id)
829
+ headers = None
830
+ params = {}
831
+ params['unshare'] = None
832
+ merged_config = self._create_request_with_host(request, config)
833
+ return self._send_request(
834
+ http_methods.POST, path=path, body=request.to_json_string(), params=params, config=merged_config
835
+ )
836
+
837
+ def unbind_tag_image(self, request, config=None):
838
+ """
839
+ unbind_tag_image
840
+
841
+ :param request: Request entity containing all parameters
842
+ :type request: BccClientRequest
843
+ :param config: Optional request configuration override
844
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
845
+
846
+ :return: API response
847
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
848
+
849
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
850
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
851
+ """
852
+ path = utils.append_uri(
853
+ BccClient.VERSION_V2, BccClient.CONSTANT_IMAGE, request.image_id, BccClient.CONSTANT_TAG
854
+ )
855
+ headers = None
856
+ params = {}
857
+ params['unbind'] = None
858
+ merged_config = self._create_request_with_host(request, config)
859
+ return self._send_request(
860
+ http_methods.PUT, path=path, body=request.to_json_string(), params=params, config=merged_config
861
+ )
862
+
472
863
  def unbind_tag_volume(self, request, config=None):
473
864
  """
474
865
  unbind_tag_volume
@@ -7,31 +7,58 @@ from .attach_volume_response import AttachVolumeResponse
7
7
  from .auto_snapshot_policy_info import AutoSnapshotPolicyInfo
8
8
  from .auto_snapshot_policy_model import AutoSnapshotPolicyModel
9
9
  from .billing import Billing
10
+ from .bind_tag_image_request import BindTagImageRequest
10
11
  from .bind_tag_volume_request import BindTagVolumeRequest
11
12
  from .cds_prices import CdsPrices
13
+ from .create_image_request import CreateImageRequest
14
+ from .create_image_response import CreateImageResponse
12
15
  from .create_volume_request import CreateVolumeRequest
13
16
  from .create_volume_response import CreateVolumeResponse
14
17
  from .detach_volume_request import DetachVolumeRequest
15
18
  from .disk_info import DiskInfo
19
+ from .get_available_images_by_spec_response import GetAvailableImagesBySpecResponse
16
20
  from .get_cds_price_request import GetCdsPriceRequest
17
21
  from .get_cds_price_response import GetCdsPriceResponse
18
22
  from .get_disk_quota_response import GetDiskQuotaResponse
23
+ from .get_image_response import GetImageResponse
19
24
  from .get_volume_resize_progress_response import GetVolumeResizeProgressResponse
20
25
  from .get_volume_response import GetVolumeResponse
21
26
  from .group_info import GroupInfo
27
+ from .image_model import ImageModel
28
+ from .image_status import ImageStatus
29
+ from .image_type import ImageType
30
+ from .import_image_request import ImportImageRequest
31
+ from .import_image_response import ImportImageResponse
32
+ from .list_images_response import ListImagesResponse
33
+ from .list_os_request import ListOsRequest
34
+ from .list_os_response import ListOsResponse
35
+ from .list_shared_user_response import ListSharedUserResponse
22
36
  from .list_volumes_response import ListVolumesResponse
23
37
  from .modify_cds_attribute_request import ModifyCdsAttributeRequest
24
38
  from .modify_volume_charge_type_request import ModifyVolumeChargeTypeRequest
39
+ from .os_model import OsModel
25
40
  from .purchase_reserved_volume_request import PurchaseReservedVolumeRequest
26
41
  from .purchase_reserved_volume_response import PurchaseReservedVolumeResponse
27
42
  from .release_volume_request import ReleaseVolumeRequest
43
+ from .remote_copy_image_request import RemoteCopyImageRequest
44
+ from .remote_copy_image_response import RemoteCopyImageResponse
45
+ from .remote_copy_result import RemoteCopyResult
46
+ from .rename_image_request import RenameImageRequest
28
47
  from .rename_volume_request import RenameVolumeRequest
29
48
  from .reservation import Reservation
30
49
  from .resize_volume_request import ResizeVolumeRequest
31
50
  from .resize_volume_response import ResizeVolumeResponse
32
51
  from .rollback_volume_request import RollbackVolumeRequest
52
+ from .share_image_request import ShareImageRequest
53
+ from .shared_user import SharedUser
54
+ from .snapshot_model import SnapshotModel
55
+ from .snapshot_status import SnapshotStatus
33
56
  from .storage_type import StorageType
57
+ from .system_image_model import SystemImageModel
58
+ from .tag import Tag
34
59
  from .tag_model import TagModel
60
+ from .un_share_image_request import UnShareImageRequest
61
+ from .unbind_tag_image_request import UnbindTagImageRequest
35
62
  from .unbind_tag_volume_request import UnbindTagVolumeRequest
36
63
  from .volume_attachment_model import VolumeAttachmentModel
37
64
  from .volume_model import VolumeModel
@@ -42,3 +69,9 @@ from .list_volumes_request import ListVolumesRequest
42
69
  from .get_volume_request import GetVolumeRequest
43
70
  from .get_volume_resize_progress_request import GetVolumeResizeProgressRequest
44
71
  from .get_disk_quota_request import GetDiskQuotaRequest
72
+ from .get_image_request import GetImageRequest
73
+ from .delete_image_request import DeleteImageRequest
74
+ from .get_available_images_by_spec_request import GetAvailableImagesBySpecRequest
75
+ from .list_images_request import ListImagesRequest
76
+ from .cancel_remote_copy_image_request import CancelRemoteCopyImageRequest
77
+ from .list_shared_user_request import ListSharedUserRequest
@@ -0,0 +1,67 @@
1
+ """
2
+ Request entity for BindTagImageRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+ from baiducloud_python_sdk_bcc.models.tag_model import TagModel
7
+
8
+
9
+ class BindTagImageRequest(AbstractModel):
10
+ """
11
+ Request entity for BindTagImageRequest operation.
12
+
13
+ This class encapsulates all parameters for the API request.
14
+ """
15
+
16
+ def __init__(self, image_id, change_tags):
17
+ """
18
+ Initialize BindTagImageRequest request entity.
19
+
20
+ :param image_id: image_id parameter
21
+ :type image_id: str (required)
22
+
23
+ :param change_tags: 待绑定的标签列表
24
+ :type change_tags: List[TagModel] (required)
25
+ """
26
+ super().__init__()
27
+ self.image_id = image_id
28
+ self.change_tags = change_tags
29
+
30
+ def to_dict(self):
31
+ """
32
+ Convert the request entity to a dictionary representation.
33
+
34
+ Nested model objects are recursively converted to dictionaries.
35
+
36
+ :return: Dictionary representation of the request
37
+ :rtype: dict
38
+ """
39
+ _map = super().to_dict()
40
+ if _map is not None:
41
+ return _map
42
+ result = dict()
43
+ if self.change_tags is not None:
44
+ result['changeTags'] = [i.to_dict() for i in self.change_tags]
45
+ return result
46
+
47
+ def from_dict(self, m):
48
+ """
49
+ Populate the request entity from a dictionary.
50
+
51
+ Nested dictionaries are recursively converted to model objects.
52
+
53
+ :param m: Dictionary containing request data
54
+ :type m: dict
55
+
56
+ :return: Self reference for method chaining
57
+ :rtype: BindTagImageRequest
58
+
59
+ :raises TypeError: If input is not a dictionary or field type mismatch
60
+ :raises ValueError: If nested model conversion fails
61
+ """
62
+ m = m or dict()
63
+ if m.get('imageId') is not None:
64
+ self.image_id = m.get('imageId')
65
+ if m.get('changeTags') is not None:
66
+ self.change_tags = [TagModel().from_dict(i) for i in m.get('changeTags')]
67
+ return self