lightning-sdk 0.2.7__py3-none-any.whl → 0.2.9__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 (32) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/cluster_api.py +22 -0
  3. lightning_sdk/api/lit_container_api.py +7 -12
  4. lightning_sdk/api/teamspace_api.py +2 -1
  5. lightning_sdk/cli/clusters_menu.py +46 -0
  6. lightning_sdk/cli/list.py +25 -5
  7. lightning_sdk/cli/serve.py +133 -27
  8. lightning_sdk/lightning_cloud/openapi/__init__.py +5 -0
  9. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +206 -0
  10. lightning_sdk/lightning_cloud/openapi/models/__init__.py +5 -0
  11. lightning_sdk/lightning_cloud/openapi/models/cloudspace_id_systemmetrics_body.py +149 -0
  12. lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +1 -0
  13. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_cold_start_metrics.py +53 -1
  14. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
  15. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  16. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_instance_system_metrics_aggregate_response.py +123 -0
  17. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
  18. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_system_metrics_response.py +97 -0
  19. lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_phase.py +1 -0
  20. lightning_sdk/lightning_cloud/openapi/models/v1_system_metrics_aggregated.py +227 -0
  21. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +55 -185
  22. lightning_sdk/lightning_cloud/openapi/models/v1_weka_data_connection.py +227 -0
  23. lightning_sdk/lit_container.py +13 -5
  24. lightning_sdk/models.py +7 -2
  25. lightning_sdk/serve.py +23 -46
  26. lightning_sdk/teamspace.py +19 -4
  27. {lightning_sdk-0.2.7.dist-info → lightning_sdk-0.2.9.dist-info}/METADATA +1 -1
  28. {lightning_sdk-0.2.7.dist-info → lightning_sdk-0.2.9.dist-info}/RECORD +32 -25
  29. {lightning_sdk-0.2.7.dist-info → lightning_sdk-0.2.9.dist-info}/LICENSE +0 -0
  30. {lightning_sdk-0.2.7.dist-info → lightning_sdk-0.2.9.dist-info}/WHEEL +0 -0
  31. {lightning_sdk-0.2.7.dist-info → lightning_sdk-0.2.9.dist-info}/entry_points.txt +0 -0
  32. {lightning_sdk-0.2.7.dist-info → lightning_sdk-0.2.9.dist-info}/top_level.txt +0 -0
@@ -3489,6 +3489,99 @@ class CloudSpaceServiceApi(object):
3489
3489
  _request_timeout=params.get('_request_timeout'),
3490
3490
  collection_formats=collection_formats)
3491
3491
 
3492
+ def cloud_space_service_get_cloud_space_instance_system_metrics_aggregate(self, project_id: 'str', **kwargs) -> 'V1GetCloudSpaceInstanceSystemMetricsAggregateResponse': # noqa: E501
3493
+ """cloud_space_service_get_cloud_space_instance_system_metrics_aggregate # noqa: E501
3494
+
3495
+ This method makes a synchronous HTTP request by default. To make an
3496
+ asynchronous HTTP request, please pass async_req=True
3497
+ >>> thread = api.cloud_space_service_get_cloud_space_instance_system_metrics_aggregate(project_id, async_req=True)
3498
+ >>> result = thread.get()
3499
+
3500
+ :param async_req bool
3501
+ :param str project_id: (required)
3502
+ :return: V1GetCloudSpaceInstanceSystemMetricsAggregateResponse
3503
+ If the method is called asynchronously,
3504
+ returns the request thread.
3505
+ """
3506
+ kwargs['_return_http_data_only'] = True
3507
+ if kwargs.get('async_req'):
3508
+ return self.cloud_space_service_get_cloud_space_instance_system_metrics_aggregate_with_http_info(project_id, **kwargs) # noqa: E501
3509
+ else:
3510
+ (data) = self.cloud_space_service_get_cloud_space_instance_system_metrics_aggregate_with_http_info(project_id, **kwargs) # noqa: E501
3511
+ return data
3512
+
3513
+ def cloud_space_service_get_cloud_space_instance_system_metrics_aggregate_with_http_info(self, project_id: 'str', **kwargs) -> 'V1GetCloudSpaceInstanceSystemMetricsAggregateResponse': # noqa: E501
3514
+ """cloud_space_service_get_cloud_space_instance_system_metrics_aggregate # noqa: E501
3515
+
3516
+ This method makes a synchronous HTTP request by default. To make an
3517
+ asynchronous HTTP request, please pass async_req=True
3518
+ >>> thread = api.cloud_space_service_get_cloud_space_instance_system_metrics_aggregate_with_http_info(project_id, async_req=True)
3519
+ >>> result = thread.get()
3520
+
3521
+ :param async_req bool
3522
+ :param str project_id: (required)
3523
+ :return: V1GetCloudSpaceInstanceSystemMetricsAggregateResponse
3524
+ If the method is called asynchronously,
3525
+ returns the request thread.
3526
+ """
3527
+
3528
+ all_params = ['project_id'] # noqa: E501
3529
+ all_params.append('async_req')
3530
+ all_params.append('_return_http_data_only')
3531
+ all_params.append('_preload_content')
3532
+ all_params.append('_request_timeout')
3533
+
3534
+ params = locals()
3535
+ for key, val in six.iteritems(params['kwargs']):
3536
+ if key not in all_params:
3537
+ raise TypeError(
3538
+ "Got an unexpected keyword argument '%s'"
3539
+ " to method cloud_space_service_get_cloud_space_instance_system_metrics_aggregate" % key
3540
+ )
3541
+ params[key] = val
3542
+ del params['kwargs']
3543
+ # verify the required parameter 'project_id' is set
3544
+ if ('project_id' not in params or
3545
+ params['project_id'] is None):
3546
+ raise ValueError("Missing the required parameter `project_id` when calling `cloud_space_service_get_cloud_space_instance_system_metrics_aggregate`") # noqa: E501
3547
+
3548
+ collection_formats = {}
3549
+
3550
+ path_params = {}
3551
+ if 'project_id' in params:
3552
+ path_params['projectId'] = params['project_id'] # noqa: E501
3553
+
3554
+ query_params = []
3555
+
3556
+ header_params = {}
3557
+
3558
+ form_params = []
3559
+ local_var_files = {}
3560
+
3561
+ body_params = None
3562
+ # HTTP header `Accept`
3563
+ header_params['Accept'] = self.api_client.select_header_accept(
3564
+ ['application/json']) # noqa: E501
3565
+
3566
+ # Authentication setting
3567
+ auth_settings = [] # noqa: E501
3568
+
3569
+ return self.api_client.call_api(
3570
+ '/v1/projects/{projectId}/system-metrics-aggregated', 'GET',
3571
+ path_params,
3572
+ query_params,
3573
+ header_params,
3574
+ body=body_params,
3575
+ post_params=form_params,
3576
+ files=local_var_files,
3577
+ response_type='V1GetCloudSpaceInstanceSystemMetricsAggregateResponse', # noqa: E501
3578
+ auth_settings=auth_settings,
3579
+ async_req=params.get('async_req'),
3580
+ _return_http_data_only=params.get('_return_http_data_only'),
3581
+ _preload_content=params.get('_preload_content', True),
3582
+ _request_timeout=params.get('_request_timeout'),
3583
+ collection_formats=collection_formats)
3584
+
3492
3585
  def cloud_space_service_get_cloud_space_size(self, project_id: 'str', cloudspace_id: 'str', **kwargs) -> 'V1GetCloudSpaceSizeResponse': # noqa: E501
3493
3586
  """cloud_space_service_get_cloud_space_size # noqa: E501
3494
3587
 
@@ -6687,6 +6780,119 @@ class CloudSpaceServiceApi(object):
6687
6780
  _request_timeout=params.get('_request_timeout'),
6688
6781
  collection_formats=collection_formats)
6689
6782
 
6783
+ def cloud_space_service_report_cloud_space_instance_system_metrics(self, body: 'CloudspaceIdSystemmetricsBody', project_id: 'str', cloudspace_id: 'str', **kwargs) -> 'V1ReportCloudSpaceInstanceSystemMetricsResponse': # noqa: E501
6784
+ """cloud_space_service_report_cloud_space_instance_system_metrics # noqa: E501
6785
+
6786
+ This method makes a synchronous HTTP request by default. To make an
6787
+ asynchronous HTTP request, please pass async_req=True
6788
+ >>> thread = api.cloud_space_service_report_cloud_space_instance_system_metrics(body, project_id, cloudspace_id, async_req=True)
6789
+ >>> result = thread.get()
6790
+
6791
+ :param async_req bool
6792
+ :param CloudspaceIdSystemmetricsBody body: (required)
6793
+ :param str project_id: (required)
6794
+ :param str cloudspace_id: (required)
6795
+ :return: V1ReportCloudSpaceInstanceSystemMetricsResponse
6796
+ If the method is called asynchronously,
6797
+ returns the request thread.
6798
+ """
6799
+ kwargs['_return_http_data_only'] = True
6800
+ if kwargs.get('async_req'):
6801
+ return self.cloud_space_service_report_cloud_space_instance_system_metrics_with_http_info(body, project_id, cloudspace_id, **kwargs) # noqa: E501
6802
+ else:
6803
+ (data) = self.cloud_space_service_report_cloud_space_instance_system_metrics_with_http_info(body, project_id, cloudspace_id, **kwargs) # noqa: E501
6804
+ return data
6805
+
6806
+ def cloud_space_service_report_cloud_space_instance_system_metrics_with_http_info(self, body: 'CloudspaceIdSystemmetricsBody', project_id: 'str', cloudspace_id: 'str', **kwargs) -> 'V1ReportCloudSpaceInstanceSystemMetricsResponse': # noqa: E501
6807
+ """cloud_space_service_report_cloud_space_instance_system_metrics # noqa: E501
6808
+
6809
+ This method makes a synchronous HTTP request by default. To make an
6810
+ asynchronous HTTP request, please pass async_req=True
6811
+ >>> thread = api.cloud_space_service_report_cloud_space_instance_system_metrics_with_http_info(body, project_id, cloudspace_id, async_req=True)
6812
+ >>> result = thread.get()
6813
+
6814
+ :param async_req bool
6815
+ :param CloudspaceIdSystemmetricsBody body: (required)
6816
+ :param str project_id: (required)
6817
+ :param str cloudspace_id: (required)
6818
+ :return: V1ReportCloudSpaceInstanceSystemMetricsResponse
6819
+ If the method is called asynchronously,
6820
+ returns the request thread.
6821
+ """
6822
+
6823
+ all_params = ['body', 'project_id', 'cloudspace_id'] # noqa: E501
6824
+ all_params.append('async_req')
6825
+ all_params.append('_return_http_data_only')
6826
+ all_params.append('_preload_content')
6827
+ all_params.append('_request_timeout')
6828
+
6829
+ params = locals()
6830
+ for key, val in six.iteritems(params['kwargs']):
6831
+ if key not in all_params:
6832
+ raise TypeError(
6833
+ "Got an unexpected keyword argument '%s'"
6834
+ " to method cloud_space_service_report_cloud_space_instance_system_metrics" % key
6835
+ )
6836
+ params[key] = val
6837
+ del params['kwargs']
6838
+ # verify the required parameter 'body' is set
6839
+ if ('body' not in params or
6840
+ params['body'] is None):
6841
+ raise ValueError("Missing the required parameter `body` when calling `cloud_space_service_report_cloud_space_instance_system_metrics`") # noqa: E501
6842
+ # verify the required parameter 'project_id' is set
6843
+ if ('project_id' not in params or
6844
+ params['project_id'] is None):
6845
+ raise ValueError("Missing the required parameter `project_id` when calling `cloud_space_service_report_cloud_space_instance_system_metrics`") # noqa: E501
6846
+ # verify the required parameter 'cloudspace_id' is set
6847
+ if ('cloudspace_id' not in params or
6848
+ params['cloudspace_id'] is None):
6849
+ raise ValueError("Missing the required parameter `cloudspace_id` when calling `cloud_space_service_report_cloud_space_instance_system_metrics`") # noqa: E501
6850
+
6851
+ collection_formats = {}
6852
+
6853
+ path_params = {}
6854
+ if 'project_id' in params:
6855
+ path_params['projectId'] = params['project_id'] # noqa: E501
6856
+ if 'cloudspace_id' in params:
6857
+ path_params['cloudspaceId'] = params['cloudspace_id'] # noqa: E501
6858
+
6859
+ query_params = []
6860
+
6861
+ header_params = {}
6862
+
6863
+ form_params = []
6864
+ local_var_files = {}
6865
+
6866
+ body_params = None
6867
+ if 'body' in params:
6868
+ body_params = params['body']
6869
+ # HTTP header `Accept`
6870
+ header_params['Accept'] = self.api_client.select_header_accept(
6871
+ ['application/json']) # noqa: E501
6872
+
6873
+ # HTTP header `Content-Type`
6874
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
6875
+ ['application/json']) # noqa: E501
6876
+
6877
+ # Authentication setting
6878
+ auth_settings = [] # noqa: E501
6879
+
6880
+ return self.api_client.call_api(
6881
+ '/v1/projects/{projectId}/cloudspaces/{cloudspaceId}/system-metrics', 'POST',
6882
+ path_params,
6883
+ query_params,
6884
+ header_params,
6885
+ body=body_params,
6886
+ post_params=form_params,
6887
+ files=local_var_files,
6888
+ response_type='V1ReportCloudSpaceInstanceSystemMetricsResponse', # noqa: E501
6889
+ auth_settings=auth_settings,
6890
+ async_req=params.get('async_req'),
6891
+ _return_http_data_only=params.get('_return_http_data_only'),
6892
+ _preload_content=params.get('_preload_content', True),
6893
+ _request_timeout=params.get('_request_timeout'),
6894
+ collection_formats=collection_formats)
6895
+
6690
6896
  def cloud_space_service_restart_cloud_space_instance(self, project_id: 'str', id: 'str', **kwargs) -> 'V1RestartCloudSpaceInstanceResponse': # noqa: E501
6691
6897
  """cloud_space_service_restart_cloud_space_instance # noqa: E501
6692
6898
 
@@ -41,6 +41,7 @@ from lightning_sdk.lightning_cloud.openapi.models.cloud_space_id_versionpublicat
41
41
  from lightning_sdk.lightning_cloud.openapi.models.cloud_space_id_versions_body import CloudSpaceIdVersionsBody
42
42
  from lightning_sdk.lightning_cloud.openapi.models.cloudspace_id_metric_body import CloudspaceIdMetricBody
43
43
  from lightning_sdk.lightning_cloud.openapi.models.cloudspace_id_runs_body import CloudspaceIdRunsBody
44
+ from lightning_sdk.lightning_cloud.openapi.models.cloudspace_id_systemmetrics_body import CloudspaceIdSystemmetricsBody
44
45
  from lightning_sdk.lightning_cloud.openapi.models.cloudspaces_id_body import CloudspacesIdBody
45
46
  from lightning_sdk.lightning_cloud.openapi.models.cluster_id_capacityblock_body import ClusterIdCapacityblockBody
46
47
  from lightning_sdk.lightning_cloud.openapi.models.cluster_id_capacityreservations_body import ClusterIdCapacityreservationsBody
@@ -453,6 +454,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_get_agent_job_env_response
453
454
  from lightning_sdk.lightning_cloud.openapi.models.v1_get_agent_job_logs_metadata_response import V1GetAgentJobLogsMetadataResponse
454
455
  from lightning_sdk.lightning_cloud.openapi.models.v1_get_artifacts_page_response import V1GetArtifactsPageResponse
455
456
  from lightning_sdk.lightning_cloud.openapi.models.v1_get_cloud_space_instance_status_response import V1GetCloudSpaceInstanceStatusResponse
457
+ from lightning_sdk.lightning_cloud.openapi.models.v1_get_cloud_space_instance_system_metrics_aggregate_response import V1GetCloudSpaceInstanceSystemMetricsAggregateResponse
456
458
  from lightning_sdk.lightning_cloud.openapi.models.v1_get_cloud_space_size_response import V1GetCloudSpaceSizeResponse
457
459
  from lightning_sdk.lightning_cloud.openapi.models.v1_get_cluster_accelerator_demand_response import V1GetClusterAcceleratorDemandResponse
458
460
  from lightning_sdk.lightning_cloud.openapi.models.v1_get_cluster_credentials_response import V1GetClusterCredentialsResponse
@@ -733,6 +735,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_refresh_response import V1R
733
735
  from lightning_sdk.lightning_cloud.openapi.models.v1_region_state import V1RegionState
734
736
  from lightning_sdk.lightning_cloud.openapi.models.v1_regional_load_balancer import V1RegionalLoadBalancer
735
737
  from lightning_sdk.lightning_cloud.openapi.models.v1_report_cloud_space_instance_stop_at_response import V1ReportCloudSpaceInstanceStopAtResponse
738
+ from lightning_sdk.lightning_cloud.openapi.models.v1_report_cloud_space_instance_system_metrics_response import V1ReportCloudSpaceInstanceSystemMetricsResponse
736
739
  from lightning_sdk.lightning_cloud.openapi.models.v1_report_logs_activity_response import V1ReportLogsActivityResponse
737
740
  from lightning_sdk.lightning_cloud.openapi.models.v1_report_restart_timings_response import V1ReportRestartTimingsResponse
738
741
  from lightning_sdk.lightning_cloud.openapi.models.v1_request_cluster_access_request import V1RequestClusterAccessRequest
@@ -798,6 +801,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_subnet_spec import V1Subnet
798
801
  from lightning_sdk.lightning_cloud.openapi.models.v1_switch_cloud_space_instance_response import V1SwitchCloudSpaceInstanceResponse
799
802
  from lightning_sdk.lightning_cloud.openapi.models.v1_system_info import V1SystemInfo
800
803
  from lightning_sdk.lightning_cloud.openapi.models.v1_system_metrics import V1SystemMetrics
804
+ from lightning_sdk.lightning_cloud.openapi.models.v1_system_metrics_aggregated import V1SystemMetricsAggregated
801
805
  from lightning_sdk.lightning_cloud.openapi.models.v1_system_metrics_list import V1SystemMetricsList
802
806
  from lightning_sdk.lightning_cloud.openapi.models.v1_telemetry import V1Telemetry
803
807
  from lightning_sdk.lightning_cloud.openapi.models.v1_timestamp_code_telemetry import V1TimestampCodeTelemetry
@@ -861,6 +865,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_verify_verification_respons
861
865
  from lightning_sdk.lightning_cloud.openapi.models.v1_voltage_park_direct_v1 import V1VoltageParkDirectV1
862
866
  from lightning_sdk.lightning_cloud.openapi.models.v1_volume import V1Volume
863
867
  from lightning_sdk.lightning_cloud.openapi.models.v1_vultr_direct_v1 import V1VultrDirectV1
868
+ from lightning_sdk.lightning_cloud.openapi.models.v1_weka_data_connection import V1WekaDataConnection
864
869
  from lightning_sdk.lightning_cloud.openapi.models.v1_work import V1Work
865
870
  from lightning_sdk.lightning_cloud.openapi.models.validate import Validate
866
871
  from lightning_sdk.lightning_cloud.openapi.models.validateautojoindomain_domain_body import ValidateautojoindomainDomainBody
@@ -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 CloudspaceIdSystemmetricsBody(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
+ 'cloudspace_instance_id': 'str',
45
+ 'metrics': 'list[V1SystemMetrics]'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'cloudspace_instance_id': 'cloudspaceInstanceId',
50
+ 'metrics': 'metrics'
51
+ }
52
+
53
+ def __init__(self, cloudspace_instance_id: 'str' =None, metrics: 'list[V1SystemMetrics]' =None): # noqa: E501
54
+ """CloudspaceIdSystemmetricsBody - a model defined in Swagger""" # noqa: E501
55
+ self._cloudspace_instance_id = None
56
+ self._metrics = None
57
+ self.discriminator = None
58
+ if cloudspace_instance_id is not None:
59
+ self.cloudspace_instance_id = cloudspace_instance_id
60
+ if metrics is not None:
61
+ self.metrics = metrics
62
+
63
+ @property
64
+ def cloudspace_instance_id(self) -> 'str':
65
+ """Gets the cloudspace_instance_id of this CloudspaceIdSystemmetricsBody. # noqa: E501
66
+
67
+
68
+ :return: The cloudspace_instance_id of this CloudspaceIdSystemmetricsBody. # noqa: E501
69
+ :rtype: str
70
+ """
71
+ return self._cloudspace_instance_id
72
+
73
+ @cloudspace_instance_id.setter
74
+ def cloudspace_instance_id(self, cloudspace_instance_id: 'str'):
75
+ """Sets the cloudspace_instance_id of this CloudspaceIdSystemmetricsBody.
76
+
77
+
78
+ :param cloudspace_instance_id: The cloudspace_instance_id of this CloudspaceIdSystemmetricsBody. # noqa: E501
79
+ :type: str
80
+ """
81
+
82
+ self._cloudspace_instance_id = cloudspace_instance_id
83
+
84
+ @property
85
+ def metrics(self) -> 'list[V1SystemMetrics]':
86
+ """Gets the metrics of this CloudspaceIdSystemmetricsBody. # noqa: E501
87
+
88
+
89
+ :return: The metrics of this CloudspaceIdSystemmetricsBody. # noqa: E501
90
+ :rtype: list[V1SystemMetrics]
91
+ """
92
+ return self._metrics
93
+
94
+ @metrics.setter
95
+ def metrics(self, metrics: 'list[V1SystemMetrics]'):
96
+ """Sets the metrics of this CloudspaceIdSystemmetricsBody.
97
+
98
+
99
+ :param metrics: The metrics of this CloudspaceIdSystemmetricsBody. # noqa: E501
100
+ :type: list[V1SystemMetrics]
101
+ """
102
+
103
+ self._metrics = metrics
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(CloudspaceIdSystemmetricsBody, 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: 'CloudspaceIdSystemmetricsBody') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, CloudspaceIdSystemmetricsBody):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'CloudspaceIdSystemmetricsBody') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other
@@ -41,6 +41,7 @@ class V1BillingTier(object):
41
41
  PRO = "Pro"
42
42
  TEAMS = "Teams"
43
43
  ENTERPRISE = "Enterprise"
44
+ DISCOUNTED_PRO = "Discounted_Pro"
44
45
  """
45
46
  Attributes:
46
47
  swagger_types (dict): The key is attribute name
@@ -47,11 +47,13 @@ class V1CloudSpaceColdStartMetrics(object):
47
47
  'container_started_at': 'datetime',
48
48
  'created_at': 'datetime',
49
49
  'deleted_at': 'datetime',
50
+ 'display_name': 'str',
50
51
  'docker_availability_ended_at': 'datetime',
51
52
  'docker_availability_started_at': 'datetime',
52
53
  'image_pulling_ended_at': 'datetime',
53
54
  'image_pulling_started_at': 'datetime',
54
55
  'instance_type': 'str',
56
+ 'is_studio_deleted': 'bool',
55
57
  'overprovisioned': 'bool',
56
58
  'progress_bar_ended_at': 'datetime',
57
59
  'project_id': 'str',
@@ -70,11 +72,13 @@ class V1CloudSpaceColdStartMetrics(object):
70
72
  'container_started_at': 'containerStartedAt',
71
73
  'created_at': 'createdAt',
72
74
  'deleted_at': 'deletedAt',
75
+ 'display_name': 'displayName',
73
76
  'docker_availability_ended_at': 'dockerAvailabilityEndedAt',
74
77
  'docker_availability_started_at': 'dockerAvailabilityStartedAt',
75
78
  'image_pulling_ended_at': 'imagePullingEndedAt',
76
79
  'image_pulling_started_at': 'imagePullingStartedAt',
77
80
  'instance_type': 'instanceType',
81
+ 'is_studio_deleted': 'isStudioDeleted',
78
82
  'overprovisioned': 'overprovisioned',
79
83
  'progress_bar_ended_at': 'progressBarEndedAt',
80
84
  'project_id': 'projectId',
@@ -86,7 +90,7 @@ class V1CloudSpaceColdStartMetrics(object):
86
90
  'user_id': 'userId'
87
91
  }
88
92
 
89
- def __init__(self, cloudspace_id: 'str' =None, cloudspace_instance_id: 'str' =None, cluster_id: 'str' =None, container_started_at: 'datetime' =None, created_at: 'datetime' =None, deleted_at: 'datetime' =None, docker_availability_ended_at: 'datetime' =None, docker_availability_started_at: 'datetime' =None, image_pulling_ended_at: 'datetime' =None, image_pulling_started_at: 'datetime' =None, instance_type: 'str' =None, overprovisioned: 'bool' =None, progress_bar_ended_at: 'datetime' =None, project_id: 'str' =None, resources: 'V1Resources' =None, spot: 'bool' =None, started_at: 'datetime' =None, stop_at: 'datetime' =None, stopped_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
93
+ def __init__(self, cloudspace_id: 'str' =None, cloudspace_instance_id: 'str' =None, cluster_id: 'str' =None, container_started_at: 'datetime' =None, created_at: 'datetime' =None, deleted_at: 'datetime' =None, display_name: 'str' =None, docker_availability_ended_at: 'datetime' =None, docker_availability_started_at: 'datetime' =None, image_pulling_ended_at: 'datetime' =None, image_pulling_started_at: 'datetime' =None, instance_type: 'str' =None, is_studio_deleted: 'bool' =None, overprovisioned: 'bool' =None, progress_bar_ended_at: 'datetime' =None, project_id: 'str' =None, resources: 'V1Resources' =None, spot: 'bool' =None, started_at: 'datetime' =None, stop_at: 'datetime' =None, stopped_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
90
94
  """V1CloudSpaceColdStartMetrics - a model defined in Swagger""" # noqa: E501
91
95
  self._cloudspace_id = None
92
96
  self._cloudspace_instance_id = None
@@ -94,11 +98,13 @@ class V1CloudSpaceColdStartMetrics(object):
94
98
  self._container_started_at = None
95
99
  self._created_at = None
96
100
  self._deleted_at = None
101
+ self._display_name = None
97
102
  self._docker_availability_ended_at = None
98
103
  self._docker_availability_started_at = None
99
104
  self._image_pulling_ended_at = None
100
105
  self._image_pulling_started_at = None
101
106
  self._instance_type = None
107
+ self._is_studio_deleted = None
102
108
  self._overprovisioned = None
103
109
  self._progress_bar_ended_at = None
104
110
  self._project_id = None
@@ -121,6 +127,8 @@ class V1CloudSpaceColdStartMetrics(object):
121
127
  self.created_at = created_at
122
128
  if deleted_at is not None:
123
129
  self.deleted_at = deleted_at
130
+ if display_name is not None:
131
+ self.display_name = display_name
124
132
  if docker_availability_ended_at is not None:
125
133
  self.docker_availability_ended_at = docker_availability_ended_at
126
134
  if docker_availability_started_at is not None:
@@ -131,6 +139,8 @@ class V1CloudSpaceColdStartMetrics(object):
131
139
  self.image_pulling_started_at = image_pulling_started_at
132
140
  if instance_type is not None:
133
141
  self.instance_type = instance_type
142
+ if is_studio_deleted is not None:
143
+ self.is_studio_deleted = is_studio_deleted
134
144
  if overprovisioned is not None:
135
145
  self.overprovisioned = overprovisioned
136
146
  if progress_bar_ended_at is not None:
@@ -276,6 +286,27 @@ class V1CloudSpaceColdStartMetrics(object):
276
286
 
277
287
  self._deleted_at = deleted_at
278
288
 
289
+ @property
290
+ def display_name(self) -> 'str':
291
+ """Gets the display_name of this V1CloudSpaceColdStartMetrics. # noqa: E501
292
+
293
+
294
+ :return: The display_name of this V1CloudSpaceColdStartMetrics. # noqa: E501
295
+ :rtype: str
296
+ """
297
+ return self._display_name
298
+
299
+ @display_name.setter
300
+ def display_name(self, display_name: 'str'):
301
+ """Sets the display_name of this V1CloudSpaceColdStartMetrics.
302
+
303
+
304
+ :param display_name: The display_name of this V1CloudSpaceColdStartMetrics. # noqa: E501
305
+ :type: str
306
+ """
307
+
308
+ self._display_name = display_name
309
+
279
310
  @property
280
311
  def docker_availability_ended_at(self) -> 'datetime':
281
312
  """Gets the docker_availability_ended_at of this V1CloudSpaceColdStartMetrics. # noqa: E501
@@ -381,6 +412,27 @@ class V1CloudSpaceColdStartMetrics(object):
381
412
 
382
413
  self._instance_type = instance_type
383
414
 
415
+ @property
416
+ def is_studio_deleted(self) -> 'bool':
417
+ """Gets the is_studio_deleted of this V1CloudSpaceColdStartMetrics. # noqa: E501
418
+
419
+
420
+ :return: The is_studio_deleted of this V1CloudSpaceColdStartMetrics. # noqa: E501
421
+ :rtype: bool
422
+ """
423
+ return self._is_studio_deleted
424
+
425
+ @is_studio_deleted.setter
426
+ def is_studio_deleted(self, is_studio_deleted: 'bool'):
427
+ """Sets the is_studio_deleted of this V1CloudSpaceColdStartMetrics.
428
+
429
+
430
+ :param is_studio_deleted: The is_studio_deleted of this V1CloudSpaceColdStartMetrics. # noqa: E501
431
+ :type: bool
432
+ """
433
+
434
+ self._is_studio_deleted = is_studio_deleted
435
+
384
436
  @property
385
437
  def overprovisioned(self) -> 'bool':
386
438
  """Gets the overprovisioned of this V1CloudSpaceColdStartMetrics. # noqa: E501
@@ -44,6 +44,7 @@ class V1ClusterSecurityOptions(object):
44
44
  'bucket_kms_key': 'str',
45
45
  'containers_non_privileged': 'bool',
46
46
  'disable_public_ip': 'bool',
47
+ 'disabled_services': 'list[str]',
47
48
  'encrypt_cluster_bucket': 'bool',
48
49
  'encrypt_instance_volumes': 'bool',
49
50
  'extra_firewall_cidr_ranges': 'list[str]',
@@ -59,6 +60,7 @@ class V1ClusterSecurityOptions(object):
59
60
  'bucket_kms_key': 'bucketKmsKey',
60
61
  'containers_non_privileged': 'containersNonPrivileged',
61
62
  'disable_public_ip': 'disablePublicIp',
63
+ 'disabled_services': 'disabledServices',
62
64
  'encrypt_cluster_bucket': 'encryptClusterBucket',
63
65
  'encrypt_instance_volumes': 'encryptInstanceVolumes',
64
66
  'extra_firewall_cidr_ranges': 'extraFirewallCidrRanges',
@@ -70,11 +72,12 @@ class V1ClusterSecurityOptions(object):
70
72
  'ssh_disabled': 'sshDisabled'
71
73
  }
72
74
 
73
- def __init__(self, bucket_kms_key: 'str' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =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
75
+ def __init__(self, bucket_kms_key: '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, 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
74
76
  """V1ClusterSecurityOptions - a model defined in Swagger""" # noqa: E501
75
77
  self._bucket_kms_key = None
76
78
  self._containers_non_privileged = None
77
79
  self._disable_public_ip = None
80
+ self._disabled_services = None
78
81
  self._encrypt_cluster_bucket = None
79
82
  self._encrypt_instance_volumes = None
80
83
  self._extra_firewall_cidr_ranges = None
@@ -91,6 +94,8 @@ class V1ClusterSecurityOptions(object):
91
94
  self.containers_non_privileged = containers_non_privileged
92
95
  if disable_public_ip is not None:
93
96
  self.disable_public_ip = disable_public_ip
97
+ if disabled_services is not None:
98
+ self.disabled_services = disabled_services
94
99
  if encrypt_cluster_bucket is not None:
95
100
  self.encrypt_cluster_bucket = encrypt_cluster_bucket
96
101
  if encrypt_instance_volumes is not None:
@@ -173,6 +178,27 @@ class V1ClusterSecurityOptions(object):
173
178
 
174
179
  self._disable_public_ip = disable_public_ip
175
180
 
181
+ @property
182
+ def disabled_services(self) -> 'list[str]':
183
+ """Gets the disabled_services of this V1ClusterSecurityOptions. # noqa: E501
184
+
185
+
186
+ :return: The disabled_services of this V1ClusterSecurityOptions. # noqa: E501
187
+ :rtype: list[str]
188
+ """
189
+ return self._disabled_services
190
+
191
+ @disabled_services.setter
192
+ def disabled_services(self, disabled_services: 'list[str]'):
193
+ """Sets the disabled_services of this V1ClusterSecurityOptions.
194
+
195
+
196
+ :param disabled_services: The disabled_services of this V1ClusterSecurityOptions. # noqa: E501
197
+ :type: list[str]
198
+ """
199
+
200
+ self._disabled_services = disabled_services
201
+
176
202
  @property
177
203
  def encrypt_cluster_bucket(self) -> 'bool':
178
204
  """Gets the encrypt_cluster_bucket of this V1ClusterSecurityOptions. # noqa: E501