lightning-sdk 2025.12.17__py3-none-any.whl → 2026.1.22__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 (99) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/k8s_api.py +75 -29
  3. lightning_sdk/api/studio_api.py +195 -33
  4. lightning_sdk/api/teamspace_api.py +28 -9
  5. lightning_sdk/cli/cp/__init__.py +64 -0
  6. lightning_sdk/cli/entrypoint.py +2 -0
  7. lightning_sdk/cli/groups.py +22 -0
  8. lightning_sdk/cli/legacy/clusters_menu.py +2 -2
  9. lightning_sdk/cli/legacy/deploy/_auth.py +7 -6
  10. lightning_sdk/cli/legacy/run.py +13 -2
  11. lightning_sdk/cli/studio/__init__.py +4 -0
  12. lightning_sdk/cli/studio/cp.py +20 -64
  13. lightning_sdk/cli/studio/ls.py +57 -0
  14. lightning_sdk/cli/studio/rm.py +71 -0
  15. lightning_sdk/cli/utils/logging.py +2 -1
  16. lightning_sdk/cli/utils/studio_filesystem.py +65 -0
  17. lightning_sdk/cli/utils/teamspace_selection.py +5 -0
  18. lightning_sdk/exceptions.py +4 -0
  19. lightning_sdk/job/base.py +1 -1
  20. lightning_sdk/k8s_cluster.py +9 -10
  21. lightning_sdk/lightning_cloud/__version__.py +1 -1
  22. lightning_sdk/lightning_cloud/openapi/__init__.py +29 -11
  23. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -1
  24. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
  25. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +268 -123
  26. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
  27. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
  28. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
  29. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
  30. lightning_sdk/lightning_cloud/openapi/api/{kubernetes_virtual_machine_service_api.py → virtual_machine_service_api.py} +82 -82
  31. lightning_sdk/lightning_cloud/openapi/models/__init__.py +28 -10
  32. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
  33. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +53 -1
  34. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
  35. lightning_sdk/lightning_cloud/openapi/models/cluster_service_report_machine_system_metrics_body.py +123 -0
  36. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  37. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
  38. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
  39. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -27
  46. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
  50. lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_cudo_direct_v1.py} +51 -51
  51. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_kubernetes_virtual_machine_response.py → v1_delete_lit_logger_media_response.py} +6 -6
  52. lightning_sdk/lightning_cloud/openapi/models/{kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py → v1_delete_virtual_machine_response.py} +6 -6
  53. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
  54. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  55. lightning_sdk/lightning_cloud/openapi/models/v1_get_kubernetes_pod_logs_response.py +149 -0
  56. lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
  57. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
  59. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_setting.py +149 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
  61. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
  64. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +53 -1
  66. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
  67. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
  69. lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
  70. lightning_sdk/lightning_cloud/openapi/models/{v1_list_kubernetes_virtual_machines_response.py → v1_list_virtual_machines_response.py} +16 -16
  71. lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
  72. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -53
  73. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
  74. lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  76. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  77. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_idle_state_response.py +97 -0
  78. lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
  79. lightning_sdk/lightning_cloud/openapi/models/v1_tenant_credentials.py +201 -0
  80. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +157 -131
  81. lightning_sdk/lightning_cloud/openapi/models/{v1_kubernetes_virtual_machine.py → v1_virtual_machine.py} +94 -68
  82. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_vm_configuration.py → v1_vm_configuration.py} +20 -20
  83. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_provider_configuration.py → v1_vm_provider_configuration.py} +32 -32
  84. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
  85. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
  86. lightning_sdk/lightning_cloud/rest_client.py +0 -2
  87. lightning_sdk/machine.py +3 -3
  88. lightning_sdk/studio.py +14 -4
  89. lightning_sdk/utils/logging.py +2 -1
  90. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/METADATA +1 -5
  91. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/RECORD +95 -75
  92. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/WHEEL +1 -1
  93. lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
  94. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +0 -513
  95. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +0 -201
  96. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
  97. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/LICENSE +0 -0
  98. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/entry_points.txt +0 -0
  99. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.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 V1K8sIncidentSetting(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
+ 'enabled': 'bool',
45
+ 'type': 'V1K8sIncidentType'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'enabled': 'enabled',
50
+ 'type': 'type'
51
+ }
52
+
53
+ def __init__(self, enabled: 'bool' =None, type: 'V1K8sIncidentType' =None): # noqa: E501
54
+ """V1K8sIncidentSetting - a model defined in Swagger""" # noqa: E501
55
+ self._enabled = None
56
+ self._type = None
57
+ self.discriminator = None
58
+ if enabled is not None:
59
+ self.enabled = enabled
60
+ if type is not None:
61
+ self.type = type
62
+
63
+ @property
64
+ def enabled(self) -> 'bool':
65
+ """Gets the enabled of this V1K8sIncidentSetting. # noqa: E501
66
+
67
+
68
+ :return: The enabled of this V1K8sIncidentSetting. # noqa: E501
69
+ :rtype: bool
70
+ """
71
+ return self._enabled
72
+
73
+ @enabled.setter
74
+ def enabled(self, enabled: 'bool'):
75
+ """Sets the enabled of this V1K8sIncidentSetting.
76
+
77
+
78
+ :param enabled: The enabled of this V1K8sIncidentSetting. # noqa: E501
79
+ :type: bool
80
+ """
81
+
82
+ self._enabled = enabled
83
+
84
+ @property
85
+ def type(self) -> 'V1K8sIncidentType':
86
+ """Gets the type of this V1K8sIncidentSetting. # noqa: E501
87
+
88
+
89
+ :return: The type of this V1K8sIncidentSetting. # noqa: E501
90
+ :rtype: V1K8sIncidentType
91
+ """
92
+ return self._type
93
+
94
+ @type.setter
95
+ def type(self, type: 'V1K8sIncidentType'):
96
+ """Sets the type of this V1K8sIncidentSetting.
97
+
98
+
99
+ :param type: The type of this V1K8sIncidentSetting. # noqa: E501
100
+ :type: V1K8sIncidentType
101
+ """
102
+
103
+ self._type = type
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(V1K8sIncidentSetting, 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: 'V1K8sIncidentSetting') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1K8sIncidentSetting):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1K8sIncidentSetting') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other
@@ -0,0 +1,108 @@
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 V1K8sIncidentType(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
+ """
38
+ allowed enum values
39
+ """
40
+ K8S_HIGH_TEMPERATURE = "K8S_HIGH_TEMPERATURE"
41
+ K8S_UNSCHEDULABLE_GPUS = "K8S_UNSCHEDULABLE_GPUS"
42
+ K8S_KUBELET_FAILURE = "K8S_KUBELET_FAILURE"
43
+ K8S_XID_GPU_ERROR = "K8S_XID_GPU_ERROR"
44
+ K8S_UNSCHEDULABLE_NODES = "K8S_UNSCHEDULABLE_NODES"
45
+ K8S_HIGH_NFS_STORAGE = "K8S_HIGH_NFS_STORAGE"
46
+ USER_REPORTED = "USER_REPORTED"
47
+ """
48
+ Attributes:
49
+ swagger_types (dict): The key is attribute name
50
+ and the value is attribute type.
51
+ attribute_map (dict): The key is attribute name
52
+ and the value is json key in definition.
53
+ """
54
+ swagger_types = {
55
+ }
56
+
57
+ attribute_map = {
58
+ }
59
+
60
+ def __init__(self): # noqa: E501
61
+ """V1K8sIncidentType - a model defined in Swagger""" # noqa: E501
62
+ self.discriminator = None
63
+
64
+ def to_dict(self) -> dict:
65
+ """Returns the model properties as a dict"""
66
+ result = {}
67
+
68
+ for attr, _ in six.iteritems(self.swagger_types):
69
+ value = getattr(self, attr)
70
+ if isinstance(value, list):
71
+ result[attr] = list(map(
72
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
73
+ value
74
+ ))
75
+ elif hasattr(value, "to_dict"):
76
+ result[attr] = value.to_dict()
77
+ elif isinstance(value, dict):
78
+ result[attr] = dict(map(
79
+ lambda item: (item[0], item[1].to_dict())
80
+ if hasattr(item[1], "to_dict") else item,
81
+ value.items()
82
+ ))
83
+ else:
84
+ result[attr] = value
85
+ if issubclass(V1K8sIncidentType, dict):
86
+ for key, value in self.items():
87
+ result[key] = value
88
+
89
+ return result
90
+
91
+ def to_str(self) -> str:
92
+ """Returns the string representation of the model"""
93
+ return pprint.pformat(self.to_dict())
94
+
95
+ def __repr__(self) -> str:
96
+ """For `print` and `pprint`"""
97
+ return self.to_str()
98
+
99
+ def __eq__(self, other: 'V1K8sIncidentType') -> bool:
100
+ """Returns true if both objects are equal"""
101
+ if not isinstance(other, V1K8sIncidentType):
102
+ return False
103
+
104
+ return self.__dict__ == other.__dict__
105
+
106
+ def __ne__(self, other: 'V1K8sIncidentType') -> bool:
107
+ """Returns true if both objects are not equal"""
108
+ return not self == other
@@ -42,8 +42,10 @@ class V1KubernetesDirectSettingsV1(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'daily_usage_report': 'bool',
45
+ 'disable_pods_collection': 'bool',
45
46
  'monthly_usage_report': 'bool',
46
47
  'nfs_storage_threshold': 'float',
48
+ 'persist_pods_logs': 'bool',
47
49
  'slack_channel_id': 'str',
48
50
  'temperature_threshold': 'float',
49
51
  'weekly_usage_report': 'bool'
@@ -51,28 +53,36 @@ class V1KubernetesDirectSettingsV1(object):
51
53
 
52
54
  attribute_map = {
53
55
  'daily_usage_report': 'dailyUsageReport',
56
+ 'disable_pods_collection': 'disablePodsCollection',
54
57
  'monthly_usage_report': 'monthlyUsageReport',
55
58
  'nfs_storage_threshold': 'nfsStorageThreshold',
59
+ 'persist_pods_logs': 'persistPodsLogs',
56
60
  'slack_channel_id': 'slackChannelId',
57
61
  'temperature_threshold': 'temperatureThreshold',
58
62
  'weekly_usage_report': 'weeklyUsageReport'
59
63
  }
60
64
 
61
- def __init__(self, daily_usage_report: 'bool' =None, monthly_usage_report: 'bool' =None, nfs_storage_threshold: 'float' =None, slack_channel_id: 'str' =None, temperature_threshold: 'float' =None, weekly_usage_report: 'bool' =None): # noqa: E501
65
+ def __init__(self, daily_usage_report: 'bool' =None, disable_pods_collection: 'bool' =None, monthly_usage_report: 'bool' =None, nfs_storage_threshold: 'float' =None, persist_pods_logs: 'bool' =None, slack_channel_id: 'str' =None, temperature_threshold: 'float' =None, weekly_usage_report: 'bool' =None): # noqa: E501
62
66
  """V1KubernetesDirectSettingsV1 - a model defined in Swagger""" # noqa: E501
63
67
  self._daily_usage_report = None
68
+ self._disable_pods_collection = None
64
69
  self._monthly_usage_report = None
65
70
  self._nfs_storage_threshold = None
71
+ self._persist_pods_logs = None
66
72
  self._slack_channel_id = None
67
73
  self._temperature_threshold = None
68
74
  self._weekly_usage_report = None
69
75
  self.discriminator = None
70
76
  if daily_usage_report is not None:
71
77
  self.daily_usage_report = daily_usage_report
78
+ if disable_pods_collection is not None:
79
+ self.disable_pods_collection = disable_pods_collection
72
80
  if monthly_usage_report is not None:
73
81
  self.monthly_usage_report = monthly_usage_report
74
82
  if nfs_storage_threshold is not None:
75
83
  self.nfs_storage_threshold = nfs_storage_threshold
84
+ if persist_pods_logs is not None:
85
+ self.persist_pods_logs = persist_pods_logs
76
86
  if slack_channel_id is not None:
77
87
  self.slack_channel_id = slack_channel_id
78
88
  if temperature_threshold is not None:
@@ -101,6 +111,27 @@ class V1KubernetesDirectSettingsV1(object):
101
111
 
102
112
  self._daily_usage_report = daily_usage_report
103
113
 
114
+ @property
115
+ def disable_pods_collection(self) -> 'bool':
116
+ """Gets the disable_pods_collection of this V1KubernetesDirectSettingsV1. # noqa: E501
117
+
118
+
119
+ :return: The disable_pods_collection of this V1KubernetesDirectSettingsV1. # noqa: E501
120
+ :rtype: bool
121
+ """
122
+ return self._disable_pods_collection
123
+
124
+ @disable_pods_collection.setter
125
+ def disable_pods_collection(self, disable_pods_collection: 'bool'):
126
+ """Sets the disable_pods_collection of this V1KubernetesDirectSettingsV1.
127
+
128
+
129
+ :param disable_pods_collection: The disable_pods_collection of this V1KubernetesDirectSettingsV1. # noqa: E501
130
+ :type: bool
131
+ """
132
+
133
+ self._disable_pods_collection = disable_pods_collection
134
+
104
135
  @property
105
136
  def monthly_usage_report(self) -> 'bool':
106
137
  """Gets the monthly_usage_report of this V1KubernetesDirectSettingsV1. # noqa: E501
@@ -143,6 +174,27 @@ class V1KubernetesDirectSettingsV1(object):
143
174
 
144
175
  self._nfs_storage_threshold = nfs_storage_threshold
145
176
 
177
+ @property
178
+ def persist_pods_logs(self) -> 'bool':
179
+ """Gets the persist_pods_logs of this V1KubernetesDirectSettingsV1. # noqa: E501
180
+
181
+
182
+ :return: The persist_pods_logs of this V1KubernetesDirectSettingsV1. # noqa: E501
183
+ :rtype: bool
184
+ """
185
+ return self._persist_pods_logs
186
+
187
+ @persist_pods_logs.setter
188
+ def persist_pods_logs(self, persist_pods_logs: 'bool'):
189
+ """Sets the persist_pods_logs of this V1KubernetesDirectSettingsV1.
190
+
191
+
192
+ :param persist_pods_logs: The persist_pods_logs of this V1KubernetesDirectSettingsV1. # noqa: E501
193
+ :type: bool
194
+ """
195
+
196
+ self._persist_pods_logs = persist_pods_logs
197
+
146
198
  @property
147
199
  def slack_channel_id(self) -> 'str':
148
200
  """Gets the slack_channel_id of this V1KubernetesDirectSettingsV1. # noqa: E501
@@ -48,6 +48,8 @@ class V1KubernetesDirectV1(object):
48
48
  'grafana_namespace': 'str',
49
49
  'grafana_service_name': 'str',
50
50
  'grafana_service_port': 'str',
51
+ 'incident_alert_notifications': 'list[V1K8sIncidentSetting]',
52
+ 'incident_auto_cordon': 'list[V1K8sIncidentSetting]',
51
53
  'incident_historical_scan_complete': 'bool',
52
54
  'incident_slack_notifiers': 'list[V1SlackNotifier]',
53
55
  'kubeconfig': 'str',
@@ -66,6 +68,8 @@ class V1KubernetesDirectV1(object):
66
68
  'grafana_namespace': 'grafanaNamespace',
67
69
  'grafana_service_name': 'grafanaServiceName',
68
70
  'grafana_service_port': 'grafanaServicePort',
71
+ 'incident_alert_notifications': 'incidentAlertNotifications',
72
+ 'incident_auto_cordon': 'incidentAutoCordon',
69
73
  'incident_historical_scan_complete': 'incidentHistoricalScanComplete',
70
74
  'incident_slack_notifiers': 'incidentSlackNotifiers',
71
75
  'kubeconfig': 'kubeconfig',
@@ -76,7 +80,7 @@ class V1KubernetesDirectV1(object):
76
80
  'skip_user_label_injection': 'skipUserLabelInjection'
77
81
  }
78
82
 
79
- def __init__(self, automate_agent_installation: 'bool' =None, aws: 'V1KubernetesAWSConfig' =None, container_registry_integration: 'V1ContainerRegistryIntegration' =None, grafana_dashboard_url: 'str' =None, grafana_namespace: 'str' =None, grafana_service_name: 'str' =None, grafana_service_port: 'str' =None, incident_historical_scan_complete: 'bool' =None, incident_slack_notifiers: 'list[V1SlackNotifier]' =None, kubeconfig: 'str' =None, kubeconfig_elevated: 'str' =None, kubevirt_config: 'V1KubevirtConfig' =None, prometheus_url: 'str' =None, settings: 'V1KubernetesDirectSettingsV1' =None, skip_user_label_injection: 'bool' =None): # noqa: E501
83
+ def __init__(self, automate_agent_installation: 'bool' =None, aws: 'V1KubernetesAWSConfig' =None, container_registry_integration: 'V1ContainerRegistryIntegration' =None, grafana_dashboard_url: 'str' =None, grafana_namespace: 'str' =None, grafana_service_name: 'str' =None, grafana_service_port: 'str' =None, incident_alert_notifications: 'list[V1K8sIncidentSetting]' =None, incident_auto_cordon: 'list[V1K8sIncidentSetting]' =None, incident_historical_scan_complete: 'bool' =None, incident_slack_notifiers: 'list[V1SlackNotifier]' =None, kubeconfig: 'str' =None, kubeconfig_elevated: 'str' =None, kubevirt_config: 'V1KubevirtConfig' =None, prometheus_url: 'str' =None, settings: 'V1KubernetesDirectSettingsV1' =None, skip_user_label_injection: 'bool' =None): # noqa: E501
80
84
  """V1KubernetesDirectV1 - a model defined in Swagger""" # noqa: E501
81
85
  self._automate_agent_installation = None
82
86
  self._aws = None
@@ -85,6 +89,8 @@ class V1KubernetesDirectV1(object):
85
89
  self._grafana_namespace = None
86
90
  self._grafana_service_name = None
87
91
  self._grafana_service_port = None
92
+ self._incident_alert_notifications = None
93
+ self._incident_auto_cordon = None
88
94
  self._incident_historical_scan_complete = None
89
95
  self._incident_slack_notifiers = None
90
96
  self._kubeconfig = None
@@ -108,6 +114,10 @@ class V1KubernetesDirectV1(object):
108
114
  self.grafana_service_name = grafana_service_name
109
115
  if grafana_service_port is not None:
110
116
  self.grafana_service_port = grafana_service_port
117
+ if incident_alert_notifications is not None:
118
+ self.incident_alert_notifications = incident_alert_notifications
119
+ if incident_auto_cordon is not None:
120
+ self.incident_auto_cordon = incident_auto_cordon
111
121
  if incident_historical_scan_complete is not None:
112
122
  self.incident_historical_scan_complete = incident_historical_scan_complete
113
123
  if incident_slack_notifiers is not None:
@@ -272,6 +282,48 @@ class V1KubernetesDirectV1(object):
272
282
 
273
283
  self._grafana_service_port = grafana_service_port
274
284
 
285
+ @property
286
+ def incident_alert_notifications(self) -> 'list[V1K8sIncidentSetting]':
287
+ """Gets the incident_alert_notifications of this V1KubernetesDirectV1. # noqa: E501
288
+
289
+
290
+ :return: The incident_alert_notifications of this V1KubernetesDirectV1. # noqa: E501
291
+ :rtype: list[V1K8sIncidentSetting]
292
+ """
293
+ return self._incident_alert_notifications
294
+
295
+ @incident_alert_notifications.setter
296
+ def incident_alert_notifications(self, incident_alert_notifications: 'list[V1K8sIncidentSetting]'):
297
+ """Sets the incident_alert_notifications of this V1KubernetesDirectV1.
298
+
299
+
300
+ :param incident_alert_notifications: The incident_alert_notifications of this V1KubernetesDirectV1. # noqa: E501
301
+ :type: list[V1K8sIncidentSetting]
302
+ """
303
+
304
+ self._incident_alert_notifications = incident_alert_notifications
305
+
306
+ @property
307
+ def incident_auto_cordon(self) -> 'list[V1K8sIncidentSetting]':
308
+ """Gets the incident_auto_cordon of this V1KubernetesDirectV1. # noqa: E501
309
+
310
+
311
+ :return: The incident_auto_cordon of this V1KubernetesDirectV1. # noqa: E501
312
+ :rtype: list[V1K8sIncidentSetting]
313
+ """
314
+ return self._incident_auto_cordon
315
+
316
+ @incident_auto_cordon.setter
317
+ def incident_auto_cordon(self, incident_auto_cordon: 'list[V1K8sIncidentSetting]'):
318
+ """Sets the incident_auto_cordon of this V1KubernetesDirectV1.
319
+
320
+
321
+ :param incident_auto_cordon: The incident_auto_cordon of this V1KubernetesDirectV1. # noqa: E501
322
+ :type: list[V1K8sIncidentSetting]
323
+ """
324
+
325
+ self._incident_auto_cordon = incident_auto_cordon
326
+
275
327
  @property
276
328
  def incident_historical_scan_complete(self) -> 'bool':
277
329
  """Gets the incident_historical_scan_complete of this V1KubernetesDirectV1. # noqa: E501
@@ -50,6 +50,7 @@ class V1KubernetesPod(object):
50
50
  'namespace': 'str',
51
51
  'node_name': 'str',
52
52
  'pod': 'str',
53
+ 'pod_id': 'str',
53
54
  'preemption_event': 'V1PodPreemptionEvent',
54
55
  'priority': 'str',
55
56
  'queue_name': 'str',
@@ -66,13 +67,14 @@ class V1KubernetesPod(object):
66
67
  'namespace': 'namespace',
67
68
  'node_name': 'nodeName',
68
69
  'pod': 'pod',
70
+ 'pod_id': 'podId',
69
71
  'preemption_event': 'preemptionEvent',
70
72
  'priority': 'priority',
71
73
  'queue_name': 'queueName',
72
74
  'user_id': 'userId'
73
75
  }
74
76
 
75
- def __init__(self, cluster_id: 'str' =None, created_at: 'datetime' =None, deleted_at: 'datetime' =None, id: 'str' =None, job_name: 'str' =None, name: 'str' =None, namespace: 'str' =None, node_name: 'str' =None, pod: 'str' =None, preemption_event: 'V1PodPreemptionEvent' =None, priority: 'str' =None, queue_name: 'str' =None, user_id: 'str' =None): # noqa: E501
77
+ def __init__(self, cluster_id: 'str' =None, created_at: 'datetime' =None, deleted_at: 'datetime' =None, id: 'str' =None, job_name: 'str' =None, name: 'str' =None, namespace: 'str' =None, node_name: 'str' =None, pod: 'str' =None, pod_id: 'str' =None, preemption_event: 'V1PodPreemptionEvent' =None, priority: 'str' =None, queue_name: 'str' =None, user_id: 'str' =None): # noqa: E501
76
78
  """V1KubernetesPod - a model defined in Swagger""" # noqa: E501
77
79
  self._cluster_id = None
78
80
  self._created_at = None
@@ -83,6 +85,7 @@ class V1KubernetesPod(object):
83
85
  self._namespace = None
84
86
  self._node_name = None
85
87
  self._pod = None
88
+ self._pod_id = None
86
89
  self._preemption_event = None
87
90
  self._priority = None
88
91
  self._queue_name = None
@@ -106,6 +109,8 @@ class V1KubernetesPod(object):
106
109
  self.node_name = node_name
107
110
  if pod is not None:
108
111
  self.pod = pod
112
+ if pod_id is not None:
113
+ self.pod_id = pod_id
109
114
  if preemption_event is not None:
110
115
  self.preemption_event = preemption_event
111
116
  if priority is not None:
@@ -304,6 +309,27 @@ class V1KubernetesPod(object):
304
309
 
305
310
  self._pod = pod
306
311
 
312
+ @property
313
+ def pod_id(self) -> 'str':
314
+ """Gets the pod_id of this V1KubernetesPod. # noqa: E501
315
+
316
+
317
+ :return: The pod_id of this V1KubernetesPod. # noqa: E501
318
+ :rtype: str
319
+ """
320
+ return self._pod_id
321
+
322
+ @pod_id.setter
323
+ def pod_id(self, pod_id: 'str'):
324
+ """Sets the pod_id of this V1KubernetesPod.
325
+
326
+
327
+ :param pod_id: The pod_id of this V1KubernetesPod. # noqa: E501
328
+ :type: str
329
+ """
330
+
331
+ self._pod_id = pod_id
332
+
307
333
  @property
308
334
  def preemption_event(self) -> 'V1PodPreemptionEvent':
309
335
  """Gets the preemption_event of this V1KubernetesPod. # noqa: E501