lightning-sdk 2025.12.17__py3-none-any.whl → 2026.1.22__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 (99) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/k8s_api.py +75 -29
  3. lightning_sdk/api/studio_api.py +195 -33
  4. lightning_sdk/api/teamspace_api.py +28 -9
  5. lightning_sdk/cli/cp/__init__.py +64 -0
  6. lightning_sdk/cli/entrypoint.py +2 -0
  7. lightning_sdk/cli/groups.py +22 -0
  8. lightning_sdk/cli/legacy/clusters_menu.py +2 -2
  9. lightning_sdk/cli/legacy/deploy/_auth.py +7 -6
  10. lightning_sdk/cli/legacy/run.py +13 -2
  11. lightning_sdk/cli/studio/__init__.py +4 -0
  12. lightning_sdk/cli/studio/cp.py +20 -64
  13. lightning_sdk/cli/studio/ls.py +57 -0
  14. lightning_sdk/cli/studio/rm.py +71 -0
  15. lightning_sdk/cli/utils/logging.py +2 -1
  16. lightning_sdk/cli/utils/studio_filesystem.py +65 -0
  17. lightning_sdk/cli/utils/teamspace_selection.py +5 -0
  18. lightning_sdk/exceptions.py +4 -0
  19. lightning_sdk/job/base.py +1 -1
  20. lightning_sdk/k8s_cluster.py +9 -10
  21. lightning_sdk/lightning_cloud/__version__.py +1 -1
  22. lightning_sdk/lightning_cloud/openapi/__init__.py +29 -11
  23. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -1
  24. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
  25. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +268 -123
  26. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
  27. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
  28. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
  29. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
  30. lightning_sdk/lightning_cloud/openapi/api/{kubernetes_virtual_machine_service_api.py → virtual_machine_service_api.py} +82 -82
  31. lightning_sdk/lightning_cloud/openapi/models/__init__.py +28 -10
  32. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
  33. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +53 -1
  34. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
  35. lightning_sdk/lightning_cloud/openapi/models/cluster_service_report_machine_system_metrics_body.py +123 -0
  36. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  37. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
  38. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
  39. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -27
  46. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
  50. lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_cudo_direct_v1.py} +51 -51
  51. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_kubernetes_virtual_machine_response.py → v1_delete_lit_logger_media_response.py} +6 -6
  52. lightning_sdk/lightning_cloud/openapi/models/{kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py → v1_delete_virtual_machine_response.py} +6 -6
  53. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
  54. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  55. lightning_sdk/lightning_cloud/openapi/models/v1_get_kubernetes_pod_logs_response.py +149 -0
  56. lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
  57. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
  59. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_setting.py +149 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
  61. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
  64. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +53 -1
  66. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
  67. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
  69. lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
  70. lightning_sdk/lightning_cloud/openapi/models/{v1_list_kubernetes_virtual_machines_response.py → v1_list_virtual_machines_response.py} +16 -16
  71. lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
  72. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -53
  73. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
  74. lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  76. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  77. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_idle_state_response.py +97 -0
  78. lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
  79. lightning_sdk/lightning_cloud/openapi/models/v1_tenant_credentials.py +201 -0
  80. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +157 -131
  81. lightning_sdk/lightning_cloud/openapi/models/{v1_kubernetes_virtual_machine.py → v1_virtual_machine.py} +94 -68
  82. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_vm_configuration.py → v1_vm_configuration.py} +20 -20
  83. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_provider_configuration.py → v1_vm_provider_configuration.py} +32 -32
  84. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
  85. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
  86. lightning_sdk/lightning_cloud/rest_client.py +0 -2
  87. lightning_sdk/machine.py +3 -3
  88. lightning_sdk/studio.py +14 -4
  89. lightning_sdk/utils/logging.py +2 -1
  90. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/METADATA +1 -5
  91. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/RECORD +95 -75
  92. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/WHEEL +1 -1
  93. lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
  94. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +0 -513
  95. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +0 -201
  96. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
  97. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/LICENSE +0 -0
  98. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/entry_points.txt +0 -0
  99. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/top_level.txt +0 -0
@@ -41,19 +41,29 @@ class V1ListModelsResponse(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'models': 'list[V1Model]'
44
+ 'models': 'list[V1Model]',
45
+ 'next_page_token': 'str',
46
+ 'previous_page_token': 'str'
45
47
  }
46
48
 
47
49
  attribute_map = {
48
- 'models': 'models'
50
+ 'models': 'models',
51
+ 'next_page_token': 'nextPageToken',
52
+ 'previous_page_token': 'previousPageToken'
49
53
  }
50
54
 
51
- def __init__(self, models: 'list[V1Model]' =None): # noqa: E501
55
+ def __init__(self, models: 'list[V1Model]' =None, next_page_token: 'str' =None, previous_page_token: 'str' =None): # noqa: E501
52
56
  """V1ListModelsResponse - a model defined in Swagger""" # noqa: E501
53
57
  self._models = None
58
+ self._next_page_token = None
59
+ self._previous_page_token = None
54
60
  self.discriminator = None
55
61
  if models is not None:
56
62
  self.models = models
63
+ if next_page_token is not None:
64
+ self.next_page_token = next_page_token
65
+ if previous_page_token is not None:
66
+ self.previous_page_token = previous_page_token
57
67
 
58
68
  @property
59
69
  def models(self) -> 'list[V1Model]':
@@ -76,6 +86,48 @@ class V1ListModelsResponse(object):
76
86
 
77
87
  self._models = models
78
88
 
89
+ @property
90
+ def next_page_token(self) -> 'str':
91
+ """Gets the next_page_token of this V1ListModelsResponse. # noqa: E501
92
+
93
+
94
+ :return: The next_page_token of this V1ListModelsResponse. # noqa: E501
95
+ :rtype: str
96
+ """
97
+ return self._next_page_token
98
+
99
+ @next_page_token.setter
100
+ def next_page_token(self, next_page_token: 'str'):
101
+ """Sets the next_page_token of this V1ListModelsResponse.
102
+
103
+
104
+ :param next_page_token: The next_page_token of this V1ListModelsResponse. # noqa: E501
105
+ :type: str
106
+ """
107
+
108
+ self._next_page_token = next_page_token
109
+
110
+ @property
111
+ def previous_page_token(self) -> 'str':
112
+ """Gets the previous_page_token of this V1ListModelsResponse. # noqa: E501
113
+
114
+
115
+ :return: The previous_page_token of this V1ListModelsResponse. # noqa: E501
116
+ :rtype: str
117
+ """
118
+ return self._previous_page_token
119
+
120
+ @previous_page_token.setter
121
+ def previous_page_token(self, previous_page_token: 'str'):
122
+ """Sets the previous_page_token of this V1ListModelsResponse.
123
+
124
+
125
+ :param previous_page_token: The previous_page_token of this V1ListModelsResponse. # noqa: E501
126
+ :type: str
127
+ """
128
+
129
+ self._previous_page_token = previous_page_token
130
+
79
131
  def to_dict(self) -> dict:
80
132
  """Returns the model properties as a dict"""
81
133
  result = {}
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
  from datetime import datetime
29
29
  from lightning_sdk.lightning_cloud.openapi.models import *
30
30
 
31
- class V1ListKubernetesVirtualMachinesResponse(object):
31
+ class V1ListVirtualMachinesResponse(object):
32
32
  """NOTE: This class is auto generated by the swagger code generator program.
33
33
 
34
34
  Do not edit the class manually.
@@ -41,37 +41,37 @@ class V1ListKubernetesVirtualMachinesResponse(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'virtual_machines': 'list[V1KubernetesVirtualMachine]'
44
+ 'virtual_machines': 'list[V1VirtualMachine]'
45
45
  }
46
46
 
47
47
  attribute_map = {
48
48
  'virtual_machines': 'virtualMachines'
49
49
  }
50
50
 
51
- def __init__(self, virtual_machines: 'list[V1KubernetesVirtualMachine]' =None): # noqa: E501
52
- """V1ListKubernetesVirtualMachinesResponse - a model defined in Swagger""" # noqa: E501
51
+ def __init__(self, virtual_machines: 'list[V1VirtualMachine]' =None): # noqa: E501
52
+ """V1ListVirtualMachinesResponse - a model defined in Swagger""" # noqa: E501
53
53
  self._virtual_machines = None
54
54
  self.discriminator = None
55
55
  if virtual_machines is not None:
56
56
  self.virtual_machines = virtual_machines
57
57
 
58
58
  @property
59
- def virtual_machines(self) -> 'list[V1KubernetesVirtualMachine]':
60
- """Gets the virtual_machines of this V1ListKubernetesVirtualMachinesResponse. # noqa: E501
59
+ def virtual_machines(self) -> 'list[V1VirtualMachine]':
60
+ """Gets the virtual_machines of this V1ListVirtualMachinesResponse. # noqa: E501
61
61
 
62
62
 
63
- :return: The virtual_machines of this V1ListKubernetesVirtualMachinesResponse. # noqa: E501
64
- :rtype: list[V1KubernetesVirtualMachine]
63
+ :return: The virtual_machines of this V1ListVirtualMachinesResponse. # noqa: E501
64
+ :rtype: list[V1VirtualMachine]
65
65
  """
66
66
  return self._virtual_machines
67
67
 
68
68
  @virtual_machines.setter
69
- def virtual_machines(self, virtual_machines: 'list[V1KubernetesVirtualMachine]'):
70
- """Sets the virtual_machines of this V1ListKubernetesVirtualMachinesResponse.
69
+ def virtual_machines(self, virtual_machines: 'list[V1VirtualMachine]'):
70
+ """Sets the virtual_machines of this V1ListVirtualMachinesResponse.
71
71
 
72
72
 
73
- :param virtual_machines: The virtual_machines of this V1ListKubernetesVirtualMachinesResponse. # noqa: E501
74
- :type: list[V1KubernetesVirtualMachine]
73
+ :param virtual_machines: The virtual_machines of this V1ListVirtualMachinesResponse. # noqa: E501
74
+ :type: list[V1VirtualMachine]
75
75
  """
76
76
 
77
77
  self._virtual_machines = virtual_machines
@@ -97,7 +97,7 @@ class V1ListKubernetesVirtualMachinesResponse(object):
97
97
  ))
98
98
  else:
99
99
  result[attr] = value
100
- if issubclass(V1ListKubernetesVirtualMachinesResponse, dict):
100
+ if issubclass(V1ListVirtualMachinesResponse, dict):
101
101
  for key, value in self.items():
102
102
  result[key] = value
103
103
 
@@ -111,13 +111,13 @@ class V1ListKubernetesVirtualMachinesResponse(object):
111
111
  """For `print` and `pprint`"""
112
112
  return self.to_str()
113
113
 
114
- def __eq__(self, other: 'V1ListKubernetesVirtualMachinesResponse') -> bool:
114
+ def __eq__(self, other: 'V1ListVirtualMachinesResponse') -> bool:
115
115
  """Returns true if both objects are equal"""
116
- if not isinstance(other, V1ListKubernetesVirtualMachinesResponse):
116
+ if not isinstance(other, V1ListVirtualMachinesResponse):
117
117
  return False
118
118
 
119
119
  return self.__dict__ == other.__dict__
120
120
 
121
- def __ne__(self, other: 'V1ListKubernetesVirtualMachinesResponse') -> bool:
121
+ def __ne__(self, other: 'V1ListVirtualMachinesResponse') -> bool:
122
122
  """Returns true if both objects are not equal"""
123
123
  return not self == other
@@ -0,0 +1,513 @@
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 V1LitLoggerMedia(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
+ 'caption': 'str',
45
+ 'cluster_id': 'str',
46
+ 'content_hash': 'str',
47
+ 'created_at': 'datetime',
48
+ 'epoch': 'str',
49
+ 'id': 'str',
50
+ 'media_type': 'V1MediaType',
51
+ 'metrics_stream_id': 'str',
52
+ 'mime_type': 'str',
53
+ 'name': 'str',
54
+ 'project_id': 'str',
55
+ 'size_bytes': 'str',
56
+ 'step': 'str',
57
+ 'storage_path': 'str',
58
+ 'updated_at': 'datetime',
59
+ 'upload_complete': 'bool'
60
+ }
61
+
62
+ attribute_map = {
63
+ 'caption': 'caption',
64
+ 'cluster_id': 'clusterId',
65
+ 'content_hash': 'contentHash',
66
+ 'created_at': 'createdAt',
67
+ 'epoch': 'epoch',
68
+ 'id': 'id',
69
+ 'media_type': 'mediaType',
70
+ 'metrics_stream_id': 'metricsStreamId',
71
+ 'mime_type': 'mimeType',
72
+ 'name': 'name',
73
+ 'project_id': 'projectId',
74
+ 'size_bytes': 'sizeBytes',
75
+ 'step': 'step',
76
+ 'storage_path': 'storagePath',
77
+ 'updated_at': 'updatedAt',
78
+ 'upload_complete': 'uploadComplete'
79
+ }
80
+
81
+ def __init__(self, caption: 'str' =None, cluster_id: 'str' =None, content_hash: 'str' =None, created_at: 'datetime' =None, epoch: 'str' =None, id: 'str' =None, media_type: 'V1MediaType' =None, metrics_stream_id: 'str' =None, mime_type: 'str' =None, name: 'str' =None, project_id: 'str' =None, size_bytes: 'str' =None, step: 'str' =None, storage_path: 'str' =None, updated_at: 'datetime' =None, upload_complete: 'bool' =None): # noqa: E501
82
+ """V1LitLoggerMedia - a model defined in Swagger""" # noqa: E501
83
+ self._caption = None
84
+ self._cluster_id = None
85
+ self._content_hash = None
86
+ self._created_at = None
87
+ self._epoch = None
88
+ self._id = None
89
+ self._media_type = None
90
+ self._metrics_stream_id = None
91
+ self._mime_type = None
92
+ self._name = None
93
+ self._project_id = None
94
+ self._size_bytes = None
95
+ self._step = None
96
+ self._storage_path = None
97
+ self._updated_at = None
98
+ self._upload_complete = None
99
+ self.discriminator = None
100
+ if caption is not None:
101
+ self.caption = caption
102
+ if cluster_id is not None:
103
+ self.cluster_id = cluster_id
104
+ if content_hash is not None:
105
+ self.content_hash = content_hash
106
+ if created_at is not None:
107
+ self.created_at = created_at
108
+ if epoch is not None:
109
+ self.epoch = epoch
110
+ if id is not None:
111
+ self.id = id
112
+ if media_type is not None:
113
+ self.media_type = media_type
114
+ if metrics_stream_id is not None:
115
+ self.metrics_stream_id = metrics_stream_id
116
+ if mime_type is not None:
117
+ self.mime_type = mime_type
118
+ if name is not None:
119
+ self.name = name
120
+ if project_id is not None:
121
+ self.project_id = project_id
122
+ if size_bytes is not None:
123
+ self.size_bytes = size_bytes
124
+ if step is not None:
125
+ self.step = step
126
+ if storage_path is not None:
127
+ self.storage_path = storage_path
128
+ if updated_at is not None:
129
+ self.updated_at = updated_at
130
+ if upload_complete is not None:
131
+ self.upload_complete = upload_complete
132
+
133
+ @property
134
+ def caption(self) -> 'str':
135
+ """Gets the caption of this V1LitLoggerMedia. # noqa: E501
136
+
137
+
138
+ :return: The caption of this V1LitLoggerMedia. # noqa: E501
139
+ :rtype: str
140
+ """
141
+ return self._caption
142
+
143
+ @caption.setter
144
+ def caption(self, caption: 'str'):
145
+ """Sets the caption of this V1LitLoggerMedia.
146
+
147
+
148
+ :param caption: The caption of this V1LitLoggerMedia. # noqa: E501
149
+ :type: str
150
+ """
151
+
152
+ self._caption = caption
153
+
154
+ @property
155
+ def cluster_id(self) -> 'str':
156
+ """Gets the cluster_id of this V1LitLoggerMedia. # noqa: E501
157
+
158
+
159
+ :return: The cluster_id of this V1LitLoggerMedia. # noqa: E501
160
+ :rtype: str
161
+ """
162
+ return self._cluster_id
163
+
164
+ @cluster_id.setter
165
+ def cluster_id(self, cluster_id: 'str'):
166
+ """Sets the cluster_id of this V1LitLoggerMedia.
167
+
168
+
169
+ :param cluster_id: The cluster_id of this V1LitLoggerMedia. # noqa: E501
170
+ :type: str
171
+ """
172
+
173
+ self._cluster_id = cluster_id
174
+
175
+ @property
176
+ def content_hash(self) -> 'str':
177
+ """Gets the content_hash of this V1LitLoggerMedia. # noqa: E501
178
+
179
+
180
+ :return: The content_hash of this V1LitLoggerMedia. # noqa: E501
181
+ :rtype: str
182
+ """
183
+ return self._content_hash
184
+
185
+ @content_hash.setter
186
+ def content_hash(self, content_hash: 'str'):
187
+ """Sets the content_hash of this V1LitLoggerMedia.
188
+
189
+
190
+ :param content_hash: The content_hash of this V1LitLoggerMedia. # noqa: E501
191
+ :type: str
192
+ """
193
+
194
+ self._content_hash = content_hash
195
+
196
+ @property
197
+ def created_at(self) -> 'datetime':
198
+ """Gets the created_at of this V1LitLoggerMedia. # noqa: E501
199
+
200
+
201
+ :return: The created_at of this V1LitLoggerMedia. # noqa: E501
202
+ :rtype: datetime
203
+ """
204
+ return self._created_at
205
+
206
+ @created_at.setter
207
+ def created_at(self, created_at: 'datetime'):
208
+ """Sets the created_at of this V1LitLoggerMedia.
209
+
210
+
211
+ :param created_at: The created_at of this V1LitLoggerMedia. # noqa: E501
212
+ :type: datetime
213
+ """
214
+
215
+ self._created_at = created_at
216
+
217
+ @property
218
+ def epoch(self) -> 'str':
219
+ """Gets the epoch of this V1LitLoggerMedia. # noqa: E501
220
+
221
+
222
+ :return: The epoch of this V1LitLoggerMedia. # noqa: E501
223
+ :rtype: str
224
+ """
225
+ return self._epoch
226
+
227
+ @epoch.setter
228
+ def epoch(self, epoch: 'str'):
229
+ """Sets the epoch of this V1LitLoggerMedia.
230
+
231
+
232
+ :param epoch: The epoch of this V1LitLoggerMedia. # noqa: E501
233
+ :type: str
234
+ """
235
+
236
+ self._epoch = epoch
237
+
238
+ @property
239
+ def id(self) -> 'str':
240
+ """Gets the id of this V1LitLoggerMedia. # noqa: E501
241
+
242
+
243
+ :return: The id of this V1LitLoggerMedia. # noqa: E501
244
+ :rtype: str
245
+ """
246
+ return self._id
247
+
248
+ @id.setter
249
+ def id(self, id: 'str'):
250
+ """Sets the id of this V1LitLoggerMedia.
251
+
252
+
253
+ :param id: The id of this V1LitLoggerMedia. # noqa: E501
254
+ :type: str
255
+ """
256
+
257
+ self._id = id
258
+
259
+ @property
260
+ def media_type(self) -> 'V1MediaType':
261
+ """Gets the media_type of this V1LitLoggerMedia. # noqa: E501
262
+
263
+
264
+ :return: The media_type of this V1LitLoggerMedia. # noqa: E501
265
+ :rtype: V1MediaType
266
+ """
267
+ return self._media_type
268
+
269
+ @media_type.setter
270
+ def media_type(self, media_type: 'V1MediaType'):
271
+ """Sets the media_type of this V1LitLoggerMedia.
272
+
273
+
274
+ :param media_type: The media_type of this V1LitLoggerMedia. # noqa: E501
275
+ :type: V1MediaType
276
+ """
277
+
278
+ self._media_type = media_type
279
+
280
+ @property
281
+ def metrics_stream_id(self) -> 'str':
282
+ """Gets the metrics_stream_id of this V1LitLoggerMedia. # noqa: E501
283
+
284
+
285
+ :return: The metrics_stream_id of this V1LitLoggerMedia. # noqa: E501
286
+ :rtype: str
287
+ """
288
+ return self._metrics_stream_id
289
+
290
+ @metrics_stream_id.setter
291
+ def metrics_stream_id(self, metrics_stream_id: 'str'):
292
+ """Sets the metrics_stream_id of this V1LitLoggerMedia.
293
+
294
+
295
+ :param metrics_stream_id: The metrics_stream_id of this V1LitLoggerMedia. # noqa: E501
296
+ :type: str
297
+ """
298
+
299
+ self._metrics_stream_id = metrics_stream_id
300
+
301
+ @property
302
+ def mime_type(self) -> 'str':
303
+ """Gets the mime_type of this V1LitLoggerMedia. # noqa: E501
304
+
305
+
306
+ :return: The mime_type of this V1LitLoggerMedia. # noqa: E501
307
+ :rtype: str
308
+ """
309
+ return self._mime_type
310
+
311
+ @mime_type.setter
312
+ def mime_type(self, mime_type: 'str'):
313
+ """Sets the mime_type of this V1LitLoggerMedia.
314
+
315
+
316
+ :param mime_type: The mime_type of this V1LitLoggerMedia. # noqa: E501
317
+ :type: str
318
+ """
319
+
320
+ self._mime_type = mime_type
321
+
322
+ @property
323
+ def name(self) -> 'str':
324
+ """Gets the name of this V1LitLoggerMedia. # noqa: E501
325
+
326
+
327
+ :return: The name of this V1LitLoggerMedia. # noqa: E501
328
+ :rtype: str
329
+ """
330
+ return self._name
331
+
332
+ @name.setter
333
+ def name(self, name: 'str'):
334
+ """Sets the name of this V1LitLoggerMedia.
335
+
336
+
337
+ :param name: The name of this V1LitLoggerMedia. # noqa: E501
338
+ :type: str
339
+ """
340
+
341
+ self._name = name
342
+
343
+ @property
344
+ def project_id(self) -> 'str':
345
+ """Gets the project_id of this V1LitLoggerMedia. # noqa: E501
346
+
347
+
348
+ :return: The project_id of this V1LitLoggerMedia. # noqa: E501
349
+ :rtype: str
350
+ """
351
+ return self._project_id
352
+
353
+ @project_id.setter
354
+ def project_id(self, project_id: 'str'):
355
+ """Sets the project_id of this V1LitLoggerMedia.
356
+
357
+
358
+ :param project_id: The project_id of this V1LitLoggerMedia. # noqa: E501
359
+ :type: str
360
+ """
361
+
362
+ self._project_id = project_id
363
+
364
+ @property
365
+ def size_bytes(self) -> 'str':
366
+ """Gets the size_bytes of this V1LitLoggerMedia. # noqa: E501
367
+
368
+
369
+ :return: The size_bytes of this V1LitLoggerMedia. # noqa: E501
370
+ :rtype: str
371
+ """
372
+ return self._size_bytes
373
+
374
+ @size_bytes.setter
375
+ def size_bytes(self, size_bytes: 'str'):
376
+ """Sets the size_bytes of this V1LitLoggerMedia.
377
+
378
+
379
+ :param size_bytes: The size_bytes of this V1LitLoggerMedia. # noqa: E501
380
+ :type: str
381
+ """
382
+
383
+ self._size_bytes = size_bytes
384
+
385
+ @property
386
+ def step(self) -> 'str':
387
+ """Gets the step of this V1LitLoggerMedia. # noqa: E501
388
+
389
+
390
+ :return: The step of this V1LitLoggerMedia. # noqa: E501
391
+ :rtype: str
392
+ """
393
+ return self._step
394
+
395
+ @step.setter
396
+ def step(self, step: 'str'):
397
+ """Sets the step of this V1LitLoggerMedia.
398
+
399
+
400
+ :param step: The step of this V1LitLoggerMedia. # noqa: E501
401
+ :type: str
402
+ """
403
+
404
+ self._step = step
405
+
406
+ @property
407
+ def storage_path(self) -> 'str':
408
+ """Gets the storage_path of this V1LitLoggerMedia. # noqa: E501
409
+
410
+
411
+ :return: The storage_path of this V1LitLoggerMedia. # noqa: E501
412
+ :rtype: str
413
+ """
414
+ return self._storage_path
415
+
416
+ @storage_path.setter
417
+ def storage_path(self, storage_path: 'str'):
418
+ """Sets the storage_path of this V1LitLoggerMedia.
419
+
420
+
421
+ :param storage_path: The storage_path of this V1LitLoggerMedia. # noqa: E501
422
+ :type: str
423
+ """
424
+
425
+ self._storage_path = storage_path
426
+
427
+ @property
428
+ def updated_at(self) -> 'datetime':
429
+ """Gets the updated_at of this V1LitLoggerMedia. # noqa: E501
430
+
431
+
432
+ :return: The updated_at of this V1LitLoggerMedia. # noqa: E501
433
+ :rtype: datetime
434
+ """
435
+ return self._updated_at
436
+
437
+ @updated_at.setter
438
+ def updated_at(self, updated_at: 'datetime'):
439
+ """Sets the updated_at of this V1LitLoggerMedia.
440
+
441
+
442
+ :param updated_at: The updated_at of this V1LitLoggerMedia. # noqa: E501
443
+ :type: datetime
444
+ """
445
+
446
+ self._updated_at = updated_at
447
+
448
+ @property
449
+ def upload_complete(self) -> 'bool':
450
+ """Gets the upload_complete of this V1LitLoggerMedia. # noqa: E501
451
+
452
+
453
+ :return: The upload_complete of this V1LitLoggerMedia. # noqa: E501
454
+ :rtype: bool
455
+ """
456
+ return self._upload_complete
457
+
458
+ @upload_complete.setter
459
+ def upload_complete(self, upload_complete: 'bool'):
460
+ """Sets the upload_complete of this V1LitLoggerMedia.
461
+
462
+
463
+ :param upload_complete: The upload_complete of this V1LitLoggerMedia. # noqa: E501
464
+ :type: bool
465
+ """
466
+
467
+ self._upload_complete = upload_complete
468
+
469
+ def to_dict(self) -> dict:
470
+ """Returns the model properties as a dict"""
471
+ result = {}
472
+
473
+ for attr, _ in six.iteritems(self.swagger_types):
474
+ value = getattr(self, attr)
475
+ if isinstance(value, list):
476
+ result[attr] = list(map(
477
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
478
+ value
479
+ ))
480
+ elif hasattr(value, "to_dict"):
481
+ result[attr] = value.to_dict()
482
+ elif isinstance(value, dict):
483
+ result[attr] = dict(map(
484
+ lambda item: (item[0], item[1].to_dict())
485
+ if hasattr(item[1], "to_dict") else item,
486
+ value.items()
487
+ ))
488
+ else:
489
+ result[attr] = value
490
+ if issubclass(V1LitLoggerMedia, dict):
491
+ for key, value in self.items():
492
+ result[key] = value
493
+
494
+ return result
495
+
496
+ def to_str(self) -> str:
497
+ """Returns the string representation of the model"""
498
+ return pprint.pformat(self.to_dict())
499
+
500
+ def __repr__(self) -> str:
501
+ """For `print` and `pprint`"""
502
+ return self.to_str()
503
+
504
+ def __eq__(self, other: 'V1LitLoggerMedia') -> bool:
505
+ """Returns true if both objects are equal"""
506
+ if not isinstance(other, V1LitLoggerMedia):
507
+ return False
508
+
509
+ return self.__dict__ == other.__dict__
510
+
511
+ def __ne__(self, other: 'V1LitLoggerMedia') -> bool:
512
+ """Returns true if both objects are not equal"""
513
+ return not self == other