lightning-sdk 0.2.18__py3-none-any.whl → 0.2.20__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.
- lightning_sdk/__init__.py +1 -1
- lightning_sdk/api/deployment_api.py +2 -0
- lightning_sdk/api/license_api.py +28 -6
- lightning_sdk/cli/deploy/_auth.py +11 -19
- lightning_sdk/cli/entrypoint.py +20 -2
- lightning_sdk/deployment/deployment.py +2 -0
- lightning_sdk/lightning_cloud/login.py +2 -2
- lightning_sdk/lightning_cloud/openapi/__init__.py +10 -2
- lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
- lightning_sdk/lightning_cloud/openapi/api/blog_posts_service_api.py +533 -0
- lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +121 -0
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +9 -2
- lightning_sdk/lightning_cloud/openapi/models/alertingevents_id_body.py +409 -0
- lightning_sdk/lightning_cloud/openapi/models/blogposts_id_body.py +253 -0
- lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/id_codeconfig_body.py +29 -3
- lightning_sdk/lightning_cloud/openapi/models/id_transfer_body.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +157 -157
- lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/update.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_author.py +201 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_blog_post.py +383 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_state.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_blog_post_request.py +253 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_daily_usage.py +81 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_blog_post_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_type.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_organization_storage_metadata_response.py +157 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_get_project_storage_metadata_response.py +237 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_breakdown_response.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_list_blog_posts_response.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_membership.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_message.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_notification_type.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +261 -157
- lightning_sdk/lightning_cloud/openapi/models/v1_product_license.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_project.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_project_membership.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_project_storage.py +199 -17
- lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset_type.py +4 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_transaction.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_transfer_cloud_space_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_usage.py +105 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +249 -145
- lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +499 -31
- lightning_sdk/lightning_cloud/rest_client.py +13 -11
- lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +8 -3
- lightning_sdk/serve.py +1 -0
- lightning_sdk/services/license.py +148 -27
- {lightning_sdk-0.2.18.dist-info → lightning_sdk-0.2.20.dist-info}/METADATA +1 -1
- {lightning_sdk-0.2.18.dist-info → lightning_sdk-0.2.20.dist-info}/RECORD +66 -58
- lightning_sdk/lightning_cloud/openapi/models/v1_ebs.py +0 -279
- lightning_sdk/lightning_cloud/openapi/models/v1_reservation_billing_session.py +0 -279
- {lightning_sdk-0.2.18.dist-info → lightning_sdk-0.2.20.dist-info}/LICENSE +0 -0
- {lightning_sdk-0.2.18.dist-info → lightning_sdk-0.2.20.dist-info}/WHEEL +0 -0
- {lightning_sdk-0.2.18.dist-info → lightning_sdk-0.2.20.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-0.2.18.dist-info → lightning_sdk-0.2.20.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,175 @@
|
|
|
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 V1ListBlogPostsResponse(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
|
+
'blog_posts': 'list[V1BlogPost]',
|
|
45
|
+
'next_page_token': 'str',
|
|
46
|
+
'prev_page_token': 'str'
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
attribute_map = {
|
|
50
|
+
'blog_posts': 'blogPosts',
|
|
51
|
+
'next_page_token': 'nextPageToken',
|
|
52
|
+
'prev_page_token': 'prevPageToken'
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
def __init__(self, blog_posts: 'list[V1BlogPost]' =None, next_page_token: 'str' =None, prev_page_token: 'str' =None): # noqa: E501
|
|
56
|
+
"""V1ListBlogPostsResponse - a model defined in Swagger""" # noqa: E501
|
|
57
|
+
self._blog_posts = None
|
|
58
|
+
self._next_page_token = None
|
|
59
|
+
self._prev_page_token = None
|
|
60
|
+
self.discriminator = None
|
|
61
|
+
if blog_posts is not None:
|
|
62
|
+
self.blog_posts = blog_posts
|
|
63
|
+
if next_page_token is not None:
|
|
64
|
+
self.next_page_token = next_page_token
|
|
65
|
+
if prev_page_token is not None:
|
|
66
|
+
self.prev_page_token = prev_page_token
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def blog_posts(self) -> 'list[V1BlogPost]':
|
|
70
|
+
"""Gets the blog_posts of this V1ListBlogPostsResponse. # noqa: E501
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:return: The blog_posts of this V1ListBlogPostsResponse. # noqa: E501
|
|
74
|
+
:rtype: list[V1BlogPost]
|
|
75
|
+
"""
|
|
76
|
+
return self._blog_posts
|
|
77
|
+
|
|
78
|
+
@blog_posts.setter
|
|
79
|
+
def blog_posts(self, blog_posts: 'list[V1BlogPost]'):
|
|
80
|
+
"""Sets the blog_posts of this V1ListBlogPostsResponse.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
:param blog_posts: The blog_posts of this V1ListBlogPostsResponse. # noqa: E501
|
|
84
|
+
:type: list[V1BlogPost]
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
self._blog_posts = blog_posts
|
|
88
|
+
|
|
89
|
+
@property
|
|
90
|
+
def next_page_token(self) -> 'str':
|
|
91
|
+
"""Gets the next_page_token of this V1ListBlogPostsResponse. # noqa: E501
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
:return: The next_page_token of this V1ListBlogPostsResponse. # noqa: E501
|
|
95
|
+
:rtype: str
|
|
96
|
+
"""
|
|
97
|
+
return self._next_page_token
|
|
98
|
+
|
|
99
|
+
@next_page_token.setter
|
|
100
|
+
def next_page_token(self, next_page_token: 'str'):
|
|
101
|
+
"""Sets the next_page_token of this V1ListBlogPostsResponse.
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
:param next_page_token: The next_page_token of this V1ListBlogPostsResponse. # noqa: E501
|
|
105
|
+
:type: str
|
|
106
|
+
"""
|
|
107
|
+
|
|
108
|
+
self._next_page_token = next_page_token
|
|
109
|
+
|
|
110
|
+
@property
|
|
111
|
+
def prev_page_token(self) -> 'str':
|
|
112
|
+
"""Gets the prev_page_token of this V1ListBlogPostsResponse. # noqa: E501
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
:return: The prev_page_token of this V1ListBlogPostsResponse. # noqa: E501
|
|
116
|
+
:rtype: str
|
|
117
|
+
"""
|
|
118
|
+
return self._prev_page_token
|
|
119
|
+
|
|
120
|
+
@prev_page_token.setter
|
|
121
|
+
def prev_page_token(self, prev_page_token: 'str'):
|
|
122
|
+
"""Sets the prev_page_token of this V1ListBlogPostsResponse.
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
:param prev_page_token: The prev_page_token of this V1ListBlogPostsResponse. # noqa: E501
|
|
126
|
+
:type: str
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
self._prev_page_token = prev_page_token
|
|
130
|
+
|
|
131
|
+
def to_dict(self) -> dict:
|
|
132
|
+
"""Returns the model properties as a dict"""
|
|
133
|
+
result = {}
|
|
134
|
+
|
|
135
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
136
|
+
value = getattr(self, attr)
|
|
137
|
+
if isinstance(value, list):
|
|
138
|
+
result[attr] = list(map(
|
|
139
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
140
|
+
value
|
|
141
|
+
))
|
|
142
|
+
elif hasattr(value, "to_dict"):
|
|
143
|
+
result[attr] = value.to_dict()
|
|
144
|
+
elif isinstance(value, dict):
|
|
145
|
+
result[attr] = dict(map(
|
|
146
|
+
lambda item: (item[0], item[1].to_dict())
|
|
147
|
+
if hasattr(item[1], "to_dict") else item,
|
|
148
|
+
value.items()
|
|
149
|
+
))
|
|
150
|
+
else:
|
|
151
|
+
result[attr] = value
|
|
152
|
+
if issubclass(V1ListBlogPostsResponse, dict):
|
|
153
|
+
for key, value in self.items():
|
|
154
|
+
result[key] = value
|
|
155
|
+
|
|
156
|
+
return result
|
|
157
|
+
|
|
158
|
+
def to_str(self) -> str:
|
|
159
|
+
"""Returns the string representation of the model"""
|
|
160
|
+
return pprint.pformat(self.to_dict())
|
|
161
|
+
|
|
162
|
+
def __repr__(self) -> str:
|
|
163
|
+
"""For `print` and `pprint`"""
|
|
164
|
+
return self.to_str()
|
|
165
|
+
|
|
166
|
+
def __eq__(self, other: 'V1ListBlogPostsResponse') -> bool:
|
|
167
|
+
"""Returns true if both objects are equal"""
|
|
168
|
+
if not isinstance(other, V1ListBlogPostsResponse):
|
|
169
|
+
return False
|
|
170
|
+
|
|
171
|
+
return self.__dict__ == other.__dict__
|
|
172
|
+
|
|
173
|
+
def __ne__(self, other: 'V1ListBlogPostsResponse') -> bool:
|
|
174
|
+
"""Returns true if both objects are not equal"""
|
|
175
|
+
return not self == other
|
|
@@ -49,6 +49,7 @@ class V1Membership(object):
|
|
|
49
49
|
'description': 'str',
|
|
50
50
|
'display_name': 'str',
|
|
51
51
|
'free_credits_enabled': 'bool',
|
|
52
|
+
'free_storage_bytes': 'str',
|
|
52
53
|
'is_default': 'bool',
|
|
53
54
|
'job_count': 'str',
|
|
54
55
|
'membership_count': 'str',
|
|
@@ -72,6 +73,7 @@ class V1Membership(object):
|
|
|
72
73
|
'description': 'description',
|
|
73
74
|
'display_name': 'displayName',
|
|
74
75
|
'free_credits_enabled': 'freeCreditsEnabled',
|
|
76
|
+
'free_storage_bytes': 'freeStorageBytes',
|
|
75
77
|
'is_default': 'isDefault',
|
|
76
78
|
'job_count': 'jobCount',
|
|
77
79
|
'membership_count': 'membershipCount',
|
|
@@ -86,7 +88,7 @@ class V1Membership(object):
|
|
|
86
88
|
'user_id': 'userId'
|
|
87
89
|
}
|
|
88
90
|
|
|
89
|
-
def __init__(self, balance: 'float' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, datastore_count: 'str' =None, description: 'str' =None, display_name: 'str' =None, free_credits_enabled: 'bool' =None, is_default: 'bool' =None, job_count: 'str' =None, membership_count: 'str' =None, name: 'str' =None, next_free_credits_grant: 'str' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, project_id: 'str' =None, quotas: 'V1Quotas' =None, roles: 'list[V1Role]' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
|
|
91
|
+
def __init__(self, balance: 'float' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, datastore_count: 'str' =None, description: 'str' =None, display_name: 'str' =None, free_credits_enabled: 'bool' =None, free_storage_bytes: 'str' =None, is_default: 'bool' =None, job_count: 'str' =None, membership_count: 'str' =None, name: 'str' =None, next_free_credits_grant: 'str' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, project_id: 'str' =None, quotas: 'V1Quotas' =None, roles: 'list[V1Role]' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
|
|
90
92
|
"""V1Membership - a model defined in Swagger""" # noqa: E501
|
|
91
93
|
self._balance = None
|
|
92
94
|
self._created_at = None
|
|
@@ -96,6 +98,7 @@ class V1Membership(object):
|
|
|
96
98
|
self._description = None
|
|
97
99
|
self._display_name = None
|
|
98
100
|
self._free_credits_enabled = None
|
|
101
|
+
self._free_storage_bytes = None
|
|
99
102
|
self._is_default = None
|
|
100
103
|
self._job_count = None
|
|
101
104
|
self._membership_count = None
|
|
@@ -125,6 +128,8 @@ class V1Membership(object):
|
|
|
125
128
|
self.display_name = display_name
|
|
126
129
|
if free_credits_enabled is not None:
|
|
127
130
|
self.free_credits_enabled = free_credits_enabled
|
|
131
|
+
if free_storage_bytes is not None:
|
|
132
|
+
self.free_storage_bytes = free_storage_bytes
|
|
128
133
|
if is_default is not None:
|
|
129
134
|
self.is_default = is_default
|
|
130
135
|
if job_count is not None:
|
|
@@ -318,6 +323,27 @@ class V1Membership(object):
|
|
|
318
323
|
|
|
319
324
|
self._free_credits_enabled = free_credits_enabled
|
|
320
325
|
|
|
326
|
+
@property
|
|
327
|
+
def free_storage_bytes(self) -> 'str':
|
|
328
|
+
"""Gets the free_storage_bytes of this V1Membership. # noqa: E501
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
:return: The free_storage_bytes of this V1Membership. # noqa: E501
|
|
332
|
+
:rtype: str
|
|
333
|
+
"""
|
|
334
|
+
return self._free_storage_bytes
|
|
335
|
+
|
|
336
|
+
@free_storage_bytes.setter
|
|
337
|
+
def free_storage_bytes(self, free_storage_bytes: 'str'):
|
|
338
|
+
"""Sets the free_storage_bytes of this V1Membership.
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
:param free_storage_bytes: The free_storage_bytes of this V1Membership. # noqa: E501
|
|
342
|
+
:type: str
|
|
343
|
+
"""
|
|
344
|
+
|
|
345
|
+
self._free_storage_bytes = free_storage_bytes
|
|
346
|
+
|
|
321
347
|
@property
|
|
322
348
|
def is_default(self) -> 'bool':
|
|
323
349
|
"""Gets the is_default of this V1Membership. # noqa: E501
|
|
@@ -49,6 +49,7 @@ class V1Message(object):
|
|
|
49
49
|
'created_at': 'datetime',
|
|
50
50
|
'executable': 'bool',
|
|
51
51
|
'id': 'str',
|
|
52
|
+
'metadata': 'dict(str, str)',
|
|
52
53
|
'model': 'str',
|
|
53
54
|
'prompt_tokens': 'str',
|
|
54
55
|
'throughput': 'float'
|
|
@@ -63,12 +64,13 @@ class V1Message(object):
|
|
|
63
64
|
'created_at': 'createdAt',
|
|
64
65
|
'executable': 'executable',
|
|
65
66
|
'id': 'id',
|
|
67
|
+
'metadata': 'metadata',
|
|
66
68
|
'model': 'model',
|
|
67
69
|
'prompt_tokens': 'promptTokens',
|
|
68
70
|
'throughput': 'throughput'
|
|
69
71
|
}
|
|
70
72
|
|
|
71
|
-
def __init__(self, assistant_id: 'str' =None, author: 'V1MessageAuthor' =None, completion_tokens: 'str' =None, content: 'list[V1MessageContent]' =None, conversation_id: 'str' =None, created_at: 'datetime' =None, executable: 'bool' =None, id: 'str' =None, model: 'str' =None, prompt_tokens: 'str' =None, throughput: 'float' =None): # noqa: E501
|
|
73
|
+
def __init__(self, assistant_id: 'str' =None, author: 'V1MessageAuthor' =None, completion_tokens: 'str' =None, content: 'list[V1MessageContent]' =None, conversation_id: 'str' =None, created_at: 'datetime' =None, executable: 'bool' =None, id: 'str' =None, metadata: 'dict(str, str)' =None, model: 'str' =None, prompt_tokens: 'str' =None, throughput: 'float' =None): # noqa: E501
|
|
72
74
|
"""V1Message - a model defined in Swagger""" # noqa: E501
|
|
73
75
|
self._assistant_id = None
|
|
74
76
|
self._author = None
|
|
@@ -78,6 +80,7 @@ class V1Message(object):
|
|
|
78
80
|
self._created_at = None
|
|
79
81
|
self._executable = None
|
|
80
82
|
self._id = None
|
|
83
|
+
self._metadata = None
|
|
81
84
|
self._model = None
|
|
82
85
|
self._prompt_tokens = None
|
|
83
86
|
self._throughput = None
|
|
@@ -98,6 +101,8 @@ class V1Message(object):
|
|
|
98
101
|
self.executable = executable
|
|
99
102
|
if id is not None:
|
|
100
103
|
self.id = id
|
|
104
|
+
if metadata is not None:
|
|
105
|
+
self.metadata = metadata
|
|
101
106
|
if model is not None:
|
|
102
107
|
self.model = model
|
|
103
108
|
if prompt_tokens is not None:
|
|
@@ -273,6 +278,27 @@ class V1Message(object):
|
|
|
273
278
|
|
|
274
279
|
self._id = id
|
|
275
280
|
|
|
281
|
+
@property
|
|
282
|
+
def metadata(self) -> 'dict(str, str)':
|
|
283
|
+
"""Gets the metadata of this V1Message. # noqa: E501
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
:return: The metadata of this V1Message. # noqa: E501
|
|
287
|
+
:rtype: dict(str, str)
|
|
288
|
+
"""
|
|
289
|
+
return self._metadata
|
|
290
|
+
|
|
291
|
+
@metadata.setter
|
|
292
|
+
def metadata(self, metadata: 'dict(str, str)'):
|
|
293
|
+
"""Sets the metadata of this V1Message.
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
:param metadata: The metadata of this V1Message. # noqa: E501
|
|
297
|
+
:type: dict(str, str)
|
|
298
|
+
"""
|
|
299
|
+
|
|
300
|
+
self._metadata = metadata
|
|
301
|
+
|
|
276
302
|
@property
|
|
277
303
|
def model(self) -> 'str':
|
|
278
304
|
"""Gets the model of this V1Message. # noqa: E501
|
|
@@ -40,6 +40,7 @@ class V1NotificationType(object):
|
|
|
40
40
|
UNSPECIFIED = "NOTIFICATION_TYPE_UNSPECIFIED"
|
|
41
41
|
LOW_FUNDS = "NOTIFICATION_TYPE_LOW_FUNDS"
|
|
42
42
|
LONG_WORKLOADS = "NOTIFICATION_TYPE_LONG_WORKLOADS"
|
|
43
|
+
DEPLOYMENT_ERROR = "NOTIFICATION_TYPE_DEPLOYMENT_ERROR"
|
|
43
44
|
"""
|
|
44
45
|
Attributes:
|
|
45
46
|
swagger_types (dict): The key is attribute name
|