lightning-sdk 0.1.46__py3-none-any.whl → 0.1.48__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 (52) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/job_api.py +37 -6
  3. lightning_sdk/api/lit_container_api.py +19 -0
  4. lightning_sdk/api/mmt_api.py +18 -1
  5. lightning_sdk/api/teamspace_api.py +19 -1
  6. lightning_sdk/api/utils.py +1 -1
  7. lightning_sdk/cli/delete.py +58 -0
  8. lightning_sdk/cli/entrypoint.py +8 -0
  9. lightning_sdk/cli/inspect.py +31 -0
  10. lightning_sdk/cli/job_and_mmt_action.py +37 -0
  11. lightning_sdk/cli/jobs_menu.py +57 -0
  12. lightning_sdk/cli/list.py +54 -0
  13. lightning_sdk/cli/mmts_menu.py +57 -0
  14. lightning_sdk/cli/run.py +12 -0
  15. lightning_sdk/cli/stop.py +37 -0
  16. lightning_sdk/cli/teamspace_menu.py +94 -0
  17. lightning_sdk/job/base.py +70 -2
  18. lightning_sdk/job/job.py +59 -9
  19. lightning_sdk/job/v1.py +28 -0
  20. lightning_sdk/job/v2.py +40 -4
  21. lightning_sdk/job/work.py +10 -1
  22. lightning_sdk/lightning_cloud/openapi/__init__.py +3 -0
  23. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +202 -0
  24. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +250 -8
  25. lightning_sdk/lightning_cloud/openapi/models/__init__.py +3 -0
  26. lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_repository_response.py +97 -0
  28. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_api.py +27 -1
  29. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_state.py +1 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +29 -27
  31. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
  32. lightning_sdk/lightning_cloud/openapi/models/v1_model.py +27 -1
  33. lightning_sdk/lightning_cloud/openapi/models/v1_resource_visibility.py +29 -3
  34. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -53
  35. lightning_sdk/lightning_cloud/openapi/models/v1_vultr_direct_v1.py +55 -3
  36. lightning_sdk/lightning_cloud/openapi/models/version_default_body.py +149 -0
  37. lightning_sdk/lightning_cloud/openapi/models/versions_version_body.py +123 -0
  38. lightning_sdk/lightning_cloud/utils/data_connection.py +1 -1
  39. lightning_sdk/lit_container.py +57 -0
  40. lightning_sdk/machine.py +4 -0
  41. lightning_sdk/mmt/base.py +39 -1
  42. lightning_sdk/mmt/mmt.py +59 -14
  43. lightning_sdk/mmt/v1.py +30 -2
  44. lightning_sdk/mmt/v2.py +31 -2
  45. lightning_sdk/status.py +11 -7
  46. lightning_sdk/teamspace.py +51 -1
  47. {lightning_sdk-0.1.46.dist-info → lightning_sdk-0.1.48.dist-info}/METADATA +1 -1
  48. {lightning_sdk-0.1.46.dist-info → lightning_sdk-0.1.48.dist-info}/RECORD +52 -39
  49. {lightning_sdk-0.1.46.dist-info → lightning_sdk-0.1.48.dist-info}/LICENSE +0 -0
  50. {lightning_sdk-0.1.46.dist-info → lightning_sdk-0.1.48.dist-info}/WHEEL +0 -0
  51. {lightning_sdk-0.1.46.dist-info → lightning_sdk-0.1.48.dist-info}/entry_points.txt +0 -0
  52. {lightning_sdk-0.1.46.dist-info → lightning_sdk-0.1.48.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,97 @@
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 V1DeleteLitRepositoryResponse(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
+ }
45
+
46
+ attribute_map = {
47
+ }
48
+
49
+ def __init__(self): # noqa: E501
50
+ """V1DeleteLitRepositoryResponse - a model defined in Swagger""" # noqa: E501
51
+ self.discriminator = None
52
+
53
+ def to_dict(self) -> dict:
54
+ """Returns the model properties as a dict"""
55
+ result = {}
56
+
57
+ for attr, _ in six.iteritems(self.swagger_types):
58
+ value = getattr(self, attr)
59
+ if isinstance(value, list):
60
+ result[attr] = list(map(
61
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
62
+ value
63
+ ))
64
+ elif hasattr(value, "to_dict"):
65
+ result[attr] = value.to_dict()
66
+ elif isinstance(value, dict):
67
+ result[attr] = dict(map(
68
+ lambda item: (item[0], item[1].to_dict())
69
+ if hasattr(item[1], "to_dict") else item,
70
+ value.items()
71
+ ))
72
+ else:
73
+ result[attr] = value
74
+ if issubclass(V1DeleteLitRepositoryResponse, dict):
75
+ for key, value in self.items():
76
+ result[key] = value
77
+
78
+ return result
79
+
80
+ def to_str(self) -> str:
81
+ """Returns the string representation of the model"""
82
+ return pprint.pformat(self.to_dict())
83
+
84
+ def __repr__(self) -> str:
85
+ """For `print` and `pprint`"""
86
+ return self.to_str()
87
+
88
+ def __eq__(self, other: 'V1DeleteLitRepositoryResponse') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1DeleteLitRepositoryResponse):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1DeleteLitRepositoryResponse') -> bool:
96
+ """Returns true if both objects are not equal"""
97
+ return not self == other
@@ -44,6 +44,7 @@ class V1DeploymentAPI(object):
44
44
  'body': 'V1Body',
45
45
  'headers': 'list[V1Header]',
46
46
  'method': 'str',
47
+ 'name': 'str',
47
48
  'path': 'str',
48
49
  '_query_params': 'list[V1QueryParam]'
49
50
  }
@@ -52,15 +53,17 @@ class V1DeploymentAPI(object):
52
53
  'body': 'body',
53
54
  'headers': 'headers',
54
55
  'method': 'method',
56
+ 'name': 'name',
55
57
  'path': 'path',
56
58
  '_query_params': 'queryParams'
57
59
  }
58
60
 
59
- def __init__(self, body: 'V1Body' =None, headers: 'list[V1Header]' =None, method: 'str' =None, path: 'str' =None, _query_params: 'list[V1QueryParam]' =None): # noqa: E501
61
+ def __init__(self, body: 'V1Body' =None, headers: 'list[V1Header]' =None, method: 'str' =None, name: 'str' =None, path: 'str' =None, _query_params: 'list[V1QueryParam]' =None): # noqa: E501
60
62
  """V1DeploymentAPI - a model defined in Swagger""" # noqa: E501
61
63
  self._body = None
62
64
  self._headers = None
63
65
  self._method = None
66
+ self._name = None
64
67
  self._path = None
65
68
  self.__query_params = None
66
69
  self.discriminator = None
@@ -70,6 +73,8 @@ class V1DeploymentAPI(object):
70
73
  self.headers = headers
71
74
  if method is not None:
72
75
  self.method = method
76
+ if name is not None:
77
+ self.name = name
73
78
  if path is not None:
74
79
  self.path = path
75
80
  if _query_params is not None:
@@ -138,6 +143,27 @@ class V1DeploymentAPI(object):
138
143
 
139
144
  self._method = method
140
145
 
146
+ @property
147
+ def name(self) -> 'str':
148
+ """Gets the name of this V1DeploymentAPI. # noqa: E501
149
+
150
+
151
+ :return: The name of this V1DeploymentAPI. # noqa: E501
152
+ :rtype: str
153
+ """
154
+ return self._name
155
+
156
+ @name.setter
157
+ def name(self, name: 'str'):
158
+ """Sets the name of this V1DeploymentAPI.
159
+
160
+
161
+ :param name: The name of this V1DeploymentAPI. # noqa: E501
162
+ :type: str
163
+ """
164
+
165
+ self._name = name
166
+
141
167
  @property
142
168
  def path(self) -> 'str':
143
169
  """Gets the path of this V1DeploymentAPI. # noqa: E501
@@ -41,6 +41,7 @@ class V1DeploymentState(object):
41
41
  RUNNING = "DEPLOYMENT_STATE_RUNNING"
42
42
  DELETED = "DEPLOYMENT_STATE_DELETED"
43
43
  FAILED = "DEPLOYMENT_STATE_FAILED"
44
+ SUSPENDED = "DEPLOYMENT_STATE_SUSPENDED"
44
45
  """
45
46
  Attributes:
46
47
  swagger_types (dict): The key is attribute name
@@ -42,12 +42,12 @@ class V1GoogleCloudDirectV1(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'bucket_name': 'str',
45
- 'compute_list_bucket_project_role': 'str',
46
45
  'compute_project_role': 'str',
47
46
  'credentials_secret_id': 'str',
48
47
  'credentials_service_account_email': 'str',
49
48
  'primary_region': 'str',
50
49
  'project_id': 'str',
50
+ 'project_sa_enabled': 'bool',
51
51
  'regions': 'list[str]',
52
52
  'service_account_email': 'str',
53
53
  'source_cidr_ips': 'list[str]'
@@ -55,34 +55,32 @@ class V1GoogleCloudDirectV1(object):
55
55
 
56
56
  attribute_map = {
57
57
  'bucket_name': 'bucketName',
58
- 'compute_list_bucket_project_role': 'computeListBucketProjectRole',
59
58
  'compute_project_role': 'computeProjectRole',
60
59
  'credentials_secret_id': 'credentialsSecretId',
61
60
  'credentials_service_account_email': 'credentialsServiceAccountEmail',
62
61
  'primary_region': 'primaryRegion',
63
62
  'project_id': 'projectId',
63
+ 'project_sa_enabled': 'projectSaEnabled',
64
64
  'regions': 'regions',
65
65
  'service_account_email': 'serviceAccountEmail',
66
66
  'source_cidr_ips': 'sourceCidrIps'
67
67
  }
68
68
 
69
- def __init__(self, bucket_name: 'str' =None, compute_list_bucket_project_role: 'str' =None, compute_project_role: 'str' =None, credentials_secret_id: 'str' =None, credentials_service_account_email: 'str' =None, primary_region: 'str' =None, project_id: 'str' =None, regions: 'list[str]' =None, service_account_email: 'str' =None, source_cidr_ips: 'list[str]' =None): # noqa: E501
69
+ def __init__(self, bucket_name: 'str' =None, compute_project_role: 'str' =None, credentials_secret_id: 'str' =None, credentials_service_account_email: 'str' =None, primary_region: 'str' =None, project_id: 'str' =None, project_sa_enabled: 'bool' =None, regions: 'list[str]' =None, service_account_email: 'str' =None, source_cidr_ips: 'list[str]' =None): # noqa: E501
70
70
  """V1GoogleCloudDirectV1 - a model defined in Swagger""" # noqa: E501
71
71
  self._bucket_name = None
72
- self._compute_list_bucket_project_role = None
73
72
  self._compute_project_role = None
74
73
  self._credentials_secret_id = None
75
74
  self._credentials_service_account_email = None
76
75
  self._primary_region = None
77
76
  self._project_id = None
77
+ self._project_sa_enabled = None
78
78
  self._regions = None
79
79
  self._service_account_email = None
80
80
  self._source_cidr_ips = None
81
81
  self.discriminator = None
82
82
  if bucket_name is not None:
83
83
  self.bucket_name = bucket_name
84
- if compute_list_bucket_project_role is not None:
85
- self.compute_list_bucket_project_role = compute_list_bucket_project_role
86
84
  if compute_project_role is not None:
87
85
  self.compute_project_role = compute_project_role
88
86
  if credentials_secret_id is not None:
@@ -93,6 +91,8 @@ class V1GoogleCloudDirectV1(object):
93
91
  self.primary_region = primary_region
94
92
  if project_id is not None:
95
93
  self.project_id = project_id
94
+ if project_sa_enabled is not None:
95
+ self.project_sa_enabled = project_sa_enabled
96
96
  if regions is not None:
97
97
  self.regions = regions
98
98
  if service_account_email is not None:
@@ -121,27 +121,6 @@ class V1GoogleCloudDirectV1(object):
121
121
 
122
122
  self._bucket_name = bucket_name
123
123
 
124
- @property
125
- def compute_list_bucket_project_role(self) -> 'str':
126
- """Gets the compute_list_bucket_project_role of this V1GoogleCloudDirectV1. # noqa: E501
127
-
128
-
129
- :return: The compute_list_bucket_project_role of this V1GoogleCloudDirectV1. # noqa: E501
130
- :rtype: str
131
- """
132
- return self._compute_list_bucket_project_role
133
-
134
- @compute_list_bucket_project_role.setter
135
- def compute_list_bucket_project_role(self, compute_list_bucket_project_role: 'str'):
136
- """Sets the compute_list_bucket_project_role of this V1GoogleCloudDirectV1.
137
-
138
-
139
- :param compute_list_bucket_project_role: The compute_list_bucket_project_role of this V1GoogleCloudDirectV1. # noqa: E501
140
- :type: str
141
- """
142
-
143
- self._compute_list_bucket_project_role = compute_list_bucket_project_role
144
-
145
124
  @property
146
125
  def compute_project_role(self) -> 'str':
147
126
  """Gets the compute_project_role of this V1GoogleCloudDirectV1. # noqa: E501
@@ -249,6 +228,29 @@ class V1GoogleCloudDirectV1(object):
249
228
 
250
229
  self._project_id = project_id
251
230
 
231
+ @property
232
+ def project_sa_enabled(self) -> 'bool':
233
+ """Gets the project_sa_enabled of this V1GoogleCloudDirectV1. # noqa: E501
234
+
235
+ If enabled, we will set up and use (for compute machines) service accounts with fine-graned permissions, to allow access objects under the teamspace prefix only. This flag assumed to be removed once this is dogfooded well ehough. # noqa: E501
236
+
237
+ :return: The project_sa_enabled of this V1GoogleCloudDirectV1. # noqa: E501
238
+ :rtype: bool
239
+ """
240
+ return self._project_sa_enabled
241
+
242
+ @project_sa_enabled.setter
243
+ def project_sa_enabled(self, project_sa_enabled: 'bool'):
244
+ """Sets the project_sa_enabled of this V1GoogleCloudDirectV1.
245
+
246
+ If enabled, we will set up and use (for compute machines) service accounts with fine-graned permissions, to allow access objects under the teamspace prefix only. This flag assumed to be removed once this is dogfooded well ehough. # noqa: E501
247
+
248
+ :param project_sa_enabled: The project_sa_enabled of this V1GoogleCloudDirectV1. # noqa: E501
249
+ :type: bool
250
+ """
251
+
252
+ self._project_sa_enabled = project_sa_enabled
253
+
252
254
  @property
253
255
  def regions(self) -> 'list[str]':
254
256
  """Gets the regions of this V1GoogleCloudDirectV1. # noqa: E501
@@ -47,6 +47,7 @@ class V1Job(object):
47
47
  'id': 'str',
48
48
  'is_healthy': 'bool',
49
49
  'message': 'str',
50
+ 'multi_machine_job_id': 'str',
50
51
  'name': 'str',
51
52
  'overprovisioned': 'bool',
52
53
  'project_id': 'str',
@@ -73,6 +74,7 @@ class V1Job(object):
73
74
  'id': 'id',
74
75
  'is_healthy': 'isHealthy',
75
76
  'message': 'message',
77
+ 'multi_machine_job_id': 'multiMachineJobId',
76
78
  'name': 'name',
77
79
  'overprovisioned': 'overprovisioned',
78
80
  'project_id': 'projectId',
@@ -92,7 +94,7 @@ class V1Job(object):
92
94
  'user_logs_started_at': 'userLogsStartedAt'
93
95
  }
94
96
 
95
- def __init__(self, created_at: 'datetime' =None, deployment_id: 'str' =None, endpoint: 'V1Endpoint' =None, id: 'str' =None, is_healthy: 'bool' =None, message: 'str' =None, name: 'str' =None, overprovisioned: 'bool' =None, project_id: 'str' =None, ready_at: 'datetime' =None, release_id: 'str' =None, server_error: 'str' =None, spec: 'V1JobSpec' =None, started_at: 'datetime' =None, state: 'str' =None, stopped_at: 'datetime' =None, timings: 'dict(str, V1JobTiming)' =None, total_cost: 'float' =None, total_size_bytes: 'str' =None, updated_at: 'datetime' =None, urls: 'list[str]' =None, user_id: 'str' =None, user_logs_started_at: 'datetime' =None): # noqa: E501
97
+ def __init__(self, created_at: 'datetime' =None, deployment_id: 'str' =None, endpoint: 'V1Endpoint' =None, id: 'str' =None, is_healthy: 'bool' =None, message: 'str' =None, multi_machine_job_id: 'str' =None, name: 'str' =None, overprovisioned: 'bool' =None, project_id: 'str' =None, ready_at: 'datetime' =None, release_id: 'str' =None, server_error: 'str' =None, spec: 'V1JobSpec' =None, started_at: 'datetime' =None, state: 'str' =None, stopped_at: 'datetime' =None, timings: 'dict(str, V1JobTiming)' =None, total_cost: 'float' =None, total_size_bytes: 'str' =None, updated_at: 'datetime' =None, urls: 'list[str]' =None, user_id: 'str' =None, user_logs_started_at: 'datetime' =None): # noqa: E501
96
98
  """V1Job - a model defined in Swagger""" # noqa: E501
97
99
  self._created_at = None
98
100
  self._deployment_id = None
@@ -100,6 +102,7 @@ class V1Job(object):
100
102
  self._id = None
101
103
  self._is_healthy = None
102
104
  self._message = None
105
+ self._multi_machine_job_id = None
103
106
  self._name = None
104
107
  self._overprovisioned = None
105
108
  self._project_id = None
@@ -130,6 +133,8 @@ class V1Job(object):
130
133
  self.is_healthy = is_healthy
131
134
  if message is not None:
132
135
  self.message = message
136
+ if multi_machine_job_id is not None:
137
+ self.multi_machine_job_id = multi_machine_job_id
133
138
  if name is not None:
134
139
  self.name = name
135
140
  if overprovisioned is not None:
@@ -291,6 +296,27 @@ class V1Job(object):
291
296
 
292
297
  self._message = message
293
298
 
299
+ @property
300
+ def multi_machine_job_id(self) -> 'str':
301
+ """Gets the multi_machine_job_id of this V1Job. # noqa: E501
302
+
303
+
304
+ :return: The multi_machine_job_id of this V1Job. # noqa: E501
305
+ :rtype: str
306
+ """
307
+ return self._multi_machine_job_id
308
+
309
+ @multi_machine_job_id.setter
310
+ def multi_machine_job_id(self, multi_machine_job_id: 'str'):
311
+ """Sets the multi_machine_job_id of this V1Job.
312
+
313
+
314
+ :param multi_machine_job_id: The multi_machine_job_id of this V1Job. # noqa: E501
315
+ :type: str
316
+ """
317
+
318
+ self._multi_machine_job_id = multi_machine_job_id
319
+
294
320
  @property
295
321
  def name(self) -> 'str':
296
322
  """Gets the name of this V1Job. # noqa: E501
@@ -43,6 +43,7 @@ class V1Model(object):
43
43
  swagger_types = {
44
44
  'categories': 'list[str]',
45
45
  'created_at': 'datetime',
46
+ 'default_version': 'V1ModelVersionArchive',
46
47
  'description': 'str',
47
48
  'downloads': 'str',
48
49
  'id': 'str',
@@ -61,6 +62,7 @@ class V1Model(object):
61
62
  attribute_map = {
62
63
  'categories': 'categories',
63
64
  'created_at': 'createdAt',
65
+ 'default_version': 'defaultVersion',
64
66
  'description': 'description',
65
67
  'downloads': 'downloads',
66
68
  'id': 'id',
@@ -76,10 +78,11 @@ class V1Model(object):
76
78
  'visibility': 'visibility'
77
79
  }
78
80
 
79
- def __init__(self, categories: 'list[str]' =None, created_at: 'datetime' =None, description: 'str' =None, downloads: 'str' =None, id: 'str' =None, latest_version: 'V1ModelVersionArchive' =None, license: 'str' =None, model_metadata: 'dict(str, str)' =None, name: 'str' =None, private: 'bool' =None, project_id: 'str' =None, tags: 'list[str]' =None, updated_at: 'datetime' =None, user_id: 'str' =None, visibility: 'V1ResourceVisibility' =None): # noqa: E501
81
+ def __init__(self, categories: 'list[str]' =None, created_at: 'datetime' =None, default_version: 'V1ModelVersionArchive' =None, description: 'str' =None, downloads: 'str' =None, id: 'str' =None, latest_version: 'V1ModelVersionArchive' =None, license: 'str' =None, model_metadata: 'dict(str, str)' =None, name: 'str' =None, private: 'bool' =None, project_id: 'str' =None, tags: 'list[str]' =None, updated_at: 'datetime' =None, user_id: 'str' =None, visibility: 'V1ResourceVisibility' =None): # noqa: E501
80
82
  """V1Model - a model defined in Swagger""" # noqa: E501
81
83
  self._categories = None
82
84
  self._created_at = None
85
+ self._default_version = None
83
86
  self._description = None
84
87
  self._downloads = None
85
88
  self._id = None
@@ -98,6 +101,8 @@ class V1Model(object):
98
101
  self.categories = categories
99
102
  if created_at is not None:
100
103
  self.created_at = created_at
104
+ if default_version is not None:
105
+ self.default_version = default_version
101
106
  if description is not None:
102
107
  self.description = description
103
108
  if downloads is not None:
@@ -167,6 +172,27 @@ class V1Model(object):
167
172
 
168
173
  self._created_at = created_at
169
174
 
175
+ @property
176
+ def default_version(self) -> 'V1ModelVersionArchive':
177
+ """Gets the default_version of this V1Model. # noqa: E501
178
+
179
+
180
+ :return: The default_version of this V1Model. # noqa: E501
181
+ :rtype: V1ModelVersionArchive
182
+ """
183
+ return self._default_version
184
+
185
+ @default_version.setter
186
+ def default_version(self, default_version: 'V1ModelVersionArchive'):
187
+ """Sets the default_version of this V1Model.
188
+
189
+
190
+ :param default_version: The default_version of this V1Model. # noqa: E501
191
+ :type: V1ModelVersionArchive
192
+ """
193
+
194
+ self._default_version = default_version
195
+
170
196
  @property
171
197
  def description(self) -> 'str':
172
198
  """Gets the description of this V1Model. # noqa: E501
@@ -41,19 +41,24 @@ class V1ResourceVisibility(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'all_users': 'bool'
44
+ 'all_users': 'bool',
45
+ 'user_ids': 'list[str]'
45
46
  }
46
47
 
47
48
  attribute_map = {
48
- 'all_users': 'allUsers'
49
+ 'all_users': 'allUsers',
50
+ 'user_ids': 'userIds'
49
51
  }
50
52
 
51
- def __init__(self, all_users: 'bool' =None): # noqa: E501
53
+ def __init__(self, all_users: 'bool' =None, user_ids: 'list[str]' =None): # noqa: E501
52
54
  """V1ResourceVisibility - a model defined in Swagger""" # noqa: E501
53
55
  self._all_users = None
56
+ self._user_ids = None
54
57
  self.discriminator = None
55
58
  if all_users is not None:
56
59
  self.all_users = all_users
60
+ if user_ids is not None:
61
+ self.user_ids = user_ids
57
62
 
58
63
  @property
59
64
  def all_users(self) -> 'bool':
@@ -76,6 +81,27 @@ class V1ResourceVisibility(object):
76
81
 
77
82
  self._all_users = all_users
78
83
 
84
+ @property
85
+ def user_ids(self) -> 'list[str]':
86
+ """Gets the user_ids of this V1ResourceVisibility. # noqa: E501
87
+
88
+
89
+ :return: The user_ids of this V1ResourceVisibility. # noqa: E501
90
+ :rtype: list[str]
91
+ """
92
+ return self._user_ids
93
+
94
+ @user_ids.setter
95
+ def user_ids(self, user_ids: 'list[str]'):
96
+ """Sets the user_ids of this V1ResourceVisibility.
97
+
98
+
99
+ :param user_ids: The user_ids of this V1ResourceVisibility. # noqa: E501
100
+ :type: list[str]
101
+ """
102
+
103
+ self._user_ids = user_ids
104
+
79
105
  def to_dict(self) -> dict:
80
106
  """Returns the model properties as a dict"""
81
107
  result = {}