baiducloud-python-sdk-pfs 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.
@@ -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,221 @@
1
+ """
2
+ Example for pfs 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_pfs.models.create_pfs_response import CreatePfsResponse
15
+ from baiducloud_python_sdk_pfs.models.desc_pfs_response import DescPfsResponse
16
+ from baiducloud_python_sdk_pfs.models.list_pfs_response import ListPfsResponse
17
+
18
+ _logger = logging.getLogger(__name__)
19
+
20
+
21
+ class PfsClient(BceBaseClient):
22
+ """
23
+ pfs base sdk client
24
+ """
25
+
26
+ VERSION_V1 = b'/v1'
27
+
28
+ CONSTANT_V1 = b'v1'
29
+
30
+ CONSTANT_PFS = b'pfs'
31
+
32
+ CONSTANT_INSTANCE = b'instance'
33
+
34
+ CONSTANT_TAG = b'tag'
35
+
36
+ def __init__(self, config=None):
37
+ """
38
+ Initialize the pfs client.
39
+
40
+ :param config: Client configuration
41
+ :type config: baidubce.BceClientConfiguration
42
+ """
43
+ bce_base_client.BceBaseClient.__init__(self, config)
44
+
45
+ def create_pfs(self, request, config=None):
46
+ """
47
+ create_pfs
48
+
49
+ :param request: Request entity containing all parameters
50
+ :type request: PfsClientRequest
51
+ :param config: Optional request configuration override
52
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
53
+
54
+ :return: API response containing CreatePfsResponse data
55
+ :rtype: CreatePfsResponse
56
+
57
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
58
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
59
+ """
60
+ path = utils.append_uri(b'/', PfsClient.CONSTANT_V1, PfsClient.CONSTANT_PFS, PfsClient.CONSTANT_INSTANCE)
61
+ headers = None
62
+ merged_config = self._create_request_with_host(request, config)
63
+ return self._send_request(
64
+ http_methods.POST, path=path, body=request.to_json_string(), config=merged_config, model=CreatePfsResponse
65
+ )
66
+
67
+ def delete_pfs(self, request, config=None):
68
+ """
69
+ delete_pfs
70
+
71
+ :param request: Request entity containing all parameters
72
+ :type request: PfsClientRequest
73
+ :param config: Optional request configuration override
74
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
75
+
76
+ :return: API response
77
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
78
+
79
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
80
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
81
+ """
82
+ path = utils.append_uri(b'/', PfsClient.CONSTANT_V1, PfsClient.CONSTANT_PFS, PfsClient.CONSTANT_INSTANCE)
83
+ headers = None
84
+ params = {}
85
+ if request.instance_id is not None:
86
+ params['instanceId'] = request.instance_id
87
+ merged_config = self._create_request_with_host(request, config)
88
+ return self._send_request(http_methods.DELETE, path=path, params=params, config=merged_config)
89
+
90
+ def desc_pfs(self, request, config=None):
91
+ """
92
+ desc_pfs
93
+
94
+ :param request: Request entity containing all parameters
95
+ :type request: PfsClientRequest
96
+ :param config: Optional request configuration override
97
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
98
+
99
+ :return: API response containing DescPfsResponse data
100
+ :rtype: DescPfsResponse
101
+
102
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
103
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
104
+ """
105
+ path = utils.append_uri(b'/', PfsClient.CONSTANT_V1, PfsClient.CONSTANT_PFS, PfsClient.CONSTANT_INSTANCE)
106
+ headers = None
107
+ params = {}
108
+ if request.instance_id is not None:
109
+ params['instanceId'] = request.instance_id
110
+ merged_config = self._create_request_with_host(request, config)
111
+ return self._send_request(
112
+ http_methods.GET, path=path, params=params, config=merged_config, model=DescPfsResponse
113
+ )
114
+
115
+ def list_pfs(self, request, config=None):
116
+ """
117
+ list_pfs
118
+
119
+ :param request: Request entity containing all parameters
120
+ :type request: PfsClientRequest
121
+ :param config: Optional request configuration override
122
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
123
+
124
+ :return: API response containing ListPfsResponse data
125
+ :rtype: ListPfsResponse
126
+
127
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
128
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
129
+ """
130
+ path = utils.append_uri(b'/', PfsClient.CONSTANT_V1, PfsClient.CONSTANT_PFS, PfsClient.CONSTANT_INSTANCE)
131
+ headers = None
132
+ params = {}
133
+ params['manner'] = 'marker'
134
+ if request.max_keys is not None:
135
+ params['maxKeys'] = request.max_keys
136
+ if request.marker is not None:
137
+ params['marker'] = request.marker
138
+ if request.filter_tag is not None:
139
+ params['filterTag'] = request.filter_tag
140
+ merged_config = self._create_request_with_host(request, config)
141
+ return self._send_request(
142
+ http_methods.GET, path=path, params=params, config=merged_config, model=ListPfsResponse
143
+ )
144
+
145
+ def update_pfs_tag(self, request, config=None):
146
+ """
147
+ update_pfs_tag
148
+
149
+ :param request: Request entity containing all parameters
150
+ :type request: PfsClientRequest
151
+ :param config: Optional request configuration override
152
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
153
+
154
+ :return: API response
155
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
156
+
157
+ :raises BceClientError: Client error (network failure, invalid parameters, etc.)
158
+ :raises BceServerError: Server error (4xx/5xx HTTP status codes)
159
+ """
160
+ path = utils.append_uri(b'/', PfsClient.CONSTANT_V1, PfsClient.CONSTANT_PFS, PfsClient.CONSTANT_TAG)
161
+ headers = None
162
+ merged_config = self._create_request_with_host(request, config)
163
+ return self._send_request(http_methods.POST, path=path, body=request.to_json_string(), config=merged_config)
164
+
165
+ def _merge_config(self, config=None):
166
+ """
167
+ :param config:
168
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
169
+ """
170
+ if config is None:
171
+ return self.config
172
+ else:
173
+ new_config = copy.copy(self.config)
174
+ new_config.merge_non_none_values(config)
175
+ return new_config
176
+
177
+ def _send_request(
178
+ self, http_method, path, body=None, headers=None, params=None, config=None, body_parser=None, model=None
179
+ ):
180
+ """
181
+ Send an HTTP request to the service endpoint.
182
+
183
+ :param http_method: HTTP method (GET, POST, PUT, DELETE, etc.)
184
+ :type http_method: bytes
185
+ :param path: Request path
186
+ :type path: bytes
187
+ :param body: Optional request body
188
+ :type body: str or bytes
189
+ :param headers: Optional HTTP headers
190
+ :type headers: dict
191
+ :param params: Optional query parameters
192
+ :type params: dict
193
+ :param config: Optional request configuration override
194
+ :type config: baiducloud_python_sdk_core.BceClientConfiguration
195
+ :param body_parser: Optional custom body parser function
196
+ :type body_parser: callable
197
+ :param model: Optional response model class for deserialization
198
+ :type model: class
199
+
200
+ :return: API response
201
+ :rtype: baiducloud_python_sdk_core.bce_response.BceResponse
202
+
203
+ :raises BceClientError: Client error (network connection failure, SSL errors, etc.)
204
+ :raises BceServerError: Server returned error response
205
+ """
206
+ config = self._merge_config(config)
207
+ if body_parser is None:
208
+ body_parser = handler.parse_json
209
+ if headers is None:
210
+ headers = {b'Accept': b'*/*', b'Content-Type': b'application/json;charset=utf-8'}
211
+ return bce_http_client.send_request(
212
+ config,
213
+ bce_v1_signer.sign,
214
+ [handler.parse_error, body_parser],
215
+ http_method,
216
+ path,
217
+ body,
218
+ headers,
219
+ params,
220
+ model=model,
221
+ )
@@ -0,0 +1,15 @@
1
+ """
2
+ Models for pfs SDK.
3
+ """
4
+
5
+ from .create_pfs_request import CreatePfsRequest
6
+ from .create_pfs_response import CreatePfsResponse
7
+ from .desc_pfs_response import DescPfsResponse
8
+ from .instance_model import InstanceModel
9
+ from .list_pfs_response import ListPfsResponse
10
+ from .subnet_detail import SubnetDetail
11
+ from .tag import Tag
12
+ from .update_pfs_tag_request import UpdatePFSTagRequest
13
+ from .desc_pfs_request import DescPfsRequest
14
+ from .delete_pfs_request import DeletePfsRequest
15
+ from .list_pfs_request import ListPfsRequest
@@ -0,0 +1,101 @@
1
+ """
2
+ Request entity for CreatePfsRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+ from baiducloud_python_sdk_pfs.models.tag import Tag
7
+
8
+
9
+ class CreatePfsRequest(AbstractModel):
10
+ """
11
+ Request entity for CreatePfsRequest operation.
12
+
13
+ This class encapsulates all parameters for the API request.
14
+ """
15
+
16
+ def __init__(self, name, instance_type, capacity, subnet_id, description=None, tags=None):
17
+ """
18
+ Initialize CreatePfsRequest request entity.
19
+
20
+ :param name: name parameter
21
+ :type name: str (required)
22
+
23
+ :param instance_type: 可选类型包括:base、basic、baseX、plus、plus2、plusl2X
24
+ :type instance_type: str (required)
25
+
26
+ :param capacity: 购买文件系统存储容量大小,详情见容量限制表(单位GB)
27
+ :type capacity: int (required)
28
+
29
+ :param subnet_id: 子网短ID
30
+ :type subnet_id: str (required)
31
+
32
+ :param description: 实例描述
33
+ :type description: str (optional)
34
+
35
+ :param tags: 实例标签
36
+ :type tags: List[Tag] (optional)
37
+ """
38
+ super().__init__()
39
+ self.name = name
40
+ self.instance_type = instance_type
41
+ self.capacity = capacity
42
+ self.subnet_id = subnet_id
43
+ self.description = description
44
+ self.tags = tags
45
+
46
+ def to_dict(self):
47
+ """
48
+ Convert the request entity to a dictionary representation.
49
+
50
+ Nested model objects are recursively converted to dictionaries.
51
+
52
+ :return: Dictionary representation of the request
53
+ :rtype: dict
54
+ """
55
+ _map = super().to_dict()
56
+ if _map is not None:
57
+ return _map
58
+ result = dict()
59
+ if self.name is not None:
60
+ result['name'] = self.name
61
+ if self.instance_type is not None:
62
+ result['instanceType'] = self.instance_type
63
+ if self.capacity is not None:
64
+ result['capacity'] = self.capacity
65
+ if self.subnet_id is not None:
66
+ result['subnetId'] = self.subnet_id
67
+ if self.description is not None:
68
+ result['description'] = self.description
69
+ if self.tags is not None:
70
+ result['tags'] = [i.to_dict() for i in self.tags]
71
+ return result
72
+
73
+ def from_dict(self, m):
74
+ """
75
+ Populate the request entity from a dictionary.
76
+
77
+ Nested dictionaries are recursively converted to model objects.
78
+
79
+ :param m: Dictionary containing request data
80
+ :type m: dict
81
+
82
+ :return: Self reference for method chaining
83
+ :rtype: CreatePfsRequest
84
+
85
+ :raises TypeError: If input is not a dictionary or field type mismatch
86
+ :raises ValueError: If nested model conversion fails
87
+ """
88
+ m = m or dict()
89
+ if m.get('name') is not None:
90
+ self.name = m.get('name')
91
+ if m.get('instanceType') is not None:
92
+ self.instance_type = m.get('instanceType')
93
+ if m.get('capacity') is not None:
94
+ self.capacity = m.get('capacity')
95
+ if m.get('subnetId') is not None:
96
+ self.subnet_id = m.get('subnetId')
97
+ if m.get('description') is not None:
98
+ self.description = m.get('description')
99
+ if m.get('tags') is not None:
100
+ self.tags = [Tag().from_dict(i) for i in m.get('tags')]
101
+ return self
@@ -0,0 +1,69 @@
1
+ """
2
+ Request entity for CreatePfsResponse information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.bce_response import BceResponse
6
+
7
+
8
+ class CreatePfsResponse(BceResponse):
9
+ """
10
+ CreatePfsResponse
11
+ """
12
+
13
+ def __init__(self, instance_id=None, order_id=None):
14
+ """
15
+ Initialize CreatePfsResponse response.
16
+
17
+ :param instance_id: 实例Id
18
+ :type instance_id: str (optional)
19
+
20
+ :param order_id: 订单id
21
+ :type order_id: str (optional)
22
+ """
23
+ super().__init__()
24
+ self.instance_id = instance_id
25
+ self.order_id = order_id
26
+
27
+ def to_dict(self):
28
+ """
29
+ Convert the response instance to a dictionary representation.
30
+
31
+ Includes metadata from the parent BceResponse class.
32
+ Nested model objects are recursively converted to dictionaries.
33
+
34
+ :return: Dictionary representation of the response
35
+ :rtype: dict
36
+ """
37
+ _map = super().to_dict()
38
+ if _map is not None:
39
+ return _map
40
+ result = dict()
41
+ if self.metadata is not None:
42
+ result['metadata'] = dict(self.metadata)
43
+ if self.instance_id is not None:
44
+ result['instanceId'] = self.instance_id
45
+ if self.order_id is not None:
46
+ result['orderId'] = self.order_id
47
+ return result
48
+
49
+ def from_dict(self, m):
50
+ """
51
+ Populate the response instance from a dictionary.
52
+
53
+ Nested dictionaries are recursively converted to model objects.
54
+
55
+ :param m: Dictionary containing response data
56
+ :type m: dict
57
+
58
+ :return: Self reference for method chaining
59
+ :rtype: CreatePfsResponse
60
+
61
+ :raises TypeError: If input is not a dictionary or field type mismatch
62
+ :raises ValueError: If nested model conversion fails
63
+ """
64
+ m = m or dict()
65
+ if m.get('instanceId') is not None:
66
+ self.instance_id = m.get('instanceId')
67
+ if m.get('orderId') is not None:
68
+ self.order_id = m.get('orderId')
69
+ return self
@@ -0,0 +1,58 @@
1
+ """
2
+ Request entity for DeletePfsRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+
7
+
8
+ class DeletePfsRequest(AbstractModel):
9
+ """
10
+ Request entity for DeletePfsRequest operation.
11
+
12
+ This class encapsulates all parameters for the API request.
13
+ """
14
+
15
+ def __init__(self, instance_id):
16
+ """
17
+ Initialize DeletePfsRequest request entity.
18
+
19
+ :param instance_id: instance_id parameter
20
+ :type instance_id: str (required)
21
+ """
22
+ super().__init__()
23
+ self.instance_id = instance_id
24
+
25
+ def to_dict(self):
26
+ """
27
+ Convert the request entity to a dictionary representation.
28
+
29
+ Nested model objects are recursively converted to dictionaries.
30
+
31
+ :return: Dictionary representation of the request
32
+ :rtype: dict
33
+ """
34
+ _map = super().to_dict()
35
+ if _map is not None:
36
+ return _map
37
+ result = dict()
38
+ return result
39
+
40
+ def from_dict(self, m):
41
+ """
42
+ Populate the request entity from a dictionary.
43
+
44
+ Nested dictionaries are recursively converted to model objects.
45
+
46
+ :param m: Dictionary containing request data
47
+ :type m: dict
48
+
49
+ :return: Self reference for method chaining
50
+ :rtype: DeletePfsRequest
51
+
52
+ :raises TypeError: If input is not a dictionary or field type mismatch
53
+ :raises ValueError: If nested model conversion fails
54
+ """
55
+ m = m or dict()
56
+ if m.get('instanceId') is not None:
57
+ self.instance_id = m.get('instanceId')
58
+ return self
@@ -0,0 +1,58 @@
1
+ """
2
+ Request entity for DescPfsRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+
7
+
8
+ class DescPfsRequest(AbstractModel):
9
+ """
10
+ Request entity for DescPfsRequest operation.
11
+
12
+ This class encapsulates all parameters for the API request.
13
+ """
14
+
15
+ def __init__(self, instance_id):
16
+ """
17
+ Initialize DescPfsRequest request entity.
18
+
19
+ :param instance_id: instance_id parameter
20
+ :type instance_id: str (required)
21
+ """
22
+ super().__init__()
23
+ self.instance_id = instance_id
24
+
25
+ def to_dict(self):
26
+ """
27
+ Convert the request entity to a dictionary representation.
28
+
29
+ Nested model objects are recursively converted to dictionaries.
30
+
31
+ :return: Dictionary representation of the request
32
+ :rtype: dict
33
+ """
34
+ _map = super().to_dict()
35
+ if _map is not None:
36
+ return _map
37
+ result = dict()
38
+ return result
39
+
40
+ def from_dict(self, m):
41
+ """
42
+ Populate the request entity from a dictionary.
43
+
44
+ Nested dictionaries are recursively converted to model objects.
45
+
46
+ :param m: Dictionary containing request data
47
+ :type m: dict
48
+
49
+ :return: Self reference for method chaining
50
+ :rtype: DescPfsRequest
51
+
52
+ :raises TypeError: If input is not a dictionary or field type mismatch
53
+ :raises ValueError: If nested model conversion fails
54
+ """
55
+ m = m or dict()
56
+ if m.get('instanceId') is not None:
57
+ self.instance_id = m.get('instanceId')
58
+ return self