wds-client 0.6.0__py3-none-any.whl → 0.8.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. wds_client/__init__.py +8 -10
  2. wds_client/api/__init__.py +1 -2
  3. wds_client/api/capabilities_api.py +237 -102
  4. wds_client/api/cloning_api.py +782 -329
  5. wds_client/api/general_wds_information_api.py +463 -191
  6. wds_client/api/import_api.py +288 -127
  7. wds_client/api/instances_api.py +783 -333
  8. wds_client/api/job_api.py +518 -215
  9. wds_client/api/records_api.py +2512 -1089
  10. wds_client/api/schema_api.py +1450 -626
  11. wds_client/api_client.py +414 -310
  12. wds_client/api_response.py +21 -0
  13. wds_client/configuration.py +110 -53
  14. wds_client/exceptions.py +99 -20
  15. wds_client/models/__init__.py +4 -8
  16. wds_client/models/app.py +68 -125
  17. wds_client/models/attribute_data_type.py +31 -94
  18. wds_client/models/attribute_schema.py +71 -157
  19. wds_client/models/attribute_schema_update.py +69 -127
  20. wds_client/models/backup_job.py +96 -298
  21. wds_client/models/backup_response.py +70 -157
  22. wds_client/models/backup_restore_request.py +68 -129
  23. wds_client/models/batch_operation.py +83 -137
  24. wds_client/models/batch_record_request.py +70 -160
  25. wds_client/models/batch_response.py +68 -127
  26. wds_client/models/build.py +79 -207
  27. wds_client/models/capabilities.py +83 -103
  28. wds_client/models/clone_job.py +96 -298
  29. wds_client/models/clone_response.py +68 -129
  30. wds_client/models/commit.py +69 -125
  31. wds_client/models/error_response.py +78 -222
  32. wds_client/models/generic_job.py +102 -334
  33. wds_client/models/git.py +76 -129
  34. wds_client/models/import_request.py +77 -165
  35. wds_client/models/job.py +87 -243
  36. wds_client/models/job_v1.py +97 -277
  37. wds_client/models/record_query_response.py +86 -162
  38. wds_client/models/record_request.py +60 -96
  39. wds_client/models/record_response.py +70 -160
  40. wds_client/models/record_type_schema.py +84 -191
  41. wds_client/models/search_filter.py +60 -95
  42. wds_client/models/search_request.py +84 -220
  43. wds_client/models/search_sort_direction.py +17 -80
  44. wds_client/models/status_response.py +68 -125
  45. wds_client/models/tsv_upload_response.py +68 -127
  46. wds_client/models/version_response.py +86 -155
  47. wds_client/py.typed +0 -0
  48. wds_client/rest.py +136 -170
  49. wds_client-0.8.0.dist-info/METADATA +17 -0
  50. wds_client-0.8.0.dist-info/RECORD +52 -0
  51. wds_client/models/backup_job_all_of.py +0 -148
  52. wds_client/models/clone_job_all_of.py +0 -148
  53. wds_client/models/generic_job_all_of.py +0 -150
  54. wds_client/models/inline_object.py +0 -123
  55. wds_client-0.6.0.dist-info/METADATA +0 -16
  56. wds_client-0.6.0.dist-info/RECORD +0 -54
  57. {wds_client-0.6.0.dist-info → wds_client-0.8.0.dist-info}/WHEEL +0 -0
  58. {wds_client-0.6.0.dist-info → wds_client-0.8.0.dist-info}/top_level.txt +0 -0
wds_client/rest.py CHANGED
@@ -3,57 +3,66 @@
3
3
  """
4
4
  Workspace Data Service
5
5
 
6
- This page lists current APIs. As of v0.2, all APIs are subject to change without notice. # noqa: E501
6
+ This page lists current APIs. All v0.2 APIs are subject to change without notice. Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases)
7
7
 
8
8
  The version of the OpenAPI document: v0.2
9
- Generated by: https://openapi-generator.tech
10
- """
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
10
 
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
12
13
 
13
- from __future__ import absolute_import
14
14
 
15
15
  import io
16
16
  import json
17
- import logging
18
17
  import re
19
18
  import ssl
20
19
 
21
- import certifi
22
- # python 2 and python 3 compatibility library
23
- import six
24
- from six.moves.urllib.parse import urlencode
25
20
  import urllib3
26
21
 
27
22
  from wds_client.exceptions import ApiException, ApiValueError
28
23
 
24
+ SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"}
25
+ RESTResponseType = urllib3.HTTPResponse
26
+
29
27
 
30
- logger = logging.getLogger(__name__)
28
+ def is_socks_proxy_url(url):
29
+ if url is None:
30
+ return False
31
+ split_section = url.split("://")
32
+ if len(split_section) < 2:
33
+ return False
34
+ else:
35
+ return split_section[0].lower() in SUPPORTED_SOCKS_PROXIES
31
36
 
32
37
 
33
38
  class RESTResponse(io.IOBase):
34
39
 
35
- def __init__(self, resp):
36
- self.urllib3_response = resp
40
+ def __init__(self, resp) -> None:
41
+ self.response = resp
37
42
  self.status = resp.status
38
43
  self.reason = resp.reason
39
- self.data = resp.data
44
+ self.data = None
45
+
46
+ def read(self):
47
+ if self.data is None:
48
+ self.data = self.response.data
49
+ return self.data
40
50
 
41
51
  def getheaders(self):
42
52
  """Returns a dictionary of the response headers."""
43
- return self.urllib3_response.getheaders()
53
+ return self.response.headers
44
54
 
45
55
  def getheader(self, name, default=None):
46
56
  """Returns a given response header."""
47
- return self.urllib3_response.getheader(name, default)
57
+ return self.response.headers.get(name, default)
48
58
 
49
59
 
50
- class RESTClientObject(object):
60
+ class RESTClientObject:
51
61
 
52
- def __init__(self, configuration, pools_size=4, maxsize=None):
62
+ def __init__(self, configuration) -> None:
53
63
  # urllib3.PoolManager will pass all kw parameters to connectionpool
54
64
  # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501
55
65
  # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501
56
- # maxsize is the number of requests to host that are allowed in parallel # noqa: E501
57
66
  # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501
58
67
 
59
68
  # cert_reqs
@@ -62,74 +71,79 @@ class RESTClientObject(object):
62
71
  else:
63
72
  cert_reqs = ssl.CERT_NONE
64
73
 
65
- # ca_certs
66
- if configuration.ssl_ca_cert:
67
- ca_certs = configuration.ssl_ca_cert
68
- else:
69
- # if not set certificate file, use Mozilla's root certificates.
70
- ca_certs = certifi.where()
71
-
72
- addition_pool_args = {}
74
+ pool_args = {
75
+ "cert_reqs": cert_reqs,
76
+ "ca_certs": configuration.ssl_ca_cert,
77
+ "cert_file": configuration.cert_file,
78
+ "key_file": configuration.key_file,
79
+ }
73
80
  if configuration.assert_hostname is not None:
74
- addition_pool_args['assert_hostname'] = configuration.assert_hostname # noqa: E501
81
+ pool_args['assert_hostname'] = (
82
+ configuration.assert_hostname
83
+ )
75
84
 
76
85
  if configuration.retries is not None:
77
- addition_pool_args['retries'] = configuration.retries
86
+ pool_args['retries'] = configuration.retries
78
87
 
79
- if maxsize is None:
80
- if configuration.connection_pool_maxsize is not None:
81
- maxsize = configuration.connection_pool_maxsize
82
- else:
83
- maxsize = 4
88
+ if configuration.tls_server_name:
89
+ pool_args['server_hostname'] = configuration.tls_server_name
90
+
91
+
92
+ if configuration.socket_options is not None:
93
+ pool_args['socket_options'] = configuration.socket_options
94
+
95
+ if configuration.connection_pool_maxsize is not None:
96
+ pool_args['maxsize'] = configuration.connection_pool_maxsize
84
97
 
85
98
  # https pool manager
99
+ self.pool_manager: urllib3.PoolManager
100
+
86
101
  if configuration.proxy:
87
- self.pool_manager = urllib3.ProxyManager(
88
- num_pools=pools_size,
89
- maxsize=maxsize,
90
- cert_reqs=cert_reqs,
91
- ca_certs=ca_certs,
92
- cert_file=configuration.cert_file,
93
- key_file=configuration.key_file,
94
- proxy_url=configuration.proxy,
95
- proxy_headers=configuration.proxy_headers,
96
- **addition_pool_args
97
- )
102
+ if is_socks_proxy_url(configuration.proxy):
103
+ from urllib3.contrib.socks import SOCKSProxyManager
104
+ pool_args["proxy_url"] = configuration.proxy
105
+ pool_args["headers"] = configuration.proxy_headers
106
+ self.pool_manager = SOCKSProxyManager(**pool_args)
107
+ else:
108
+ pool_args["proxy_url"] = configuration.proxy
109
+ pool_args["proxy_headers"] = configuration.proxy_headers
110
+ self.pool_manager = urllib3.ProxyManager(**pool_args)
98
111
  else:
99
- self.pool_manager = urllib3.PoolManager(
100
- num_pools=pools_size,
101
- maxsize=maxsize,
102
- cert_reqs=cert_reqs,
103
- ca_certs=ca_certs,
104
- cert_file=configuration.cert_file,
105
- key_file=configuration.key_file,
106
- **addition_pool_args
107
- )
108
-
109
- def request(self, method, url, query_params=None, headers=None,
110
- body=None, post_params=None, _preload_content=True,
111
- _request_timeout=None):
112
+ self.pool_manager = urllib3.PoolManager(**pool_args)
113
+
114
+ def request(
115
+ self,
116
+ method,
117
+ url,
118
+ headers=None,
119
+ body=None,
120
+ post_params=None,
121
+ _request_timeout=None
122
+ ):
112
123
  """Perform requests.
113
124
 
114
125
  :param method: http request method
115
126
  :param url: http request url
116
- :param query_params: query parameters in the url
117
127
  :param headers: http request headers
118
128
  :param body: request json body, for `application/json`
119
129
  :param post_params: request post parameters,
120
130
  `application/x-www-form-urlencoded`
121
131
  and `multipart/form-data`
122
- :param _preload_content: if False, the urllib3.HTTPResponse object will
123
- be returned without reading/decoding response
124
- data. Default is True.
125
132
  :param _request_timeout: timeout setting for this request. If one
126
133
  number provided, it will be total request
127
134
  timeout. It can also be a pair (tuple) of
128
135
  (connection, read) timeouts.
129
136
  """
130
137
  method = method.upper()
131
- assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
132
- 'PATCH', 'OPTIONS']
138
+ assert method in [
139
+ 'GET',
140
+ 'HEAD',
141
+ 'DELETE',
142
+ 'POST',
143
+ 'PUT',
144
+ 'PATCH',
145
+ 'OPTIONS'
146
+ ]
133
147
 
134
148
  if post_params and body:
135
149
  raise ApiValueError(
@@ -141,60 +155,83 @@ class RESTClientObject(object):
141
155
 
142
156
  timeout = None
143
157
  if _request_timeout:
144
- if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): # noqa: E501,F821
158
+ if isinstance(_request_timeout, (int, float)):
145
159
  timeout = urllib3.Timeout(total=_request_timeout)
146
- elif (isinstance(_request_timeout, tuple) and
147
- len(_request_timeout) == 2):
160
+ elif (
161
+ isinstance(_request_timeout, tuple)
162
+ and len(_request_timeout) == 2
163
+ ):
148
164
  timeout = urllib3.Timeout(
149
- connect=_request_timeout[0], read=_request_timeout[1])
150
-
151
- if 'Content-Type' not in headers:
152
- headers['Content-Type'] = 'application/json'
165
+ connect=_request_timeout[0],
166
+ read=_request_timeout[1]
167
+ )
153
168
 
154
169
  try:
155
170
  # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
156
171
  if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
157
- if query_params:
158
- url += '?' + urlencode(query_params)
159
- if re.search('json', headers['Content-Type'], re.IGNORECASE):
172
+
173
+ # no content type provided or payload is json
174
+ content_type = headers.get('Content-Type')
175
+ if (
176
+ not content_type
177
+ or re.search('json', content_type, re.IGNORECASE)
178
+ ):
160
179
  request_body = None
161
180
  if body is not None:
162
181
  request_body = json.dumps(body)
163
182
  r = self.pool_manager.request(
164
- method, url,
183
+ method,
184
+ url,
165
185
  body=request_body,
166
- preload_content=_preload_content,
167
186
  timeout=timeout,
168
- headers=headers)
169
- elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501
187
+ headers=headers,
188
+ preload_content=False
189
+ )
190
+ elif content_type == 'application/x-www-form-urlencoded':
170
191
  r = self.pool_manager.request(
171
- method, url,
192
+ method,
193
+ url,
172
194
  fields=post_params,
173
195
  encode_multipart=False,
174
- preload_content=_preload_content,
175
196
  timeout=timeout,
176
- headers=headers)
177
- elif headers['Content-Type'] == 'multipart/form-data':
197
+ headers=headers,
198
+ preload_content=False
199
+ )
200
+ elif content_type == 'multipart/form-data':
178
201
  # must del headers['Content-Type'], or the correct
179
202
  # Content-Type which generated by urllib3 will be
180
203
  # overwritten.
181
204
  del headers['Content-Type']
205
+ # Ensures that dict objects are serialized
206
+ post_params = [(a, json.dumps(b)) if isinstance(b, dict) else (a,b) for a, b in post_params]
182
207
  r = self.pool_manager.request(
183
- method, url,
208
+ method,
209
+ url,
184
210
  fields=post_params,
185
211
  encode_multipart=True,
186
- preload_content=_preload_content,
187
212
  timeout=timeout,
188
- headers=headers)
213
+ headers=headers,
214
+ preload_content=False
215
+ )
189
216
  # Pass a `string` parameter directly in the body to support
190
- # other content types than Json when `body` argument is
191
- # provided in serialized form
217
+ # other content types than JSON when `body` argument is
218
+ # provided in serialized form.
192
219
  elif isinstance(body, str) or isinstance(body, bytes):
193
- request_body = body
194
220
  r = self.pool_manager.request(
195
- method, url,
221
+ method,
222
+ url,
223
+ body=body,
224
+ timeout=timeout,
225
+ headers=headers,
226
+ preload_content=False
227
+ )
228
+ elif headers['Content-Type'] == 'text/plain' and isinstance(body, bool):
229
+ request_body = "true" if body else "false"
230
+ r = self.pool_manager.request(
231
+ method,
232
+ url,
196
233
  body=request_body,
197
- preload_content=_preload_content,
234
+ preload_content=False,
198
235
  timeout=timeout,
199
236
  headers=headers)
200
237
  else:
@@ -205,87 +242,16 @@ class RESTClientObject(object):
205
242
  raise ApiException(status=0, reason=msg)
206
243
  # For `GET`, `HEAD`
207
244
  else:
208
- r = self.pool_manager.request(method, url,
209
- fields=query_params,
210
- preload_content=_preload_content,
211
- timeout=timeout,
212
- headers=headers)
245
+ r = self.pool_manager.request(
246
+ method,
247
+ url,
248
+ fields={},
249
+ timeout=timeout,
250
+ headers=headers,
251
+ preload_content=False
252
+ )
213
253
  except urllib3.exceptions.SSLError as e:
214
- msg = "{0}\n{1}".format(type(e).__name__, str(e))
254
+ msg = "\n".join([type(e).__name__, str(e)])
215
255
  raise ApiException(status=0, reason=msg)
216
256
 
217
- if _preload_content:
218
- r = RESTResponse(r)
219
-
220
- # log response body
221
- logger.debug("response body: %s", r.data)
222
-
223
- if not 200 <= r.status <= 299:
224
- raise ApiException(http_resp=r)
225
-
226
- return r
227
-
228
- def GET(self, url, headers=None, query_params=None, _preload_content=True,
229
- _request_timeout=None):
230
- return self.request("GET", url,
231
- headers=headers,
232
- _preload_content=_preload_content,
233
- _request_timeout=_request_timeout,
234
- query_params=query_params)
235
-
236
- def HEAD(self, url, headers=None, query_params=None, _preload_content=True,
237
- _request_timeout=None):
238
- return self.request("HEAD", url,
239
- headers=headers,
240
- _preload_content=_preload_content,
241
- _request_timeout=_request_timeout,
242
- query_params=query_params)
243
-
244
- def OPTIONS(self, url, headers=None, query_params=None, post_params=None,
245
- body=None, _preload_content=True, _request_timeout=None):
246
- return self.request("OPTIONS", url,
247
- headers=headers,
248
- query_params=query_params,
249
- post_params=post_params,
250
- _preload_content=_preload_content,
251
- _request_timeout=_request_timeout,
252
- body=body)
253
-
254
- def DELETE(self, url, headers=None, query_params=None, body=None,
255
- _preload_content=True, _request_timeout=None):
256
- return self.request("DELETE", url,
257
- headers=headers,
258
- query_params=query_params,
259
- _preload_content=_preload_content,
260
- _request_timeout=_request_timeout,
261
- body=body)
262
-
263
- def POST(self, url, headers=None, query_params=None, post_params=None,
264
- body=None, _preload_content=True, _request_timeout=None):
265
- return self.request("POST", url,
266
- headers=headers,
267
- query_params=query_params,
268
- post_params=post_params,
269
- _preload_content=_preload_content,
270
- _request_timeout=_request_timeout,
271
- body=body)
272
-
273
- def PUT(self, url, headers=None, query_params=None, post_params=None,
274
- body=None, _preload_content=True, _request_timeout=None):
275
- return self.request("PUT", url,
276
- headers=headers,
277
- query_params=query_params,
278
- post_params=post_params,
279
- _preload_content=_preload_content,
280
- _request_timeout=_request_timeout,
281
- body=body)
282
-
283
- def PATCH(self, url, headers=None, query_params=None, post_params=None,
284
- body=None, _preload_content=True, _request_timeout=None):
285
- return self.request("PATCH", url,
286
- headers=headers,
287
- query_params=query_params,
288
- post_params=post_params,
289
- _preload_content=_preload_content,
290
- _request_timeout=_request_timeout,
291
- body=body)
257
+ return RESTResponse(r)
@@ -0,0 +1,17 @@
1
+ Metadata-Version: 2.1
2
+ Name: wds-client
3
+ Version: 0.8.0
4
+ Summary: Workspace Data Service
5
+ Home-page:
6
+ Author: OpenAPI Generator community
7
+ Author-email: team@openapitools.org
8
+ License: BSD
9
+ Keywords: OpenAPI,OpenAPI-Generator,Workspace Data Service
10
+ Description-Content-Type: text/markdown
11
+ Requires-Dist: urllib3 <2.1.0,>=1.25.3
12
+ Requires-Dist: python-dateutil
13
+ Requires-Dist: pydantic >=2
14
+ Requires-Dist: typing-extensions >=4.7.1
15
+
16
+ This page lists current APIs. All v0.2 APIs are subject to change without notice. Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases)
17
+
@@ -0,0 +1,52 @@
1
+ wds_client/__init__.py,sha256=A6doJx-lZyh4-FKP8gZIoowzcqD-9gJwsbb4_56yqK0,3257
2
+ wds_client/api_client.py,sha256=pw5WWgDVMSnlwNU-lLjl5dRSAEMcL4L7nZ_nNCu6eF4,26461
3
+ wds_client/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
+ wds_client/configuration.py,sha256=flKu2nZ2sU5ClzUOC3bOAqJUJYxLF7D38qnKixSUIew,14875
5
+ wds_client/exceptions.py,sha256=674T2OrRc-tySXqf45i00iZdt3r6AS-RnWjBUgRxAvc,6122
6
+ wds_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ wds_client/rest.py,sha256=Gbp9F8A2qoMDg4xrkCjSAG0FDHXUxcNB8oyfzJXxw4U,9554
8
+ wds_client/api/__init__.py,sha256=sOPGmC1nqF5yugy7QZrIgnqcpKKWmT8tSUQN7_35SM0,480
9
+ wds_client/api/capabilities_api.py,sha256=m9AZnzduVbIVGPyRQTSmBACIsqywo9ymvrWk8zoryBw,10266
10
+ wds_client/api/cloning_api.py,sha256=wJOguaDHU5OlhYXcp41glt-63cStau7pnuAUqm9MvZk,32266
11
+ wds_client/api/general_wds_information_api.py,sha256=LMtPAddLz4-8WTBVHy6DQFGVBD6EzWapI2Yzsn1k_tA,20130
12
+ wds_client/api/import_api.py,sha256=LPu_9Ar_dEjrIORzlxKzL8uSB_CYh9HJ3eb29Fjef_s,12867
13
+ wds_client/api/instances_api.py,sha256=svpIhbty5QGZrRHrEynmoC94auCqsnWNUgiXl9i1SZo,32621
14
+ wds_client/api/job_api.py,sha256=Iy5rns4-2peAU1gQ89InfJvvRw1v5ZxY1DKB50osfkI,21676
15
+ wds_client/api/records_api.py,sha256=hy2y__WW2TSVw5vJK0cw_ydXY3WyyXkgvjow_begBUU,106076
16
+ wds_client/api/schema_api.py,sha256=H0yxUeb2OzcqQ2LWiF9vrHNO1U-5PMmD6YQeeOmWnX4,60801
17
+ wds_client/models/__init__.py,sha256=IWiDjPW3dO2X2l8EuchR_g_A3_pqrSTcl_3kdL7_RLs,2317
18
+ wds_client/models/app.py,sha256=9aTIAS8vTOch8zKHBvZHuXumL0vYZBOO2g9Y8VKjPPw,2772
19
+ wds_client/models/attribute_data_type.py,sha256=R4kI1B2oH7pcyNYcIUElp5MmAMWGj0KY1AeQ5zo0lKk,1514
20
+ wds_client/models/attribute_schema.py,sha256=Lrrw5iTq9O56DbcCgAGgif500eO9-aaJ8FWHNM6pF7U,3091
21
+ wds_client/models/attribute_schema_update.py,sha256=1Sl2xb3C1kHcy5HDYPwVCArnp-GxLc8v1BxvpRi9w4w,2916
22
+ wds_client/models/backup_job.py,sha256=6zWlfaP9jXZdLL_uEqKokOImLQGOZ9Jkc5v82cE3M80,4065
23
+ wds_client/models/backup_response.py,sha256=3MGgJdNrBRIE8id2XKXa3TdPOcV3ZGNv8ZarzPhs-Vs,3054
24
+ wds_client/models/backup_restore_request.py,sha256=HEY8xAx5sWRYdagmpDXz_e0-xNTfS643HU-FYY4EJ9c,3117
25
+ wds_client/models/batch_operation.py,sha256=GhXM3DCHixekjDbvEhH9ZJIqf3wURETMHtqiOV7PiMg,3306
26
+ wds_client/models/batch_record_request.py,sha256=HcJXRlEbgR5VxaZsNzhEdgF--lOAQhWjuDDvYxQHj9s,3017
27
+ wds_client/models/batch_response.py,sha256=komy-MPBarmnkHgRIuAArzNRMCiswnnNcINC9PFU1wE,2791
28
+ wds_client/models/build.py,sha256=9VpoHN59SYEUBWKWFbmAnseiFX5-zyGA66nAjBWGI7s,3002
29
+ wds_client/models/capabilities.py,sha256=Vqh62U0ZX_tNaBnAvabkdOCzByLp49FHBToxOZ6j6u8,3270
30
+ wds_client/models/clone_job.py,sha256=Dt7imPtHrLgJbdWBbABjXo3ArZ4aJVRKEHgETiCTI1Y,4057
31
+ wds_client/models/clone_response.py,sha256=qrBpBfS-b3EmAszCdY7vzfMJj4zr36xvp5Zlj0fLjoM,2943
32
+ wds_client/models/commit.py,sha256=yE9OxZ_1kGnbD3U80QTBi8HOELfxd21Eb3-RraPqbsc,2720
33
+ wds_client/models/error_response.py,sha256=U1Fl24jQhD2gEEREBSemaUp8PHKO7XHJ4pSLmgnVxz0,3115
34
+ wds_client/models/generic_job.py,sha256=XCO9Ll3aFcuVEZtbhbGzJ-u-KqgA18JBjj7MGPOWGck,4385
35
+ wds_client/models/git.py,sha256=ylt-GWcCKsfZmWfBHQIT7EO5mHhLqQnnf8hANgUZcl0,2962
36
+ wds_client/models/import_request.py,sha256=r8Tph4ZXFfXpI3n1nlbqs7azgrdEynwlQYrn4RvufWw,3309
37
+ wds_client/models/job.py,sha256=vaqbX9i6Oe0plmCAD9hBbpSCysvSxAqWkkOTuRwCTBo,3499
38
+ wds_client/models/job_v1.py,sha256=txrmfTIW6VZ3NvRmtHSmxbJeU22SvesWzJYHVWMEHa8,3926
39
+ wds_client/models/record_query_response.py,sha256=MnWYml3zasmWKLaFObZmkkredGo_mpHRoPnMljzFr_M,3809
40
+ wds_client/models/record_request.py,sha256=c-jJuqOgogRM5HdR2HoafMnpIAdfCukysSBFCqnwCjM,2796
41
+ wds_client/models/record_response.py,sha256=ZniN8hDVM7QAEbhwbUnr5RXYpZJHqwFPxBlmlhorBDk,3001
42
+ wds_client/models/record_type_schema.py,sha256=WITuWzyFehg0sYNwhixeeCT7lODEZvEFnlDLVjxAugw,3752
43
+ wds_client/models/search_filter.py,sha256=x7DKOQEgJfYZ71b2AmBvvGLSnhZhycSKsjAIOr135ZY,2720
44
+ wds_client/models/search_request.py,sha256=adtHBdVRwEurvnCnoffT0fwfFzk_AAsE98mOAe7ItXo,3722
45
+ wds_client/models/search_sort_direction.py,sha256=fnqUYvbgXHQ5mESZnxDvcUZ5wi6i770fkqu00jtCATM,932
46
+ wds_client/models/status_response.py,sha256=A5i2yWShlaGVVyi1DGg1KsC8S4fyLbmxJmqLlMKmtH0,2768
47
+ wds_client/models/tsv_upload_response.py,sha256=yhj-3KEFzs-EYnaGZvsr6KgrK6wlYCZKVA7ObfZ2ECc,2807
48
+ wds_client/models/version_response.py,sha256=pQ9eukrGQPdLBwvPKN_ucFlMKff25oGywruwIdL918o,3516
49
+ wds_client-0.8.0.dist-info/METADATA,sha256=fITm5z-jz6-7xiMM400OT1MlMlX7VWontD1gVNe96AQ,674
50
+ wds_client-0.8.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
51
+ wds_client-0.8.0.dist-info/top_level.txt,sha256=hU2h533r5-3FzApV8ps3zXmQJKy74SPT3sYR8-uZhp8,11
52
+ wds_client-0.8.0.dist-info/RECORD,,
@@ -1,148 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Workspace Data Service
5
-
6
- This page lists current APIs. As of v0.2, all APIs are subject to change without notice. # noqa: E501
7
-
8
- The version of the OpenAPI document: v0.2
9
- Generated by: https://openapi-generator.tech
10
- """
11
-
12
-
13
- import pprint
14
- import re # noqa: F401
15
-
16
- import six
17
-
18
- from wds_client.configuration import Configuration
19
-
20
-
21
- class BackupJobAllOf(object):
22
- """NOTE: This class is auto generated by OpenAPI Generator.
23
- Ref: https://openapi-generator.tech
24
-
25
- Do not edit the class manually.
26
- """
27
-
28
- """
29
- Attributes:
30
- openapi_types (dict): The key is attribute name
31
- and the value is attribute type.
32
- attribute_map (dict): The key is attribute name
33
- and the value is json key in definition.
34
- """
35
- openapi_types = {
36
- 'input': 'object',
37
- 'result': 'BackupResponse'
38
- }
39
-
40
- attribute_map = {
41
- 'input': 'input',
42
- 'result': 'result'
43
- }
44
-
45
- def __init__(self, input=None, result=None, local_vars_configuration=None): # noqa: E501
46
- """BackupJobAllOf - a model defined in OpenAPI""" # noqa: E501
47
- if local_vars_configuration is None:
48
- local_vars_configuration = Configuration()
49
- self.local_vars_configuration = local_vars_configuration
50
-
51
- self._input = None
52
- self._result = None
53
- self.discriminator = None
54
-
55
- if input is not None:
56
- self.input = input
57
- if result is not None:
58
- self.result = result
59
-
60
- @property
61
- def input(self):
62
- """Gets the input of this BackupJobAllOf. # noqa: E501
63
-
64
- Input arguments; expected to be empty. # noqa: E501
65
-
66
- :return: The input of this BackupJobAllOf. # noqa: E501
67
- :rtype: object
68
- """
69
- return self._input
70
-
71
- @input.setter
72
- def input(self, input):
73
- """Sets the input of this BackupJobAllOf.
74
-
75
- Input arguments; expected to be empty. # noqa: E501
76
-
77
- :param input: The input of this BackupJobAllOf. # noqa: E501
78
- :type: object
79
- """
80
-
81
- self._input = input
82
-
83
- @property
84
- def result(self):
85
- """Gets the result of this BackupJobAllOf. # noqa: E501
86
-
87
-
88
- :return: The result of this BackupJobAllOf. # noqa: E501
89
- :rtype: BackupResponse
90
- """
91
- return self._result
92
-
93
- @result.setter
94
- def result(self, result):
95
- """Sets the result of this BackupJobAllOf.
96
-
97
-
98
- :param result: The result of this BackupJobAllOf. # noqa: E501
99
- :type: BackupResponse
100
- """
101
-
102
- self._result = result
103
-
104
- def to_dict(self):
105
- """Returns the model properties as a dict"""
106
- result = {}
107
-
108
- for attr, _ in six.iteritems(self.openapi_types):
109
- value = getattr(self, attr)
110
- if isinstance(value, list):
111
- result[attr] = list(map(
112
- lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
113
- value
114
- ))
115
- elif hasattr(value, "to_dict"):
116
- result[attr] = value.to_dict()
117
- elif isinstance(value, dict):
118
- result[attr] = dict(map(
119
- lambda item: (item[0], item[1].to_dict())
120
- if hasattr(item[1], "to_dict") else item,
121
- value.items()
122
- ))
123
- else:
124
- result[attr] = value
125
-
126
- return result
127
-
128
- def to_str(self):
129
- """Returns the string representation of the model"""
130
- return pprint.pformat(self.to_dict())
131
-
132
- def __repr__(self):
133
- """For `print` and `pprint`"""
134
- return self.to_str()
135
-
136
- def __eq__(self, other):
137
- """Returns true if both objects are equal"""
138
- if not isinstance(other, BackupJobAllOf):
139
- return False
140
-
141
- return self.to_dict() == other.to_dict()
142
-
143
- def __ne__(self, other):
144
- """Returns true if both objects are not equal"""
145
- if not isinstance(other, BackupJobAllOf):
146
- return True
147
-
148
- return self.to_dict() != other.to_dict()