lightning-sdk 2025.11.13.post0__py3-none-any.whl → 2025.11.24__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 (61) hide show
  1. lightning_sdk/__init__.py +2 -0
  2. lightning_sdk/__version__.py +1 -1
  3. lightning_sdk/api/__init__.py +2 -9
  4. lightning_sdk/api/k8s_api.py +105 -0
  5. lightning_sdk/api/studio_api.py +19 -0
  6. lightning_sdk/api/utils.py +19 -0
  7. lightning_sdk/exceptions.py +2 -0
  8. lightning_sdk/k8s_cluster.py +83 -0
  9. lightning_sdk/lightning_cloud/openapi/__init__.py +15 -0
  10. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +134 -1
  11. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +5 -1
  12. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +539 -2
  13. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +114 -0
  14. lightning_sdk/lightning_cloud/openapi/api/markets_service_api.py +5 -1
  15. lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +99 -2
  16. lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +5 -1
  17. lightning_sdk/lightning_cloud/openapi/models/__init__.py +15 -0
  18. lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +29 -3
  19. lightning_sdk/lightning_cloud/openapi/models/deployments_deployment_id_body.py +149 -0
  20. lightning_sdk/lightning_cloud/openapi/models/id_content_body.py +123 -0
  21. lightning_sdk/lightning_cloud/openapi/models/job_id_systemmetrics_body.py +123 -0
  22. lightning_sdk/lightning_cloud/openapi/models/message_id_actions_body.py +27 -1
  23. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +1 -27
  24. lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +107 -3
  26. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -1
  27. lightning_sdk/lightning_cloud/openapi/models/v1_compute_cluster_machines.py +149 -0
  28. lightning_sdk/lightning_cloud/openapi/models/v1_compute_cluster_request.py +149 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +1 -27
  30. lightning_sdk/lightning_cloud/openapi/models/v1_generic_job.py +305 -0
  31. lightning_sdk/lightning_cloud/openapi/models/v1_get_project_balance_response.py +27 -1
  32. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +27 -1
  33. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +435 -0
  34. lightning_sdk/lightning_cloud/openapi/models/v1_list_all_jobs_response.py +175 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_list_jobs_sort_by.py +104 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_list_jobs_sort_order.py +104 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +149 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_list_pipelines_response.py +55 -3
  39. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +53 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +27 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_membership.py +1 -27
  42. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_message_action.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_org_deployment_visibility.py +227 -0
  45. lightning_sdk/lightning_cloud/openapi/models/v1_pod_preemption_event.py +305 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_project_membership.py +1 -27
  47. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +1 -27
  48. lightning_sdk/lightning_cloud/openapi/models/v1_report_job_system_metrics_response.py +97 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_resource_visibility.py +27 -1
  50. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_message_content_response.py +123 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +133 -107
  53. lightning_sdk/lightning_cloud/openapi/models/v1_validate_storage_transfer_response.py +15 -15
  54. lightning_sdk/lightning_cloud/rest_client.py +2 -0
  55. lightning_sdk/studio.py +12 -0
  56. {lightning_sdk-2025.11.13.post0.dist-info → lightning_sdk-2025.11.24.dist-info}/METADATA +2 -1
  57. {lightning_sdk-2025.11.13.post0.dist-info → lightning_sdk-2025.11.24.dist-info}/RECORD +61 -43
  58. {lightning_sdk-2025.11.13.post0.dist-info → lightning_sdk-2025.11.24.dist-info}/LICENSE +0 -0
  59. {lightning_sdk-2025.11.13.post0.dist-info → lightning_sdk-2025.11.24.dist-info}/WHEEL +0 -0
  60. {lightning_sdk-2025.11.13.post0.dist-info → lightning_sdk-2025.11.24.dist-info}/entry_points.txt +0 -0
  61. {lightning_sdk-2025.11.13.post0.dist-info → lightning_sdk-2025.11.24.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,123 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class IdContentBody(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
+ 'content': 'list[V1MessageContent]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'content': 'content'
49
+ }
50
+
51
+ def __init__(self, content: 'list[V1MessageContent]' =None): # noqa: E501
52
+ """IdContentBody - a model defined in Swagger""" # noqa: E501
53
+ self._content = None
54
+ self.discriminator = None
55
+ if content is not None:
56
+ self.content = content
57
+
58
+ @property
59
+ def content(self) -> 'list[V1MessageContent]':
60
+ """Gets the content of this IdContentBody. # noqa: E501
61
+
62
+
63
+ :return: The content of this IdContentBody. # noqa: E501
64
+ :rtype: list[V1MessageContent]
65
+ """
66
+ return self._content
67
+
68
+ @content.setter
69
+ def content(self, content: 'list[V1MessageContent]'):
70
+ """Sets the content of this IdContentBody.
71
+
72
+
73
+ :param content: The content of this IdContentBody. # noqa: E501
74
+ :type: list[V1MessageContent]
75
+ """
76
+
77
+ self._content = content
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(IdContentBody, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'IdContentBody') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, IdContentBody):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'IdContentBody') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -0,0 +1,123 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class JobIdSystemmetricsBody(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'metrics': 'list[V1SystemMetrics]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'metrics': 'metrics'
49
+ }
50
+
51
+ def __init__(self, metrics: 'list[V1SystemMetrics]' =None): # noqa: E501
52
+ """JobIdSystemmetricsBody - a model defined in Swagger""" # noqa: E501
53
+ self._metrics = None
54
+ self.discriminator = None
55
+ if metrics is not None:
56
+ self.metrics = metrics
57
+
58
+ @property
59
+ def metrics(self) -> 'list[V1SystemMetrics]':
60
+ """Gets the metrics of this JobIdSystemmetricsBody. # noqa: E501
61
+
62
+
63
+ :return: The metrics of this JobIdSystemmetricsBody. # noqa: E501
64
+ :rtype: list[V1SystemMetrics]
65
+ """
66
+ return self._metrics
67
+
68
+ @metrics.setter
69
+ def metrics(self, metrics: 'list[V1SystemMetrics]'):
70
+ """Sets the metrics of this JobIdSystemmetricsBody.
71
+
72
+
73
+ :param metrics: The metrics of this JobIdSystemmetricsBody. # noqa: E501
74
+ :type: list[V1SystemMetrics]
75
+ """
76
+
77
+ self._metrics = metrics
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(JobIdSystemmetricsBody, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'JobIdSystemmetricsBody') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, JobIdSystemmetricsBody):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'JobIdSystemmetricsBody') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -43,6 +43,7 @@ class MessageIdActionsBody(object):
43
43
  swagger_types = {
44
44
  'actioned_at': 'datetime',
45
45
  'block_id': 'str',
46
+ 'cloudspace_id': 'str',
46
47
  'project_id': 'str',
47
48
  'type': 'str'
48
49
  }
@@ -50,14 +51,16 @@ class MessageIdActionsBody(object):
50
51
  attribute_map = {
51
52
  'actioned_at': 'actionedAt',
52
53
  'block_id': 'blockId',
54
+ 'cloudspace_id': 'cloudspaceId',
53
55
  'project_id': 'projectId',
54
56
  'type': 'type'
55
57
  }
56
58
 
57
- def __init__(self, actioned_at: 'datetime' =None, block_id: 'str' =None, project_id: 'str' =None, type: 'str' =None): # noqa: E501
59
+ def __init__(self, actioned_at: 'datetime' =None, block_id: 'str' =None, cloudspace_id: 'str' =None, project_id: 'str' =None, type: 'str' =None): # noqa: E501
58
60
  """MessageIdActionsBody - a model defined in Swagger""" # noqa: E501
59
61
  self._actioned_at = None
60
62
  self._block_id = None
63
+ self._cloudspace_id = None
61
64
  self._project_id = None
62
65
  self._type = None
63
66
  self.discriminator = None
@@ -65,6 +68,8 @@ class MessageIdActionsBody(object):
65
68
  self.actioned_at = actioned_at
66
69
  if block_id is not None:
67
70
  self.block_id = block_id
71
+ if cloudspace_id is not None:
72
+ self.cloudspace_id = cloudspace_id
68
73
  if project_id is not None:
69
74
  self.project_id = project_id
70
75
  if type is not None:
@@ -112,6 +117,27 @@ class MessageIdActionsBody(object):
112
117
 
113
118
  self._block_id = block_id
114
119
 
120
+ @property
121
+ def cloudspace_id(self) -> 'str':
122
+ """Gets the cloudspace_id of this MessageIdActionsBody. # noqa: E501
123
+
124
+
125
+ :return: The cloudspace_id of this MessageIdActionsBody. # noqa: E501
126
+ :rtype: str
127
+ """
128
+ return self._cloudspace_id
129
+
130
+ @cloudspace_id.setter
131
+ def cloudspace_id(self, cloudspace_id: 'str'):
132
+ """Sets the cloudspace_id of this MessageIdActionsBody.
133
+
134
+
135
+ :param cloudspace_id: The cloudspace_id of this MessageIdActionsBody. # noqa: E501
136
+ :type: str
137
+ """
138
+
139
+ self._cloudspace_id = cloudspace_id
140
+
115
141
  @property
116
142
  def project_id(self) -> 'str':
117
143
  """Gets the project_id of this MessageIdActionsBody. # noqa: E501
@@ -60,7 +60,6 @@ class ProjectsIdBody(object):
60
60
  'display_name': 'str',
61
61
  'layout_config': 'list[V1ProjectTab]',
62
62
  'name': 'str',
63
- 'organization_billing_enabled': 'bool',
64
63
  'preferred_cluster': 'str',
65
64
  'preferred_deployment_provider': 'str',
66
65
  'preferred_studio_provider': 'str',
@@ -90,7 +89,6 @@ class ProjectsIdBody(object):
90
89
  'display_name': 'displayName',
91
90
  'layout_config': 'layoutConfig',
92
91
  'name': 'name',
93
- 'organization_billing_enabled': 'organizationBillingEnabled',
94
92
  'preferred_cluster': 'preferredCluster',
95
93
  'preferred_deployment_provider': 'preferredDeploymentProvider',
96
94
  'preferred_studio_provider': 'preferredStudioProvider',
@@ -100,7 +98,7 @@ class ProjectsIdBody(object):
100
98
  'switch_to_default_machine_on_idle': 'switchToDefaultMachineOnIdle'
101
99
  }
102
100
 
103
- def __init__(self, allow_aws_saas: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_dgx_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_lightning_saas: 'bool' =None, allow_nebius_saas: 'bool' =None, allow_voltage_park_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, budgeting_enabled: 'bool' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, layout_config: 'list[V1ProjectTab]' =None, name: 'str' =None, organization_billing_enabled: 'bool' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, quotas: 'V1Quotas' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
101
+ def __init__(self, allow_aws_saas: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_dgx_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_lightning_saas: 'bool' =None, allow_nebius_saas: 'bool' =None, allow_voltage_park_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, budgeting_enabled: 'bool' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, layout_config: 'list[V1ProjectTab]' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, quotas: 'V1Quotas' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
104
102
  """ProjectsIdBody - a model defined in Swagger""" # noqa: E501
105
103
  self._allow_aws_saas = None
106
104
  self._allow_credits_auto_replenish = None
@@ -121,7 +119,6 @@ class ProjectsIdBody(object):
121
119
  self._display_name = None
122
120
  self._layout_config = None
123
121
  self._name = None
124
- self._organization_billing_enabled = None
125
122
  self._preferred_cluster = None
126
123
  self._preferred_deployment_provider = None
127
124
  self._preferred_studio_provider = None
@@ -168,8 +165,6 @@ class ProjectsIdBody(object):
168
165
  self.layout_config = layout_config
169
166
  if name is not None:
170
167
  self.name = name
171
- if organization_billing_enabled is not None:
172
- self.organization_billing_enabled = organization_billing_enabled
173
168
  if preferred_cluster is not None:
174
169
  self.preferred_cluster = preferred_cluster
175
170
  if preferred_deployment_provider is not None:
@@ -584,27 +579,6 @@ class ProjectsIdBody(object):
584
579
 
585
580
  self._name = name
586
581
 
587
- @property
588
- def organization_billing_enabled(self) -> 'bool':
589
- """Gets the organization_billing_enabled of this ProjectsIdBody. # noqa: E501
590
-
591
-
592
- :return: The organization_billing_enabled of this ProjectsIdBody. # noqa: E501
593
- :rtype: bool
594
- """
595
- return self._organization_billing_enabled
596
-
597
- @organization_billing_enabled.setter
598
- def organization_billing_enabled(self, organization_billing_enabled: 'bool'):
599
- """Sets the organization_billing_enabled of this ProjectsIdBody.
600
-
601
-
602
- :param organization_billing_enabled: The organization_billing_enabled of this ProjectsIdBody. # noqa: E501
603
- :type: bool
604
- """
605
-
606
- self._organization_billing_enabled = organization_billing_enabled
607
-
608
582
  @property
609
583
  def preferred_cluster(self) -> 'str':
610
584
  """Gets the preferred_cluster of this ProjectsIdBody. # noqa: E501
@@ -54,6 +54,7 @@ class V1AWSDirectV1(object):
54
54
  'regions': 'list[str]',
55
55
  'role_arn': 'str',
56
56
  'source_cidr_ips': 'list[str]',
57
+ 'subnet_cidr_prefix': 'str',
57
58
  'use_launch_templates': 'bool'
58
59
  }
59
60
 
@@ -71,10 +72,11 @@ class V1AWSDirectV1(object):
71
72
  'regions': 'regions',
72
73
  'role_arn': 'roleArn',
73
74
  'source_cidr_ips': 'sourceCidrIps',
75
+ 'subnet_cidr_prefix': 'subnetCIDRPrefix',
74
76
  'use_launch_templates': 'useLaunchTemplates'
75
77
  }
76
78
 
77
- def __init__(self, ami_owner_id: 'str' =None, bucket_endpoint: 'str' =None, bucket_name: 'str' =None, cloud_formation_disabled: 'bool' =None, efs_enabled: 'bool' =None, external_id: 'str' =None, inventory_database: 'str' =None, inventory_table: 'str' =None, primary_region: 'str' =None, regional_load_balancers: 'list[V1RegionalLoadBalancer]' =None, regions: 'list[str]' =None, role_arn: 'str' =None, source_cidr_ips: 'list[str]' =None, use_launch_templates: 'bool' =None): # noqa: E501
79
+ def __init__(self, ami_owner_id: 'str' =None, bucket_endpoint: 'str' =None, bucket_name: 'str' =None, cloud_formation_disabled: 'bool' =None, efs_enabled: 'bool' =None, external_id: 'str' =None, inventory_database: 'str' =None, inventory_table: 'str' =None, primary_region: 'str' =None, regional_load_balancers: 'list[V1RegionalLoadBalancer]' =None, regions: 'list[str]' =None, role_arn: 'str' =None, source_cidr_ips: 'list[str]' =None, subnet_cidr_prefix: 'str' =None, use_launch_templates: 'bool' =None): # noqa: E501
78
80
  """V1AWSDirectV1 - a model defined in Swagger""" # noqa: E501
79
81
  self._ami_owner_id = None
80
82
  self._bucket_endpoint = None
@@ -89,6 +91,7 @@ class V1AWSDirectV1(object):
89
91
  self._regions = None
90
92
  self._role_arn = None
91
93
  self._source_cidr_ips = None
94
+ self._subnet_cidr_prefix = None
92
95
  self._use_launch_templates = None
93
96
  self.discriminator = None
94
97
  if ami_owner_id is not None:
@@ -117,6 +120,8 @@ class V1AWSDirectV1(object):
117
120
  self.role_arn = role_arn
118
121
  if source_cidr_ips is not None:
119
122
  self.source_cidr_ips = source_cidr_ips
123
+ if subnet_cidr_prefix is not None:
124
+ self.subnet_cidr_prefix = subnet_cidr_prefix
120
125
  if use_launch_templates is not None:
121
126
  self.use_launch_templates = use_launch_templates
122
127
 
@@ -395,6 +400,27 @@ class V1AWSDirectV1(object):
395
400
 
396
401
  self._source_cidr_ips = source_cidr_ips
397
402
 
403
+ @property
404
+ def subnet_cidr_prefix(self) -> 'str':
405
+ """Gets the subnet_cidr_prefix of this V1AWSDirectV1. # noqa: E501
406
+
407
+
408
+ :return: The subnet_cidr_prefix of this V1AWSDirectV1. # noqa: E501
409
+ :rtype: str
410
+ """
411
+ return self._subnet_cidr_prefix
412
+
413
+ @subnet_cidr_prefix.setter
414
+ def subnet_cidr_prefix(self, subnet_cidr_prefix: 'str'):
415
+ """Sets the subnet_cidr_prefix of this V1AWSDirectV1.
416
+
417
+
418
+ :param subnet_cidr_prefix: The subnet_cidr_prefix of this V1AWSDirectV1. # noqa: E501
419
+ :type: str
420
+ """
421
+
422
+ self._subnet_cidr_prefix = subnet_cidr_prefix
423
+
398
424
  @property
399
425
  def use_launch_templates(self) -> 'bool':
400
426
  """Gets the use_launch_templates of this V1AWSDirectV1. # noqa: E501
@@ -44,6 +44,7 @@ class V1ClusterSecurityOptions(object):
44
44
  'bucket_kms_key': 'str',
45
45
  'cloud_init_boot_cmds': 'list[str]',
46
46
  'cloud_init_run_cmds': 'list[str]',
47
+ 'cloudflare_workers_access_enabled': 'bool',
47
48
  'containers_non_privileged': 'bool',
48
49
  'disable_public_ip': 'bool',
49
50
  'disabled_services': 'list[str]',
@@ -58,13 +59,17 @@ class V1ClusterSecurityOptions(object):
58
59
  'protect_instance_metadata': 'bool',
59
60
  'rootless_docker': 'bool',
60
61
  'setup_network_load_balancer': 'bool',
61
- 'ssh_disabled': 'bool'
62
+ 'ssh_disabled': 'bool',
63
+ 'vpn_gateway_ip': 'str',
64
+ 'vpn_preshared_key': 'str',
65
+ 'vpn_route_cidrs': 'list[str]'
62
66
  }
63
67
 
64
68
  attribute_map = {
65
69
  'bucket_kms_key': 'bucketKmsKey',
66
70
  'cloud_init_boot_cmds': 'cloudInitBootCmds',
67
71
  'cloud_init_run_cmds': 'cloudInitRunCmds',
72
+ 'cloudflare_workers_access_enabled': 'cloudflareWorkersAccessEnabled',
68
73
  'containers_non_privileged': 'containersNonPrivileged',
69
74
  'disable_public_ip': 'disablePublicIp',
70
75
  'disabled_services': 'disabledServices',
@@ -79,14 +84,18 @@ class V1ClusterSecurityOptions(object):
79
84
  'protect_instance_metadata': 'protectInstanceMetadata',
80
85
  'rootless_docker': 'rootlessDocker',
81
86
  'setup_network_load_balancer': 'setupNetworkLoadBalancer',
82
- 'ssh_disabled': 'sshDisabled'
87
+ 'ssh_disabled': 'sshDisabled',
88
+ 'vpn_gateway_ip': 'vpnGatewayIp',
89
+ 'vpn_preshared_key': 'vpnPresharedKey',
90
+ 'vpn_route_cidrs': 'vpnRouteCidrs'
83
91
  }
84
92
 
85
- def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[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, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_firewall_rules: 'list[V1FirewallRule]' =None, extra_policy: 'str' =None, extra_sa_scopes: 'list[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
93
+ def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, cloudflare_workers_access_enabled: 'bool' =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, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_firewall_rules: 'list[V1FirewallRule]' =None, extra_policy: 'str' =None, extra_sa_scopes: 'list[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, vpn_gateway_ip: 'str' =None, vpn_preshared_key: 'str' =None, vpn_route_cidrs: 'list[str]' =None): # noqa: E501
86
94
  """V1ClusterSecurityOptions - a model defined in Swagger""" # noqa: E501
87
95
  self._bucket_kms_key = None
88
96
  self._cloud_init_boot_cmds = None
89
97
  self._cloud_init_run_cmds = None
98
+ self._cloudflare_workers_access_enabled = None
90
99
  self._containers_non_privileged = None
91
100
  self._disable_public_ip = None
92
101
  self._disabled_services = None
@@ -102,6 +111,9 @@ class V1ClusterSecurityOptions(object):
102
111
  self._rootless_docker = None
103
112
  self._setup_network_load_balancer = None
104
113
  self._ssh_disabled = None
114
+ self._vpn_gateway_ip = None
115
+ self._vpn_preshared_key = None
116
+ self._vpn_route_cidrs = None
105
117
  self.discriminator = None
106
118
  if bucket_kms_key is not None:
107
119
  self.bucket_kms_key = bucket_kms_key
@@ -109,6 +121,8 @@ class V1ClusterSecurityOptions(object):
109
121
  self.cloud_init_boot_cmds = cloud_init_boot_cmds
110
122
  if cloud_init_run_cmds is not None:
111
123
  self.cloud_init_run_cmds = cloud_init_run_cmds
124
+ if cloudflare_workers_access_enabled is not None:
125
+ self.cloudflare_workers_access_enabled = cloudflare_workers_access_enabled
112
126
  if containers_non_privileged is not None:
113
127
  self.containers_non_privileged = containers_non_privileged
114
128
  if disable_public_ip is not None:
@@ -139,6 +153,12 @@ class V1ClusterSecurityOptions(object):
139
153
  self.setup_network_load_balancer = setup_network_load_balancer
140
154
  if ssh_disabled is not None:
141
155
  self.ssh_disabled = ssh_disabled
156
+ if vpn_gateway_ip is not None:
157
+ self.vpn_gateway_ip = vpn_gateway_ip
158
+ if vpn_preshared_key is not None:
159
+ self.vpn_preshared_key = vpn_preshared_key
160
+ if vpn_route_cidrs is not None:
161
+ self.vpn_route_cidrs = vpn_route_cidrs
142
162
 
143
163
  @property
144
164
  def bucket_kms_key(self) -> 'str':
@@ -203,6 +223,27 @@ class V1ClusterSecurityOptions(object):
203
223
 
204
224
  self._cloud_init_run_cmds = cloud_init_run_cmds
205
225
 
226
+ @property
227
+ def cloudflare_workers_access_enabled(self) -> 'bool':
228
+ """Gets the cloudflare_workers_access_enabled of this V1ClusterSecurityOptions. # noqa: E501
229
+
230
+
231
+ :return: The cloudflare_workers_access_enabled of this V1ClusterSecurityOptions. # noqa: E501
232
+ :rtype: bool
233
+ """
234
+ return self._cloudflare_workers_access_enabled
235
+
236
+ @cloudflare_workers_access_enabled.setter
237
+ def cloudflare_workers_access_enabled(self, cloudflare_workers_access_enabled: 'bool'):
238
+ """Sets the cloudflare_workers_access_enabled of this V1ClusterSecurityOptions.
239
+
240
+
241
+ :param cloudflare_workers_access_enabled: The cloudflare_workers_access_enabled of this V1ClusterSecurityOptions. # noqa: E501
242
+ :type: bool
243
+ """
244
+
245
+ self._cloudflare_workers_access_enabled = cloudflare_workers_access_enabled
246
+
206
247
  @property
207
248
  def containers_non_privileged(self) -> 'bool':
208
249
  """Gets the containers_non_privileged of this V1ClusterSecurityOptions. # noqa: E501
@@ -518,6 +559,69 @@ class V1ClusterSecurityOptions(object):
518
559
 
519
560
  self._ssh_disabled = ssh_disabled
520
561
 
562
+ @property
563
+ def vpn_gateway_ip(self) -> 'str':
564
+ """Gets the vpn_gateway_ip of this V1ClusterSecurityOptions. # noqa: E501
565
+
566
+
567
+ :return: The vpn_gateway_ip of this V1ClusterSecurityOptions. # noqa: E501
568
+ :rtype: str
569
+ """
570
+ return self._vpn_gateway_ip
571
+
572
+ @vpn_gateway_ip.setter
573
+ def vpn_gateway_ip(self, vpn_gateway_ip: 'str'):
574
+ """Sets the vpn_gateway_ip of this V1ClusterSecurityOptions.
575
+
576
+
577
+ :param vpn_gateway_ip: The vpn_gateway_ip of this V1ClusterSecurityOptions. # noqa: E501
578
+ :type: str
579
+ """
580
+
581
+ self._vpn_gateway_ip = vpn_gateway_ip
582
+
583
+ @property
584
+ def vpn_preshared_key(self) -> 'str':
585
+ """Gets the vpn_preshared_key of this V1ClusterSecurityOptions. # noqa: E501
586
+
587
+
588
+ :return: The vpn_preshared_key of this V1ClusterSecurityOptions. # noqa: E501
589
+ :rtype: str
590
+ """
591
+ return self._vpn_preshared_key
592
+
593
+ @vpn_preshared_key.setter
594
+ def vpn_preshared_key(self, vpn_preshared_key: 'str'):
595
+ """Sets the vpn_preshared_key of this V1ClusterSecurityOptions.
596
+
597
+
598
+ :param vpn_preshared_key: The vpn_preshared_key of this V1ClusterSecurityOptions. # noqa: E501
599
+ :type: str
600
+ """
601
+
602
+ self._vpn_preshared_key = vpn_preshared_key
603
+
604
+ @property
605
+ def vpn_route_cidrs(self) -> 'list[str]':
606
+ """Gets the vpn_route_cidrs of this V1ClusterSecurityOptions. # noqa: E501
607
+
608
+
609
+ :return: The vpn_route_cidrs of this V1ClusterSecurityOptions. # noqa: E501
610
+ :rtype: list[str]
611
+ """
612
+ return self._vpn_route_cidrs
613
+
614
+ @vpn_route_cidrs.setter
615
+ def vpn_route_cidrs(self, vpn_route_cidrs: 'list[str]'):
616
+ """Sets the vpn_route_cidrs of this V1ClusterSecurityOptions.
617
+
618
+
619
+ :param vpn_route_cidrs: The vpn_route_cidrs of this V1ClusterSecurityOptions. # noqa: E501
620
+ :type: list[str]
621
+ """
622
+
623
+ self._vpn_route_cidrs = vpn_route_cidrs
624
+
521
625
  def to_dict(self) -> dict:
522
626
  """Returns the model properties as a dict"""
523
627
  result = {}