development-framework-cli 1.7.3__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 (71) hide show
  1. development_framework_cli-1.7.3.dist-info/METADATA +141 -0
  2. development_framework_cli-1.7.3.dist-info/RECORD +71 -0
  3. development_framework_cli-1.7.3.dist-info/WHEEL +4 -0
  4. development_framework_cli-1.7.3.dist-info/entry_points.txt +2 -0
  5. development_framework_cli-1.7.3.dist-info/licenses/LICENSE +21 -0
  6. dm_cli/__init__.py +1 -0
  7. dm_cli/cli.py +180 -0
  8. dm_cli/command_group/__init__.py +0 -0
  9. dm_cli/command_group/data_source.py +176 -0
  10. dm_cli/command_group/entities.py +116 -0
  11. dm_cli/dmss.py +104 -0
  12. dm_cli/dmss_api/__init__.py +27 -0
  13. dm_cli/dmss_api/api/__init__.py +3 -0
  14. dm_cli/dmss_api/api/access_control_api.py +349 -0
  15. dm_cli/dmss_api/api/attribute_api.py +175 -0
  16. dm_cli/dmss_api/api/blob_api.py +344 -0
  17. dm_cli/dmss_api/api/blueprint_api.py +326 -0
  18. dm_cli/dmss_api/api/datasource_api.py +448 -0
  19. dm_cli/dmss_api/api/default_api.py +4439 -0
  20. dm_cli/dmss_api/api/document_api.py +922 -0
  21. dm_cli/dmss_api/api/entity_api.py +464 -0
  22. dm_cli/dmss_api/api/export_api.py +313 -0
  23. dm_cli/dmss_api/api/file_api.py +197 -0
  24. dm_cli/dmss_api/api/health_check_api.py +160 -0
  25. dm_cli/dmss_api/api/lookup_table_api.py +323 -0
  26. dm_cli/dmss_api/api/meta_api.py +185 -0
  27. dm_cli/dmss_api/api/personal_access_token_api.py +433 -0
  28. dm_cli/dmss_api/api/reference_api.py +174 -0
  29. dm_cli/dmss_api/api/search_api.py +183 -0
  30. dm_cli/dmss_api/api/whoami_api.py +163 -0
  31. dm_cli/dmss_api/api_client.py +896 -0
  32. dm_cli/dmss_api/apis/__init__.py +32 -0
  33. dm_cli/dmss_api/configuration.py +482 -0
  34. dm_cli/dmss_api/exceptions.py +158 -0
  35. dm_cli/dmss_api/model/__init__.py +5 -0
  36. dm_cli/dmss_api/model/access_control_list.py +287 -0
  37. dm_cli/dmss_api/model/access_level.py +290 -0
  38. dm_cli/dmss_api/model/acl.py +287 -0
  39. dm_cli/dmss_api/model/data_source_information.py +282 -0
  40. dm_cli/dmss_api/model/data_source_request.py +281 -0
  41. dm_cli/dmss_api/model/dependency.py +294 -0
  42. dm_cli/dmss_api/model/entity.py +275 -0
  43. dm_cli/dmss_api/model/error_response.py +278 -0
  44. dm_cli/dmss_api/model/export_meta_response.py +277 -0
  45. dm_cli/dmss_api/model/get_blueprint_response.py +280 -0
  46. dm_cli/dmss_api/model/lookup.py +283 -0
  47. dm_cli/dmss_api/model/pat_data.py +299 -0
  48. dm_cli/dmss_api/model/recipe.py +311 -0
  49. dm_cli/dmss_api/model/recipe_attribute.py +304 -0
  50. dm_cli/dmss_api/model/reference.py +280 -0
  51. dm_cli/dmss_api/model/reference_entity.py +288 -0
  52. dm_cli/dmss_api/model/repository.py +317 -0
  53. dm_cli/dmss_api/model/repository_type.py +290 -0
  54. dm_cli/dmss_api/model/storage_attribute.py +295 -0
  55. dm_cli/dmss_api/model/storage_data_types.py +292 -0
  56. dm_cli/dmss_api/model/storage_recipe.py +293 -0
  57. dm_cli/dmss_api/model_utils.py +2057 -0
  58. dm_cli/dmss_api/models/__init__.py +29 -0
  59. dm_cli/dmss_api/rest.py +358 -0
  60. dm_cli/domain.py +166 -0
  61. dm_cli/enums.py +48 -0
  62. dm_cli/import_entity.py +128 -0
  63. dm_cli/import_package.py +173 -0
  64. dm_cli/package_tree_from_zip.py +120 -0
  65. dm_cli/state.py +12 -0
  66. dm_cli/utils/__init__.py +0 -0
  67. dm_cli/utils/file_structure.py +31 -0
  68. dm_cli/utils/reference.py +129 -0
  69. dm_cli/utils/resolve_local_ids.py +142 -0
  70. dm_cli/utils/utils.py +161 -0
  71. dm_cli/utils/zip.py +70 -0
@@ -0,0 +1,464 @@
1
+ """
2
+ Data Modelling Storage Service
3
+
4
+ API for basic data modelling interaction # noqa: E501
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from dm_cli.dmss_api.api_client import ApiClient
15
+ from dm_cli.dmss_api.api_client import Endpoint as _Endpoint
16
+ from dm_cli.dmss_api.model.entity import Entity
17
+ from dm_cli.dmss_api.model.error_response import ErrorResponse
18
+ from dm_cli.dmss_api.model_utils import ( # noqa: F401
19
+ check_allowed_values,
20
+ check_validations,
21
+ date,
22
+ datetime,
23
+ file_type,
24
+ none_type,
25
+ validate_and_convert_types,
26
+ )
27
+
28
+
29
+ class EntityApi(object):
30
+ """NOTE: This class is auto generated by OpenAPI Generator
31
+ Ref: https://openapi-generator.tech
32
+
33
+ Do not edit the class manually.
34
+ """
35
+
36
+ def __init__(self, api_client=None):
37
+ if api_client is None:
38
+ api_client = ApiClient()
39
+ self.api_client = api_client
40
+ self.instantiate_entity_endpoint = _Endpoint(
41
+ settings={
42
+ 'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
43
+ 'auth': [
44
+ 'APIKeyHeader',
45
+ 'OAuth2AuthorizationCodeBearer'
46
+ ],
47
+ 'endpoint_path': '/api/entity',
48
+ 'operation_id': 'instantiate_entity',
49
+ 'http_method': 'POST',
50
+ 'servers': None,
51
+ },
52
+ params_map={
53
+ 'all': [
54
+ 'entity',
55
+ ],
56
+ 'required': [
57
+ 'entity',
58
+ ],
59
+ 'nullable': [
60
+ ],
61
+ 'enum': [
62
+ ],
63
+ 'validation': [
64
+ ]
65
+ },
66
+ root_map={
67
+ 'validations': {
68
+ },
69
+ 'allowed_values': {
70
+ },
71
+ 'openapi_types': {
72
+ 'entity':
73
+ (Entity,),
74
+ },
75
+ 'attribute_map': {
76
+ },
77
+ 'location_map': {
78
+ 'entity': 'body',
79
+ },
80
+ 'collection_format_map': {
81
+ }
82
+ },
83
+ headers_map={
84
+ 'accept': [
85
+ 'application/json',
86
+ 'text/plain'
87
+ ],
88
+ 'content_type': [
89
+ 'application/json'
90
+ ]
91
+ },
92
+ api_client=api_client
93
+ )
94
+ self.validate_entity_endpoint = _Endpoint(
95
+ settings={
96
+ 'response_type': (bool, date, datetime, dict, float, int, list, str, none_type,),
97
+ 'auth': [
98
+ 'APIKeyHeader',
99
+ 'OAuth2AuthorizationCodeBearer'
100
+ ],
101
+ 'endpoint_path': '/api/entity/validate',
102
+ 'operation_id': 'validate_entity',
103
+ 'http_method': 'POST',
104
+ 'servers': None,
105
+ },
106
+ params_map={
107
+ 'all': [
108
+ 'entity',
109
+ 'as_type',
110
+ ],
111
+ 'required': [
112
+ 'entity',
113
+ ],
114
+ 'nullable': [
115
+ ],
116
+ 'enum': [
117
+ ],
118
+ 'validation': [
119
+ 'as_type',
120
+ ]
121
+ },
122
+ root_map={
123
+ 'validations': {
124
+ ('as_type',): {
125
+ 'max_length': 128,
126
+ 'min_length': 3,
127
+ 'regex': {
128
+ 'pattern': r'^[A-Z:a-z0-9_\/-]*$', # noqa: E501
129
+ },
130
+ },
131
+ },
132
+ 'allowed_values': {
133
+ },
134
+ 'openapi_types': {
135
+ 'entity':
136
+ (Entity,),
137
+ 'as_type':
138
+ (str,),
139
+ },
140
+ 'attribute_map': {
141
+ 'as_type': 'as_type',
142
+ },
143
+ 'location_map': {
144
+ 'entity': 'body',
145
+ 'as_type': 'query',
146
+ },
147
+ 'collection_format_map': {
148
+ }
149
+ },
150
+ headers_map={
151
+ 'accept': [
152
+ 'application/json',
153
+ 'text/plain'
154
+ ],
155
+ 'content_type': [
156
+ 'application/json'
157
+ ]
158
+ },
159
+ api_client=api_client
160
+ )
161
+ self.validate_existing_entity_endpoint = _Endpoint(
162
+ settings={
163
+ 'response_type': (bool, date, datetime, dict, float, int, list, str, none_type,),
164
+ 'auth': [
165
+ 'APIKeyHeader',
166
+ 'OAuth2AuthorizationCodeBearer'
167
+ ],
168
+ 'endpoint_path': '/api/entity/validate-existing-entity/{address}',
169
+ 'operation_id': 'validate_existing_entity',
170
+ 'http_method': 'POST',
171
+ 'servers': None,
172
+ },
173
+ params_map={
174
+ 'all': [
175
+ 'address',
176
+ ],
177
+ 'required': [
178
+ 'address',
179
+ ],
180
+ 'nullable': [
181
+ ],
182
+ 'enum': [
183
+ ],
184
+ 'validation': [
185
+ ]
186
+ },
187
+ root_map={
188
+ 'validations': {
189
+ },
190
+ 'allowed_values': {
191
+ },
192
+ 'openapi_types': {
193
+ 'address':
194
+ (str,),
195
+ },
196
+ 'attribute_map': {
197
+ 'address': 'address',
198
+ },
199
+ 'location_map': {
200
+ 'address': 'path',
201
+ },
202
+ 'collection_format_map': {
203
+ }
204
+ },
205
+ headers_map={
206
+ 'accept': [
207
+ 'application/json',
208
+ 'text/plain'
209
+ ],
210
+ 'content_type': [],
211
+ },
212
+ api_client=api_client
213
+ )
214
+
215
+ def instantiate_entity(
216
+ self,
217
+ entity,
218
+ **kwargs
219
+ ):
220
+ """Instantiate # noqa: E501
221
+
222
+ Returns a default entity of specified type. This entity is not stored in the database. This endpoint creates a default entity of the specified type. A default entity of that type is specified to contain all the required fields with their default values. If no default value is set for the field, then an 'empty' value will be set for that field. For an int that would be 0, and for a string that would be \"\". Optional attributes are not filled in, even if a default value is specified for that optional field. Args: - entity (Entity): A JSON object with only a \"type\" parameter. Any other fields will be ignored. - user (User): The authenticated user accessing the endpoint, automatically generated from provided bearer token or Access-Key. Returns: - dict: A default entity of the specified type. # noqa: E501
223
+ This method makes a synchronous HTTP request by default. To make an
224
+ asynchronous HTTP request, please pass async_req=True
225
+
226
+ >>> thread = api.instantiate_entity(entity, async_req=True)
227
+ >>> result = thread.get()
228
+
229
+ Args:
230
+ entity (Entity):
231
+
232
+ Keyword Args:
233
+ _return_http_data_only (bool): response data without head status
234
+ code and headers. Default is True.
235
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
236
+ will be returned without reading/decoding response data.
237
+ Default is True.
238
+ _request_timeout (int/float/tuple): timeout setting for this request. If
239
+ one number provided, it will be total request timeout. It can also
240
+ be a pair (tuple) of (connection, read) timeouts.
241
+ Default is None.
242
+ _check_input_type (bool): specifies if type checking
243
+ should be done one the data sent to the server.
244
+ Default is True.
245
+ _check_return_type (bool): specifies if type checking
246
+ should be done one the data received from the server.
247
+ Default is True.
248
+ _spec_property_naming (bool): True if the variable names in the input data
249
+ are serialized names, as specified in the OpenAPI document.
250
+ False if the variable names in the input data
251
+ are pythonic names, e.g. snake case (default)
252
+ _content_type (str/None): force body content-type.
253
+ Default is None and content-type will be predicted by allowed
254
+ content-types and body.
255
+ _host_index (int/None): specifies the index of the server
256
+ that we want to use.
257
+ Default is read from the configuration.
258
+ _request_auths (list): set to override the auth_settings for an a single
259
+ request; this effectively ignores the authentication
260
+ in the spec for a single request.
261
+ Default is None
262
+ async_req (bool): execute request asynchronously
263
+
264
+ Returns:
265
+ {str: (bool, date, datetime, dict, float, int, list, str, none_type)}
266
+ If the method is called asynchronously, returns the request
267
+ thread.
268
+ """
269
+ kwargs['async_req'] = kwargs.get(
270
+ 'async_req', False
271
+ )
272
+ kwargs['_return_http_data_only'] = kwargs.get(
273
+ '_return_http_data_only', True
274
+ )
275
+ kwargs['_preload_content'] = kwargs.get(
276
+ '_preload_content', True
277
+ )
278
+ kwargs['_request_timeout'] = kwargs.get(
279
+ '_request_timeout', None
280
+ )
281
+ kwargs['_check_input_type'] = kwargs.get(
282
+ '_check_input_type', True
283
+ )
284
+ kwargs['_check_return_type'] = kwargs.get(
285
+ '_check_return_type', True
286
+ )
287
+ kwargs['_spec_property_naming'] = kwargs.get(
288
+ '_spec_property_naming', False
289
+ )
290
+ kwargs['_content_type'] = kwargs.get(
291
+ '_content_type')
292
+ kwargs['_host_index'] = kwargs.get('_host_index')
293
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
294
+ kwargs['entity'] = \
295
+ entity
296
+ return self.instantiate_entity_endpoint.call_with_http_info(**kwargs)
297
+
298
+ def validate_entity(
299
+ self,
300
+ entity,
301
+ **kwargs
302
+ ):
303
+ """Validate # noqa: E501
304
+
305
+ Validate an entity according to its blueprint. This endpoint compares the entity to the specifications of its blueprint. The entity's blueprint is specified as the 'type' parameter. The entity is required to have all attributes that are specified as required in the blueprint, and they must be on the correct format. This endpoint returns a detailed error messages and status code 422 if the entity is invalid. Args: - entity (Entity): a dict object with \"type\" specified. Returns: - str: \"OK\" (200) # noqa: E501
306
+ This method makes a synchronous HTTP request by default. To make an
307
+ asynchronous HTTP request, please pass async_req=True
308
+
309
+ >>> thread = api.validate_entity(entity, async_req=True)
310
+ >>> result = thread.get()
311
+
312
+ Args:
313
+ entity (Entity):
314
+
315
+ Keyword Args:
316
+ as_type (str): [optional]
317
+ _return_http_data_only (bool): response data without head status
318
+ code and headers. Default is True.
319
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
320
+ will be returned without reading/decoding response data.
321
+ Default is True.
322
+ _request_timeout (int/float/tuple): timeout setting for this request. If
323
+ one number provided, it will be total request timeout. It can also
324
+ be a pair (tuple) of (connection, read) timeouts.
325
+ Default is None.
326
+ _check_input_type (bool): specifies if type checking
327
+ should be done one the data sent to the server.
328
+ Default is True.
329
+ _check_return_type (bool): specifies if type checking
330
+ should be done one the data received from the server.
331
+ Default is True.
332
+ _spec_property_naming (bool): True if the variable names in the input data
333
+ are serialized names, as specified in the OpenAPI document.
334
+ False if the variable names in the input data
335
+ are pythonic names, e.g. snake case (default)
336
+ _content_type (str/None): force body content-type.
337
+ Default is None and content-type will be predicted by allowed
338
+ content-types and body.
339
+ _host_index (int/None): specifies the index of the server
340
+ that we want to use.
341
+ Default is read from the configuration.
342
+ _request_auths (list): set to override the auth_settings for an a single
343
+ request; this effectively ignores the authentication
344
+ in the spec for a single request.
345
+ Default is None
346
+ async_req (bool): execute request asynchronously
347
+
348
+ Returns:
349
+ bool, date, datetime, dict, float, int, list, str, none_type
350
+ If the method is called asynchronously, returns the request
351
+ thread.
352
+ """
353
+ kwargs['async_req'] = kwargs.get(
354
+ 'async_req', False
355
+ )
356
+ kwargs['_return_http_data_only'] = kwargs.get(
357
+ '_return_http_data_only', True
358
+ )
359
+ kwargs['_preload_content'] = kwargs.get(
360
+ '_preload_content', True
361
+ )
362
+ kwargs['_request_timeout'] = kwargs.get(
363
+ '_request_timeout', None
364
+ )
365
+ kwargs['_check_input_type'] = kwargs.get(
366
+ '_check_input_type', True
367
+ )
368
+ kwargs['_check_return_type'] = kwargs.get(
369
+ '_check_return_type', True
370
+ )
371
+ kwargs['_spec_property_naming'] = kwargs.get(
372
+ '_spec_property_naming', False
373
+ )
374
+ kwargs['_content_type'] = kwargs.get(
375
+ '_content_type')
376
+ kwargs['_host_index'] = kwargs.get('_host_index')
377
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
378
+ kwargs['entity'] = \
379
+ entity
380
+ return self.validate_entity_endpoint.call_with_http_info(**kwargs)
381
+
382
+ def validate_existing_entity(
383
+ self,
384
+ address,
385
+ **kwargs
386
+ ):
387
+ """Validate Existing # noqa: E501
388
+
389
+ Validate an entity stored in the database according to its blueprint . This endpoint compares the entity to the specifications of its blueprint. The entity's blueprint is specified as the 'type' parameter. The entity is required to have all attributes that are specified as required in the blueprint, and they must be on the correct format. This endpoint returns a detailed error messages and status code 422 if the entity is invalid. Args: - address (str): address path to the entity that is to be validated. - user (User): The authenticated user accessing the endpoint, automatically generated from provided bearer token or Access-Key. Returns: - str: \"OK\" (200) # noqa: E501
390
+ This method makes a synchronous HTTP request by default. To make an
391
+ asynchronous HTTP request, please pass async_req=True
392
+
393
+ >>> thread = api.validate_existing_entity(address, async_req=True)
394
+ >>> result = thread.get()
395
+
396
+ Args:
397
+ address (str):
398
+
399
+ Keyword Args:
400
+ _return_http_data_only (bool): response data without head status
401
+ code and headers. Default is True.
402
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
403
+ will be returned without reading/decoding response data.
404
+ Default is True.
405
+ _request_timeout (int/float/tuple): timeout setting for this request. If
406
+ one number provided, it will be total request timeout. It can also
407
+ be a pair (tuple) of (connection, read) timeouts.
408
+ Default is None.
409
+ _check_input_type (bool): specifies if type checking
410
+ should be done one the data sent to the server.
411
+ Default is True.
412
+ _check_return_type (bool): specifies if type checking
413
+ should be done one the data received from the server.
414
+ Default is True.
415
+ _spec_property_naming (bool): True if the variable names in the input data
416
+ are serialized names, as specified in the OpenAPI document.
417
+ False if the variable names in the input data
418
+ are pythonic names, e.g. snake case (default)
419
+ _content_type (str/None): force body content-type.
420
+ Default is None and content-type will be predicted by allowed
421
+ content-types and body.
422
+ _host_index (int/None): specifies the index of the server
423
+ that we want to use.
424
+ Default is read from the configuration.
425
+ _request_auths (list): set to override the auth_settings for an a single
426
+ request; this effectively ignores the authentication
427
+ in the spec for a single request.
428
+ Default is None
429
+ async_req (bool): execute request asynchronously
430
+
431
+ Returns:
432
+ bool, date, datetime, dict, float, int, list, str, none_type
433
+ If the method is called asynchronously, returns the request
434
+ thread.
435
+ """
436
+ kwargs['async_req'] = kwargs.get(
437
+ 'async_req', False
438
+ )
439
+ kwargs['_return_http_data_only'] = kwargs.get(
440
+ '_return_http_data_only', True
441
+ )
442
+ kwargs['_preload_content'] = kwargs.get(
443
+ '_preload_content', True
444
+ )
445
+ kwargs['_request_timeout'] = kwargs.get(
446
+ '_request_timeout', None
447
+ )
448
+ kwargs['_check_input_type'] = kwargs.get(
449
+ '_check_input_type', True
450
+ )
451
+ kwargs['_check_return_type'] = kwargs.get(
452
+ '_check_return_type', True
453
+ )
454
+ kwargs['_spec_property_naming'] = kwargs.get(
455
+ '_spec_property_naming', False
456
+ )
457
+ kwargs['_content_type'] = kwargs.get(
458
+ '_content_type')
459
+ kwargs['_host_index'] = kwargs.get('_host_index')
460
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
461
+ kwargs['address'] = \
462
+ address
463
+ return self.validate_existing_entity_endpoint.call_with_http_info(**kwargs)
464
+