terra-scientific-pipelines-service-api-client 0.1.28__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.

Potentially problematic release.


This version of terra-scientific-pipelines-service-api-client might be problematic. Click here for more details.

Files changed (44) hide show
  1. teaspoons_client/__init__.py +63 -0
  2. teaspoons_client/api/__init__.py +10 -0
  3. teaspoons_client/api/admin_api.py +1229 -0
  4. teaspoons_client/api/jobs_api.py +592 -0
  5. teaspoons_client/api/pipeline_runs_api.py +1166 -0
  6. teaspoons_client/api/pipelines_api.py +581 -0
  7. teaspoons_client/api/public_api.py +532 -0
  8. teaspoons_client/api/quotas_api.py +303 -0
  9. teaspoons_client/api_client.py +797 -0
  10. teaspoons_client/api_response.py +21 -0
  11. teaspoons_client/configuration.py +465 -0
  12. teaspoons_client/exceptions.py +199 -0
  13. teaspoons_client/models/__init__.py +41 -0
  14. teaspoons_client/models/admin_pipeline.py +103 -0
  15. teaspoons_client/models/admin_quota.py +93 -0
  16. teaspoons_client/models/async_pipeline_run_response.py +103 -0
  17. teaspoons_client/models/error_report.py +91 -0
  18. teaspoons_client/models/get_jobs_response.py +99 -0
  19. teaspoons_client/models/get_pipeline_details_request_body.py +87 -0
  20. teaspoons_client/models/get_pipeline_runs_response.py +97 -0
  21. teaspoons_client/models/get_pipelines_result.py +95 -0
  22. teaspoons_client/models/job_control.py +87 -0
  23. teaspoons_client/models/job_report.py +106 -0
  24. teaspoons_client/models/job_result.py +97 -0
  25. teaspoons_client/models/pipeline.py +93 -0
  26. teaspoons_client/models/pipeline_run.py +97 -0
  27. teaspoons_client/models/pipeline_run_report.py +93 -0
  28. teaspoons_client/models/pipeline_user_provided_input_definition.py +91 -0
  29. teaspoons_client/models/pipeline_with_details.py +105 -0
  30. teaspoons_client/models/prepare_pipeline_run_request_body.py +95 -0
  31. teaspoons_client/models/prepare_pipeline_run_response.py +89 -0
  32. teaspoons_client/models/quota_with_details.py +91 -0
  33. teaspoons_client/models/start_pipeline_run_request_body.py +91 -0
  34. teaspoons_client/models/system_status.py +102 -0
  35. teaspoons_client/models/system_status_systems_value.py +89 -0
  36. teaspoons_client/models/update_pipeline_request_body.py +91 -0
  37. teaspoons_client/models/update_quota_limit_request_body.py +87 -0
  38. teaspoons_client/models/version_properties.py +93 -0
  39. teaspoons_client/py.typed +0 -0
  40. teaspoons_client/rest.py +257 -0
  41. terra_scientific_pipelines_service_api_client-0.1.28.dist-info/METADATA +23 -0
  42. terra_scientific_pipelines_service_api_client-0.1.28.dist-info/RECORD +44 -0
  43. terra_scientific_pipelines_service_api_client-0.1.28.dist-info/WHEEL +5 -0
  44. terra_scientific_pipelines_service_api_client-0.1.28.dist-info/top_level.txt +1 -0
@@ -0,0 +1,93 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class PipelineRunReport(BaseModel):
26
+ """
27
+ Object containing metadata about the pipeline that was run, as well as pipeline run outputs if the run has completed successfully.
28
+ """ # noqa: E501
29
+ pipeline_name: StrictStr = Field(description="The identifier string for the Pipeline. ", alias="pipelineName")
30
+ pipeline_version: StrictInt = Field(description="An identifier Integer for the Pipeline Version. ", alias="pipelineVersion")
31
+ wdl_method_version: StrictStr = Field(description="An identifier string for the Pipeline Wdl Version i.e. github repo tag/branch/release ", alias="wdlMethodVersion")
32
+ outputs: Optional[Dict[str, Any]] = Field(default=None, description="The output(s) of a successful pipeline run. ")
33
+ __properties: ClassVar[List[str]] = ["pipelineName", "pipelineVersion", "wdlMethodVersion", "outputs"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of PipelineRunReport from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of PipelineRunReport from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "pipelineName": obj.get("pipelineName"),
87
+ "pipelineVersion": obj.get("pipelineVersion"),
88
+ "wdlMethodVersion": obj.get("wdlMethodVersion"),
89
+ "outputs": obj.get("outputs")
90
+ })
91
+ return _obj
92
+
93
+
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class PipelineUserProvidedInputDefinition(BaseModel):
26
+ """
27
+ User-provided input fields and specifications for the Pipeline.
28
+ """ # noqa: E501
29
+ name: Optional[StrictStr] = Field(default=None, description="The name of the input field. ")
30
+ type: Optional[StrictStr] = Field(default=None, description="The type of the input field. ")
31
+ is_required: Optional[StrictBool] = Field(default=None, description="Whether the input field is required. ", alias="isRequired")
32
+ __properties: ClassVar[List[str]] = ["name", "type", "isRequired"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of PipelineUserProvidedInputDefinition from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of PipelineUserProvidedInputDefinition from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "name": obj.get("name"),
86
+ "type": obj.get("type"),
87
+ "isRequired": obj.get("isRequired")
88
+ })
89
+ return _obj
90
+
91
+
@@ -0,0 +1,105 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from teaspoons_client.models.pipeline_user_provided_input_definition import PipelineUserProvidedInputDefinition
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class PipelineWithDetails(BaseModel):
27
+ """
28
+ Object containing the pipeline identifier, display name, description, type, and required inputs of a Pipeline.
29
+ """ # noqa: E501
30
+ pipeline_name: StrictStr = Field(description="The identifier string for the Pipeline. ", alias="pipelineName")
31
+ display_name: StrictStr = Field(description="The display name for the Pipeline. ", alias="displayName")
32
+ pipeline_version: StrictInt = Field(description="An identifier Integer for the Pipeline Version. ", alias="pipelineVersion")
33
+ description: StrictStr = Field(description="The description for the Pipeline. ")
34
+ type: StrictStr = Field(description="The general type of the Pipeline. ")
35
+ inputs: List[PipelineUserProvidedInputDefinition] = Field(description="A list of user-provided input fields and specifications for the Pipeline. ")
36
+ __properties: ClassVar[List[str]] = ["pipelineName", "displayName", "pipelineVersion", "description", "type", "inputs"]
37
+
38
+ model_config = ConfigDict(
39
+ populate_by_name=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
+ """Create an instance of PipelineWithDetails from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ """
69
+ excluded_fields: Set[str] = set([
70
+ ])
71
+
72
+ _dict = self.model_dump(
73
+ by_alias=True,
74
+ exclude=excluded_fields,
75
+ exclude_none=True,
76
+ )
77
+ # override the default output from pydantic by calling `to_dict()` of each item in inputs (list)
78
+ _items = []
79
+ if self.inputs:
80
+ for _item_inputs in self.inputs:
81
+ if _item_inputs:
82
+ _items.append(_item_inputs.to_dict())
83
+ _dict['inputs'] = _items
84
+ return _dict
85
+
86
+ @classmethod
87
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
88
+ """Create an instance of PipelineWithDetails from a dict"""
89
+ if obj is None:
90
+ return None
91
+
92
+ if not isinstance(obj, dict):
93
+ return cls.model_validate(obj)
94
+
95
+ _obj = cls.model_validate({
96
+ "pipelineName": obj.get("pipelineName"),
97
+ "displayName": obj.get("displayName"),
98
+ "pipelineVersion": obj.get("pipelineVersion"),
99
+ "description": obj.get("description"),
100
+ "type": obj.get("type"),
101
+ "inputs": [PipelineUserProvidedInputDefinition.from_dict(_item) for _item in obj["inputs"]] if obj.get("inputs") is not None else None
102
+ })
103
+ return _obj
104
+
105
+
@@ -0,0 +1,95 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class PreparePipelineRunRequestBody(BaseModel):
26
+ """
27
+ Object containing the user-provided information defining a pipeline run request.
28
+ """ # noqa: E501
29
+ job_id: StrictStr = Field(description="Required unique identifier (UUID) for a job. ", alias="jobId")
30
+ pipeline_name: StrictStr = Field(description="The identifier string for the Pipeline. ", alias="pipelineName")
31
+ pipeline_version: Optional[StrictInt] = Field(default=None, description="An identifier Integer for the Pipeline Version. ", alias="pipelineVersion")
32
+ pipeline_inputs: Dict[str, Any] = Field(description="A map(string:object) of user-provided inputs for the Pipeline. ", alias="pipelineInputs")
33
+ description: Optional[StrictStr] = Field(default=None, description="The user-provided description for the pipeline run. ")
34
+ __properties: ClassVar[List[str]] = ["jobId", "pipelineName", "pipelineVersion", "pipelineInputs", "description"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of PreparePipelineRunRequestBody from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of PreparePipelineRunRequestBody from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "jobId": obj.get("jobId"),
88
+ "pipelineName": obj.get("pipelineName"),
89
+ "pipelineVersion": obj.get("pipelineVersion"),
90
+ "pipelineInputs": obj.get("pipelineInputs"),
91
+ "description": obj.get("description")
92
+ })
93
+ return _obj
94
+
95
+
@@ -0,0 +1,89 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class PreparePipelineRunResponse(BaseModel):
26
+ """
27
+ Result of the preparePipelineRun request, containing signed URLs to upload input files
28
+ """ # noqa: E501
29
+ job_id: Optional[StrictStr] = Field(default=None, description="Required unique identifier (UUID) for a job. ", alias="jobId")
30
+ file_input_upload_urls: Optional[Dict[str, Dict[str, StrictStr]]] = Field(default=None, alias="fileInputUploadUrls")
31
+ __properties: ClassVar[List[str]] = ["jobId", "fileInputUploadUrls"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of PreparePipelineRunResponse from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of PreparePipelineRunResponse from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "jobId": obj.get("jobId"),
85
+ "fileInputUploadUrls": obj.get("fileInputUploadUrls")
86
+ })
87
+ return _obj
88
+
89
+
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class QuotaWithDetails(BaseModel):
26
+ """
27
+ Object containing the pipeline identifier, quota limit, and quota usage of a Pipeline.
28
+ """ # noqa: E501
29
+ pipeline_name: StrictStr = Field(description="The identifier string for the Pipeline. ", alias="pipelineName")
30
+ quota_limit: StrictInt = Field(description="Maximum allowable quota for the pipeline ", alias="quotaLimit")
31
+ quota_consumed: StrictInt = Field(description="Quota consumed by the user ", alias="quotaConsumed")
32
+ __properties: ClassVar[List[str]] = ["pipelineName", "quotaLimit", "quotaConsumed"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of QuotaWithDetails from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of QuotaWithDetails from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "pipelineName": obj.get("pipelineName"),
86
+ "quotaLimit": obj.get("quotaLimit"),
87
+ "quotaConsumed": obj.get("quotaConsumed")
88
+ })
89
+ return _obj
90
+
91
+
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field
21
+ from typing import Any, ClassVar, Dict, List
22
+ from teaspoons_client.models.job_control import JobControl
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class StartPipelineRunRequestBody(BaseModel):
27
+ """
28
+ Object containing the user-provided information defining a pipeline run request.
29
+ """ # noqa: E501
30
+ job_control: JobControl = Field(alias="jobControl")
31
+ __properties: ClassVar[List[str]] = ["jobControl"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of StartPipelineRunRequestBody from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ # override the default output from pydantic by calling `to_dict()` of job_control
73
+ if self.job_control:
74
+ _dict['jobControl'] = self.job_control.to_dict()
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of StartPipelineRunRequestBody from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "jobControl": JobControl.from_dict(obj["jobControl"]) if obj.get("jobControl") is not None else None
88
+ })
89
+ return _obj
90
+
91
+