lightning-sdk 0.2.9__py3-none-any.whl → 0.2.10__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 (50) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/deployment_api.py +1 -0
  3. lightning_sdk/api/lit_container_api.py +19 -2
  4. lightning_sdk/api/teamspace_api.py +20 -16
  5. lightning_sdk/api/utils.py +1 -1
  6. lightning_sdk/cli/entrypoint.py +2 -2
  7. lightning_sdk/cli/serve.py +141 -16
  8. lightning_sdk/cli/upload.py +4 -1
  9. lightning_sdk/deployment/deployment.py +5 -2
  10. lightning_sdk/lightning_cloud/openapi/__init__.py +5 -0
  11. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +98 -1
  12. lightning_sdk/lightning_cloud/openapi/models/__init__.py +5 -0
  13. lightning_sdk/lightning_cloud/openapi/models/cluster_id_capacityreservations_body.py +55 -3
  14. lightning_sdk/lightning_cloud/openapi/models/create.py +53 -1
  15. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +55 -3
  16. lightning_sdk/lightning_cloud/openapi/models/update.py +27 -1
  17. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +53 -1
  18. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_cold_start_metrics_stats.py +357 -0
  19. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +29 -3
  20. lightning_sdk/lightning_cloud/openapi/models/v1_cloudflare_v1.py +227 -0
  21. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +55 -3
  23. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +53 -1
  24. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +29 -3
  26. lightning_sdk/lightning_cloud/openapi/models/v1_create_cluster_capacity_reservation_response.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_gcp_direct_vpc.py +149 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_cold_start_metrics_stats_response.py +123 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +53 -1
  31. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +17 -17
  32. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +55 -3
  33. lightning_sdk/lightning_cloud/openapi/models/v1_project_cluster_binding.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_r2_data_connection.py +253 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
  36. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +50 -24
  37. lightning_sdk/lightning_cloud/openapi/models/v1_validate_data_connection_response.py +27 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_weka_data_connection.py +29 -55
  39. lightning_sdk/lightning_cloud/openapi/models/validate.py +27 -1
  40. lightning_sdk/lit_container.py +12 -2
  41. lightning_sdk/models.py +22 -9
  42. lightning_sdk/serve.py +3 -0
  43. lightning_sdk/teamspace.py +2 -0
  44. lightning_sdk/utils/resolve.py +11 -4
  45. {lightning_sdk-0.2.9.dist-info → lightning_sdk-0.2.10.dist-info}/METADATA +1 -1
  46. {lightning_sdk-0.2.9.dist-info → lightning_sdk-0.2.10.dist-info}/RECORD +50 -45
  47. {lightning_sdk-0.2.9.dist-info → lightning_sdk-0.2.10.dist-info}/LICENSE +0 -0
  48. {lightning_sdk-0.2.9.dist-info → lightning_sdk-0.2.10.dist-info}/WHEEL +0 -0
  49. {lightning_sdk-0.2.9.dist-info → lightning_sdk-0.2.10.dist-info}/entry_points.txt +0 -0
  50. {lightning_sdk-0.2.9.dist-info → lightning_sdk-0.2.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,149 @@
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 V1GCPDirectVPC(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
+ 'network_name': 'str',
45
+ 'subnet_name': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'network_name': 'networkName',
50
+ 'subnet_name': 'subnetName'
51
+ }
52
+
53
+ def __init__(self, network_name: 'str' =None, subnet_name: 'str' =None): # noqa: E501
54
+ """V1GCPDirectVPC - a model defined in Swagger""" # noqa: E501
55
+ self._network_name = None
56
+ self._subnet_name = None
57
+ self.discriminator = None
58
+ if network_name is not None:
59
+ self.network_name = network_name
60
+ if subnet_name is not None:
61
+ self.subnet_name = subnet_name
62
+
63
+ @property
64
+ def network_name(self) -> 'str':
65
+ """Gets the network_name of this V1GCPDirectVPC. # noqa: E501
66
+
67
+
68
+ :return: The network_name of this V1GCPDirectVPC. # noqa: E501
69
+ :rtype: str
70
+ """
71
+ return self._network_name
72
+
73
+ @network_name.setter
74
+ def network_name(self, network_name: 'str'):
75
+ """Sets the network_name of this V1GCPDirectVPC.
76
+
77
+
78
+ :param network_name: The network_name of this V1GCPDirectVPC. # noqa: E501
79
+ :type: str
80
+ """
81
+
82
+ self._network_name = network_name
83
+
84
+ @property
85
+ def subnet_name(self) -> 'str':
86
+ """Gets the subnet_name of this V1GCPDirectVPC. # noqa: E501
87
+
88
+
89
+ :return: The subnet_name of this V1GCPDirectVPC. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._subnet_name
93
+
94
+ @subnet_name.setter
95
+ def subnet_name(self, subnet_name: 'str'):
96
+ """Sets the subnet_name of this V1GCPDirectVPC.
97
+
98
+
99
+ :param subnet_name: The subnet_name of this V1GCPDirectVPC. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._subnet_name = subnet_name
104
+
105
+ def to_dict(self) -> dict:
106
+ """Returns the model properties as a dict"""
107
+ result = {}
108
+
109
+ for attr, _ in six.iteritems(self.swagger_types):
110
+ value = getattr(self, attr)
111
+ if isinstance(value, list):
112
+ result[attr] = list(map(
113
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
114
+ value
115
+ ))
116
+ elif hasattr(value, "to_dict"):
117
+ result[attr] = value.to_dict()
118
+ elif isinstance(value, dict):
119
+ result[attr] = dict(map(
120
+ lambda item: (item[0], item[1].to_dict())
121
+ if hasattr(item[1], "to_dict") else item,
122
+ value.items()
123
+ ))
124
+ else:
125
+ result[attr] = value
126
+ if issubclass(V1GCPDirectVPC, dict):
127
+ for key, value in self.items():
128
+ result[key] = value
129
+
130
+ return result
131
+
132
+ def to_str(self) -> str:
133
+ """Returns the string representation of the model"""
134
+ return pprint.pformat(self.to_dict())
135
+
136
+ def __repr__(self) -> str:
137
+ """For `print` and `pprint`"""
138
+ return self.to_str()
139
+
140
+ def __eq__(self, other: 'V1GCPDirectVPC') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1GCPDirectVPC):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1GCPDirectVPC') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ 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 V1GetCloudSpaceColdStartMetricsStatsResponse(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
+ 'metrics': 'list[V1CloudSpaceColdStartMetricsStats]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'metrics': 'metrics'
49
+ }
50
+
51
+ def __init__(self, metrics: 'list[V1CloudSpaceColdStartMetricsStats]' =None): # noqa: E501
52
+ """V1GetCloudSpaceColdStartMetricsStatsResponse - a model defined in Swagger""" # noqa: E501
53
+ self._metrics = None
54
+ self.discriminator = None
55
+ if metrics is not None:
56
+ self.metrics = metrics
57
+
58
+ @property
59
+ def metrics(self) -> 'list[V1CloudSpaceColdStartMetricsStats]':
60
+ """Gets the metrics of this V1GetCloudSpaceColdStartMetricsStatsResponse. # noqa: E501
61
+
62
+
63
+ :return: The metrics of this V1GetCloudSpaceColdStartMetricsStatsResponse. # noqa: E501
64
+ :rtype: list[V1CloudSpaceColdStartMetricsStats]
65
+ """
66
+ return self._metrics
67
+
68
+ @metrics.setter
69
+ def metrics(self, metrics: 'list[V1CloudSpaceColdStartMetricsStats]'):
70
+ """Sets the metrics of this V1GetCloudSpaceColdStartMetricsStatsResponse.
71
+
72
+
73
+ :param metrics: The metrics of this V1GetCloudSpaceColdStartMetricsStatsResponse. # noqa: E501
74
+ :type: list[V1CloudSpaceColdStartMetricsStats]
75
+ """
76
+
77
+ self._metrics = metrics
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(V1GetCloudSpaceColdStartMetricsStatsResponse, 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: 'V1GetCloudSpaceColdStartMetricsStatsResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1GetCloudSpaceColdStartMetricsStatsResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1GetCloudSpaceColdStartMetricsStatsResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -50,8 +50,10 @@ class V1GetUserResponse(object):
50
50
  'features': 'V1UserFeatures',
51
51
  'first_name': 'str',
52
52
  'general_audience_mode': 'bool',
53
+ 'git_credentials_id': 'str',
53
54
  'id': 'str',
54
55
  'internal_docs_admin': 'bool',
56
+ 'invite_code': 'str',
55
57
  'is_internal': 'bool',
56
58
  'last_name': 'str',
57
59
  'non_developer_mode': 'bool',
@@ -87,8 +89,10 @@ class V1GetUserResponse(object):
87
89
  'features': 'features',
88
90
  'first_name': 'firstName',
89
91
  'general_audience_mode': 'generalAudienceMode',
92
+ 'git_credentials_id': 'gitCredentialsId',
90
93
  'id': 'id',
91
94
  'internal_docs_admin': 'internalDocsAdmin',
95
+ 'invite_code': 'inviteCode',
92
96
  'is_internal': 'isInternal',
93
97
  'last_name': 'lastName',
94
98
  'non_developer_mode': 'nonDeveloperMode',
@@ -114,7 +118,7 @@ class V1GetUserResponse(object):
114
118
  'website': 'website'
115
119
  }
116
120
 
117
- def __init__(self, agree_to_terms_and_conditions: 'bool' =None, api_key: 'str' =None, country: 'str' =None, discounted_pro_plan: 'bool' =None, email: 'str' =None, experimentation_id: 'str' =None, features: 'V1UserFeatures' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, id: 'str' =None, internal_docs_admin: 'bool' =None, is_internal: 'bool' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: 'str' =None, organizations: 'list[V1Organization]' =None, phone_number: 'str' =None, picture_url: 'str' =None, preferred_color_scheme: 'str' =None, preferred_ide: 'str' =None, preferred_shell: 'str' =None, preferred_vscode_marketplace: 'str' =None, role: 'str' =None, saw_create_first_project_dialog: 'bool' =None, saw_forums_login_merge_dialog: 'bool' =None, saw_free_credits_notification: 'bool' =None, sb: 'bool' =None, status: 'Externalv1UserStatus' =None, storage_bytes: 'str' =None, user_metadata: 'str' =None, username: 'str' =None, waitlisted: 'bool' =None, website: 'str' =None): # noqa: E501
121
+ def __init__(self, agree_to_terms_and_conditions: 'bool' =None, api_key: 'str' =None, country: 'str' =None, discounted_pro_plan: 'bool' =None, email: 'str' =None, experimentation_id: 'str' =None, features: 'V1UserFeatures' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, git_credentials_id: 'str' =None, id: 'str' =None, internal_docs_admin: 'bool' =None, invite_code: 'str' =None, is_internal: 'bool' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: 'str' =None, organizations: 'list[V1Organization]' =None, phone_number: 'str' =None, picture_url: 'str' =None, preferred_color_scheme: 'str' =None, preferred_ide: 'str' =None, preferred_shell: 'str' =None, preferred_vscode_marketplace: 'str' =None, role: 'str' =None, saw_create_first_project_dialog: 'bool' =None, saw_forums_login_merge_dialog: 'bool' =None, saw_free_credits_notification: 'bool' =None, sb: 'bool' =None, status: 'Externalv1UserStatus' =None, storage_bytes: 'str' =None, user_metadata: 'str' =None, username: 'str' =None, waitlisted: 'bool' =None, website: 'str' =None): # noqa: E501
118
122
  """V1GetUserResponse - a model defined in Swagger""" # noqa: E501
119
123
  self._agree_to_terms_and_conditions = None
120
124
  self._api_key = None
@@ -125,8 +129,10 @@ class V1GetUserResponse(object):
125
129
  self._features = None
126
130
  self._first_name = None
127
131
  self._general_audience_mode = None
132
+ self._git_credentials_id = None
128
133
  self._id = None
129
134
  self._internal_docs_admin = None
135
+ self._invite_code = None
130
136
  self._is_internal = None
131
137
  self._last_name = None
132
138
  self._non_developer_mode = None
@@ -169,10 +175,14 @@ class V1GetUserResponse(object):
169
175
  self.first_name = first_name
170
176
  if general_audience_mode is not None:
171
177
  self.general_audience_mode = general_audience_mode
178
+ if git_credentials_id is not None:
179
+ self.git_credentials_id = git_credentials_id
172
180
  if id is not None:
173
181
  self.id = id
174
182
  if internal_docs_admin is not None:
175
183
  self.internal_docs_admin = internal_docs_admin
184
+ if invite_code is not None:
185
+ self.invite_code = invite_code
176
186
  if is_internal is not None:
177
187
  self.is_internal = is_internal
178
188
  if last_name is not None:
@@ -409,6 +419,27 @@ class V1GetUserResponse(object):
409
419
 
410
420
  self._general_audience_mode = general_audience_mode
411
421
 
422
+ @property
423
+ def git_credentials_id(self) -> 'str':
424
+ """Gets the git_credentials_id of this V1GetUserResponse. # noqa: E501
425
+
426
+
427
+ :return: The git_credentials_id of this V1GetUserResponse. # noqa: E501
428
+ :rtype: str
429
+ """
430
+ return self._git_credentials_id
431
+
432
+ @git_credentials_id.setter
433
+ def git_credentials_id(self, git_credentials_id: 'str'):
434
+ """Sets the git_credentials_id of this V1GetUserResponse.
435
+
436
+
437
+ :param git_credentials_id: The git_credentials_id of this V1GetUserResponse. # noqa: E501
438
+ :type: str
439
+ """
440
+
441
+ self._git_credentials_id = git_credentials_id
442
+
412
443
  @property
413
444
  def id(self) -> 'str':
414
445
  """Gets the id of this V1GetUserResponse. # noqa: E501
@@ -451,6 +482,27 @@ class V1GetUserResponse(object):
451
482
 
452
483
  self._internal_docs_admin = internal_docs_admin
453
484
 
485
+ @property
486
+ def invite_code(self) -> 'str':
487
+ """Gets the invite_code of this V1GetUserResponse. # noqa: E501
488
+
489
+
490
+ :return: The invite_code of this V1GetUserResponse. # noqa: E501
491
+ :rtype: str
492
+ """
493
+ return self._invite_code
494
+
495
+ @invite_code.setter
496
+ def invite_code(self, invite_code: 'str'):
497
+ """Sets the invite_code of this V1GetUserResponse.
498
+
499
+
500
+ :param invite_code: The invite_code of this V1GetUserResponse. # noqa: E501
501
+ :type: str
502
+ """
503
+
504
+ self._invite_code = invite_code
505
+
454
506
  @property
455
507
  def is_internal(self) -> 'bool':
456
508
  """Gets the is_internal of this V1GetUserResponse. # noqa: E501
@@ -54,7 +54,7 @@ class V1GoogleCloudDirectV1(object):
54
54
  'service_account_email': 'str',
55
55
  'source_cidr_ips': 'list[str]',
56
56
  'subnets': 'list[V1SubnetSpec]',
57
- 'vpc_networks': 'list[str]'
57
+ 'vpcs': 'list[V1GCPDirectVPC]'
58
58
  }
59
59
 
60
60
  attribute_map = {
@@ -71,10 +71,10 @@ class V1GoogleCloudDirectV1(object):
71
71
  'service_account_email': 'serviceAccountEmail',
72
72
  'source_cidr_ips': 'sourceCidrIps',
73
73
  'subnets': 'subnets',
74
- 'vpc_networks': 'vpcNetworks'
74
+ 'vpcs': 'vpcs'
75
75
  }
76
76
 
77
- def __init__(self, bucket_name: 'str' =None, compute_project_role: 'str' =None, compute_service_account_email: 'str' =None, credentials_secret_id: 'str' =None, credentials_service_account_email: 'str' =None, custom_subnet_mode: 'bool' =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, subnets: 'list[V1SubnetSpec]' =None, vpc_networks: 'list[str]' =None): # noqa: E501
77
+ def __init__(self, bucket_name: 'str' =None, compute_project_role: 'str' =None, compute_service_account_email: 'str' =None, credentials_secret_id: 'str' =None, credentials_service_account_email: 'str' =None, custom_subnet_mode: 'bool' =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, subnets: 'list[V1SubnetSpec]' =None, vpcs: 'list[V1GCPDirectVPC]' =None): # noqa: E501
78
78
  """V1GoogleCloudDirectV1 - a model defined in Swagger""" # noqa: E501
79
79
  self._bucket_name = None
80
80
  self._compute_project_role = None
@@ -89,7 +89,7 @@ class V1GoogleCloudDirectV1(object):
89
89
  self._service_account_email = None
90
90
  self._source_cidr_ips = None
91
91
  self._subnets = None
92
- self._vpc_networks = None
92
+ self._vpcs = None
93
93
  self.discriminator = None
94
94
  if bucket_name is not None:
95
95
  self.bucket_name = bucket_name
@@ -117,8 +117,8 @@ class V1GoogleCloudDirectV1(object):
117
117
  self.source_cidr_ips = source_cidr_ips
118
118
  if subnets is not None:
119
119
  self.subnets = subnets
120
- if vpc_networks is not None:
121
- self.vpc_networks = vpc_networks
120
+ if vpcs is not None:
121
+ self.vpcs = vpcs
122
122
 
123
123
  @property
124
124
  def bucket_name(self) -> 'str':
@@ -400,25 +400,25 @@ class V1GoogleCloudDirectV1(object):
400
400
  self._subnets = subnets
401
401
 
402
402
  @property
403
- def vpc_networks(self) -> 'list[str]':
404
- """Gets the vpc_networks of this V1GoogleCloudDirectV1. # noqa: E501
403
+ def vpcs(self) -> 'list[V1GCPDirectVPC]':
404
+ """Gets the vpcs of this V1GoogleCloudDirectV1. # noqa: E501
405
405
 
406
406
 
407
- :return: The vpc_networks of this V1GoogleCloudDirectV1. # noqa: E501
408
- :rtype: list[str]
407
+ :return: The vpcs of this V1GoogleCloudDirectV1. # noqa: E501
408
+ :rtype: list[V1GCPDirectVPC]
409
409
  """
410
- return self._vpc_networks
410
+ return self._vpcs
411
411
 
412
- @vpc_networks.setter
413
- def vpc_networks(self, vpc_networks: 'list[str]'):
414
- """Sets the vpc_networks of this V1GoogleCloudDirectV1.
412
+ @vpcs.setter
413
+ def vpcs(self, vpcs: 'list[V1GCPDirectVPC]'):
414
+ """Sets the vpcs of this V1GoogleCloudDirectV1.
415
415
 
416
416
 
417
- :param vpc_networks: The vpc_networks of this V1GoogleCloudDirectV1. # noqa: E501
418
- :type: list[str]
417
+ :param vpcs: The vpcs of this V1GoogleCloudDirectV1. # noqa: E501
418
+ :type: list[V1GCPDirectVPC]
419
419
  """
420
420
 
421
- self._vpc_networks = vpc_networks
421
+ self._vpcs = vpcs
422
422
 
423
423
  def to_dict(self) -> dict:
424
424
  """Returns the model properties as a dict"""
@@ -43,6 +43,7 @@ class V1Organization(object):
43
43
  swagger_types = {
44
44
  'alerts_config': 'V1AlertsConfig',
45
45
  'allow_aws_saas': 'bool',
46
+ 'allow_budgeting': 'bool',
46
47
  'allow_gcp_saas': 'bool',
47
48
  'allow_guest': 'bool',
48
49
  'allow_lambda_saas': 'bool',
@@ -72,12 +73,14 @@ class V1Organization(object):
72
73
  'start_studios_on_spot_instance': 'bool',
73
74
  'teamspace_default_credits': 'float',
74
75
  'twitter_username': 'str',
75
- 'updated_at': 'datetime'
76
+ 'updated_at': 'datetime',
77
+ 'workload_max_run_duration': 'str'
76
78
  }
77
79
 
78
80
  attribute_map = {
79
81
  'alerts_config': 'alertsConfig',
80
82
  'allow_aws_saas': 'allowAwsSaas',
83
+ 'allow_budgeting': 'allowBudgeting',
81
84
  'allow_gcp_saas': 'allowGcpSaas',
82
85
  'allow_guest': 'allowGuest',
83
86
  'allow_lambda_saas': 'allowLambdaSaas',
@@ -107,13 +110,15 @@ class V1Organization(object):
107
110
  'start_studios_on_spot_instance': 'startStudiosOnSpotInstance',
108
111
  'teamspace_default_credits': 'teamspaceDefaultCredits',
109
112
  'twitter_username': 'twitterUsername',
110
- 'updated_at': 'updatedAt'
113
+ 'updated_at': 'updatedAt',
114
+ 'workload_max_run_duration': 'workloadMaxRunDuration'
111
115
  }
112
116
 
113
- def __init__(self, alerts_config: 'V1AlertsConfig' =None, allow_aws_saas: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_guest: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_marketplace: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domain_validations: 'dict(str, V1AutoJoinDomainValidation)' =None, auto_join_domains: 'list[str]' =None, created_at: 'datetime' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, full_story_end_date: 'datetime' =None, full_story_start_date: 'datetime' =None, id: 'str' =None, location: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, start_studios_on_spot_instance: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
117
+ def __init__(self, alerts_config: 'V1AlertsConfig' =None, allow_aws_saas: 'bool' =None, allow_budgeting: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_guest: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_marketplace: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domain_validations: 'dict(str, V1AutoJoinDomainValidation)' =None, auto_join_domains: 'list[str]' =None, created_at: 'datetime' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, full_story_end_date: 'datetime' =None, full_story_start_date: 'datetime' =None, id: 'str' =None, location: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, start_studios_on_spot_instance: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, updated_at: 'datetime' =None, workload_max_run_duration: 'str' =None): # noqa: E501
114
118
  """V1Organization - a model defined in Swagger""" # noqa: E501
115
119
  self._alerts_config = None
116
120
  self._allow_aws_saas = None
121
+ self._allow_budgeting = None
117
122
  self._allow_gcp_saas = None
118
123
  self._allow_guest = None
119
124
  self._allow_lambda_saas = None
@@ -144,11 +149,14 @@ class V1Organization(object):
144
149
  self._teamspace_default_credits = None
145
150
  self._twitter_username = None
146
151
  self._updated_at = None
152
+ self._workload_max_run_duration = None
147
153
  self.discriminator = None
148
154
  if alerts_config is not None:
149
155
  self.alerts_config = alerts_config
150
156
  if allow_aws_saas is not None:
151
157
  self.allow_aws_saas = allow_aws_saas
158
+ if allow_budgeting is not None:
159
+ self.allow_budgeting = allow_budgeting
152
160
  if allow_gcp_saas is not None:
153
161
  self.allow_gcp_saas = allow_gcp_saas
154
162
  if allow_guest is not None:
@@ -209,6 +217,8 @@ class V1Organization(object):
209
217
  self.twitter_username = twitter_username
210
218
  if updated_at is not None:
211
219
  self.updated_at = updated_at
220
+ if workload_max_run_duration is not None:
221
+ self.workload_max_run_duration = workload_max_run_duration
212
222
 
213
223
  @property
214
224
  def alerts_config(self) -> 'V1AlertsConfig':
@@ -252,6 +262,27 @@ class V1Organization(object):
252
262
 
253
263
  self._allow_aws_saas = allow_aws_saas
254
264
 
265
+ @property
266
+ def allow_budgeting(self) -> 'bool':
267
+ """Gets the allow_budgeting of this V1Organization. # noqa: E501
268
+
269
+
270
+ :return: The allow_budgeting of this V1Organization. # noqa: E501
271
+ :rtype: bool
272
+ """
273
+ return self._allow_budgeting
274
+
275
+ @allow_budgeting.setter
276
+ def allow_budgeting(self, allow_budgeting: 'bool'):
277
+ """Sets the allow_budgeting of this V1Organization.
278
+
279
+
280
+ :param allow_budgeting: The allow_budgeting of this V1Organization. # noqa: E501
281
+ :type: bool
282
+ """
283
+
284
+ self._allow_budgeting = allow_budgeting
285
+
255
286
  @property
256
287
  def allow_gcp_saas(self) -> 'bool':
257
288
  """Gets the allow_gcp_saas of this V1Organization. # noqa: E501
@@ -882,6 +913,27 @@ class V1Organization(object):
882
913
 
883
914
  self._updated_at = updated_at
884
915
 
916
+ @property
917
+ def workload_max_run_duration(self) -> 'str':
918
+ """Gets the workload_max_run_duration of this V1Organization. # noqa: E501
919
+
920
+
921
+ :return: The workload_max_run_duration of this V1Organization. # noqa: E501
922
+ :rtype: str
923
+ """
924
+ return self._workload_max_run_duration
925
+
926
+ @workload_max_run_duration.setter
927
+ def workload_max_run_duration(self, workload_max_run_duration: 'str'):
928
+ """Sets the workload_max_run_duration of this V1Organization.
929
+
930
+
931
+ :param workload_max_run_duration: The workload_max_run_duration of this V1Organization. # noqa: E501
932
+ :type: str
933
+ """
934
+
935
+ self._workload_max_run_duration = workload_max_run_duration
936
+
885
937
  def to_dict(self) -> dict:
886
938
  """Returns the model properties as a dict"""
887
939
  result = {}
@@ -47,6 +47,7 @@ class V1ProjectClusterBinding(object):
47
47
  'created_at': 'datetime',
48
48
  'is_cluster_healthy': 'bool',
49
49
  'project_id': 'str',
50
+ 'sa_key': 'str',
50
51
  'updated_at': 'datetime'
51
52
  }
52
53
 
@@ -57,10 +58,11 @@ class V1ProjectClusterBinding(object):
57
58
  'created_at': 'createdAt',
58
59
  'is_cluster_healthy': 'isClusterHealthy',
59
60
  'project_id': 'projectId',
61
+ 'sa_key': 'saKey',
60
62
  'updated_at': 'updatedAt'
61
63
  }
62
64
 
63
- def __init__(self, cluster_id: 'str' =None, cluster_name: 'str' =None, cluster_region: 'str' =None, created_at: 'datetime' =None, is_cluster_healthy: 'bool' =None, project_id: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
65
+ def __init__(self, cluster_id: 'str' =None, cluster_name: 'str' =None, cluster_region: 'str' =None, created_at: 'datetime' =None, is_cluster_healthy: 'bool' =None, project_id: 'str' =None, sa_key: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
64
66
  """V1ProjectClusterBinding - a model defined in Swagger""" # noqa: E501
65
67
  self._cluster_id = None
66
68
  self._cluster_name = None
@@ -68,6 +70,7 @@ class V1ProjectClusterBinding(object):
68
70
  self._created_at = None
69
71
  self._is_cluster_healthy = None
70
72
  self._project_id = None
73
+ self._sa_key = None
71
74
  self._updated_at = None
72
75
  self.discriminator = None
73
76
  if cluster_id is not None:
@@ -82,6 +85,8 @@ class V1ProjectClusterBinding(object):
82
85
  self.is_cluster_healthy = is_cluster_healthy
83
86
  if project_id is not None:
84
87
  self.project_id = project_id
88
+ if sa_key is not None:
89
+ self.sa_key = sa_key
85
90
  if updated_at is not None:
86
91
  self.updated_at = updated_at
87
92
 
@@ -211,6 +216,27 @@ class V1ProjectClusterBinding(object):
211
216
 
212
217
  self._project_id = project_id
213
218
 
219
+ @property
220
+ def sa_key(self) -> 'str':
221
+ """Gets the sa_key of this V1ProjectClusterBinding. # noqa: E501
222
+
223
+
224
+ :return: The sa_key of this V1ProjectClusterBinding. # noqa: E501
225
+ :rtype: str
226
+ """
227
+ return self._sa_key
228
+
229
+ @sa_key.setter
230
+ def sa_key(self, sa_key: 'str'):
231
+ """Sets the sa_key of this V1ProjectClusterBinding.
232
+
233
+
234
+ :param sa_key: The sa_key of this V1ProjectClusterBinding. # noqa: E501
235
+ :type: str
236
+ """
237
+
238
+ self._sa_key = sa_key
239
+
214
240
  @property
215
241
  def updated_at(self) -> 'datetime':
216
242
  """Gets the updated_at of this V1ProjectClusterBinding. # noqa: E501