lightning-sdk 0.2.3__py3-none-any.whl → 0.2.5__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 (110) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/ai_hub.py +10 -17
  3. lightning_sdk/api/ai_hub_api.py +20 -3
  4. lightning_sdk/api/studio_api.py +0 -8
  5. lightning_sdk/cli/serve.py +139 -22
  6. lightning_sdk/deployment/deployment.py +32 -4
  7. lightning_sdk/lightning_cloud/openapi/__init__.py +49 -1
  8. lightning_sdk/lightning_cloud/openapi/api/__init__.py +4 -0
  9. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +537 -0
  10. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +10 -6
  11. lightning_sdk/lightning_cloud/openapi/api/lit_dataset_service_api.py +1973 -0
  12. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +5 -1
  13. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +20 -20
  14. lightning_sdk/lightning_cloud/openapi/api/pipeline_templates_service_api.py +339 -0
  15. lightning_sdk/lightning_cloud/openapi/api/pipelines_service_api.py +5 -1
  16. lightning_sdk/lightning_cloud/openapi/api/schedules_service_api.py +573 -0
  17. lightning_sdk/lightning_cloud/openapi/api/slurm_jobs_user_service_api.py +202 -0
  18. lightning_sdk/lightning_cloud/openapi/models/__init__.py +45 -1
  19. lightning_sdk/lightning_cloud/openapi/models/cluster_id_capacityblock_body.py +15 -15
  20. lightning_sdk/lightning_cloud/openapi/models/cluster_id_slurmusers_body.py +201 -0
  21. lightning_sdk/lightning_cloud/openapi/models/dataset_id_versions_body.py +149 -0
  22. lightning_sdk/lightning_cloud/openapi/models/dataset_id_visibility_body.py +149 -0
  23. lightning_sdk/lightning_cloud/openapi/models/environmenttemplates_id_body.py +227 -0
  24. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +69 -69
  25. lightning_sdk/lightning_cloud/openapi/models/litdatasets_dataset_id_body.py +149 -0
  26. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/pipelines_id_body.py +69 -17
  28. lightning_sdk/lightning_cloud/openapi/models/pipelinetemplates_id_body.py +331 -0
  29. lightning_sdk/lightning_cloud/openapi/models/project_id_litdatasets_body.py +227 -0
  30. lightning_sdk/lightning_cloud/openapi/models/project_id_pipelines_body.py +17 -17
  31. lightning_sdk/lightning_cloud/openapi/models/project_id_schedules_body.py +201 -0
  32. lightning_sdk/lightning_cloud/openapi/models/schedules_id_body.py +383 -0
  33. lightning_sdk/lightning_cloud/openapi/models/slurm_jobs_body.py +15 -15
  34. lightning_sdk/lightning_cloud/openapi/models/upload_id_complete_body1.py +149 -0
  35. lightning_sdk/lightning_cloud/openapi/models/upload_id_parts_body1.py +149 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_agent_job.py +124 -20
  37. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_model_status.py +2 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template.py +253 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_complete_lit_dataset_multi_part_upload_response.py +97 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_complete_lit_dataset_upload_response.py +97 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +149 -0
  45. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_dataset_multi_part_upload_response.py +123 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_create_organization_request.py +27 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_create_pipeline_template_request.py +383 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +27 -1
  49. lightning_sdk/lightning_cloud/openapi/models/{v1_pipeline_schedule.py → v1_delete_cloud_space_environment_template_response.py} +32 -32
  50. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_dataset_response.py +97 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_dataset_version_response.py +97 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_delete_schedule_response.py +175 -0
  53. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_size_response.py +79 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_get_lit_dataset_file_upload_urls_response.py +123 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_get_lit_dataset_files_url_response.py +149 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_instance_overprovisioning_spec.py +79 -27
  58. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  59. lightning_sdk/lightning_cloud/openapi/models/v1_list_cloud_space_environment_templates_response.py +123 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_dataset_versions_response.py +123 -0
  61. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_datasets_response.py +123 -0
  62. lightning_sdk/lightning_cloud/openapi/models/v1_list_schedules_response.py +123 -0
  63. lightning_sdk/lightning_cloud/openapi/models/v1_list_slurm_cluster_users_response.py +123 -0
  64. lightning_sdk/lightning_cloud/openapi/models/v1_lit_dataset.py +539 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_lit_dataset_file.py +175 -0
  66. lightning_sdk/lightning_cloud/openapi/models/v1_lit_dataset_version_archive.py +435 -0
  67. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_project.py +27 -1
  68. lightning_sdk/lightning_cloud/openapi/models/v1_lit_repository.py +27 -1
  69. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +27 -1
  70. lightning_sdk/lightning_cloud/openapi/models/v1_managed_model.py +107 -3
  71. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +53 -1
  72. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline.py +69 -17
  73. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_parameter.py +435 -0
  74. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_parameter_placement.py +149 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_parameter_placement_type.py +106 -0
  76. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_parameter_type.py +106 -0
  77. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_template.py +513 -0
  78. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_template_visibility_type.py +105 -0
  79. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +27 -1
  80. lightning_sdk/lightning_cloud/openapi/models/v1_schedule.py +435 -0
  81. lightning_sdk/lightning_cloud/openapi/models/v1_schedule_resource_type.py +103 -0
  82. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_cluster_user.py +227 -0
  83. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_job.py +58 -6
  84. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_node.py +31 -291
  85. lightning_sdk/lightning_cloud/openapi/models/v1_update_lit_dataset_visibility_response.py +123 -0
  86. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
  87. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +157 -105
  88. lightning_sdk/lightning_cloud/openapi/models/v1_validate_managed_endpoint_response.py +27 -1
  89. lightning_sdk/lightning_cloud/openapi/models/v1_voltage_park_direct_v1.py +203 -0
  90. lightning_sdk/lightning_cloud/openapi/models/version_default_body.py +29 -29
  91. lightning_sdk/lightning_cloud/openapi/models/version_default_body1.py +149 -0
  92. lightning_sdk/lightning_cloud/openapi/models/version_uploads_body1.py +123 -0
  93. lightning_sdk/lightning_cloud/openapi/models/versions_version_body1.py +123 -0
  94. lightning_sdk/lightning_cloud/rest_client.py +2 -0
  95. lightning_sdk/lit_container.py +8 -1
  96. lightning_sdk/mmt/mmt.py +1 -18
  97. lightning_sdk/mmt/v1.py +1 -28
  98. lightning_sdk/models.py +15 -6
  99. lightning_sdk/pipeline/pipeline.py +2 -2
  100. lightning_sdk/pipeline/types.py +28 -2
  101. lightning_sdk/pipeline/utils.py +1 -1
  102. lightning_sdk/plugin.py +0 -6
  103. lightning_sdk/serve.py +55 -22
  104. lightning_sdk/utils/resolve.py +1 -0
  105. {lightning_sdk-0.2.3.dist-info → lightning_sdk-0.2.5.dist-info}/METADATA +1 -1
  106. {lightning_sdk-0.2.3.dist-info → lightning_sdk-0.2.5.dist-info}/RECORD +110 -62
  107. {lightning_sdk-0.2.3.dist-info → lightning_sdk-0.2.5.dist-info}/WHEEL +1 -1
  108. {lightning_sdk-0.2.3.dist-info → lightning_sdk-0.2.5.dist-info}/LICENSE +0 -0
  109. {lightning_sdk-0.2.3.dist-info → lightning_sdk-0.2.5.dist-info}/entry_points.txt +0 -0
  110. {lightning_sdk-0.2.3.dist-info → lightning_sdk-0.2.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,227 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class ProjectIdLitdatasetsBody(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'always_create': 'bool',
45
+ 'cluster_id': 'str',
46
+ 'metadata': 'dict(str, str)',
47
+ 'name': 'str',
48
+ 'private': 'bool'
49
+ }
50
+
51
+ attribute_map = {
52
+ 'always_create': 'alwaysCreate',
53
+ 'cluster_id': 'clusterId',
54
+ 'metadata': 'metadata',
55
+ 'name': 'name',
56
+ 'private': 'private'
57
+ }
58
+
59
+ def __init__(self, always_create: 'bool' =None, cluster_id: 'str' =None, metadata: 'dict(str, str)' =None, name: 'str' =None, private: 'bool' =None): # noqa: E501
60
+ """ProjectIdLitdatasetsBody - a model defined in Swagger""" # noqa: E501
61
+ self._always_create = None
62
+ self._cluster_id = None
63
+ self._metadata = None
64
+ self._name = None
65
+ self._private = None
66
+ self.discriminator = None
67
+ if always_create is not None:
68
+ self.always_create = always_create
69
+ if cluster_id is not None:
70
+ self.cluster_id = cluster_id
71
+ if metadata is not None:
72
+ self.metadata = metadata
73
+ if name is not None:
74
+ self.name = name
75
+ if private is not None:
76
+ self.private = private
77
+
78
+ @property
79
+ def always_create(self) -> 'bool':
80
+ """Gets the always_create of this ProjectIdLitdatasetsBody. # noqa: E501
81
+
82
+
83
+ :return: The always_create of this ProjectIdLitdatasetsBody. # noqa: E501
84
+ :rtype: bool
85
+ """
86
+ return self._always_create
87
+
88
+ @always_create.setter
89
+ def always_create(self, always_create: 'bool'):
90
+ """Sets the always_create of this ProjectIdLitdatasetsBody.
91
+
92
+
93
+ :param always_create: The always_create of this ProjectIdLitdatasetsBody. # noqa: E501
94
+ :type: bool
95
+ """
96
+
97
+ self._always_create = always_create
98
+
99
+ @property
100
+ def cluster_id(self) -> 'str':
101
+ """Gets the cluster_id of this ProjectIdLitdatasetsBody. # noqa: E501
102
+
103
+
104
+ :return: The cluster_id of this ProjectIdLitdatasetsBody. # noqa: E501
105
+ :rtype: str
106
+ """
107
+ return self._cluster_id
108
+
109
+ @cluster_id.setter
110
+ def cluster_id(self, cluster_id: 'str'):
111
+ """Sets the cluster_id of this ProjectIdLitdatasetsBody.
112
+
113
+
114
+ :param cluster_id: The cluster_id of this ProjectIdLitdatasetsBody. # noqa: E501
115
+ :type: str
116
+ """
117
+
118
+ self._cluster_id = cluster_id
119
+
120
+ @property
121
+ def metadata(self) -> 'dict(str, str)':
122
+ """Gets the metadata of this ProjectIdLitdatasetsBody. # noqa: E501
123
+
124
+
125
+ :return: The metadata of this ProjectIdLitdatasetsBody. # noqa: E501
126
+ :rtype: dict(str, str)
127
+ """
128
+ return self._metadata
129
+
130
+ @metadata.setter
131
+ def metadata(self, metadata: 'dict(str, str)'):
132
+ """Sets the metadata of this ProjectIdLitdatasetsBody.
133
+
134
+
135
+ :param metadata: The metadata of this ProjectIdLitdatasetsBody. # noqa: E501
136
+ :type: dict(str, str)
137
+ """
138
+
139
+ self._metadata = metadata
140
+
141
+ @property
142
+ def name(self) -> 'str':
143
+ """Gets the name of this ProjectIdLitdatasetsBody. # noqa: E501
144
+
145
+
146
+ :return: The name of this ProjectIdLitdatasetsBody. # noqa: E501
147
+ :rtype: str
148
+ """
149
+ return self._name
150
+
151
+ @name.setter
152
+ def name(self, name: 'str'):
153
+ """Sets the name of this ProjectIdLitdatasetsBody.
154
+
155
+
156
+ :param name: The name of this ProjectIdLitdatasetsBody. # noqa: E501
157
+ :type: str
158
+ """
159
+
160
+ self._name = name
161
+
162
+ @property
163
+ def private(self) -> 'bool':
164
+ """Gets the private of this ProjectIdLitdatasetsBody. # noqa: E501
165
+
166
+
167
+ :return: The private of this ProjectIdLitdatasetsBody. # noqa: E501
168
+ :rtype: bool
169
+ """
170
+ return self._private
171
+
172
+ @private.setter
173
+ def private(self, private: 'bool'):
174
+ """Sets the private of this ProjectIdLitdatasetsBody.
175
+
176
+
177
+ :param private: The private of this ProjectIdLitdatasetsBody. # noqa: E501
178
+ :type: bool
179
+ """
180
+
181
+ self._private = private
182
+
183
+ def to_dict(self) -> dict:
184
+ """Returns the model properties as a dict"""
185
+ result = {}
186
+
187
+ for attr, _ in six.iteritems(self.swagger_types):
188
+ value = getattr(self, attr)
189
+ if isinstance(value, list):
190
+ result[attr] = list(map(
191
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
192
+ value
193
+ ))
194
+ elif hasattr(value, "to_dict"):
195
+ result[attr] = value.to_dict()
196
+ elif isinstance(value, dict):
197
+ result[attr] = dict(map(
198
+ lambda item: (item[0], item[1].to_dict())
199
+ if hasattr(item[1], "to_dict") else item,
200
+ value.items()
201
+ ))
202
+ else:
203
+ result[attr] = value
204
+ if issubclass(ProjectIdLitdatasetsBody, dict):
205
+ for key, value in self.items():
206
+ result[key] = value
207
+
208
+ return result
209
+
210
+ def to_str(self) -> str:
211
+ """Returns the string representation of the model"""
212
+ return pprint.pformat(self.to_dict())
213
+
214
+ def __repr__(self) -> str:
215
+ """For `print` and `pprint`"""
216
+ return self.to_str()
217
+
218
+ def __eq__(self, other: 'ProjectIdLitdatasetsBody') -> bool:
219
+ """Returns true if both objects are equal"""
220
+ if not isinstance(other, ProjectIdLitdatasetsBody):
221
+ return False
222
+
223
+ return self.__dict__ == other.__dict__
224
+
225
+ def __ne__(self, other: 'ProjectIdLitdatasetsBody') -> bool:
226
+ """Returns true if both objects are not equal"""
227
+ return not self == other
@@ -43,7 +43,7 @@ class ProjectIdPipelinesBody(object):
43
43
  swagger_types = {
44
44
  'cluster_id': 'str',
45
45
  'name': 'str',
46
- 'schedules': 'list[V1PipelineSchedule]',
46
+ 'parameters': 'list[V1PipelineParameter]',
47
47
  'shared_filesystem': 'V1SharedFilesystem',
48
48
  'steps': 'list[V1PipelineStep]'
49
49
  }
@@ -51,16 +51,16 @@ class ProjectIdPipelinesBody(object):
51
51
  attribute_map = {
52
52
  'cluster_id': 'clusterId',
53
53
  'name': 'name',
54
- 'schedules': 'schedules',
54
+ 'parameters': 'parameters',
55
55
  'shared_filesystem': 'sharedFilesystem',
56
56
  'steps': 'steps'
57
57
  }
58
58
 
59
- def __init__(self, cluster_id: 'str' =None, name: 'str' =None, schedules: 'list[V1PipelineSchedule]' =None, shared_filesystem: 'V1SharedFilesystem' =None, steps: 'list[V1PipelineStep]' =None): # noqa: E501
59
+ def __init__(self, cluster_id: 'str' =None, name: 'str' =None, parameters: 'list[V1PipelineParameter]' =None, shared_filesystem: 'V1SharedFilesystem' =None, steps: 'list[V1PipelineStep]' =None): # noqa: E501
60
60
  """ProjectIdPipelinesBody - a model defined in Swagger""" # noqa: E501
61
61
  self._cluster_id = None
62
62
  self._name = None
63
- self._schedules = None
63
+ self._parameters = None
64
64
  self._shared_filesystem = None
65
65
  self._steps = None
66
66
  self.discriminator = None
@@ -68,8 +68,8 @@ class ProjectIdPipelinesBody(object):
68
68
  self.cluster_id = cluster_id
69
69
  if name is not None:
70
70
  self.name = name
71
- if schedules is not None:
72
- self.schedules = schedules
71
+ if parameters is not None:
72
+ self.parameters = parameters
73
73
  if shared_filesystem is not None:
74
74
  self.shared_filesystem = shared_filesystem
75
75
  if steps is not None:
@@ -118,25 +118,25 @@ class ProjectIdPipelinesBody(object):
118
118
  self._name = name
119
119
 
120
120
  @property
121
- def schedules(self) -> 'list[V1PipelineSchedule]':
122
- """Gets the schedules of this ProjectIdPipelinesBody. # noqa: E501
121
+ def parameters(self) -> 'list[V1PipelineParameter]':
122
+ """Gets the parameters of this ProjectIdPipelinesBody. # noqa: E501
123
123
 
124
124
 
125
- :return: The schedules of this ProjectIdPipelinesBody. # noqa: E501
126
- :rtype: list[V1PipelineSchedule]
125
+ :return: The parameters of this ProjectIdPipelinesBody. # noqa: E501
126
+ :rtype: list[V1PipelineParameter]
127
127
  """
128
- return self._schedules
128
+ return self._parameters
129
129
 
130
- @schedules.setter
131
- def schedules(self, schedules: 'list[V1PipelineSchedule]'):
132
- """Sets the schedules of this ProjectIdPipelinesBody.
130
+ @parameters.setter
131
+ def parameters(self, parameters: 'list[V1PipelineParameter]'):
132
+ """Sets the parameters of this ProjectIdPipelinesBody.
133
133
 
134
134
 
135
- :param schedules: The schedules of this ProjectIdPipelinesBody. # noqa: E501
136
- :type: list[V1PipelineSchedule]
135
+ :param parameters: The parameters of this ProjectIdPipelinesBody. # noqa: E501
136
+ :type: list[V1PipelineParameter]
137
137
  """
138
138
 
139
- self._schedules = schedules
139
+ self._parameters = parameters
140
140
 
141
141
  @property
142
142
  def shared_filesystem(self) -> 'V1SharedFilesystem':
@@ -0,0 +1,201 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class ProjectIdSchedulesBody(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'cron_expression': 'str',
45
+ 'display_name': 'str',
46
+ 'resource_id': 'str',
47
+ 'resource_type': 'V1ScheduleResourceType'
48
+ }
49
+
50
+ attribute_map = {
51
+ 'cron_expression': 'cronExpression',
52
+ 'display_name': 'displayName',
53
+ 'resource_id': 'resourceId',
54
+ 'resource_type': 'resourceType'
55
+ }
56
+
57
+ def __init__(self, cron_expression: 'str' =None, display_name: 'str' =None, resource_id: 'str' =None, resource_type: 'V1ScheduleResourceType' =None): # noqa: E501
58
+ """ProjectIdSchedulesBody - a model defined in Swagger""" # noqa: E501
59
+ self._cron_expression = None
60
+ self._display_name = None
61
+ self._resource_id = None
62
+ self._resource_type = None
63
+ self.discriminator = None
64
+ if cron_expression is not None:
65
+ self.cron_expression = cron_expression
66
+ if display_name is not None:
67
+ self.display_name = display_name
68
+ if resource_id is not None:
69
+ self.resource_id = resource_id
70
+ if resource_type is not None:
71
+ self.resource_type = resource_type
72
+
73
+ @property
74
+ def cron_expression(self) -> 'str':
75
+ """Gets the cron_expression of this ProjectIdSchedulesBody. # noqa: E501
76
+
77
+
78
+ :return: The cron_expression of this ProjectIdSchedulesBody. # noqa: E501
79
+ :rtype: str
80
+ """
81
+ return self._cron_expression
82
+
83
+ @cron_expression.setter
84
+ def cron_expression(self, cron_expression: 'str'):
85
+ """Sets the cron_expression of this ProjectIdSchedulesBody.
86
+
87
+
88
+ :param cron_expression: The cron_expression of this ProjectIdSchedulesBody. # noqa: E501
89
+ :type: str
90
+ """
91
+
92
+ self._cron_expression = cron_expression
93
+
94
+ @property
95
+ def display_name(self) -> 'str':
96
+ """Gets the display_name of this ProjectIdSchedulesBody. # noqa: E501
97
+
98
+
99
+ :return: The display_name of this ProjectIdSchedulesBody. # noqa: E501
100
+ :rtype: str
101
+ """
102
+ return self._display_name
103
+
104
+ @display_name.setter
105
+ def display_name(self, display_name: 'str'):
106
+ """Sets the display_name of this ProjectIdSchedulesBody.
107
+
108
+
109
+ :param display_name: The display_name of this ProjectIdSchedulesBody. # noqa: E501
110
+ :type: str
111
+ """
112
+
113
+ self._display_name = display_name
114
+
115
+ @property
116
+ def resource_id(self) -> 'str':
117
+ """Gets the resource_id of this ProjectIdSchedulesBody. # noqa: E501
118
+
119
+
120
+ :return: The resource_id of this ProjectIdSchedulesBody. # noqa: E501
121
+ :rtype: str
122
+ """
123
+ return self._resource_id
124
+
125
+ @resource_id.setter
126
+ def resource_id(self, resource_id: 'str'):
127
+ """Sets the resource_id of this ProjectIdSchedulesBody.
128
+
129
+
130
+ :param resource_id: The resource_id of this ProjectIdSchedulesBody. # noqa: E501
131
+ :type: str
132
+ """
133
+
134
+ self._resource_id = resource_id
135
+
136
+ @property
137
+ def resource_type(self) -> 'V1ScheduleResourceType':
138
+ """Gets the resource_type of this ProjectIdSchedulesBody. # noqa: E501
139
+
140
+
141
+ :return: The resource_type of this ProjectIdSchedulesBody. # noqa: E501
142
+ :rtype: V1ScheduleResourceType
143
+ """
144
+ return self._resource_type
145
+
146
+ @resource_type.setter
147
+ def resource_type(self, resource_type: 'V1ScheduleResourceType'):
148
+ """Sets the resource_type of this ProjectIdSchedulesBody.
149
+
150
+
151
+ :param resource_type: The resource_type of this ProjectIdSchedulesBody. # noqa: E501
152
+ :type: V1ScheduleResourceType
153
+ """
154
+
155
+ self._resource_type = resource_type
156
+
157
+ def to_dict(self) -> dict:
158
+ """Returns the model properties as a dict"""
159
+ result = {}
160
+
161
+ for attr, _ in six.iteritems(self.swagger_types):
162
+ value = getattr(self, attr)
163
+ if isinstance(value, list):
164
+ result[attr] = list(map(
165
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
166
+ value
167
+ ))
168
+ elif hasattr(value, "to_dict"):
169
+ result[attr] = value.to_dict()
170
+ elif isinstance(value, dict):
171
+ result[attr] = dict(map(
172
+ lambda item: (item[0], item[1].to_dict())
173
+ if hasattr(item[1], "to_dict") else item,
174
+ value.items()
175
+ ))
176
+ else:
177
+ result[attr] = value
178
+ if issubclass(ProjectIdSchedulesBody, dict):
179
+ for key, value in self.items():
180
+ result[key] = value
181
+
182
+ return result
183
+
184
+ def to_str(self) -> str:
185
+ """Returns the string representation of the model"""
186
+ return pprint.pformat(self.to_dict())
187
+
188
+ def __repr__(self) -> str:
189
+ """For `print` and `pprint`"""
190
+ return self.to_str()
191
+
192
+ def __eq__(self, other: 'ProjectIdSchedulesBody') -> bool:
193
+ """Returns true if both objects are equal"""
194
+ if not isinstance(other, ProjectIdSchedulesBody):
195
+ return False
196
+
197
+ return self.__dict__ == other.__dict__
198
+
199
+ def __ne__(self, other: 'ProjectIdSchedulesBody') -> bool:
200
+ """Returns true if both objects are not equal"""
201
+ return not self == other