anyscale 0.26.17__py3-none-any.whl → 0.26.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.
Files changed (61) hide show
  1. anyscale/_private/docgen/models.md +3 -3
  2. anyscale/anyscale-cloud-setup.yaml +0 -4
  3. anyscale/client/README.md +18 -38
  4. anyscale/client/openapi_client/__init__.py +14 -20
  5. anyscale/client/openapi_client/api/default_api.py +460 -2097
  6. anyscale/client/openapi_client/models/__init__.py +14 -20
  7. anyscale/client/openapi_client/models/aws_config.py +402 -0
  8. anyscale/client/openapi_client/models/baseimagesenum.py +68 -1
  9. anyscale/client/openapi_client/models/cloud_deployment.py +397 -0
  10. anyscale/client/openapi_client/models/{webterminal_list_response.py → clouddeployment_list_response.py} +15 -15
  11. anyscale/client/openapi_client/models/decorated_production_job_state_transition.py +2 -2
  12. anyscale/client/openapi_client/models/file_storage.py +206 -0
  13. anyscale/client/openapi_client/models/gcp_config.py +402 -0
  14. anyscale/client/openapi_client/models/{session_details.py → job_queue_sort_directive.py} +39 -39
  15. anyscale/client/openapi_client/models/{sessiondescribe_response.py → job_queue_sort_field.py} +20 -34
  16. anyscale/client/openapi_client/models/job_queues_query.py +31 -3
  17. anyscale/client/openapi_client/models/kubernetes_config.py +150 -0
  18. anyscale/client/openapi_client/models/{monitor_logs_extension.py → networking_mode.py} +7 -7
  19. anyscale/client/openapi_client/models/object_storage.py +178 -0
  20. anyscale/client/openapi_client/models/{sessiondetails_response.py → pcp_config.py} +23 -22
  21. anyscale/client/openapi_client/models/production_job_state_transition.py +2 -2
  22. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +68 -1
  23. anyscale/client/openapi_client/models/{external_service_status.py → update_job_queue_request.py} +39 -36
  24. anyscale/client/openapi_client/models/workspace_template_readme.py +181 -0
  25. anyscale/client/openapi_client/models/{archivedlogsinfo_response.py → workspacetemplatereadme_response.py} +11 -11
  26. anyscale/commands/cloud_commands.py +55 -7
  27. anyscale/commands/command_examples.py +58 -0
  28. anyscale/commands/job_commands.py +2 -2
  29. anyscale/commands/job_queue_commands.py +172 -0
  30. anyscale/connect_utils/prepare_cluster.py +19 -14
  31. anyscale/controllers/cloud_controller.py +60 -3
  32. anyscale/controllers/job_controller.py +215 -3
  33. anyscale/scripts.py +3 -0
  34. anyscale/sdk/anyscale_client/models/baseimagesenum.py +68 -1
  35. anyscale/sdk/anyscale_client/models/production_job_state_transition.py +2 -2
  36. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +68 -1
  37. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  38. anyscale/util.py +3 -1
  39. anyscale/utils/connect_helpers.py +34 -0
  40. anyscale/version.py +1 -1
  41. anyscale/workspace/_private/workspace_sdk.py +19 -6
  42. {anyscale-0.26.17.dist-info → anyscale-0.26.20.dist-info}/METADATA +1 -1
  43. {anyscale-0.26.17.dist-info → anyscale-0.26.20.dist-info}/RECORD +48 -53
  44. anyscale/client/openapi_client/models/archived_logs_info.py +0 -164
  45. anyscale/client/openapi_client/models/create_experimental_workspace_from_job.py +0 -123
  46. anyscale/client/openapi_client/models/create_session_from_snapshot_options.py +0 -538
  47. anyscale/client/openapi_client/models/create_session_in_db.py +0 -434
  48. anyscale/client/openapi_client/models/create_session_response.py +0 -174
  49. anyscale/client/openapi_client/models/createsessionresponse_response.py +0 -121
  50. anyscale/client/openapi_client/models/external_service_status_response.py +0 -250
  51. anyscale/client/openapi_client/models/externalservicestatusresponse_response.py +0 -121
  52. anyscale/client/openapi_client/models/session_describe.py +0 -175
  53. anyscale/client/openapi_client/models/session_history_item.py +0 -146
  54. anyscale/client/openapi_client/models/sessionhistoryitem_list_response.py +0 -147
  55. anyscale/client/openapi_client/models/update_compute_template.py +0 -146
  56. anyscale/client/openapi_client/models/update_compute_template_config.py +0 -464
  57. {anyscale-0.26.17.dist-info → anyscale-0.26.20.dist-info}/LICENSE +0 -0
  58. {anyscale-0.26.17.dist-info → anyscale-0.26.20.dist-info}/NOTICE +0 -0
  59. {anyscale-0.26.17.dist-info → anyscale-0.26.20.dist-info}/WHEEL +0 -0
  60. {anyscale-0.26.17.dist-info → anyscale-0.26.20.dist-info}/entry_points.txt +0 -0
  61. {anyscale-0.26.17.dist-info → anyscale-0.26.20.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,206 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class FileStorage(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ Attributes:
30
+ openapi_types (dict): The key is attribute name
31
+ and the value is attribute type.
32
+ attribute_map (dict): The key is attribute name
33
+ and the value is json key in definition.
34
+ """
35
+ openapi_types = {
36
+ 'file_storage_id': 'str',
37
+ 'mount_targets': 'list[NFSMountTarget]',
38
+ 'mount_path': 'str',
39
+ 'persistent_volume_claim': 'str'
40
+ }
41
+
42
+ attribute_map = {
43
+ 'file_storage_id': 'file_storage_id',
44
+ 'mount_targets': 'mount_targets',
45
+ 'mount_path': 'mount_path',
46
+ 'persistent_volume_claim': 'persistent_volume_claim'
47
+ }
48
+
49
+ def __init__(self, file_storage_id=None, mount_targets=None, mount_path=None, persistent_volume_claim=None, local_vars_configuration=None): # noqa: E501
50
+ """FileStorage - a model defined in OpenAPI""" # noqa: E501
51
+ if local_vars_configuration is None:
52
+ local_vars_configuration = Configuration()
53
+ self.local_vars_configuration = local_vars_configuration
54
+
55
+ self._file_storage_id = None
56
+ self._mount_targets = None
57
+ self._mount_path = None
58
+ self._persistent_volume_claim = None
59
+ self.discriminator = None
60
+
61
+ if file_storage_id is not None:
62
+ self.file_storage_id = file_storage_id
63
+ if mount_targets is not None:
64
+ self.mount_targets = mount_targets
65
+ if mount_path is not None:
66
+ self.mount_path = mount_path
67
+ if persistent_volume_claim is not None:
68
+ self.persistent_volume_claim = persistent_volume_claim
69
+
70
+ @property
71
+ def file_storage_id(self):
72
+ """Gets the file_storage_id of this FileStorage. # noqa: E501
73
+
74
+ For AWS, the EFS ID. For GCP, the Filestore instance name. # noqa: E501
75
+
76
+ :return: The file_storage_id of this FileStorage. # noqa: E501
77
+ :rtype: str
78
+ """
79
+ return self._file_storage_id
80
+
81
+ @file_storage_id.setter
82
+ def file_storage_id(self, file_storage_id):
83
+ """Sets the file_storage_id of this FileStorage.
84
+
85
+ For AWS, the EFS ID. For GCP, the Filestore instance name. # noqa: E501
86
+
87
+ :param file_storage_id: The file_storage_id of this FileStorage. # noqa: E501
88
+ :type: str
89
+ """
90
+
91
+ self._file_storage_id = file_storage_id
92
+
93
+ @property
94
+ def mount_targets(self):
95
+ """Gets the mount_targets of this FileStorage. # noqa: E501
96
+
97
+ The mount target(s) to use. # noqa: E501
98
+
99
+ :return: The mount_targets of this FileStorage. # noqa: E501
100
+ :rtype: list[NFSMountTarget]
101
+ """
102
+ return self._mount_targets
103
+
104
+ @mount_targets.setter
105
+ def mount_targets(self, mount_targets):
106
+ """Sets the mount_targets of this FileStorage.
107
+
108
+ The mount target(s) to use. # noqa: E501
109
+
110
+ :param mount_targets: The mount_targets of this FileStorage. # noqa: E501
111
+ :type: list[NFSMountTarget]
112
+ """
113
+
114
+ self._mount_targets = mount_targets
115
+
116
+ @property
117
+ def mount_path(self):
118
+ """Gets the mount_path of this FileStorage. # noqa: E501
119
+
120
+ For GCP, the Filestore root directory. For NFS, the path of the server to mount from (e.g., <mount-target-address>/<mount-path> will be mounted). # noqa: E501
121
+
122
+ :return: The mount_path of this FileStorage. # noqa: E501
123
+ :rtype: str
124
+ """
125
+ return self._mount_path
126
+
127
+ @mount_path.setter
128
+ def mount_path(self, mount_path):
129
+ """Sets the mount_path of this FileStorage.
130
+
131
+ For GCP, the Filestore root directory. For NFS, the path of the server to mount from (e.g., <mount-target-address>/<mount-path> will be mounted). # noqa: E501
132
+
133
+ :param mount_path: The mount_path of this FileStorage. # noqa: E501
134
+ :type: str
135
+ """
136
+
137
+ self._mount_path = mount_path
138
+
139
+ @property
140
+ def persistent_volume_claim(self):
141
+ """Gets the persistent_volume_claim of this FileStorage. # noqa: E501
142
+
143
+ For Kubernetes deployments, the name of the persistent volume claim used to mount NFS into pods. # noqa: E501
144
+
145
+ :return: The persistent_volume_claim of this FileStorage. # noqa: E501
146
+ :rtype: str
147
+ """
148
+ return self._persistent_volume_claim
149
+
150
+ @persistent_volume_claim.setter
151
+ def persistent_volume_claim(self, persistent_volume_claim):
152
+ """Sets the persistent_volume_claim of this FileStorage.
153
+
154
+ For Kubernetes deployments, the name of the persistent volume claim used to mount NFS into pods. # noqa: E501
155
+
156
+ :param persistent_volume_claim: The persistent_volume_claim of this FileStorage. # noqa: E501
157
+ :type: str
158
+ """
159
+
160
+ self._persistent_volume_claim = persistent_volume_claim
161
+
162
+ def to_dict(self):
163
+ """Returns the model properties as a dict"""
164
+ result = {}
165
+
166
+ for attr, _ in six.iteritems(self.openapi_types):
167
+ value = getattr(self, attr)
168
+ if isinstance(value, list):
169
+ result[attr] = list(map(
170
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
171
+ value
172
+ ))
173
+ elif hasattr(value, "to_dict"):
174
+ result[attr] = value.to_dict()
175
+ elif isinstance(value, dict):
176
+ result[attr] = dict(map(
177
+ lambda item: (item[0], item[1].to_dict())
178
+ if hasattr(item[1], "to_dict") else item,
179
+ value.items()
180
+ ))
181
+ else:
182
+ result[attr] = value
183
+
184
+ return result
185
+
186
+ def to_str(self):
187
+ """Returns the string representation of the model"""
188
+ return pprint.pformat(self.to_dict())
189
+
190
+ def __repr__(self):
191
+ """For `print` and `pprint`"""
192
+ return self.to_str()
193
+
194
+ def __eq__(self, other):
195
+ """Returns true if both objects are equal"""
196
+ if not isinstance(other, FileStorage):
197
+ return False
198
+
199
+ return self.to_dict() == other.to_dict()
200
+
201
+ def __ne__(self, other):
202
+ """Returns true if both objects are not equal"""
203
+ if not isinstance(other, FileStorage):
204
+ return True
205
+
206
+ return self.to_dict() != other.to_dict()
@@ -0,0 +1,402 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class GCPConfig(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ Attributes:
30
+ openapi_types (dict): The key is attribute name
31
+ and the value is attribute type.
32
+ attribute_map (dict): The key is attribute name
33
+ and the value is json key in definition.
34
+ """
35
+ openapi_types = {
36
+ 'project_id': 'str',
37
+ 'host_project_id': 'str',
38
+ 'provider_name': 'str',
39
+ 'vpc_name': 'str',
40
+ 'subnet_names': 'list[str]',
41
+ 'firewall_policy_names': 'list[str]',
42
+ 'anyscale_service_account_email': 'str',
43
+ 'cluster_service_account_email': 'str',
44
+ 'memorystore_instance_name': 'str',
45
+ 'memorystore_endpoint': 'str',
46
+ 'deployment_manager_id': 'str'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'project_id': 'project_id',
51
+ 'host_project_id': 'host_project_id',
52
+ 'provider_name': 'provider_name',
53
+ 'vpc_name': 'vpc_name',
54
+ 'subnet_names': 'subnet_names',
55
+ 'firewall_policy_names': 'firewall_policy_names',
56
+ 'anyscale_service_account_email': 'anyscale_service_account_email',
57
+ 'cluster_service_account_email': 'cluster_service_account_email',
58
+ 'memorystore_instance_name': 'memorystore_instance_name',
59
+ 'memorystore_endpoint': 'memorystore_endpoint',
60
+ 'deployment_manager_id': 'deployment_manager_id'
61
+ }
62
+
63
+ def __init__(self, project_id=None, host_project_id=None, provider_name=None, vpc_name=None, subnet_names=None, firewall_policy_names=None, anyscale_service_account_email=None, cluster_service_account_email=None, memorystore_instance_name=None, memorystore_endpoint=None, deployment_manager_id=None, local_vars_configuration=None): # noqa: E501
64
+ """GCPConfig - a model defined in OpenAPI""" # noqa: E501
65
+ if local_vars_configuration is None:
66
+ local_vars_configuration = Configuration()
67
+ self.local_vars_configuration = local_vars_configuration
68
+
69
+ self._project_id = None
70
+ self._host_project_id = None
71
+ self._provider_name = None
72
+ self._vpc_name = None
73
+ self._subnet_names = None
74
+ self._firewall_policy_names = None
75
+ self._anyscale_service_account_email = None
76
+ self._cluster_service_account_email = None
77
+ self._memorystore_instance_name = None
78
+ self._memorystore_endpoint = None
79
+ self._deployment_manager_id = None
80
+ self.discriminator = None
81
+
82
+ if project_id is not None:
83
+ self.project_id = project_id
84
+ if host_project_id is not None:
85
+ self.host_project_id = host_project_id
86
+ if provider_name is not None:
87
+ self.provider_name = provider_name
88
+ if vpc_name is not None:
89
+ self.vpc_name = vpc_name
90
+ if subnet_names is not None:
91
+ self.subnet_names = subnet_names
92
+ if firewall_policy_names is not None:
93
+ self.firewall_policy_names = firewall_policy_names
94
+ if anyscale_service_account_email is not None:
95
+ self.anyscale_service_account_email = anyscale_service_account_email
96
+ if cluster_service_account_email is not None:
97
+ self.cluster_service_account_email = cluster_service_account_email
98
+ if memorystore_instance_name is not None:
99
+ self.memorystore_instance_name = memorystore_instance_name
100
+ if memorystore_endpoint is not None:
101
+ self.memorystore_endpoint = memorystore_endpoint
102
+ if deployment_manager_id is not None:
103
+ self.deployment_manager_id = deployment_manager_id
104
+
105
+ @property
106
+ def project_id(self):
107
+ """Gets the project_id of this GCPConfig. # noqa: E501
108
+
109
+ The GCP project ID. # noqa: E501
110
+
111
+ :return: The project_id of this GCPConfig. # noqa: E501
112
+ :rtype: str
113
+ """
114
+ return self._project_id
115
+
116
+ @project_id.setter
117
+ def project_id(self, project_id):
118
+ """Sets the project_id of this GCPConfig.
119
+
120
+ The GCP project ID. # noqa: E501
121
+
122
+ :param project_id: The project_id of this GCPConfig. # noqa: E501
123
+ :type: str
124
+ """
125
+
126
+ self._project_id = project_id
127
+
128
+ @property
129
+ def host_project_id(self):
130
+ """Gets the host_project_id of this GCPConfig. # noqa: E501
131
+
132
+ The host project ID for shared VPCs. # noqa: E501
133
+
134
+ :return: The host_project_id of this GCPConfig. # noqa: E501
135
+ :rtype: str
136
+ """
137
+ return self._host_project_id
138
+
139
+ @host_project_id.setter
140
+ def host_project_id(self, host_project_id):
141
+ """Sets the host_project_id of this GCPConfig.
142
+
143
+ The host project ID for shared VPCs. # noqa: E501
144
+
145
+ :param host_project_id: The host_project_id of this GCPConfig. # noqa: E501
146
+ :type: str
147
+ """
148
+
149
+ self._host_project_id = host_project_id
150
+
151
+ @property
152
+ def provider_name(self):
153
+ """Gets the provider_name of this GCPConfig. # noqa: E501
154
+
155
+ Workload Identity Federation provider name for Anyscale access. # noqa: E501
156
+
157
+ :return: The provider_name of this GCPConfig. # noqa: E501
158
+ :rtype: str
159
+ """
160
+ return self._provider_name
161
+
162
+ @provider_name.setter
163
+ def provider_name(self, provider_name):
164
+ """Sets the provider_name of this GCPConfig.
165
+
166
+ Workload Identity Federation provider name for Anyscale access. # noqa: E501
167
+
168
+ :param provider_name: The provider_name of this GCPConfig. # noqa: E501
169
+ :type: str
170
+ """
171
+
172
+ self._provider_name = provider_name
173
+
174
+ @property
175
+ def vpc_name(self):
176
+ """Gets the vpc_name of this GCPConfig. # noqa: E501
177
+
178
+ VPC name. # noqa: E501
179
+
180
+ :return: The vpc_name of this GCPConfig. # noqa: E501
181
+ :rtype: str
182
+ """
183
+ return self._vpc_name
184
+
185
+ @vpc_name.setter
186
+ def vpc_name(self, vpc_name):
187
+ """Sets the vpc_name of this GCPConfig.
188
+
189
+ VPC name. # noqa: E501
190
+
191
+ :param vpc_name: The vpc_name of this GCPConfig. # noqa: E501
192
+ :type: str
193
+ """
194
+
195
+ self._vpc_name = vpc_name
196
+
197
+ @property
198
+ def subnet_names(self):
199
+ """Gets the subnet_names of this GCPConfig. # noqa: E501
200
+
201
+ List of GCP subnet names. # noqa: E501
202
+
203
+ :return: The subnet_names of this GCPConfig. # noqa: E501
204
+ :rtype: list[str]
205
+ """
206
+ return self._subnet_names
207
+
208
+ @subnet_names.setter
209
+ def subnet_names(self, subnet_names):
210
+ """Sets the subnet_names of this GCPConfig.
211
+
212
+ List of GCP subnet names. # noqa: E501
213
+
214
+ :param subnet_names: The subnet_names of this GCPConfig. # noqa: E501
215
+ :type: list[str]
216
+ """
217
+
218
+ self._subnet_names = subnet_names
219
+
220
+ @property
221
+ def firewall_policy_names(self):
222
+ """Gets the firewall_policy_names of this GCPConfig. # noqa: E501
223
+
224
+ List of GCP firewall policy names. # noqa: E501
225
+
226
+ :return: The firewall_policy_names of this GCPConfig. # noqa: E501
227
+ :rtype: list[str]
228
+ """
229
+ return self._firewall_policy_names
230
+
231
+ @firewall_policy_names.setter
232
+ def firewall_policy_names(self, firewall_policy_names):
233
+ """Sets the firewall_policy_names of this GCPConfig.
234
+
235
+ List of GCP firewall policy names. # noqa: E501
236
+
237
+ :param firewall_policy_names: The firewall_policy_names of this GCPConfig. # noqa: E501
238
+ :type: list[str]
239
+ """
240
+
241
+ self._firewall_policy_names = firewall_policy_names
242
+
243
+ @property
244
+ def anyscale_service_account_email(self):
245
+ """Gets the anyscale_service_account_email of this GCPConfig. # noqa: E501
246
+
247
+ The Anyscale service account email. # noqa: E501
248
+
249
+ :return: The anyscale_service_account_email of this GCPConfig. # noqa: E501
250
+ :rtype: str
251
+ """
252
+ return self._anyscale_service_account_email
253
+
254
+ @anyscale_service_account_email.setter
255
+ def anyscale_service_account_email(self, anyscale_service_account_email):
256
+ """Sets the anyscale_service_account_email of this GCPConfig.
257
+
258
+ The Anyscale service account email. # noqa: E501
259
+
260
+ :param anyscale_service_account_email: The anyscale_service_account_email of this GCPConfig. # noqa: E501
261
+ :type: str
262
+ """
263
+
264
+ self._anyscale_service_account_email = anyscale_service_account_email
265
+
266
+ @property
267
+ def cluster_service_account_email(self):
268
+ """Gets the cluster_service_account_email of this GCPConfig. # noqa: E501
269
+
270
+ The service account email attached to Ray clusters. # noqa: E501
271
+
272
+ :return: The cluster_service_account_email of this GCPConfig. # noqa: E501
273
+ :rtype: str
274
+ """
275
+ return self._cluster_service_account_email
276
+
277
+ @cluster_service_account_email.setter
278
+ def cluster_service_account_email(self, cluster_service_account_email):
279
+ """Sets the cluster_service_account_email of this GCPConfig.
280
+
281
+ The service account email attached to Ray clusters. # noqa: E501
282
+
283
+ :param cluster_service_account_email: The cluster_service_account_email of this GCPConfig. # noqa: E501
284
+ :type: str
285
+ """
286
+
287
+ self._cluster_service_account_email = cluster_service_account_email
288
+
289
+ @property
290
+ def memorystore_instance_name(self):
291
+ """Gets the memorystore_instance_name of this GCPConfig. # noqa: E501
292
+
293
+ The Memorystore instance name. # noqa: E501
294
+
295
+ :return: The memorystore_instance_name of this GCPConfig. # noqa: E501
296
+ :rtype: str
297
+ """
298
+ return self._memorystore_instance_name
299
+
300
+ @memorystore_instance_name.setter
301
+ def memorystore_instance_name(self, memorystore_instance_name):
302
+ """Sets the memorystore_instance_name of this GCPConfig.
303
+
304
+ The Memorystore instance name. # noqa: E501
305
+
306
+ :param memorystore_instance_name: The memorystore_instance_name of this GCPConfig. # noqa: E501
307
+ :type: str
308
+ """
309
+
310
+ self._memorystore_instance_name = memorystore_instance_name
311
+
312
+ @property
313
+ def memorystore_endpoint(self):
314
+ """Gets the memorystore_endpoint of this GCPConfig. # noqa: E501
315
+
316
+ The Memorystore instance endpoint. # noqa: E501
317
+
318
+ :return: The memorystore_endpoint of this GCPConfig. # noqa: E501
319
+ :rtype: str
320
+ """
321
+ return self._memorystore_endpoint
322
+
323
+ @memorystore_endpoint.setter
324
+ def memorystore_endpoint(self, memorystore_endpoint):
325
+ """Sets the memorystore_endpoint of this GCPConfig.
326
+
327
+ The Memorystore instance endpoint. # noqa: E501
328
+
329
+ :param memorystore_endpoint: The memorystore_endpoint of this GCPConfig. # noqa: E501
330
+ :type: str
331
+ """
332
+
333
+ self._memorystore_endpoint = memorystore_endpoint
334
+
335
+ @property
336
+ def deployment_manager_id(self):
337
+ """Gets the deployment_manager_id of this GCPConfig. # noqa: E501
338
+
339
+ The deployment manager deployment ID, for deployments with Anyscale-managed resources. # noqa: E501
340
+
341
+ :return: The deployment_manager_id of this GCPConfig. # noqa: E501
342
+ :rtype: str
343
+ """
344
+ return self._deployment_manager_id
345
+
346
+ @deployment_manager_id.setter
347
+ def deployment_manager_id(self, deployment_manager_id):
348
+ """Sets the deployment_manager_id of this GCPConfig.
349
+
350
+ The deployment manager deployment ID, for deployments with Anyscale-managed resources. # noqa: E501
351
+
352
+ :param deployment_manager_id: The deployment_manager_id of this GCPConfig. # noqa: E501
353
+ :type: str
354
+ """
355
+
356
+ self._deployment_manager_id = deployment_manager_id
357
+
358
+ def to_dict(self):
359
+ """Returns the model properties as a dict"""
360
+ result = {}
361
+
362
+ for attr, _ in six.iteritems(self.openapi_types):
363
+ value = getattr(self, attr)
364
+ if isinstance(value, list):
365
+ result[attr] = list(map(
366
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
367
+ value
368
+ ))
369
+ elif hasattr(value, "to_dict"):
370
+ result[attr] = value.to_dict()
371
+ elif isinstance(value, dict):
372
+ result[attr] = dict(map(
373
+ lambda item: (item[0], item[1].to_dict())
374
+ if hasattr(item[1], "to_dict") else item,
375
+ value.items()
376
+ ))
377
+ else:
378
+ result[attr] = value
379
+
380
+ return result
381
+
382
+ def to_str(self):
383
+ """Returns the string representation of the model"""
384
+ return pprint.pformat(self.to_dict())
385
+
386
+ def __repr__(self):
387
+ """For `print` and `pprint`"""
388
+ return self.to_str()
389
+
390
+ def __eq__(self, other):
391
+ """Returns true if both objects are equal"""
392
+ if not isinstance(other, GCPConfig):
393
+ return False
394
+
395
+ return self.to_dict() == other.to_dict()
396
+
397
+ def __ne__(self, other):
398
+ """Returns true if both objects are not equal"""
399
+ if not isinstance(other, GCPConfig):
400
+ return True
401
+
402
+ return self.to_dict() != other.to_dict()