lightning-sdk 0.2.8__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 (60) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/cluster_api.py +22 -0
  3. lightning_sdk/api/deployment_api.py +1 -0
  4. lightning_sdk/api/lit_container_api.py +24 -5
  5. lightning_sdk/api/teamspace_api.py +22 -17
  6. lightning_sdk/api/utils.py +1 -1
  7. lightning_sdk/cli/clusters_menu.py +46 -0
  8. lightning_sdk/cli/entrypoint.py +2 -2
  9. lightning_sdk/cli/list.py +25 -5
  10. lightning_sdk/cli/serve.py +232 -24
  11. lightning_sdk/cli/upload.py +4 -1
  12. lightning_sdk/deployment/deployment.py +5 -2
  13. lightning_sdk/lightning_cloud/openapi/__init__.py +10 -0
  14. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +303 -0
  15. lightning_sdk/lightning_cloud/openapi/models/__init__.py +10 -0
  16. lightning_sdk/lightning_cloud/openapi/models/cloudspace_id_systemmetrics_body.py +149 -0
  17. lightning_sdk/lightning_cloud/openapi/models/cluster_id_capacityreservations_body.py +55 -3
  18. lightning_sdk/lightning_cloud/openapi/models/create.py +53 -1
  19. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +55 -3
  20. lightning_sdk/lightning_cloud/openapi/models/update.py +27 -1
  21. lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +1 -0
  22. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +53 -1
  23. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_cold_start_metrics.py +53 -1
  24. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_cold_start_metrics_stats.py +357 -0
  25. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +29 -3
  26. lightning_sdk/lightning_cloud/openapi/models/v1_cloudflare_v1.py +227 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +55 -3
  29. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +79 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  31. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +29 -3
  32. lightning_sdk/lightning_cloud/openapi/models/v1_create_cluster_capacity_reservation_response.py +27 -1
  33. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +53 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_gcp_direct_vpc.py +149 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_cold_start_metrics_stats_response.py +123 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_instance_system_metrics_aggregate_response.py +123 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +53 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +43 -17
  39. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +55 -3
  40. lightning_sdk/lightning_cloud/openapi/models/v1_project_cluster_binding.py +27 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_r2_data_connection.py +253 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_system_metrics_response.py +97 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_phase.py +1 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_system_metrics_aggregated.py +227 -0
  45. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
  46. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +104 -208
  47. lightning_sdk/lightning_cloud/openapi/models/v1_validate_data_connection_response.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_weka_data_connection.py +201 -0
  49. lightning_sdk/lightning_cloud/openapi/models/validate.py +27 -1
  50. lightning_sdk/lit_container.py +25 -7
  51. lightning_sdk/models.py +26 -8
  52. lightning_sdk/serve.py +3 -20
  53. lightning_sdk/teamspace.py +21 -4
  54. lightning_sdk/utils/resolve.py +11 -4
  55. {lightning_sdk-0.2.8.dist-info → lightning_sdk-0.2.10.dist-info}/METADATA +1 -1
  56. {lightning_sdk-0.2.8.dist-info → lightning_sdk-0.2.10.dist-info}/RECORD +60 -48
  57. {lightning_sdk-0.2.8.dist-info → lightning_sdk-0.2.10.dist-info}/LICENSE +0 -0
  58. {lightning_sdk-0.2.8.dist-info → lightning_sdk-0.2.10.dist-info}/WHEEL +0 -0
  59. {lightning_sdk-0.2.8.dist-info → lightning_sdk-0.2.10.dist-info}/entry_points.txt +0 -0
  60. {lightning_sdk-0.2.8.dist-info → lightning_sdk-0.2.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,253 @@
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 V1R2DataConnection(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
+ 'account_id': 'str',
45
+ 'credential_id': 'str',
46
+ 'name': 'str',
47
+ 'secret_access_key': 'str',
48
+ 'source': 'str',
49
+ 'token_value': 'str'
50
+ }
51
+
52
+ attribute_map = {
53
+ 'account_id': 'accountId',
54
+ 'credential_id': 'credentialId',
55
+ 'name': 'name',
56
+ 'secret_access_key': 'secretAccessKey',
57
+ 'source': 'source',
58
+ 'token_value': 'tokenValue'
59
+ }
60
+
61
+ def __init__(self, account_id: 'str' =None, credential_id: 'str' =None, name: 'str' =None, secret_access_key: 'str' =None, source: 'str' =None, token_value: 'str' =None): # noqa: E501
62
+ """V1R2DataConnection - a model defined in Swagger""" # noqa: E501
63
+ self._account_id = None
64
+ self._credential_id = None
65
+ self._name = None
66
+ self._secret_access_key = None
67
+ self._source = None
68
+ self._token_value = None
69
+ self.discriminator = None
70
+ if account_id is not None:
71
+ self.account_id = account_id
72
+ if credential_id is not None:
73
+ self.credential_id = credential_id
74
+ if name is not None:
75
+ self.name = name
76
+ if secret_access_key is not None:
77
+ self.secret_access_key = secret_access_key
78
+ if source is not None:
79
+ self.source = source
80
+ if token_value is not None:
81
+ self.token_value = token_value
82
+
83
+ @property
84
+ def account_id(self) -> 'str':
85
+ """Gets the account_id of this V1R2DataConnection. # noqa: E501
86
+
87
+
88
+ :return: The account_id of this V1R2DataConnection. # noqa: E501
89
+ :rtype: str
90
+ """
91
+ return self._account_id
92
+
93
+ @account_id.setter
94
+ def account_id(self, account_id: 'str'):
95
+ """Sets the account_id of this V1R2DataConnection.
96
+
97
+
98
+ :param account_id: The account_id of this V1R2DataConnection. # noqa: E501
99
+ :type: str
100
+ """
101
+
102
+ self._account_id = account_id
103
+
104
+ @property
105
+ def credential_id(self) -> 'str':
106
+ """Gets the credential_id of this V1R2DataConnection. # noqa: E501
107
+
108
+
109
+ :return: The credential_id of this V1R2DataConnection. # noqa: E501
110
+ :rtype: str
111
+ """
112
+ return self._credential_id
113
+
114
+ @credential_id.setter
115
+ def credential_id(self, credential_id: 'str'):
116
+ """Sets the credential_id of this V1R2DataConnection.
117
+
118
+
119
+ :param credential_id: The credential_id of this V1R2DataConnection. # noqa: E501
120
+ :type: str
121
+ """
122
+
123
+ self._credential_id = credential_id
124
+
125
+ @property
126
+ def name(self) -> 'str':
127
+ """Gets the name of this V1R2DataConnection. # noqa: E501
128
+
129
+
130
+ :return: The name of this V1R2DataConnection. # noqa: E501
131
+ :rtype: str
132
+ """
133
+ return self._name
134
+
135
+ @name.setter
136
+ def name(self, name: 'str'):
137
+ """Sets the name of this V1R2DataConnection.
138
+
139
+
140
+ :param name: The name of this V1R2DataConnection. # noqa: E501
141
+ :type: str
142
+ """
143
+
144
+ self._name = name
145
+
146
+ @property
147
+ def secret_access_key(self) -> 'str':
148
+ """Gets the secret_access_key of this V1R2DataConnection. # noqa: E501
149
+
150
+
151
+ :return: The secret_access_key of this V1R2DataConnection. # noqa: E501
152
+ :rtype: str
153
+ """
154
+ return self._secret_access_key
155
+
156
+ @secret_access_key.setter
157
+ def secret_access_key(self, secret_access_key: 'str'):
158
+ """Sets the secret_access_key of this V1R2DataConnection.
159
+
160
+
161
+ :param secret_access_key: The secret_access_key of this V1R2DataConnection. # noqa: E501
162
+ :type: str
163
+ """
164
+
165
+ self._secret_access_key = secret_access_key
166
+
167
+ @property
168
+ def source(self) -> 'str':
169
+ """Gets the source of this V1R2DataConnection. # noqa: E501
170
+
171
+
172
+ :return: The source of this V1R2DataConnection. # noqa: E501
173
+ :rtype: str
174
+ """
175
+ return self._source
176
+
177
+ @source.setter
178
+ def source(self, source: 'str'):
179
+ """Sets the source of this V1R2DataConnection.
180
+
181
+
182
+ :param source: The source of this V1R2DataConnection. # noqa: E501
183
+ :type: str
184
+ """
185
+
186
+ self._source = source
187
+
188
+ @property
189
+ def token_value(self) -> 'str':
190
+ """Gets the token_value of this V1R2DataConnection. # noqa: E501
191
+
192
+
193
+ :return: The token_value of this V1R2DataConnection. # noqa: E501
194
+ :rtype: str
195
+ """
196
+ return self._token_value
197
+
198
+ @token_value.setter
199
+ def token_value(self, token_value: 'str'):
200
+ """Sets the token_value of this V1R2DataConnection.
201
+
202
+
203
+ :param token_value: The token_value of this V1R2DataConnection. # noqa: E501
204
+ :type: str
205
+ """
206
+
207
+ self._token_value = token_value
208
+
209
+ def to_dict(self) -> dict:
210
+ """Returns the model properties as a dict"""
211
+ result = {}
212
+
213
+ for attr, _ in six.iteritems(self.swagger_types):
214
+ value = getattr(self, attr)
215
+ if isinstance(value, list):
216
+ result[attr] = list(map(
217
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
218
+ value
219
+ ))
220
+ elif hasattr(value, "to_dict"):
221
+ result[attr] = value.to_dict()
222
+ elif isinstance(value, dict):
223
+ result[attr] = dict(map(
224
+ lambda item: (item[0], item[1].to_dict())
225
+ if hasattr(item[1], "to_dict") else item,
226
+ value.items()
227
+ ))
228
+ else:
229
+ result[attr] = value
230
+ if issubclass(V1R2DataConnection, dict):
231
+ for key, value in self.items():
232
+ result[key] = value
233
+
234
+ return result
235
+
236
+ def to_str(self) -> str:
237
+ """Returns the string representation of the model"""
238
+ return pprint.pformat(self.to_dict())
239
+
240
+ def __repr__(self) -> str:
241
+ """For `print` and `pprint`"""
242
+ return self.to_str()
243
+
244
+ def __eq__(self, other: 'V1R2DataConnection') -> bool:
245
+ """Returns true if both objects are equal"""
246
+ if not isinstance(other, V1R2DataConnection):
247
+ return False
248
+
249
+ return self.__dict__ == other.__dict__
250
+
251
+ def __ne__(self, other: 'V1R2DataConnection') -> bool:
252
+ """Returns true if both objects are not equal"""
253
+ return not self == other
@@ -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 V1ReportCloudSpaceInstanceSystemMetricsResponse(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
+ """V1ReportCloudSpaceInstanceSystemMetricsResponse - 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(V1ReportCloudSpaceInstanceSystemMetricsResponse, 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: 'V1ReportCloudSpaceInstanceSystemMetricsResponse') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1ReportCloudSpaceInstanceSystemMetricsResponse):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1ReportCloudSpaceInstanceSystemMetricsResponse') -> bool:
96
+ """Returns true if both objects are not equal"""
97
+ return not self == other
@@ -40,6 +40,7 @@ class V1ServerAlertPhase(object):
40
40
  UNSPECIFIED = "SERVER_ALERT_PHASE_UNSPECIFIED"
41
41
  STARTUP = "SERVER_ALERT_PHASE_STARTUP"
42
42
  SHUTDOWN = "SERVER_ALERT_PHASE_SHUTDOWN"
43
+ RUNTIME = "SERVER_ALERT_PHASE_RUNTIME"
43
44
  """
44
45
  Attributes:
45
46
  swagger_types (dict): The key is attribute name
@@ -0,0 +1,227 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1SystemMetricsAggregated(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
+ 'avg_cpu_percentage': 'float',
45
+ 'avg_gpu_percentage': 'float',
46
+ 'num_cpus': 'float',
47
+ 'num_gpus': 'float',
48
+ 'timestamp': 'datetime'
49
+ }
50
+
51
+ attribute_map = {
52
+ 'avg_cpu_percentage': 'avgCpuPercentage',
53
+ 'avg_gpu_percentage': 'avgGpuPercentage',
54
+ 'num_cpus': 'numCpus',
55
+ 'num_gpus': 'numGpus',
56
+ 'timestamp': 'timestamp'
57
+ }
58
+
59
+ def __init__(self, avg_cpu_percentage: 'float' =None, avg_gpu_percentage: 'float' =None, num_cpus: 'float' =None, num_gpus: 'float' =None, timestamp: 'datetime' =None): # noqa: E501
60
+ """V1SystemMetricsAggregated - a model defined in Swagger""" # noqa: E501
61
+ self._avg_cpu_percentage = None
62
+ self._avg_gpu_percentage = None
63
+ self._num_cpus = None
64
+ self._num_gpus = None
65
+ self._timestamp = None
66
+ self.discriminator = None
67
+ if avg_cpu_percentage is not None:
68
+ self.avg_cpu_percentage = avg_cpu_percentage
69
+ if avg_gpu_percentage is not None:
70
+ self.avg_gpu_percentage = avg_gpu_percentage
71
+ if num_cpus is not None:
72
+ self.num_cpus = num_cpus
73
+ if num_gpus is not None:
74
+ self.num_gpus = num_gpus
75
+ if timestamp is not None:
76
+ self.timestamp = timestamp
77
+
78
+ @property
79
+ def avg_cpu_percentage(self) -> 'float':
80
+ """Gets the avg_cpu_percentage of this V1SystemMetricsAggregated. # noqa: E501
81
+
82
+
83
+ :return: The avg_cpu_percentage of this V1SystemMetricsAggregated. # noqa: E501
84
+ :rtype: float
85
+ """
86
+ return self._avg_cpu_percentage
87
+
88
+ @avg_cpu_percentage.setter
89
+ def avg_cpu_percentage(self, avg_cpu_percentage: 'float'):
90
+ """Sets the avg_cpu_percentage of this V1SystemMetricsAggregated.
91
+
92
+
93
+ :param avg_cpu_percentage: The avg_cpu_percentage of this V1SystemMetricsAggregated. # noqa: E501
94
+ :type: float
95
+ """
96
+
97
+ self._avg_cpu_percentage = avg_cpu_percentage
98
+
99
+ @property
100
+ def avg_gpu_percentage(self) -> 'float':
101
+ """Gets the avg_gpu_percentage of this V1SystemMetricsAggregated. # noqa: E501
102
+
103
+
104
+ :return: The avg_gpu_percentage of this V1SystemMetricsAggregated. # noqa: E501
105
+ :rtype: float
106
+ """
107
+ return self._avg_gpu_percentage
108
+
109
+ @avg_gpu_percentage.setter
110
+ def avg_gpu_percentage(self, avg_gpu_percentage: 'float'):
111
+ """Sets the avg_gpu_percentage of this V1SystemMetricsAggregated.
112
+
113
+
114
+ :param avg_gpu_percentage: The avg_gpu_percentage of this V1SystemMetricsAggregated. # noqa: E501
115
+ :type: float
116
+ """
117
+
118
+ self._avg_gpu_percentage = avg_gpu_percentage
119
+
120
+ @property
121
+ def num_cpus(self) -> 'float':
122
+ """Gets the num_cpus of this V1SystemMetricsAggregated. # noqa: E501
123
+
124
+
125
+ :return: The num_cpus of this V1SystemMetricsAggregated. # noqa: E501
126
+ :rtype: float
127
+ """
128
+ return self._num_cpus
129
+
130
+ @num_cpus.setter
131
+ def num_cpus(self, num_cpus: 'float'):
132
+ """Sets the num_cpus of this V1SystemMetricsAggregated.
133
+
134
+
135
+ :param num_cpus: The num_cpus of this V1SystemMetricsAggregated. # noqa: E501
136
+ :type: float
137
+ """
138
+
139
+ self._num_cpus = num_cpus
140
+
141
+ @property
142
+ def num_gpus(self) -> 'float':
143
+ """Gets the num_gpus of this V1SystemMetricsAggregated. # noqa: E501
144
+
145
+
146
+ :return: The num_gpus of this V1SystemMetricsAggregated. # noqa: E501
147
+ :rtype: float
148
+ """
149
+ return self._num_gpus
150
+
151
+ @num_gpus.setter
152
+ def num_gpus(self, num_gpus: 'float'):
153
+ """Sets the num_gpus of this V1SystemMetricsAggregated.
154
+
155
+
156
+ :param num_gpus: The num_gpus of this V1SystemMetricsAggregated. # noqa: E501
157
+ :type: float
158
+ """
159
+
160
+ self._num_gpus = num_gpus
161
+
162
+ @property
163
+ def timestamp(self) -> 'datetime':
164
+ """Gets the timestamp of this V1SystemMetricsAggregated. # noqa: E501
165
+
166
+
167
+ :return: The timestamp of this V1SystemMetricsAggregated. # noqa: E501
168
+ :rtype: datetime
169
+ """
170
+ return self._timestamp
171
+
172
+ @timestamp.setter
173
+ def timestamp(self, timestamp: 'datetime'):
174
+ """Sets the timestamp of this V1SystemMetricsAggregated.
175
+
176
+
177
+ :param timestamp: The timestamp of this V1SystemMetricsAggregated. # noqa: E501
178
+ :type: datetime
179
+ """
180
+
181
+ self._timestamp = timestamp
182
+
183
+ def to_dict(self) -> dict:
184
+ """Returns the model properties as a dict"""
185
+ result = {}
186
+
187
+ for attr, _ in six.iteritems(self.swagger_types):
188
+ value = getattr(self, attr)
189
+ if isinstance(value, list):
190
+ result[attr] = list(map(
191
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
192
+ value
193
+ ))
194
+ elif hasattr(value, "to_dict"):
195
+ result[attr] = value.to_dict()
196
+ elif isinstance(value, dict):
197
+ result[attr] = dict(map(
198
+ lambda item: (item[0], item[1].to_dict())
199
+ if hasattr(item[1], "to_dict") else item,
200
+ value.items()
201
+ ))
202
+ else:
203
+ result[attr] = value
204
+ if issubclass(V1SystemMetricsAggregated, dict):
205
+ for key, value in self.items():
206
+ result[key] = value
207
+
208
+ return result
209
+
210
+ def to_str(self) -> str:
211
+ """Returns the string representation of the model"""
212
+ return pprint.pformat(self.to_dict())
213
+
214
+ def __repr__(self) -> str:
215
+ """For `print` and `pprint`"""
216
+ return self.to_str()
217
+
218
+ def __eq__(self, other: 'V1SystemMetricsAggregated') -> bool:
219
+ """Returns true if both objects are equal"""
220
+ if not isinstance(other, V1SystemMetricsAggregated):
221
+ return False
222
+
223
+ return self.__dict__ == other.__dict__
224
+
225
+ def __ne__(self, other: 'V1SystemMetricsAggregated') -> bool:
226
+ """Returns true if both objects are not equal"""
227
+ return not self == other
@@ -50,6 +50,7 @@ class V1UpdateUserRequest(object):
50
50
  'experimentation_id': 'str',
51
51
  'first_name': 'str',
52
52
  'general_audience_mode': 'bool',
53
+ 'git_credentials_id': 'str',
53
54
  'last_name': 'str',
54
55
  'non_developer_mode': 'bool',
55
56
  'opted_in_marketing_emails': 'bool',
@@ -77,6 +78,7 @@ class V1UpdateUserRequest(object):
77
78
  'experimentation_id': 'experimentationId',
78
79
  'first_name': 'firstName',
79
80
  'general_audience_mode': 'generalAudienceMode',
81
+ 'git_credentials_id': 'gitCredentialsId',
80
82
  'last_name': 'lastName',
81
83
  'non_developer_mode': 'nonDeveloperMode',
82
84
  'opted_in_marketing_emails': 'optedInMarketingEmails',
@@ -94,7 +96,7 @@ class V1UpdateUserRequest(object):
94
96
  'website': 'website'
95
97
  }
96
98
 
97
- def __init__(self, agree_to_terms_and_conditions: 'bool' =None, complete_sign_up: 'bool' =None, completed_project_onboarding: 'bool' =None, country: 'str' =None, discounted_pro_plan: 'bool' =None, email: 'str' =None, experimentation_id: 'str' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: '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, user_metadata: 'str' =None, username: 'str' =None, website: 'str' =None): # noqa: E501
99
+ def __init__(self, agree_to_terms_and_conditions: 'bool' =None, complete_sign_up: 'bool' =None, completed_project_onboarding: 'bool' =None, country: 'str' =None, discounted_pro_plan: 'bool' =None, email: 'str' =None, experimentation_id: 'str' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, git_credentials_id: 'str' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: '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, user_metadata: 'str' =None, username: 'str' =None, website: 'str' =None): # noqa: E501
98
100
  """V1UpdateUserRequest - a model defined in Swagger""" # noqa: E501
99
101
  self._agree_to_terms_and_conditions = None
100
102
  self._complete_sign_up = None
@@ -105,6 +107,7 @@ class V1UpdateUserRequest(object):
105
107
  self._experimentation_id = None
106
108
  self._first_name = None
107
109
  self._general_audience_mode = None
110
+ self._git_credentials_id = None
108
111
  self._last_name = None
109
112
  self._non_developer_mode = None
110
113
  self._opted_in_marketing_emails = None
@@ -139,6 +142,8 @@ class V1UpdateUserRequest(object):
139
142
  self.first_name = first_name
140
143
  if general_audience_mode is not None:
141
144
  self.general_audience_mode = general_audience_mode
145
+ if git_credentials_id is not None:
146
+ self.git_credentials_id = git_credentials_id
142
147
  if last_name is not None:
143
148
  self.last_name = last_name
144
149
  if non_developer_mode is not None:
@@ -359,6 +364,27 @@ class V1UpdateUserRequest(object):
359
364
 
360
365
  self._general_audience_mode = general_audience_mode
361
366
 
367
+ @property
368
+ def git_credentials_id(self) -> 'str':
369
+ """Gets the git_credentials_id of this V1UpdateUserRequest. # noqa: E501
370
+
371
+
372
+ :return: The git_credentials_id of this V1UpdateUserRequest. # noqa: E501
373
+ :rtype: str
374
+ """
375
+ return self._git_credentials_id
376
+
377
+ @git_credentials_id.setter
378
+ def git_credentials_id(self, git_credentials_id: 'str'):
379
+ """Sets the git_credentials_id of this V1UpdateUserRequest.
380
+
381
+
382
+ :param git_credentials_id: The git_credentials_id of this V1UpdateUserRequest. # noqa: E501
383
+ :type: str
384
+ """
385
+
386
+ self._git_credentials_id = git_credentials_id
387
+
362
388
  @property
363
389
  def last_name(self) -> 'str':
364
390
  """Gets the last_name of this V1UpdateUserRequest. # noqa: E501