lightning-sdk 0.2.11__py3-none-any.whl → 0.2.13__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 +1 -1
  2. lightning_sdk/api/deployment_api.py +35 -3
  3. lightning_sdk/api/lit_container_api.py +13 -7
  4. lightning_sdk/api/llm_api.py +46 -0
  5. lightning_sdk/api/studio_api.py +17 -0
  6. lightning_sdk/cli/entrypoint.py +1 -1
  7. lightning_sdk/cli/serve.py +221 -62
  8. lightning_sdk/deployment/deployment.py +53 -7
  9. lightning_sdk/lightning_cloud/openapi/__init__.py +11 -1
  10. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  11. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +4 -4
  12. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +13 -1
  13. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +4 -4
  14. lightning_sdk/lightning_cloud/openapi/api/git_credentials_service_api.py +497 -0
  15. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +124 -0
  16. lightning_sdk/lightning_cloud/openapi/models/__init__.py +10 -1
  17. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +27 -1
  18. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +27 -1
  20. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +27 -1
  21. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/update.py +65 -195
  23. lightning_sdk/lightning_cloud/openapi/models/update1.py +357 -0
  24. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  25. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template.py +27 -1
  26. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -1
  29. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_request.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_create_git_credentials_request.py +175 -0
  31. lightning_sdk/lightning_cloud/openapi/models/v1_delete_cloud_space_environment_template_response.py +1 -53
  32. lightning_sdk/lightning_cloud/openapi/models/v1_delete_git_credentials_response.py +97 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_state.py +2 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
  36. lightning_sdk/lightning_cloud/openapi/models/v1_git_credentials.py +227 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_job_resource.py +279 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_job_type.py +108 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_list_git_credentials_response.py +123 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_list_job_resources_response.py +123 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +149 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +55 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +29 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_reservation_billing_session.py +279 -0
  45. lightning_sdk/lightning_cloud/openapi/models/v1_resources.py +55 -3
  46. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
  47. lightning_sdk/lightning_cloud/openapi/models/v1_usage.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +157 -1
  49. lightning_sdk/llm/__init__.py +3 -0
  50. lightning_sdk/llm/llm.py +118 -0
  51. lightning_sdk/plugin.py +19 -0
  52. lightning_sdk/serve.py +4 -6
  53. lightning_sdk/studio.py +33 -0
  54. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/METADATA +1 -1
  55. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/RECORD +60 -47
  56. lightning_sdk/lightning_cloud/openapi/models/environmenttemplates_id_body.py +0 -253
  57. /lightning_sdk/cli/{docker.py → docker_cli.py} +0 -0
  58. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/LICENSE +0 -0
  59. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/WHEEL +0 -0
  60. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/entry_points.txt +0 -0
  61. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/top_level.txt +0 -0
@@ -41,66 +41,14 @@ class V1DeleteCloudSpaceEnvironmentTemplateResponse(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'id': 'str',
45
- 'org_id': 'str'
46
44
  }
47
45
 
48
46
  attribute_map = {
49
- 'id': 'id',
50
- 'org_id': 'orgId'
51
47
  }
52
48
 
53
- def __init__(self, id: 'str' =None, org_id: 'str' =None): # noqa: E501
49
+ def __init__(self): # noqa: E501
54
50
  """V1DeleteCloudSpaceEnvironmentTemplateResponse - a model defined in Swagger""" # noqa: E501
55
- self._id = None
56
- self._org_id = None
57
51
  self.discriminator = None
58
- if id is not None:
59
- self.id = id
60
- if org_id is not None:
61
- self.org_id = org_id
62
-
63
- @property
64
- def id(self) -> 'str':
65
- """Gets the id of this V1DeleteCloudSpaceEnvironmentTemplateResponse. # noqa: E501
66
-
67
-
68
- :return: The id of this V1DeleteCloudSpaceEnvironmentTemplateResponse. # noqa: E501
69
- :rtype: str
70
- """
71
- return self._id
72
-
73
- @id.setter
74
- def id(self, id: 'str'):
75
- """Sets the id of this V1DeleteCloudSpaceEnvironmentTemplateResponse.
76
-
77
-
78
- :param id: The id of this V1DeleteCloudSpaceEnvironmentTemplateResponse. # noqa: E501
79
- :type: str
80
- """
81
-
82
- self._id = id
83
-
84
- @property
85
- def org_id(self) -> 'str':
86
- """Gets the org_id of this V1DeleteCloudSpaceEnvironmentTemplateResponse. # noqa: E501
87
-
88
-
89
- :return: The org_id of this V1DeleteCloudSpaceEnvironmentTemplateResponse. # noqa: E501
90
- :rtype: str
91
- """
92
- return self._org_id
93
-
94
- @org_id.setter
95
- def org_id(self, org_id: 'str'):
96
- """Sets the org_id of this V1DeleteCloudSpaceEnvironmentTemplateResponse.
97
-
98
-
99
- :param org_id: The org_id of this V1DeleteCloudSpaceEnvironmentTemplateResponse. # noqa: E501
100
- :type: str
101
- """
102
-
103
- self._org_id = org_id
104
52
 
105
53
  def to_dict(self) -> dict:
106
54
  """Returns the model properties as a dict"""
@@ -0,0 +1,97 @@
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 V1DeleteGitCredentialsResponse(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
+ }
45
+
46
+ attribute_map = {
47
+ }
48
+
49
+ def __init__(self): # noqa: E501
50
+ """V1DeleteGitCredentialsResponse - a model defined in Swagger""" # noqa: E501
51
+ self.discriminator = None
52
+
53
+ def to_dict(self) -> dict:
54
+ """Returns the model properties as a dict"""
55
+ result = {}
56
+
57
+ for attr, _ in six.iteritems(self.swagger_types):
58
+ value = getattr(self, attr)
59
+ if isinstance(value, list):
60
+ result[attr] = list(map(
61
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
62
+ value
63
+ ))
64
+ elif hasattr(value, "to_dict"):
65
+ result[attr] = value.to_dict()
66
+ elif isinstance(value, dict):
67
+ result[attr] = dict(map(
68
+ lambda item: (item[0], item[1].to_dict())
69
+ if hasattr(item[1], "to_dict") else item,
70
+ value.items()
71
+ ))
72
+ else:
73
+ result[attr] = value
74
+ if issubclass(V1DeleteGitCredentialsResponse, dict):
75
+ for key, value in self.items():
76
+ result[key] = value
77
+
78
+ return result
79
+
80
+ def to_str(self) -> str:
81
+ """Returns the string representation of the model"""
82
+ return pprint.pformat(self.to_dict())
83
+
84
+ def __repr__(self) -> str:
85
+ """For `print` and `pprint`"""
86
+ return self.to_str()
87
+
88
+ def __eq__(self, other: 'V1DeleteGitCredentialsResponse') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1DeleteGitCredentialsResponse):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1DeleteGitCredentialsResponse') -> bool:
96
+ """Returns true if both objects are not equal"""
97
+ return not self == other
@@ -47,6 +47,7 @@ class V1Deployment(object):
47
47
  'autoscaling': 'V1AutoscalingSpec',
48
48
  'cloudspace_id': 'str',
49
49
  'created_at': 'datetime',
50
+ 'current_state': 'V1DeploymentState',
50
51
  'debug': 'bool',
51
52
  'desired_state': 'V1DeploymentState',
52
53
  'endpoint': 'V1Endpoint',
@@ -76,6 +77,7 @@ class V1Deployment(object):
76
77
  'autoscaling': 'autoscaling',
77
78
  'cloudspace_id': 'cloudspaceId',
78
79
  'created_at': 'createdAt',
80
+ 'current_state': 'currentState',
79
81
  'debug': 'debug',
80
82
  'desired_state': 'desiredState',
81
83
  'endpoint': 'endpoint',
@@ -98,7 +100,7 @@ class V1Deployment(object):
98
100
  'visibility': 'visibility'
99
101
  }
100
102
 
101
- def __init__(self, api_standard: 'str' =None, apis: 'list[V1DeploymentAPI]' =None, assistant_id: 'str' =None, autoscaling: 'V1AutoscalingSpec' =None, cloudspace_id: 'str' =None, created_at: 'datetime' =None, debug: 'bool' =None, desired_state: 'V1DeploymentState' =None, endpoint: 'V1Endpoint' =None, id: 'str' =None, is_published: 'bool' =None, managed_endpoint_id: 'str' =None, name: 'str' =None, parameter_spec: 'V1ParameterizationSpec' =None, pipeline_id: 'str' =None, project_id: 'str' =None, release_id: 'str' =None, replicas: 'int' =None, spec: 'V1JobSpec' =None, status: 'V1DeploymentStatus' =None, strategy: 'V1DeploymentStrategy' =None, template_id: 'str' =None, total_cost: 'float' =None, updated_at: 'datetime' =None, user_id: 'str' =None, visibility: 'V1ResourceVisibility' =None): # noqa: E501
103
+ def __init__(self, api_standard: 'str' =None, apis: 'list[V1DeploymentAPI]' =None, assistant_id: 'str' =None, autoscaling: 'V1AutoscalingSpec' =None, cloudspace_id: 'str' =None, created_at: 'datetime' =None, current_state: 'V1DeploymentState' =None, debug: 'bool' =None, desired_state: 'V1DeploymentState' =None, endpoint: 'V1Endpoint' =None, id: 'str' =None, is_published: 'bool' =None, managed_endpoint_id: 'str' =None, name: 'str' =None, parameter_spec: 'V1ParameterizationSpec' =None, pipeline_id: 'str' =None, project_id: 'str' =None, release_id: 'str' =None, replicas: 'int' =None, spec: 'V1JobSpec' =None, status: 'V1DeploymentStatus' =None, strategy: 'V1DeploymentStrategy' =None, template_id: 'str' =None, total_cost: 'float' =None, updated_at: 'datetime' =None, user_id: 'str' =None, visibility: 'V1ResourceVisibility' =None): # noqa: E501
102
104
  """V1Deployment - a model defined in Swagger""" # noqa: E501
103
105
  self._api_standard = None
104
106
  self._apis = None
@@ -106,6 +108,7 @@ class V1Deployment(object):
106
108
  self._autoscaling = None
107
109
  self._cloudspace_id = None
108
110
  self._created_at = None
111
+ self._current_state = None
109
112
  self._debug = None
110
113
  self._desired_state = None
111
114
  self._endpoint = None
@@ -139,6 +142,8 @@ class V1Deployment(object):
139
142
  self.cloudspace_id = cloudspace_id
140
143
  if created_at is not None:
141
144
  self.created_at = created_at
145
+ if current_state is not None:
146
+ self.current_state = current_state
142
147
  if debug is not None:
143
148
  self.debug = debug
144
149
  if desired_state is not None:
@@ -306,6 +311,27 @@ class V1Deployment(object):
306
311
 
307
312
  self._created_at = created_at
308
313
 
314
+ @property
315
+ def current_state(self) -> 'V1DeploymentState':
316
+ """Gets the current_state of this V1Deployment. # noqa: E501
317
+
318
+
319
+ :return: The current_state of this V1Deployment. # noqa: E501
320
+ :rtype: V1DeploymentState
321
+ """
322
+ return self._current_state
323
+
324
+ @current_state.setter
325
+ def current_state(self, current_state: 'V1DeploymentState'):
326
+ """Sets the current_state of this V1Deployment.
327
+
328
+
329
+ :param current_state: The current_state of this V1Deployment. # noqa: E501
330
+ :type: V1DeploymentState
331
+ """
332
+
333
+ self._current_state = current_state
334
+
309
335
  @property
310
336
  def debug(self) -> 'bool':
311
337
  """Gets the debug of this V1Deployment. # noqa: E501
@@ -40,8 +40,10 @@ class V1DeploymentState(object):
40
40
  UNSPECIFIED = "DEPLOYMENT_STATE_UNSPECIFIED"
41
41
  RUNNING = "DEPLOYMENT_STATE_RUNNING"
42
42
  DELETED = "DEPLOYMENT_STATE_DELETED"
43
+ COMPLETED = "DEPLOYMENT_STATE_COMPLETED"
43
44
  FAILED = "DEPLOYMENT_STATE_FAILED"
44
45
  SUSPENDED = "DEPLOYMENT_STATE_SUSPENDED"
46
+ PENDING = "DEPLOYMENT_STATE_PENDING"
45
47
  """
46
48
  Attributes:
47
49
  swagger_types (dict): The key is attribute name
@@ -50,7 +50,6 @@ class V1GetUserResponse(object):
50
50
  'features': 'V1UserFeatures',
51
51
  'first_name': 'str',
52
52
  'general_audience_mode': 'bool',
53
- 'git_credentials_id': 'str',
54
53
  'id': 'str',
55
54
  'internal_docs_admin': 'bool',
56
55
  'invite_code': 'str',
@@ -89,7 +88,6 @@ class V1GetUserResponse(object):
89
88
  'features': 'features',
90
89
  'first_name': 'firstName',
91
90
  'general_audience_mode': 'generalAudienceMode',
92
- 'git_credentials_id': 'gitCredentialsId',
93
91
  'id': 'id',
94
92
  'internal_docs_admin': 'internalDocsAdmin',
95
93
  'invite_code': 'inviteCode',
@@ -118,7 +116,7 @@ class V1GetUserResponse(object):
118
116
  'website': 'website'
119
117
  }
120
118
 
121
- def __init__(self, agree_to_terms_and_conditions: 'bool' =None, api_key: 'str' =None, country: 'str' =None, discounted_pro_plan: 'bool' =None, email: 'str' =None, experimentation_id: 'str' =None, features: 'V1UserFeatures' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, git_credentials_id: 'str' =None, id: 'str' =None, internal_docs_admin: 'bool' =None, invite_code: 'str' =None, is_internal: 'bool' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: 'str' =None, organizations: 'list[V1Organization]' =None, phone_number: 'str' =None, picture_url: 'str' =None, preferred_color_scheme: 'str' =None, preferred_ide: 'str' =None, preferred_shell: 'str' =None, preferred_vscode_marketplace: 'str' =None, role: 'str' =None, saw_create_first_project_dialog: 'bool' =None, saw_forums_login_merge_dialog: 'bool' =None, saw_free_credits_notification: 'bool' =None, sb: 'bool' =None, status: 'Externalv1UserStatus' =None, storage_bytes: 'str' =None, user_metadata: 'str' =None, username: 'str' =None, waitlisted: 'bool' =None, website: 'str' =None): # noqa: E501
119
+ def __init__(self, agree_to_terms_and_conditions: 'bool' =None, api_key: 'str' =None, country: 'str' =None, discounted_pro_plan: 'bool' =None, email: 'str' =None, experimentation_id: 'str' =None, features: 'V1UserFeatures' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, id: 'str' =None, internal_docs_admin: 'bool' =None, invite_code: 'str' =None, is_internal: 'bool' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: 'str' =None, organizations: 'list[V1Organization]' =None, phone_number: 'str' =None, picture_url: 'str' =None, preferred_color_scheme: 'str' =None, preferred_ide: 'str' =None, preferred_shell: 'str' =None, preferred_vscode_marketplace: 'str' =None, role: 'str' =None, saw_create_first_project_dialog: 'bool' =None, saw_forums_login_merge_dialog: 'bool' =None, saw_free_credits_notification: 'bool' =None, sb: 'bool' =None, status: 'Externalv1UserStatus' =None, storage_bytes: 'str' =None, user_metadata: 'str' =None, username: 'str' =None, waitlisted: 'bool' =None, website: 'str' =None): # noqa: E501
122
120
  """V1GetUserResponse - a model defined in Swagger""" # noqa: E501
123
121
  self._agree_to_terms_and_conditions = None
124
122
  self._api_key = None
@@ -129,7 +127,6 @@ class V1GetUserResponse(object):
129
127
  self._features = None
130
128
  self._first_name = None
131
129
  self._general_audience_mode = None
132
- self._git_credentials_id = None
133
130
  self._id = None
134
131
  self._internal_docs_admin = None
135
132
  self._invite_code = None
@@ -175,8 +172,6 @@ class V1GetUserResponse(object):
175
172
  self.first_name = first_name
176
173
  if general_audience_mode is not None:
177
174
  self.general_audience_mode = general_audience_mode
178
- if git_credentials_id is not None:
179
- self.git_credentials_id = git_credentials_id
180
175
  if id is not None:
181
176
  self.id = id
182
177
  if internal_docs_admin is not None:
@@ -419,27 +414,6 @@ class V1GetUserResponse(object):
419
414
 
420
415
  self._general_audience_mode = general_audience_mode
421
416
 
422
- @property
423
- def git_credentials_id(self) -> 'str':
424
- """Gets the git_credentials_id of this V1GetUserResponse. # noqa: E501
425
-
426
-
427
- :return: The git_credentials_id of this V1GetUserResponse. # noqa: E501
428
- :rtype: str
429
- """
430
- return self._git_credentials_id
431
-
432
- @git_credentials_id.setter
433
- def git_credentials_id(self, git_credentials_id: 'str'):
434
- """Sets the git_credentials_id of this V1GetUserResponse.
435
-
436
-
437
- :param git_credentials_id: The git_credentials_id of this V1GetUserResponse. # noqa: E501
438
- :type: str
439
- """
440
-
441
- self._git_credentials_id = git_credentials_id
442
-
443
417
  @property
444
418
  def id(self) -> 'str':
445
419
  """Gets the id of this V1GetUserResponse. # noqa: E501
@@ -0,0 +1,227 @@
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 V1GitCredentials(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
+ 'created_at': 'datetime',
45
+ 'git_username': 'str',
46
+ 'id': 'str',
47
+ 'last_modified': 'datetime',
48
+ 'registry_url': 'str'
49
+ }
50
+
51
+ attribute_map = {
52
+ 'created_at': 'createdAt',
53
+ 'git_username': 'gitUsername',
54
+ 'id': 'id',
55
+ 'last_modified': 'lastModified',
56
+ 'registry_url': 'registryUrl'
57
+ }
58
+
59
+ def __init__(self, created_at: 'datetime' =None, git_username: 'str' =None, id: 'str' =None, last_modified: 'datetime' =None, registry_url: 'str' =None): # noqa: E501
60
+ """V1GitCredentials - a model defined in Swagger""" # noqa: E501
61
+ self._created_at = None
62
+ self._git_username = None
63
+ self._id = None
64
+ self._last_modified = None
65
+ self._registry_url = None
66
+ self.discriminator = None
67
+ if created_at is not None:
68
+ self.created_at = created_at
69
+ if git_username is not None:
70
+ self.git_username = git_username
71
+ if id is not None:
72
+ self.id = id
73
+ if last_modified is not None:
74
+ self.last_modified = last_modified
75
+ if registry_url is not None:
76
+ self.registry_url = registry_url
77
+
78
+ @property
79
+ def created_at(self) -> 'datetime':
80
+ """Gets the created_at of this V1GitCredentials. # noqa: E501
81
+
82
+
83
+ :return: The created_at of this V1GitCredentials. # noqa: E501
84
+ :rtype: datetime
85
+ """
86
+ return self._created_at
87
+
88
+ @created_at.setter
89
+ def created_at(self, created_at: 'datetime'):
90
+ """Sets the created_at of this V1GitCredentials.
91
+
92
+
93
+ :param created_at: The created_at of this V1GitCredentials. # noqa: E501
94
+ :type: datetime
95
+ """
96
+
97
+ self._created_at = created_at
98
+
99
+ @property
100
+ def git_username(self) -> 'str':
101
+ """Gets the git_username of this V1GitCredentials. # noqa: E501
102
+
103
+
104
+ :return: The git_username of this V1GitCredentials. # noqa: E501
105
+ :rtype: str
106
+ """
107
+ return self._git_username
108
+
109
+ @git_username.setter
110
+ def git_username(self, git_username: 'str'):
111
+ """Sets the git_username of this V1GitCredentials.
112
+
113
+
114
+ :param git_username: The git_username of this V1GitCredentials. # noqa: E501
115
+ :type: str
116
+ """
117
+
118
+ self._git_username = git_username
119
+
120
+ @property
121
+ def id(self) -> 'str':
122
+ """Gets the id of this V1GitCredentials. # noqa: E501
123
+
124
+
125
+ :return: The id of this V1GitCredentials. # noqa: E501
126
+ :rtype: str
127
+ """
128
+ return self._id
129
+
130
+ @id.setter
131
+ def id(self, id: 'str'):
132
+ """Sets the id of this V1GitCredentials.
133
+
134
+
135
+ :param id: The id of this V1GitCredentials. # noqa: E501
136
+ :type: str
137
+ """
138
+
139
+ self._id = id
140
+
141
+ @property
142
+ def last_modified(self) -> 'datetime':
143
+ """Gets the last_modified of this V1GitCredentials. # noqa: E501
144
+
145
+
146
+ :return: The last_modified of this V1GitCredentials. # noqa: E501
147
+ :rtype: datetime
148
+ """
149
+ return self._last_modified
150
+
151
+ @last_modified.setter
152
+ def last_modified(self, last_modified: 'datetime'):
153
+ """Sets the last_modified of this V1GitCredentials.
154
+
155
+
156
+ :param last_modified: The last_modified of this V1GitCredentials. # noqa: E501
157
+ :type: datetime
158
+ """
159
+
160
+ self._last_modified = last_modified
161
+
162
+ @property
163
+ def registry_url(self) -> 'str':
164
+ """Gets the registry_url of this V1GitCredentials. # noqa: E501
165
+
166
+
167
+ :return: The registry_url of this V1GitCredentials. # noqa: E501
168
+ :rtype: str
169
+ """
170
+ return self._registry_url
171
+
172
+ @registry_url.setter
173
+ def registry_url(self, registry_url: 'str'):
174
+ """Sets the registry_url of this V1GitCredentials.
175
+
176
+
177
+ :param registry_url: The registry_url of this V1GitCredentials. # noqa: E501
178
+ :type: str
179
+ """
180
+
181
+ self._registry_url = registry_url
182
+
183
+ def to_dict(self) -> dict:
184
+ """Returns the model properties as a dict"""
185
+ result = {}
186
+
187
+ for attr, _ in six.iteritems(self.swagger_types):
188
+ value = getattr(self, attr)
189
+ if isinstance(value, list):
190
+ result[attr] = list(map(
191
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
192
+ value
193
+ ))
194
+ elif hasattr(value, "to_dict"):
195
+ result[attr] = value.to_dict()
196
+ elif isinstance(value, dict):
197
+ result[attr] = dict(map(
198
+ lambda item: (item[0], item[1].to_dict())
199
+ if hasattr(item[1], "to_dict") else item,
200
+ value.items()
201
+ ))
202
+ else:
203
+ result[attr] = value
204
+ if issubclass(V1GitCredentials, dict):
205
+ for key, value in self.items():
206
+ result[key] = value
207
+
208
+ return result
209
+
210
+ def to_str(self) -> str:
211
+ """Returns the string representation of the model"""
212
+ return pprint.pformat(self.to_dict())
213
+
214
+ def __repr__(self) -> str:
215
+ """For `print` and `pprint`"""
216
+ return self.to_str()
217
+
218
+ def __eq__(self, other: 'V1GitCredentials') -> bool:
219
+ """Returns true if both objects are equal"""
220
+ if not isinstance(other, V1GitCredentials):
221
+ return False
222
+
223
+ return self.__dict__ == other.__dict__
224
+
225
+ def __ne__(self, other: 'V1GitCredentials') -> bool:
226
+ """Returns true if both objects are not equal"""
227
+ return not self == other