lightning-sdk 0.2.21rc1__py3-none-any.whl → 0.2.23__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 (70) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/license_api.py +2 -2
  3. lightning_sdk/api/llm_api.py +69 -27
  4. lightning_sdk/api/pipeline_api.py +49 -9
  5. lightning_sdk/api/studio_api.py +2 -0
  6. lightning_sdk/cli/configure.py +34 -27
  7. lightning_sdk/cli/connect.py +2 -2
  8. lightning_sdk/cli/download.py +38 -2
  9. lightning_sdk/cli/entrypoint.py +15 -13
  10. lightning_sdk/cli/start.py +5 -2
  11. lightning_sdk/lightning_cloud/openapi/__init__.py +9 -0
  12. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +206 -0
  13. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +98 -5
  14. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +113 -0
  15. lightning_sdk/lightning_cloud/openapi/api/pipelines_service_api.py +118 -1
  16. lightning_sdk/lightning_cloud/openapi/api/schedules_service_api.py +5 -1
  17. lightning_sdk/lightning_cloud/openapi/models/__init__.py +9 -0
  18. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +29 -3
  19. lightning_sdk/lightning_cloud/openapi/models/cloudspace_id_visibility_body.py +123 -0
  20. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +27 -1
  21. lightning_sdk/lightning_cloud/openapi/models/metricsstream_create_body.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/pipelines_id_body.py +27 -1
  23. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +27 -1
  24. lightning_sdk/lightning_cloud/openapi/models/project_id_pipelines_body.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/project_id_schedules_body.py +27 -1
  26. lightning_sdk/lightning_cloud/openapi/models/schedules_id_body.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/v1_check_cluster_name_availability_request.py +123 -0
  28. lightning_sdk/lightning_cloud/openapi/models/v1_check_cluster_name_availability_response.py +123 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +53 -1
  31. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_session.py +29 -3
  32. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
  33. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_request.py +27 -1
  35. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_registry_repository_image_artifact_version_by_digest_response.py +97 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster.py +253 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +827 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_get_project_storage_metadata_response.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +105 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_breakdown_response.py +53 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_instance_overprovisioning_spec.py +29 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_run.py +53 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_list_clusters_response.py +6 -6
  44. lightning_sdk/lightning_cloud/openapi/models/v1_list_project_clusters_response.py +6 -6
  45. lightning_sdk/lightning_cloud/openapi/models/v1_lite_published_cloud_space_response.py +513 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +27 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_schedule.py +27 -1
  49. lightning_sdk/lightning_cloud/openapi/models/v1_shared_filesystem.py +131 -1
  50. lightning_sdk/lightning_cloud/openapi/models/v1_update_cloud_space_visibility_response.py +97 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +79 -1
  52. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +53 -183
  53. lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +78 -104
  54. lightning_sdk/lightning_cloud/openapi/models/v1_volume_state.py +104 -0
  55. lightning_sdk/llm/llm.py +6 -1
  56. lightning_sdk/pipeline/__init__.py +12 -2
  57. lightning_sdk/pipeline/pipeline.py +59 -17
  58. lightning_sdk/pipeline/printer.py +121 -0
  59. lightning_sdk/pipeline/schedule.py +8 -0
  60. lightning_sdk/pipeline/{types.py → steps.py} +77 -59
  61. lightning_sdk/pipeline/utils.py +39 -17
  62. lightning_sdk/sandbox.py +157 -0
  63. lightning_sdk/services/license.py +12 -6
  64. lightning_sdk/studio.py +7 -1
  65. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/METADATA +1 -1
  66. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/RECORD +70 -58
  67. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/LICENSE +0 -0
  68. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/WHEEL +0 -0
  69. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/entry_points.txt +0 -0
  70. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/top_level.txt +0 -0
@@ -46,6 +46,7 @@ class SchedulesIdBody(object):
46
46
  'display_name': 'str',
47
47
  'name': 'str',
48
48
  'next': 'datetime',
49
+ 'parent_resource_id': 'str',
49
50
  'resource_id': 'str',
50
51
  'resource_type': 'V1ScheduleResourceType',
51
52
  'state': 'str',
@@ -60,6 +61,7 @@ class SchedulesIdBody(object):
60
61
  'display_name': 'displayName',
61
62
  'name': 'name',
62
63
  'next': 'next',
64
+ 'parent_resource_id': 'parentResourceId',
63
65
  'resource_id': 'resourceId',
64
66
  'resource_type': 'resourceType',
65
67
  'state': 'state',
@@ -68,13 +70,14 @@ class SchedulesIdBody(object):
68
70
  'user_id': 'userId'
69
71
  }
70
72
 
71
- def __init__(self, created_at: 'datetime' =None, cron_expression: 'str' =None, display_name: 'str' =None, name: 'str' =None, next: 'datetime' =None, resource_id: 'str' =None, resource_type: 'V1ScheduleResourceType' =None, state: 'str' =None, total: 'int' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
73
+ def __init__(self, created_at: 'datetime' =None, cron_expression: 'str' =None, display_name: 'str' =None, name: 'str' =None, next: 'datetime' =None, parent_resource_id: 'str' =None, resource_id: 'str' =None, resource_type: 'V1ScheduleResourceType' =None, state: 'str' =None, total: 'int' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
72
74
  """SchedulesIdBody - a model defined in Swagger""" # noqa: E501
73
75
  self._created_at = None
74
76
  self._cron_expression = None
75
77
  self._display_name = None
76
78
  self._name = None
77
79
  self._next = None
80
+ self._parent_resource_id = None
78
81
  self._resource_id = None
79
82
  self._resource_type = None
80
83
  self._state = None
@@ -92,6 +95,8 @@ class SchedulesIdBody(object):
92
95
  self.name = name
93
96
  if next is not None:
94
97
  self.next = next
98
+ if parent_resource_id is not None:
99
+ self.parent_resource_id = parent_resource_id
95
100
  if resource_id is not None:
96
101
  self.resource_id = resource_id
97
102
  if resource_type is not None:
@@ -210,6 +215,27 @@ class SchedulesIdBody(object):
210
215
 
211
216
  self._next = next
212
217
 
218
+ @property
219
+ def parent_resource_id(self) -> 'str':
220
+ """Gets the parent_resource_id of this SchedulesIdBody. # noqa: E501
221
+
222
+
223
+ :return: The parent_resource_id of this SchedulesIdBody. # noqa: E501
224
+ :rtype: str
225
+ """
226
+ return self._parent_resource_id
227
+
228
+ @parent_resource_id.setter
229
+ def parent_resource_id(self, parent_resource_id: 'str'):
230
+ """Sets the parent_resource_id of this SchedulesIdBody.
231
+
232
+
233
+ :param parent_resource_id: The parent_resource_id of this SchedulesIdBody. # noqa: E501
234
+ :type: str
235
+ """
236
+
237
+ self._parent_resource_id = parent_resource_id
238
+
213
239
  @property
214
240
  def resource_id(self) -> 'str':
215
241
  """Gets the resource_id of this SchedulesIdBody. # noqa: E501
@@ -0,0 +1,123 @@
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 V1CheckClusterNameAvailabilityRequest(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
+ 'name': 'str'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'name': 'name'
49
+ }
50
+
51
+ def __init__(self, name: 'str' =None): # noqa: E501
52
+ """V1CheckClusterNameAvailabilityRequest - a model defined in Swagger""" # noqa: E501
53
+ self._name = None
54
+ self.discriminator = None
55
+ if name is not None:
56
+ self.name = name
57
+
58
+ @property
59
+ def name(self) -> 'str':
60
+ """Gets the name of this V1CheckClusterNameAvailabilityRequest. # noqa: E501
61
+
62
+
63
+ :return: The name of this V1CheckClusterNameAvailabilityRequest. # noqa: E501
64
+ :rtype: str
65
+ """
66
+ return self._name
67
+
68
+ @name.setter
69
+ def name(self, name: 'str'):
70
+ """Sets the name of this V1CheckClusterNameAvailabilityRequest.
71
+
72
+
73
+ :param name: The name of this V1CheckClusterNameAvailabilityRequest. # noqa: E501
74
+ :type: str
75
+ """
76
+
77
+ self._name = name
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(V1CheckClusterNameAvailabilityRequest, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'V1CheckClusterNameAvailabilityRequest') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1CheckClusterNameAvailabilityRequest):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1CheckClusterNameAvailabilityRequest') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -0,0 +1,123 @@
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 V1CheckClusterNameAvailabilityResponse(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
+ 'available': 'bool'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'available': 'available'
49
+ }
50
+
51
+ def __init__(self, available: 'bool' =None): # noqa: E501
52
+ """V1CheckClusterNameAvailabilityResponse - a model defined in Swagger""" # noqa: E501
53
+ self._available = None
54
+ self.discriminator = None
55
+ if available is not None:
56
+ self.available = available
57
+
58
+ @property
59
+ def available(self) -> 'bool':
60
+ """Gets the available of this V1CheckClusterNameAvailabilityResponse. # noqa: E501
61
+
62
+
63
+ :return: The available of this V1CheckClusterNameAvailabilityResponse. # noqa: E501
64
+ :rtype: bool
65
+ """
66
+ return self._available
67
+
68
+ @available.setter
69
+ def available(self, available: 'bool'):
70
+ """Sets the available of this V1CheckClusterNameAvailabilityResponse.
71
+
72
+
73
+ :param available: The available of this V1CheckClusterNameAvailabilityResponse. # noqa: E501
74
+ :type: bool
75
+ """
76
+
77
+ self._available = available
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(V1CheckClusterNameAvailabilityResponse, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'V1CheckClusterNameAvailabilityResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1CheckClusterNameAvailabilityResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1CheckClusterNameAvailabilityResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -48,6 +48,7 @@ class V1CloudProvider(object):
48
48
  NEBIUS = "NEBIUS"
49
49
  CLOUDFLARE = "CLOUDFLARE"
50
50
  LIGHTNING = "LIGHTNING"
51
+ LIGHTNING_AGGREGATE = "LIGHTNING_AGGREGATE"
51
52
  """
52
53
  Attributes:
53
54
  swagger_types (dict): The key is attribute name
@@ -51,6 +51,7 @@ class V1CloudSpace(object):
51
51
  'created_at': 'datetime',
52
52
  'data_connection_mounts': 'list[V1DataConnectionMount]',
53
53
  'description': 'str',
54
+ 'disable_secrets': 'bool',
54
55
  'display_name': 'str',
55
56
  'engagement_counts': 'dict(str, str)',
56
57
  'env': 'list[V1EnvVar]',
@@ -95,6 +96,7 @@ class V1CloudSpace(object):
95
96
  'updated_at': 'datetime',
96
97
  'user_id': 'str',
97
98
  'user_metadata': 'str',
99
+ 'visibility': 'V1ResourceVisibility',
98
100
  'web_path': 'str'
99
101
  }
100
102
 
@@ -109,6 +111,7 @@ class V1CloudSpace(object):
109
111
  'created_at': 'createdAt',
110
112
  'data_connection_mounts': 'dataConnectionMounts',
111
113
  'description': 'description',
114
+ 'disable_secrets': 'disableSecrets',
112
115
  'display_name': 'displayName',
113
116
  'engagement_counts': 'engagementCounts',
114
117
  'env': 'env',
@@ -153,10 +156,11 @@ class V1CloudSpace(object):
153
156
  'updated_at': 'updatedAt',
154
157
  'user_id': 'userId',
155
158
  'user_metadata': 'userMetadata',
159
+ 'visibility': 'visibility',
156
160
  'web_path': 'webPath'
157
161
  }
158
162
 
159
- def __init__(self, auto_switch_machine: 'bool' =None, cache_data_connection_id: 'str' =None, can_download_source_code: 'bool' =None, cluster_id: 'str' =None, code_config: 'V1CloudSpaceInstanceConfig' =None, code_status: 'V1GetCloudSpaceInstanceStatusResponse' =None, code_url: 'str' =None, created_at: 'datetime' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, description: 'str' =None, display_name: 'str' =None, engagement_counts: 'dict(str, str)' =None, env: 'list[V1EnvVar]' =None, environment_config: 'V1CloudSpaceEnvironmentConfig' =None, environment_template_id: 'str' =None, featured: 'bool' =None, hide_files: 'bool' =None, id: 'str' =None, image_status: 'V1ImageState' =None, is_cloudspace_private: 'bool' =None, is_code_private: 'bool' =None, is_favorite: 'bool' =None, is_published: 'bool' =None, license: 'str' =None, license_url: 'str' =None, lock_out: 'bool' =None, machine_image_version: 'str' =None, max_run_duration: 'str' =None, message: 'str' =None, multi_user_edit: 'bool' =None, name: 'str' =None, number_of_files: 'str' =None, operating_cost: 'str' =None, paper_authors: 'str' =None, paper_org: 'str' =None, paper_org_avatar_url: 'str' =None, paper_url: 'str' =None, persistent_disk_id: 'str' =None, project_id: 'str' =None, publications: 'list[V1CloudSpaceVersionPublication]' =None, published_at: 'datetime' =None, published_to_org_at: 'datetime' =None, state: 'V1CloudSpaceState' =None, switch_to_default_machine_on_idle: 'bool' =None, sync_duration: 'str' =None, sync_percentage: 'str' =None, tags: 'list[V1ResourceTag]' =None, thumbnail_file_type: 'str' =None, thumbnail_updated_at: 'datetime' =None, thumbnail_url: 'str' =None, total_size_bytes: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None, user_metadata: 'str' =None, web_path: 'str' =None): # noqa: E501
163
+ def __init__(self, auto_switch_machine: 'bool' =None, cache_data_connection_id: 'str' =None, can_download_source_code: 'bool' =None, cluster_id: 'str' =None, code_config: 'V1CloudSpaceInstanceConfig' =None, code_status: 'V1GetCloudSpaceInstanceStatusResponse' =None, code_url: 'str' =None, created_at: 'datetime' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, description: 'str' =None, disable_secrets: 'bool' =None, display_name: 'str' =None, engagement_counts: 'dict(str, str)' =None, env: 'list[V1EnvVar]' =None, environment_config: 'V1CloudSpaceEnvironmentConfig' =None, environment_template_id: 'str' =None, featured: 'bool' =None, hide_files: 'bool' =None, id: 'str' =None, image_status: 'V1ImageState' =None, is_cloudspace_private: 'bool' =None, is_code_private: 'bool' =None, is_favorite: 'bool' =None, is_published: 'bool' =None, license: 'str' =None, license_url: 'str' =None, lock_out: 'bool' =None, machine_image_version: 'str' =None, max_run_duration: 'str' =None, message: 'str' =None, multi_user_edit: 'bool' =None, name: 'str' =None, number_of_files: 'str' =None, operating_cost: 'str' =None, paper_authors: 'str' =None, paper_org: 'str' =None, paper_org_avatar_url: 'str' =None, paper_url: 'str' =None, persistent_disk_id: 'str' =None, project_id: 'str' =None, publications: 'list[V1CloudSpaceVersionPublication]' =None, published_at: 'datetime' =None, published_to_org_at: 'datetime' =None, state: 'V1CloudSpaceState' =None, switch_to_default_machine_on_idle: 'bool' =None, sync_duration: 'str' =None, sync_percentage: 'str' =None, tags: 'list[V1ResourceTag]' =None, thumbnail_file_type: 'str' =None, thumbnail_updated_at: 'datetime' =None, thumbnail_url: 'str' =None, total_size_bytes: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None, user_metadata: 'str' =None, visibility: 'V1ResourceVisibility' =None, web_path: 'str' =None): # noqa: E501
160
164
  """V1CloudSpace - a model defined in Swagger""" # noqa: E501
161
165
  self._auto_switch_machine = None
162
166
  self._cache_data_connection_id = None
@@ -168,6 +172,7 @@ class V1CloudSpace(object):
168
172
  self._created_at = None
169
173
  self._data_connection_mounts = None
170
174
  self._description = None
175
+ self._disable_secrets = None
171
176
  self._display_name = None
172
177
  self._engagement_counts = None
173
178
  self._env = None
@@ -212,6 +217,7 @@ class V1CloudSpace(object):
212
217
  self._updated_at = None
213
218
  self._user_id = None
214
219
  self._user_metadata = None
220
+ self._visibility = None
215
221
  self._web_path = None
216
222
  self.discriminator = None
217
223
  if auto_switch_machine is not None:
@@ -234,6 +240,8 @@ class V1CloudSpace(object):
234
240
  self.data_connection_mounts = data_connection_mounts
235
241
  if description is not None:
236
242
  self.description = description
243
+ if disable_secrets is not None:
244
+ self.disable_secrets = disable_secrets
237
245
  if display_name is not None:
238
246
  self.display_name = display_name
239
247
  if engagement_counts is not None:
@@ -322,6 +330,8 @@ class V1CloudSpace(object):
322
330
  self.user_id = user_id
323
331
  if user_metadata is not None:
324
332
  self.user_metadata = user_metadata
333
+ if visibility is not None:
334
+ self.visibility = visibility
325
335
  if web_path is not None:
326
336
  self.web_path = web_path
327
337
 
@@ -535,6 +545,27 @@ class V1CloudSpace(object):
535
545
 
536
546
  self._description = description
537
547
 
548
+ @property
549
+ def disable_secrets(self) -> 'bool':
550
+ """Gets the disable_secrets of this V1CloudSpace. # noqa: E501
551
+
552
+
553
+ :return: The disable_secrets of this V1CloudSpace. # noqa: E501
554
+ :rtype: bool
555
+ """
556
+ return self._disable_secrets
557
+
558
+ @disable_secrets.setter
559
+ def disable_secrets(self, disable_secrets: 'bool'):
560
+ """Sets the disable_secrets of this V1CloudSpace.
561
+
562
+
563
+ :param disable_secrets: The disable_secrets of this V1CloudSpace. # noqa: E501
564
+ :type: bool
565
+ """
566
+
567
+ self._disable_secrets = disable_secrets
568
+
538
569
  @property
539
570
  def display_name(self) -> 'str':
540
571
  """Gets the display_name of this V1CloudSpace. # noqa: E501
@@ -1459,6 +1490,27 @@ class V1CloudSpace(object):
1459
1490
 
1460
1491
  self._user_metadata = user_metadata
1461
1492
 
1493
+ @property
1494
+ def visibility(self) -> 'V1ResourceVisibility':
1495
+ """Gets the visibility of this V1CloudSpace. # noqa: E501
1496
+
1497
+
1498
+ :return: The visibility of this V1CloudSpace. # noqa: E501
1499
+ :rtype: V1ResourceVisibility
1500
+ """
1501
+ return self._visibility
1502
+
1503
+ @visibility.setter
1504
+ def visibility(self, visibility: 'V1ResourceVisibility'):
1505
+ """Sets the visibility of this V1CloudSpace.
1506
+
1507
+
1508
+ :param visibility: The visibility of this V1CloudSpace. # noqa: E501
1509
+ :type: V1ResourceVisibility
1510
+ """
1511
+
1512
+ self._visibility = visibility
1513
+
1462
1514
  @property
1463
1515
  def web_path(self) -> 'str':
1464
1516
  """Gets the web_path of this V1CloudSpace. # noqa: E501
@@ -43,20 +43,23 @@ class V1CloudSpaceSession(object):
43
43
  swagger_types = {
44
44
  'command': 'str',
45
45
  'id': 'str',
46
- 'name': 'str'
46
+ 'name': 'str',
47
+ 'timestamp': 'datetime'
47
48
  }
48
49
 
49
50
  attribute_map = {
50
51
  'command': 'command',
51
52
  'id': 'id',
52
- 'name': 'name'
53
+ 'name': 'name',
54
+ 'timestamp': 'timestamp'
53
55
  }
54
56
 
55
- def __init__(self, command: 'str' =None, id: 'str' =None, name: 'str' =None): # noqa: E501
57
+ def __init__(self, command: 'str' =None, id: 'str' =None, name: 'str' =None, timestamp: 'datetime' =None): # noqa: E501
56
58
  """V1CloudSpaceSession - a model defined in Swagger""" # noqa: E501
57
59
  self._command = None
58
60
  self._id = None
59
61
  self._name = None
62
+ self._timestamp = None
60
63
  self.discriminator = None
61
64
  if command is not None:
62
65
  self.command = command
@@ -64,6 +67,8 @@ class V1CloudSpaceSession(object):
64
67
  self.id = id
65
68
  if name is not None:
66
69
  self.name = name
70
+ if timestamp is not None:
71
+ self.timestamp = timestamp
67
72
 
68
73
  @property
69
74
  def command(self) -> 'str':
@@ -128,6 +133,27 @@ class V1CloudSpaceSession(object):
128
133
 
129
134
  self._name = name
130
135
 
136
+ @property
137
+ def timestamp(self) -> 'datetime':
138
+ """Gets the timestamp of this V1CloudSpaceSession. # noqa: E501
139
+
140
+
141
+ :return: The timestamp of this V1CloudSpaceSession. # noqa: E501
142
+ :rtype: datetime
143
+ """
144
+ return self._timestamp
145
+
146
+ @timestamp.setter
147
+ def timestamp(self, timestamp: 'datetime'):
148
+ """Sets the timestamp of this V1CloudSpaceSession.
149
+
150
+
151
+ :param timestamp: The timestamp of this V1CloudSpaceSession. # noqa: E501
152
+ :type: datetime
153
+ """
154
+
155
+ self._timestamp = timestamp
156
+
131
157
  def to_dict(self) -> dict:
132
158
  """Returns the model properties as a dict"""
133
159
  result = {}
@@ -52,6 +52,7 @@ class V1ClusterSecurityOptions(object):
52
52
  'exposed_ports': 'list[str]',
53
53
  'extra_firewall_cidr_ranges': 'list[str]',
54
54
  'extra_policy': 'str',
55
+ 'extra_sa_scopes': 'list[str]',
55
56
  'kms_key_id': 'str',
56
57
  'protect_instance_metadata': 'bool',
57
58
  'rootless_docker': 'bool',
@@ -71,6 +72,7 @@ class V1ClusterSecurityOptions(object):
71
72
  'exposed_ports': 'exposedPorts',
72
73
  'extra_firewall_cidr_ranges': 'extraFirewallCidrRanges',
73
74
  'extra_policy': 'extraPolicy',
75
+ 'extra_sa_scopes': 'extraSaScopes',
74
76
  'kms_key_id': 'kmsKeyId',
75
77
  'protect_instance_metadata': 'protectInstanceMetadata',
76
78
  'rootless_docker': 'rootlessDocker',
@@ -78,7 +80,7 @@ class V1ClusterSecurityOptions(object):
78
80
  'ssh_disabled': 'sshDisabled'
79
81
  }
80
82
 
81
- def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, disabled_services: 'list[str]' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_policy: 'str' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
83
+ def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, disabled_services: 'list[str]' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_policy: 'str' =None, extra_sa_scopes: 'list[str]' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
82
84
  """V1ClusterSecurityOptions - a model defined in Swagger""" # noqa: E501
83
85
  self._bucket_kms_key = None
84
86
  self._cloud_init_boot_cmds = None
@@ -91,6 +93,7 @@ class V1ClusterSecurityOptions(object):
91
93
  self._exposed_ports = None
92
94
  self._extra_firewall_cidr_ranges = None
93
95
  self._extra_policy = None
96
+ self._extra_sa_scopes = None
94
97
  self._kms_key_id = None
95
98
  self._protect_instance_metadata = None
96
99
  self._rootless_docker = None
@@ -119,6 +122,8 @@ class V1ClusterSecurityOptions(object):
119
122
  self.extra_firewall_cidr_ranges = extra_firewall_cidr_ranges
120
123
  if extra_policy is not None:
121
124
  self.extra_policy = extra_policy
125
+ if extra_sa_scopes is not None:
126
+ self.extra_sa_scopes = extra_sa_scopes
122
127
  if kms_key_id is not None:
123
128
  self.kms_key_id = kms_key_id
124
129
  if protect_instance_metadata is not None:
@@ -361,6 +366,27 @@ class V1ClusterSecurityOptions(object):
361
366
 
362
367
  self._extra_policy = extra_policy
363
368
 
369
+ @property
370
+ def extra_sa_scopes(self) -> 'list[str]':
371
+ """Gets the extra_sa_scopes of this V1ClusterSecurityOptions. # noqa: E501
372
+
373
+
374
+ :return: The extra_sa_scopes of this V1ClusterSecurityOptions. # noqa: E501
375
+ :rtype: list[str]
376
+ """
377
+ return self._extra_sa_scopes
378
+
379
+ @extra_sa_scopes.setter
380
+ def extra_sa_scopes(self, extra_sa_scopes: 'list[str]'):
381
+ """Sets the extra_sa_scopes of this V1ClusterSecurityOptions.
382
+
383
+
384
+ :param extra_sa_scopes: The extra_sa_scopes of this V1ClusterSecurityOptions. # noqa: E501
385
+ :type: list[str]
386
+ """
387
+
388
+ self._extra_sa_scopes = extra_sa_scopes
389
+
364
390
  @property
365
391
  def kms_key_id(self) -> 'str':
366
392
  """Gets the kms_key_id of this V1ClusterSecurityOptions. # noqa: E501