lightning-sdk 2025.12.17__py3-none-any.whl → 2026.1.27__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 (130) 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 +192 -37
  4. lightning_sdk/api/teamspace_api.py +180 -54
  5. lightning_sdk/api/utils.py +8 -0
  6. lightning_sdk/cli/cp/__init__.py +67 -0
  7. lightning_sdk/cli/cp/teamspace_uploads.py +93 -0
  8. lightning_sdk/cli/entrypoint.py +2 -0
  9. lightning_sdk/cli/groups.py +22 -0
  10. lightning_sdk/cli/legacy/clusters_menu.py +2 -2
  11. lightning_sdk/cli/legacy/deploy/_auth.py +7 -6
  12. lightning_sdk/cli/legacy/download.py +29 -98
  13. lightning_sdk/cli/legacy/run.py +13 -2
  14. lightning_sdk/cli/legacy/upload.py +24 -31
  15. lightning_sdk/cli/studio/__init__.py +4 -0
  16. lightning_sdk/cli/studio/cp.py +24 -65
  17. lightning_sdk/cli/studio/ls.py +57 -0
  18. lightning_sdk/cli/studio/rm.py +71 -0
  19. lightning_sdk/cli/utils/filesystem.py +103 -0
  20. lightning_sdk/cli/utils/logging.py +2 -1
  21. lightning_sdk/cli/utils/teamspace_selection.py +5 -0
  22. lightning_sdk/exceptions.py +31 -0
  23. lightning_sdk/job/base.py +1 -1
  24. lightning_sdk/k8s_cluster.py +9 -10
  25. lightning_sdk/lightning_cloud/__version__.py +1 -1
  26. lightning_sdk/lightning_cloud/openapi/__init__.py +43 -23
  27. lightning_sdk/lightning_cloud/openapi/api/__init__.py +2 -1
  28. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +118 -1
  29. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +378 -536
  30. lightning_sdk/lightning_cloud/openapi/api/container_registry_service_api.py +456 -0
  31. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  32. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  33. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
  34. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
  35. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
  36. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
  37. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
  38. lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +113 -0
  39. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  40. lightning_sdk/lightning_cloud/openapi/api/{kubernetes_virtual_machine_service_api.py → virtual_machine_service_api.py} +82 -82
  41. lightning_sdk/lightning_cloud/openapi/models/__init__.py +41 -22
  42. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
  43. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +53 -1
  44. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
  45. lightning_sdk/lightning_cloud/openapi/models/{v1_add_container_registry_response.py → cluster_service_report_machine_system_metrics_body.py} +23 -23
  46. lightning_sdk/lightning_cloud/openapi/models/container_registry_config_ecr.py +149 -0
  47. lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_status.py → container_registry_provider.py} +14 -10
  48. lightning_sdk/lightning_cloud/openapi/models/container_registry_service_create_container_registry_body.py +201 -0
  49. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config_input.py → container_registry_service_refresh_container_registry_credentials_body.py} +21 -21
  50. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config.py → jobs_service_duplicate_deployment_body.py} +51 -51
  52. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
  53. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
  54. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
  55. lightning_sdk/lightning_cloud/openapi/models/organizations_service_update_org_role_body.py +175 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +53 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -27
  62. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +63 -89
  64. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_add_container_registry_body.py → v1_container_registry_config.py} +16 -16
  65. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_scopes.py +149 -0
  66. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_kubernetes_virtual_machine_response.py → v1_create_container_registry_response.py} +6 -6
  67. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
  69. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
  70. lightning_sdk/lightning_cloud/openapi/models/v1_cudo_direct_v1.py +175 -0
  71. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_refresh_container_registry_credentials_body.py → v1_delete_lit_logger_media_response.py} +6 -6
  72. lightning_sdk/lightning_cloud/openapi/models/{kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py → v1_delete_org_cluster_capacity_reservation_response.py} +6 -6
  73. lightning_sdk/lightning_cloud/openapi/models/v1_delete_virtual_machine_response.py +97 -0
  74. lightning_sdk/lightning_cloud/openapi/models/v1_describe_org_cluster_capacity_reservation_response.py +201 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
  76. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  77. lightning_sdk/lightning_cloud/openapi/models/v1_generic_job_spec.py +79 -1
  78. lightning_sdk/lightning_cloud/openapi/models/{v1_validate_container_registry_response.py → v1_get_kubernetes_pod_logs_response.py} +37 -37
  79. lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
  80. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
  81. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  82. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
  83. lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_integration.py → v1_k8s_incident_setting.py} +49 -23
  84. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
  85. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
  86. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -27
  87. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
  88. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
  89. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +53 -1
  90. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +6 -6
  91. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
  92. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
  93. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
  94. lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
  95. lightning_sdk/lightning_cloud/openapi/models/{v1_list_kubernetes_virtual_machines_response.py → v1_list_virtual_machines_response.py} +16 -16
  96. lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
  97. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -53
  98. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
  99. lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
  100. lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_mithril_direct_v1.py} +51 -51
  101. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  102. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  103. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +1 -27
  104. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_validate_container_registry_body.py → v1_report_cloud_space_instance_idle_state_response.py} +6 -6
  105. lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
  106. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_details.py → v1_tenant_credentials.py} +53 -53
  107. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +183 -157
  108. lightning_sdk/lightning_cloud/openapi/models/{v1_kubernetes_virtual_machine.py → v1_virtual_machine.py} +94 -68
  109. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_vm_configuration.py → v1_vm_configuration.py} +20 -20
  110. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_provider_configuration.py → v1_vm_provider_configuration.py} +32 -32
  111. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
  112. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
  113. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  114. lightning_sdk/lightning_cloud/rest_client.py +0 -2
  115. lightning_sdk/machine.py +3 -3
  116. lightning_sdk/studio.py +14 -4
  117. lightning_sdk/teamspace.py +28 -7
  118. lightning_sdk/utils/logging.py +2 -1
  119. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/METADATA +1 -5
  120. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/RECORD +125 -102
  121. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/WHEEL +1 -1
  122. lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
  123. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +0 -513
  124. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +0 -281
  125. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +0 -201
  126. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
  127. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mmts_response.py → v1_list_filesystem_mm_ts_response.py} +0 -0
  128. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/LICENSE +0 -0
  129. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/entry_points.txt +0 -0
  130. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
  from datetime import datetime
29
29
  from lightning_sdk.lightning_cloud.openapi.models import *
30
30
 
31
- class V1ContainerRegistryIntegration(object):
31
+ class V1K8sIncidentSetting(object):
32
32
  """NOTE: This class is auto generated by the swagger code generator program.
33
33
 
34
34
  Do not edit the class manually.
@@ -41,40 +41,66 @@ class V1ContainerRegistryIntegration(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'registries': 'list[V1ContainerRegistry]'
44
+ 'enabled': 'bool',
45
+ 'type': 'V1K8sIncidentType'
45
46
  }
46
47
 
47
48
  attribute_map = {
48
- 'registries': 'registries'
49
+ 'enabled': 'enabled',
50
+ 'type': 'type'
49
51
  }
50
52
 
51
- def __init__(self, registries: 'list[V1ContainerRegistry]' =None): # noqa: E501
52
- """V1ContainerRegistryIntegration - a model defined in Swagger""" # noqa: E501
53
- self._registries = None
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
54
57
  self.discriminator = None
55
- if registries is not None:
56
- self.registries = registries
58
+ if enabled is not None:
59
+ self.enabled = enabled
60
+ if type is not None:
61
+ self.type = type
57
62
 
58
63
  @property
59
- def registries(self) -> 'list[V1ContainerRegistry]':
60
- """Gets the registries of this V1ContainerRegistryIntegration. # noqa: E501
64
+ def enabled(self) -> 'bool':
65
+ """Gets the enabled of this V1K8sIncidentSetting. # noqa: E501
61
66
 
62
67
 
63
- :return: The registries of this V1ContainerRegistryIntegration. # noqa: E501
64
- :rtype: list[V1ContainerRegistry]
68
+ :return: The enabled of this V1K8sIncidentSetting. # noqa: E501
69
+ :rtype: bool
65
70
  """
66
- return self._registries
71
+ return self._enabled
67
72
 
68
- @registries.setter
69
- def registries(self, registries: 'list[V1ContainerRegistry]'):
70
- """Sets the registries of this V1ContainerRegistryIntegration.
73
+ @enabled.setter
74
+ def enabled(self, enabled: 'bool'):
75
+ """Sets the enabled of this V1K8sIncidentSetting.
71
76
 
72
77
 
73
- :param registries: The registries of this V1ContainerRegistryIntegration. # noqa: E501
74
- :type: list[V1ContainerRegistry]
78
+ :param enabled: The enabled of this V1K8sIncidentSetting. # noqa: E501
79
+ :type: bool
75
80
  """
76
81
 
77
- self._registries = registries
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
78
104
 
79
105
  def to_dict(self) -> dict:
80
106
  """Returns the model properties as a dict"""
@@ -97,7 +123,7 @@ class V1ContainerRegistryIntegration(object):
97
123
  ))
98
124
  else:
99
125
  result[attr] = value
100
- if issubclass(V1ContainerRegistryIntegration, dict):
126
+ if issubclass(V1K8sIncidentSetting, dict):
101
127
  for key, value in self.items():
102
128
  result[key] = value
103
129
 
@@ -111,13 +137,13 @@ class V1ContainerRegistryIntegration(object):
111
137
  """For `print` and `pprint`"""
112
138
  return self.to_str()
113
139
 
114
- def __eq__(self, other: 'V1ContainerRegistryIntegration') -> bool:
140
+ def __eq__(self, other: 'V1K8sIncidentSetting') -> bool:
115
141
  """Returns true if both objects are equal"""
116
- if not isinstance(other, V1ContainerRegistryIntegration):
142
+ if not isinstance(other, V1K8sIncidentSetting):
117
143
  return False
118
144
 
119
145
  return self.__dict__ == other.__dict__
120
146
 
121
- def __ne__(self, other: 'V1ContainerRegistryIntegration') -> bool:
147
+ def __ne__(self, other: 'V1K8sIncidentSetting') -> bool:
122
148
  """Returns true if both objects are not equal"""
123
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
@@ -43,11 +43,12 @@ class V1KubernetesDirectV1(object):
43
43
  swagger_types = {
44
44
  'automate_agent_installation': 'bool',
45
45
  'aws': 'V1KubernetesAWSConfig',
46
- 'container_registry_integration': 'V1ContainerRegistryIntegration',
47
46
  'grafana_dashboard_url': 'str',
48
47
  'grafana_namespace': 'str',
49
48
  'grafana_service_name': 'str',
50
49
  'grafana_service_port': 'str',
50
+ 'incident_alert_notifications': 'list[V1K8sIncidentSetting]',
51
+ 'incident_auto_cordon': 'list[V1K8sIncidentSetting]',
51
52
  'incident_historical_scan_complete': 'bool',
52
53
  'incident_slack_notifiers': 'list[V1SlackNotifier]',
53
54
  'kubeconfig': 'str',
@@ -61,11 +62,12 @@ class V1KubernetesDirectV1(object):
61
62
  attribute_map = {
62
63
  'automate_agent_installation': 'automateAgentInstallation',
63
64
  'aws': 'aws',
64
- 'container_registry_integration': 'containerRegistryIntegration',
65
65
  'grafana_dashboard_url': 'grafanaDashboardUrl',
66
66
  'grafana_namespace': 'grafanaNamespace',
67
67
  'grafana_service_name': 'grafanaServiceName',
68
68
  'grafana_service_port': 'grafanaServicePort',
69
+ 'incident_alert_notifications': 'incidentAlertNotifications',
70
+ 'incident_auto_cordon': 'incidentAutoCordon',
69
71
  'incident_historical_scan_complete': 'incidentHistoricalScanComplete',
70
72
  'incident_slack_notifiers': 'incidentSlackNotifiers',
71
73
  'kubeconfig': 'kubeconfig',
@@ -76,15 +78,16 @@ class V1KubernetesDirectV1(object):
76
78
  'skip_user_label_injection': 'skipUserLabelInjection'
77
79
  }
78
80
 
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
81
+ def __init__(self, automate_agent_installation: 'bool' =None, aws: 'V1KubernetesAWSConfig' =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
82
  """V1KubernetesDirectV1 - a model defined in Swagger""" # noqa: E501
81
83
  self._automate_agent_installation = None
82
84
  self._aws = None
83
- self._container_registry_integration = None
84
85
  self._grafana_dashboard_url = None
85
86
  self._grafana_namespace = None
86
87
  self._grafana_service_name = None
87
88
  self._grafana_service_port = None
89
+ self._incident_alert_notifications = None
90
+ self._incident_auto_cordon = None
88
91
  self._incident_historical_scan_complete = None
89
92
  self._incident_slack_notifiers = None
90
93
  self._kubeconfig = None
@@ -98,8 +101,6 @@ class V1KubernetesDirectV1(object):
98
101
  self.automate_agent_installation = automate_agent_installation
99
102
  if aws is not None:
100
103
  self.aws = aws
101
- if container_registry_integration is not None:
102
- self.container_registry_integration = container_registry_integration
103
104
  if grafana_dashboard_url is not None:
104
105
  self.grafana_dashboard_url = grafana_dashboard_url
105
106
  if grafana_namespace is not None:
@@ -108,6 +109,10 @@ class V1KubernetesDirectV1(object):
108
109
  self.grafana_service_name = grafana_service_name
109
110
  if grafana_service_port is not None:
110
111
  self.grafana_service_port = grafana_service_port
112
+ if incident_alert_notifications is not None:
113
+ self.incident_alert_notifications = incident_alert_notifications
114
+ if incident_auto_cordon is not None:
115
+ self.incident_auto_cordon = incident_auto_cordon
111
116
  if incident_historical_scan_complete is not None:
112
117
  self.incident_historical_scan_complete = incident_historical_scan_complete
113
118
  if incident_slack_notifiers is not None:
@@ -167,27 +172,6 @@ class V1KubernetesDirectV1(object):
167
172
 
168
173
  self._aws = aws
169
174
 
170
- @property
171
- def container_registry_integration(self) -> 'V1ContainerRegistryIntegration':
172
- """Gets the container_registry_integration of this V1KubernetesDirectV1. # noqa: E501
173
-
174
-
175
- :return: The container_registry_integration of this V1KubernetesDirectV1. # noqa: E501
176
- :rtype: V1ContainerRegistryIntegration
177
- """
178
- return self._container_registry_integration
179
-
180
- @container_registry_integration.setter
181
- def container_registry_integration(self, container_registry_integration: 'V1ContainerRegistryIntegration'):
182
- """Sets the container_registry_integration of this V1KubernetesDirectV1.
183
-
184
-
185
- :param container_registry_integration: The container_registry_integration of this V1KubernetesDirectV1. # noqa: E501
186
- :type: V1ContainerRegistryIntegration
187
- """
188
-
189
- self._container_registry_integration = container_registry_integration
190
-
191
175
  @property
192
176
  def grafana_dashboard_url(self) -> 'str':
193
177
  """Gets the grafana_dashboard_url of this V1KubernetesDirectV1. # noqa: E501
@@ -272,6 +256,48 @@ class V1KubernetesDirectV1(object):
272
256
 
273
257
  self._grafana_service_port = grafana_service_port
274
258
 
259
+ @property
260
+ def incident_alert_notifications(self) -> 'list[V1K8sIncidentSetting]':
261
+ """Gets the incident_alert_notifications of this V1KubernetesDirectV1. # noqa: E501
262
+
263
+
264
+ :return: The incident_alert_notifications of this V1KubernetesDirectV1. # noqa: E501
265
+ :rtype: list[V1K8sIncidentSetting]
266
+ """
267
+ return self._incident_alert_notifications
268
+
269
+ @incident_alert_notifications.setter
270
+ def incident_alert_notifications(self, incident_alert_notifications: 'list[V1K8sIncidentSetting]'):
271
+ """Sets the incident_alert_notifications of this V1KubernetesDirectV1.
272
+
273
+
274
+ :param incident_alert_notifications: The incident_alert_notifications of this V1KubernetesDirectV1. # noqa: E501
275
+ :type: list[V1K8sIncidentSetting]
276
+ """
277
+
278
+ self._incident_alert_notifications = incident_alert_notifications
279
+
280
+ @property
281
+ def incident_auto_cordon(self) -> 'list[V1K8sIncidentSetting]':
282
+ """Gets the incident_auto_cordon of this V1KubernetesDirectV1. # noqa: E501
283
+
284
+
285
+ :return: The incident_auto_cordon of this V1KubernetesDirectV1. # noqa: E501
286
+ :rtype: list[V1K8sIncidentSetting]
287
+ """
288
+ return self._incident_auto_cordon
289
+
290
+ @incident_auto_cordon.setter
291
+ def incident_auto_cordon(self, incident_auto_cordon: 'list[V1K8sIncidentSetting]'):
292
+ """Sets the incident_auto_cordon of this V1KubernetesDirectV1.
293
+
294
+
295
+ :param incident_auto_cordon: The incident_auto_cordon of this V1KubernetesDirectV1. # noqa: E501
296
+ :type: list[V1K8sIncidentSetting]
297
+ """
298
+
299
+ self._incident_auto_cordon = incident_auto_cordon
300
+
275
301
  @property
276
302
  def incident_historical_scan_complete(self) -> 'bool':
277
303
  """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