anyscale 0.26.20__py3-none-any.whl → 0.26.22__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.
- anyscale/_private/anyscale_client/anyscale_client.py +103 -43
- anyscale/_private/anyscale_client/common.py +37 -7
- anyscale/_private/anyscale_client/fake_anyscale_client.py +98 -27
- anyscale/_private/models/model_base.py +95 -0
- anyscale/_private/workload/workload_sdk.py +3 -1
- anyscale/aggregated_instance_usage/models.py +4 -4
- anyscale/client/README.md +1 -9
- anyscale/client/openapi_client/__init__.py +0 -3
- anyscale/client/openapi_client/api/default_api.py +151 -715
- anyscale/client/openapi_client/models/__init__.py +0 -3
- anyscale/commands/cloud_commands.py +15 -4
- anyscale/commands/command_examples.py +4 -0
- anyscale/commands/list_util.py +107 -0
- anyscale/commands/service_commands.py +267 -31
- anyscale/commands/util.py +5 -4
- anyscale/controllers/cloud_controller.py +358 -49
- anyscale/controllers/service_controller.py +7 -86
- anyscale/service/__init__.py +53 -3
- anyscale/service/_private/service_sdk.py +177 -41
- anyscale/service/commands.py +78 -1
- anyscale/service/models.py +65 -0
- anyscale/util.py +35 -1
- anyscale/utils/gcp_utils.py +20 -4
- anyscale/version.py +1 -1
- {anyscale-0.26.20.dist-info → anyscale-0.26.22.dist-info}/METADATA +1 -1
- {anyscale-0.26.20.dist-info → anyscale-0.26.22.dist-info}/RECORD +31 -33
- anyscale/client/openapi_client/models/organization_public_identifier.py +0 -121
- anyscale/client/openapi_client/models/organization_response.py +0 -121
- anyscale/client/openapi_client/models/organizationpublicidentifier_response.py +0 -121
- {anyscale-0.26.20.dist-info → anyscale-0.26.22.dist-info}/LICENSE +0 -0
- {anyscale-0.26.20.dist-info → anyscale-0.26.22.dist-info}/NOTICE +0 -0
- {anyscale-0.26.20.dist-info → anyscale-0.26.22.dist-info}/WHEEL +0 -0
- {anyscale-0.26.20.dist-info → anyscale-0.26.22.dist-info}/entry_points.txt +0 -0
- {anyscale-0.26.20.dist-info → anyscale-0.26.22.dist-info}/top_level.txt +0 -0
anyscale/util.py
CHANGED
@@ -37,7 +37,10 @@ from anyscale.authenticate import get_auth_api_client
|
|
37
37
|
from anyscale.aws_iam_policies import ANYSCALE_IAM_POLICIES, AnyscaleIAMPolicy
|
38
38
|
from anyscale.cli_logger import BlockLogger, CloudSetupLogger
|
39
39
|
from anyscale.client.openapi_client.api.default_api import DefaultApi as ProductApi
|
40
|
-
from anyscale.client.openapi_client.models import
|
40
|
+
from anyscale.client.openapi_client.models import (
|
41
|
+
AWSMemoryDBClusterConfig,
|
42
|
+
ServiceEventCurrentState,
|
43
|
+
)
|
41
44
|
from anyscale.client.openapi_client.models.cloud_analytics_event_cloud_resource import (
|
42
45
|
CloudAnalyticsEventCloudResource,
|
43
46
|
)
|
@@ -127,6 +130,15 @@ MEMORY_DB_RESOURCE = """ MemoryDBSubnetGroup:
|
|
127
130
|
GCP_DEPLOYMENT_MANAGER_TIMEOUT_SECONDS_LONG = 600 # 10 minutes
|
128
131
|
|
129
132
|
|
133
|
+
class AnyscaleJSONEncoder(json.JSONEncoder):
|
134
|
+
"""Custom JSON encoder for Anyscale models, handling datetime objects."""
|
135
|
+
|
136
|
+
def default(self, obj):
|
137
|
+
if isinstance(obj, datetime.datetime):
|
138
|
+
return obj.isoformat()
|
139
|
+
return json.JSONEncoder.default(self, obj)
|
140
|
+
|
141
|
+
|
130
142
|
def confirm(msg: str, yes: bool) -> Optional[bool]:
|
131
143
|
return None if yes else click.confirm(msg, abort=True)
|
132
144
|
|
@@ -623,6 +635,28 @@ def validate_non_negative_arg(ctx, param, value): # noqa: ARG001
|
|
623
635
|
return value
|
624
636
|
|
625
637
|
|
638
|
+
def validate_service_state_filter(
|
639
|
+
ctx, param, value: Tuple[str, ...] # noqa: ARG001
|
640
|
+
) -> List[str]:
|
641
|
+
"""Validate ServiceEventCurrentState values."""
|
642
|
+
if not value:
|
643
|
+
return []
|
644
|
+
|
645
|
+
allowable_values_upper = {
|
646
|
+
s.upper() for s in ServiceEventCurrentState.allowable_values
|
647
|
+
}
|
648
|
+
allowed_values_str = ", ".join(ServiceEventCurrentState.allowable_values)
|
649
|
+
|
650
|
+
for state_str in value:
|
651
|
+
state_upper = state_str.upper()
|
652
|
+
if state_upper not in allowable_values_upper:
|
653
|
+
raise click.ClickException(
|
654
|
+
f"'{state_str}' is not a valid value for {param.opts[0]}. Allowed values: {allowed_values_str}"
|
655
|
+
)
|
656
|
+
|
657
|
+
return [s.upper() for s in value]
|
658
|
+
|
659
|
+
|
626
660
|
def _update_external_ids_for_policy(
|
627
661
|
original_policy: Dict[str, Any], new_external_id: str
|
628
662
|
):
|
anyscale/utils/gcp_utils.py
CHANGED
@@ -248,10 +248,26 @@ def get_gcp_filestore_config(
|
|
248
248
|
filestore_instance_id: str,
|
249
249
|
logger: CloudSetupLogger,
|
250
250
|
):
|
251
|
-
client = factory.filestore_v1.CloudFilestoreManagerClient()
|
252
251
|
instance_name = "projects/{}/locations/{}/instances/{}".format(
|
253
252
|
project_id, filestore_location, filestore_instance_id
|
254
253
|
)
|
254
|
+
return get_gcp_filestore_config_from_full_name(
|
255
|
+
factory=factory, vpc_name=vpc_name, instance_name=instance_name, logger=logger,
|
256
|
+
)
|
257
|
+
|
258
|
+
|
259
|
+
def get_gcp_filestore_config_from_full_name(
|
260
|
+
factory: GoogleCloudClientFactory,
|
261
|
+
vpc_name: str,
|
262
|
+
instance_name: str,
|
263
|
+
logger: CloudSetupLogger,
|
264
|
+
):
|
265
|
+
if not re.search("projects/.+/locations/.+/instances/.+", instance_name):
|
266
|
+
raise ValueError(
|
267
|
+
"Please provide the full filestore instance name. Example: projects/<project number>/locations/<location>/instances/<instance id>"
|
268
|
+
)
|
269
|
+
|
270
|
+
client = factory.filestore_v1.CloudFilestoreManagerClient()
|
255
271
|
try:
|
256
272
|
file_store = client.get_instance(name=instance_name)
|
257
273
|
except NotFound as e:
|
@@ -260,7 +276,7 @@ def get_gcp_filestore_config(
|
|
260
276
|
CloudSetupError.RESOURCE_NOT_FOUND,
|
261
277
|
)
|
262
278
|
raise ClickException(
|
263
|
-
f"Could not find Filestore with id {
|
279
|
+
f"Could not find Filestore with id {instance_name}. Please validate that you're using the correct GCP project and that the resource values are correct. Error details: {e}"
|
264
280
|
)
|
265
281
|
root_dir = file_store.file_shares[0].name
|
266
282
|
for v in file_store.networks:
|
@@ -271,7 +287,7 @@ def get_gcp_filestore_config(
|
|
271
287
|
break
|
272
288
|
else:
|
273
289
|
logger.error(
|
274
|
-
f"Filestore {
|
290
|
+
f"Filestore {instance_name} is not connected to {vpc_name}, but to {[v.network for v in file_store.networks]}. "
|
275
291
|
f"This cannot be edited on an existing Filestore instance. Please recreate the filestore and connect it to {vpc_name}."
|
276
292
|
)
|
277
293
|
logger.log_resource_error(
|
@@ -279,7 +295,7 @@ def get_gcp_filestore_config(
|
|
279
295
|
CloudSetupError.FILESTORE_NOT_CONNECTED_TO_VPC,
|
280
296
|
)
|
281
297
|
raise ClickException(
|
282
|
-
f"Filestore {
|
298
|
+
f"Filestore {instance_name} is not connected to {vpc_name}."
|
283
299
|
)
|
284
300
|
return GCPFileStoreConfig(
|
285
301
|
instance_name=instance_name, root_dir=root_dir, mount_target_ip=mount_target_ip,
|
anyscale/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.26.
|
1
|
+
__version__ = "0.26.22"
|
@@ -26,14 +26,14 @@ anyscale/project_utils.py,sha256=SBwkD5B10ku2kkmp6y-Cr5RL7xf52b9zELP35kfg2PE,176
|
|
26
26
|
anyscale/scripts.py,sha256=2LWIBxPHRhFG8m0La7xJXM2xKOQIG3SvlQobS4op2b0,5624
|
27
27
|
anyscale/snapshot.py,sha256=UGJT5C1s_4xmQxjWODK5DFpGxHRBX5jOCdSCqXESH8E,1685
|
28
28
|
anyscale/tables.py,sha256=TV4F2uLnwehvbkAfaP7iuLlT2wLIo6ORH2LVdRGXW5g,2840
|
29
|
-
anyscale/util.py,sha256=
|
30
|
-
anyscale/version.py,sha256=
|
29
|
+
anyscale/util.py,sha256=14AHIhl4c4hKAW4gLZIvy5w56-zDjcPmrdWqazsvnHU,41860
|
30
|
+
anyscale/version.py,sha256=TzFsFLuSSx5Ek_9DZNRJoL6Ff3sZxQYRzL9DkMtHXBA,24
|
31
31
|
anyscale/workspace_utils.py,sha256=OViE88CnIF5ruVxd3kazQ0Mf2BxqtMq6wx-XQ5A2cp8,1204
|
32
32
|
anyscale/_private/anyscale_client/README.md,sha256=gk8obk7kqg6VWoUHcqDMwJULh35tYKEZFC0UF_dixGA,718
|
33
33
|
anyscale/_private/anyscale_client/__init__.py,sha256=807Blx3RHQeS8BmKZcsOQQ4dYoKlCnpm6Bdsif2CrHg,337
|
34
|
-
anyscale/_private/anyscale_client/anyscale_client.py,sha256=
|
35
|
-
anyscale/_private/anyscale_client/common.py,sha256=
|
36
|
-
anyscale/_private/anyscale_client/fake_anyscale_client.py,sha256=
|
34
|
+
anyscale/_private/anyscale_client/anyscale_client.py,sha256=puf4cWCTttMQgdGBgK_BNh2-0P8JSjfW8mFDdnEgb2c,82799
|
35
|
+
anyscale/_private/anyscale_client/common.py,sha256=kKIFhGUrIpx4whqyP43K-XdjtP0FFCdp151rSTOYtiM,25416
|
36
|
+
anyscale/_private/anyscale_client/fake_anyscale_client.py,sha256=54jDPs2ZkLIP1A-69i-gI6bvEgB5mgYbZav18jxWEzw,57041
|
37
37
|
anyscale/_private/docgen/README.md,sha256=z0tj8Jy0KmxWJBQMHKyzXGX_cYYgI8m5DCD6KCMU8oI,762
|
38
38
|
anyscale/_private/docgen/__main__.py,sha256=rAKbkAjIyOps76XCrzqsxPdPTU4ANvEbeF3IG4VvVQE,26058
|
39
39
|
anyscale/_private/docgen/api.md,sha256=4SbFnIzpQYcH-aBs0cu15BsVxiNxxnY8-Zb5Dqh4Oxw,30971
|
@@ -42,7 +42,7 @@ anyscale/_private/docgen/generator_legacy.py,sha256=pss_6ONF55XhARrKGcREDmg0J5pl
|
|
42
42
|
anyscale/_private/docgen/models.md,sha256=z36cd7YqYr85Wx73bAKmNeLnhOvLUmm53ur66fWFsYo,297657
|
43
43
|
anyscale/_private/models/__init__.py,sha256=ZrkdHhJZNeCYiogsHc_po8m7vaVdxEjkNGixNeYdlgs,125
|
44
44
|
anyscale/_private/models/image_uri.py,sha256=CMzHc-MNTBsBXvX0G73bjkiznCbm95DYQusgXJ8drm8,3971
|
45
|
-
anyscale/_private/models/model_base.py,sha256=
|
45
|
+
anyscale/_private/models/model_base.py,sha256=GJLA4JC0yHT554ctMYS_1es-YoTHQH9oqRHr28vV4R0,11354
|
46
46
|
anyscale/_private/sdk/__init__.py,sha256=RXnjesqFtpABFW9oJ5ihXnkFEeKrHWwctUiHHB5jtuc,3657
|
47
47
|
anyscale/_private/sdk/base_sdk.py,sha256=DMkiRA97DsShKtdUxncNbh9mduWGhpNn2CmmPaFcEwI,868
|
48
48
|
anyscale/_private/sdk/timer.py,sha256=NK6rlmjW4NT6qOuxLo65FJ_wN1q23vNBaYDIt7WhSSU,1334
|
@@ -50,10 +50,10 @@ anyscale/_private/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
50
50
|
anyscale/_private/utils/progress_util.py,sha256=7gOI91b8tKsS5dEtbhoenzvsl8408rvw6fhK90DgIXg,2303
|
51
51
|
anyscale/_private/workload/__init__.py,sha256=_wOZsawqp5NZV9He502e2gFSM66hjqxhxNZTqxnrMws,134
|
52
52
|
anyscale/_private/workload/workload_config.py,sha256=uo_x2tM1bAO3CsahKbUSOReauFeJ-t-IKVujhO6KU6I,8603
|
53
|
-
anyscale/_private/workload/workload_sdk.py,sha256=
|
53
|
+
anyscale/_private/workload/workload_sdk.py,sha256=B4dWapNp8w8gWS1BFtFkmVR_y7k8aElFUZ_DMe0-5qY,13425
|
54
54
|
anyscale/aggregated_instance_usage/__init__.py,sha256=mOreJrOZ87NAF3GD2ZEJ48sSwkUDKcTOPa9_DsRBZY8,1290
|
55
55
|
anyscale/aggregated_instance_usage/commands.py,sha256=VonXROdszXPk4fUBADwMoUDxtYSenNO3XyyoHUQdYf0,1337
|
56
|
-
anyscale/aggregated_instance_usage/models.py,sha256=
|
56
|
+
anyscale/aggregated_instance_usage/models.py,sha256=600C2wssovjQkj1KQwzpK-jzXRAzDTxOGcZd_qD9wQ0,2871
|
57
57
|
anyscale/aggregated_instance_usage/_private/aggregated_instance_usage_sdk.py,sha256=mBwpsE5n8NAQ9xAVGtDk-uHSU5UZbZ-DBYfPd_72uFc,1038
|
58
58
|
anyscale/anyscale_halo/LICENSE,sha256=R2t7cIDZ6-VroHO5M_FWET8adqmdI-PGv0AnhyvCo4A,1069
|
59
59
|
anyscale/anyscale_halo/README.md,sha256=ikBBg6631PCMv-HxdIZvIKHmVUxsn3xbFb2GdxXuCtc,41
|
@@ -105,7 +105,7 @@ anyscale/background/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
105
105
|
anyscale/background/job_runner.py,sha256=LTuv9JOahyv6C9i7DLQAONgQF6--FfYZEmJrKy-sUG8,2687
|
106
106
|
anyscale/client/.gitignore,sha256=JZyvYEtT2DCSK9V5Joi6lQofhMik4PXiJRCWsg7SvqI,807
|
107
107
|
anyscale/client/.openapi-generator-ignore,sha256=pu2PTide7pJtJ-DFLzDy0cTYQJRlrB-8RRH3zGLeUds,1040
|
108
|
-
anyscale/client/README.md,sha256=
|
108
|
+
anyscale/client/README.md,sha256=DHgy_HZaOYpXRq5mdXeY1gQXrJfa5hl7PtfQVecc81E,113583
|
109
109
|
anyscale/client/git_push.sh,sha256=EDCZOTTiLxbtPHmiU63qC99rGH67B7dhdPZdNUKivF0,1827
|
110
110
|
anyscale/client/requirements.txt,sha256=dkVKYUStC5h_g_87SH7pRdhXCj7ySozAJMGAFEzGgFc,126
|
111
111
|
anyscale/client/setup.cfg,sha256=l7bdKSIedeBhhoDtupsBwx1xPrlBf2yYeTH7a8kMga4,28
|
@@ -113,14 +113,14 @@ anyscale/client/setup.py,sha256=tSxqw1kAL1B9adnrnOarjnQfSbwGmnTr_kg8ZXhlm5A,1109
|
|
113
113
|
anyscale/client/test-requirements.txt,sha256=sTjmDTj5W9fh1ZAeo8UT2EBdeGDBNttj_PHiPBXg1D4,111
|
114
114
|
anyscale/client/tox.ini,sha256=M6L3UmvAdvU65LsoAF-Oi7oRjwZlCJZn8I7ofdXn5Ok,156
|
115
115
|
anyscale/client/.openapi-generator/VERSION,sha256=J0RzX-4u4jfin1kviKtmncjUePyjHm2kyvmkobOrt_E,5
|
116
|
-
anyscale/client/openapi_client/__init__.py,sha256=
|
116
|
+
anyscale/client/openapi_client/__init__.py,sha256=KjpX2QTgjefH9f9j1YF4bGhAMKM4IAB_5bOqNYVkrg0,50319
|
117
117
|
anyscale/client/openapi_client/api_client.py,sha256=d8Un6j2Ny2vlS2qBXPVFj6_ql0k36DFahpWt_28TfCk,25563
|
118
118
|
anyscale/client/openapi_client/configuration.py,sha256=Dd5XrlHwv-wxnf0C35PG_-HBQoY3Yaz6hKrmkZz-m0E,12363
|
119
119
|
anyscale/client/openapi_client/exceptions.py,sha256=3egwsXQG2j_vARbqgBxUO1xSltAhpfiHTYVP7VXTvU0,3792
|
120
120
|
anyscale/client/openapi_client/rest.py,sha256=Ehj37v7GHW6SXV067Hze5HE42ayKaGi6a6ZlkR7u3Lg,12501
|
121
121
|
anyscale/client/openapi_client/api/__init__.py,sha256=i8u7BI2xX1GrXTL3hN0pKpYIlnT-D_uDxH2ElOfYG1I,141
|
122
|
-
anyscale/client/openapi_client/api/default_api.py,sha256=
|
123
|
-
anyscale/client/openapi_client/models/__init__.py,sha256=
|
122
|
+
anyscale/client/openapi_client/api/default_api.py,sha256=SJzNSzwoKHjSNZI7Mtz-eBX8X9-B8tsYUotFUmvkwH0,1824751
|
123
|
+
anyscale/client/openapi_client/models/__init__.py,sha256=RWJEccUSdsZM9QRtU0uH4_qPyGz66DQu5PHlNbyKQVU,49829
|
124
124
|
anyscale/client/openapi_client/models/access_config.py,sha256=b2mA0qtuTA5PFbp6C61Jc_T2zUMaojM1v32IhZo0MfY,3648
|
125
125
|
anyscale/client/openapi_client/models/actor_status.py,sha256=6xyX_aIqURj2raBdY9DmBxsdDACFrqqYvElGiM6YG2E,2813
|
126
126
|
anyscale/client/openapi_client/models/admin_create_user.py,sha256=9DPr8D0lKgoEZ3Z2kGsAd8L7ocFCiP6woOGLVs8SRb8,7251
|
@@ -513,8 +513,6 @@ anyscale/client/openapi_client/models/organization_marketing_questions.py,sha256
|
|
513
513
|
anyscale/client/openapi_client/models/organization_permission_level.py,sha256=Sy1xIvsy9fzjby9nDPRY-h17ApP6w0dAJihsX8GfNR8,2901
|
514
514
|
anyscale/client/openapi_client/models/organization_project_collaborator.py,sha256=ehPJ8ooHDgWsczYpEvcKCjA4PXZJJNMfRy7QouO1TRc,5549
|
515
515
|
anyscale/client/openapi_client/models/organization_project_collaborator_value.py,sha256=GjJOuK3YJxT4Zo1x8Qtx8vNSVrd1-TNoP0pq5rK_7zQ,4940
|
516
|
-
anyscale/client/openapi_client/models/organization_public_identifier.py,sha256=Q4IbV0dAICW8FsAz6H34Ew_sX3HNF7ZCj_-4x0t-atg,3818
|
517
|
-
anyscale/client/openapi_client/models/organization_response.py,sha256=MkKCkhv3di4eQjMrx_Ejhb5nCUt47ob8GPMrZEDVba4,3550
|
518
516
|
anyscale/client/openapi_client/models/organization_summary.py,sha256=ZPgla-b8Nd3TMkV8YvQ4cBnIM9IFDgDImu78Z3Q_uCo,7076
|
519
517
|
anyscale/client/openapi_client/models/organization_usage_alert.py,sha256=Uy-lvb3Dbt0xodA-FtNZ6wkbZT4PVkUgjP2XvioY_ko,6761
|
520
518
|
anyscale/client/openapi_client/models/organization_usage_alert_severity.py,sha256=PwbYUpLVgcZzvao-t4MyH6r7wfiIoMaqsxbMkpakoWE,2898
|
@@ -525,7 +523,6 @@ anyscale/client/openapi_client/models/organizationinvitation_list_response.py,sh
|
|
525
523
|
anyscale/client/openapi_client/models/organizationinvitation_response.py,sha256=I1XZtYWD9cqHSpKE1iObaN8Nyu_r4cGrmEQrg4Rt5qA,3660
|
526
524
|
anyscale/client/openapi_client/models/organizationinvitationbase_response.py,sha256=AGaWU4PB23BsBWjUKbAhSSqp0e5Q2shzwrzac3JhwPM,3704
|
527
525
|
anyscale/client/openapi_client/models/organizationprojectcollaborator_list_response.py,sha256=KMsgUJv21jbhJ8o3WxNKdy0au447f3cGcGEmzmdzGbM,4662
|
528
|
-
anyscale/client/openapi_client/models/organizationpublicidentifier_response.py,sha256=35Hz_zc13R7QKUDQQ-5yZGCNTkdQ6O-mYNFKwcmS3P0,3726
|
529
526
|
anyscale/client/openapi_client/models/organizationusagealert_list_response.py,sha256=AojOBFsB3Edd8H1ZusnfBGhX5oGc162k_q4XZFEigHY,4527
|
530
527
|
anyscale/client/openapi_client/models/page_query.py,sha256=dw5HgH5gVYi2OcLW3Kg0Zt5mf0GWq-Qv-RW83FANLeM,4585
|
531
528
|
anyscale/client/openapi_client/models/pause_schedule.py,sha256=ru7_OzH7oDw5y2h1o5QNfKW8TXbkF1h-NDwccbUDRd0,3661
|
@@ -733,11 +730,11 @@ anyscale/cloud/_private/cloud_sdk.py,sha256=xCoAVomOfo75YWZzHMm9TDeL8UUx79Gn1DeE
|
|
733
730
|
anyscale/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
734
731
|
anyscale/commands/aggregated_instance_usage_commands.py,sha256=TRP1X3hdIWbKg9V20VtazlDXsYAeV--M0DH3-Z5tnj4,2293
|
735
732
|
anyscale/commands/auth_commands.py,sha256=X1g6Yu9kqgPb4HLODlZTYEk8G5AVLeyizPIgagWx-p0,1026
|
736
|
-
anyscale/commands/cloud_commands.py,sha256=
|
733
|
+
anyscale/commands/cloud_commands.py,sha256=kN6BOfCLRPV-fyPyZQ1V-GPqQzrOgsD8zatNQ1NzjlE,43916
|
737
734
|
anyscale/commands/cloud_commands_util.py,sha256=d-6TSZ_syrGkZ3Fc1uRX6jG4dqYMebNkBNpYLojOJFg,247
|
738
735
|
anyscale/commands/cluster_commands.py,sha256=taNcffyFfqJ1MgOQd0cz9kzRXWFTdp-wfLPM4l_2tBc,13487
|
739
736
|
anyscale/commands/cluster_env_commands.py,sha256=KNWylyE8Ew1sDi7yu2Tp4RLcRu2_KJJJIzVGRyPflJo,3899
|
740
|
-
anyscale/commands/command_examples.py,sha256=
|
737
|
+
anyscale/commands/command_examples.py,sha256=NpKuuQBgmZ9sYO6zYHW1EP4Q7dhgk8ES61EmWK8JSNE,26448
|
741
738
|
anyscale/commands/compute_config_commands.py,sha256=vdyrtMcdP8eeK32p_Y6zF-qps6_SyzprhbjRZ9p18tQ,7828
|
742
739
|
anyscale/commands/config_commands.py,sha256=p55uM6WrhfbFoRXC9hNAV-8c5ANghw7tBUYwaQDAtjE,7195
|
743
740
|
anyscale/commands/exec_commands.py,sha256=cMOP1u6xQbl81h69Jug3y73XnNSwpbM6XC1X57SIp4c,465
|
@@ -746,6 +743,7 @@ anyscale/commands/image_commands.py,sha256=M5UIxeBx40tZWzOJ51dtmB3rjj4VUmxNeK0rW
|
|
746
743
|
anyscale/commands/job_commands.py,sha256=_U3imBldpwXv-Y-7gWZp3dzt9okpQzACC414H2mPbRg,25113
|
747
744
|
anyscale/commands/job_queue_commands.py,sha256=eq80XfHJpajBY9sBfdFqQRiuZfcHJGTYFm7eX_gESUQ,4953
|
748
745
|
anyscale/commands/list_commands.py,sha256=rcDn-Qh3z99zE9oD7RPPa80-y0ml90W4UbGiYMw4aQo,2710
|
746
|
+
anyscale/commands/list_util.py,sha256=tDKC6jQ7XtOVUe2KfHYkF2yRCbGw2fmAHtdmPgchWv8,3717
|
749
747
|
anyscale/commands/login_commands.py,sha256=0pIjpRC3Mw86WjDubJ5v2FHINke-Tk3JvGal_aiQMG0,3477
|
750
748
|
anyscale/commands/logs_commands.py,sha256=OgOwBsEbhcGH-STQ9MOJy8sQBYcZYmd31wzHzVPUo0g,9495
|
751
749
|
anyscale/commands/machine_commands.py,sha256=73rgz9aTIOBYcWX8zH-OYlUx3UuhODHtl1RnKtBdU1E,3641
|
@@ -756,10 +754,10 @@ anyscale/commands/project_commands.py,sha256=xVm-W5kKzgfbQjAiHSRhnyMIlYgGji1TUfY
|
|
756
754
|
anyscale/commands/resource_quota_commands.py,sha256=J6r8b6Bo1wMys5pYWieD6F-VsC2OpQZGVLaNFlvAKmI,8536
|
757
755
|
anyscale/commands/schedule_commands.py,sha256=mdwelVght3HnN5YPjtG4Spn0KiEDWmg-UosfaDkQPKE,14485
|
758
756
|
anyscale/commands/service_account_commands.py,sha256=u45N2akHsZxyu5LK03FGEEnZh4dTt4B2Be-dXgbSg3U,3977
|
759
|
-
anyscale/commands/service_commands.py,sha256=
|
757
|
+
anyscale/commands/service_commands.py,sha256=M-GRQMbnM5TxNAJZ4194-AfuE8TBs-hl5Y820At6eJk,33271
|
760
758
|
anyscale/commands/session_commands_hidden.py,sha256=APEypnUB1yV2Rr6wdSFWy1vQbAnn-lOn0rU2enF5JdM,6200
|
761
759
|
anyscale/commands/user_commands.py,sha256=C-i1dGpdhboywN_2XgPS2BekKx2y6LZq8c8gvS0S-tY,1259
|
762
|
-
anyscale/commands/util.py,sha256=
|
760
|
+
anyscale/commands/util.py,sha256=N8gkVv9LBr5QypBGm2e_Pw2F2e_tiiR4YNLmn8CtsK0,5124
|
763
761
|
anyscale/commands/workspace_commands.py,sha256=RjK8rPlIPoReZBb7RPB6z9aFp7gSmnsxDge8d3uj9t8,15768
|
764
762
|
anyscale/commands/workspace_commands_v2.py,sha256=N4vpb54xq_4wrCwsYQrjrjNxYwYvOE3gbP0pmrfYmEE,27964
|
765
763
|
anyscale/commands/anyscale_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -780,7 +778,7 @@ anyscale/connect_utils/start_interactive_session.py,sha256=DbuIK2wuWofmbwJ9MLbsb
|
|
780
778
|
anyscale/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
781
779
|
anyscale/controllers/auth_controller.py,sha256=hDY2sPvUP8pvh8PnlDYH5rCHjQes2v3b_KBVjMbrzeE,5127
|
782
780
|
anyscale/controllers/base_controller.py,sha256=1QFJoScFUV7YTzpKarhwPOc1SvI-xqX3TZmwxKonW6I,1998
|
783
|
-
anyscale/controllers/cloud_controller.py,sha256=
|
781
|
+
anyscale/controllers/cloud_controller.py,sha256=KV-kuft6dVIC1cvI6amAIe5RGVBO_SWakNljcm6yVGc,176887
|
784
782
|
anyscale/controllers/cloud_functional_verification_controller.py,sha256=bmRmHS89Pr4m9CxCRLCHiB1FeMOTplnxzo-LdX_uFVQ,33400
|
785
783
|
anyscale/controllers/cluster_controller.py,sha256=Sb5wVjrjpycg5iqmENAVtZ4iy9Kr6kM97_ck-KH85LM,28745
|
786
784
|
anyscale/controllers/cluster_env_controller.py,sha256=JalGzcmnFtMHefYL5U6ijMY3nX6W6BsMEfZSMtgBvtU,8048
|
@@ -795,7 +793,7 @@ anyscale/controllers/machine_controller.py,sha256=WauNi7Spzt2TFZrIN4PwULzgJZBVDF
|
|
795
793
|
anyscale/controllers/machine_pool_controller.py,sha256=zRWDJgnkusLfOKtaOB2c3FSE70e2SaZS0iGwO39Rar8,3574
|
796
794
|
anyscale/controllers/project_controller.py,sha256=wAWIRGljy_oQYH7x4ERJxqtbW5z1Vgu9wVN9ifq_vaY,10904
|
797
795
|
anyscale/controllers/schedule_controller.py,sha256=4yLsWfRVqAFAkSV-eUnvLHw1732SUY7oWsgjeJrhhL8,11910
|
798
|
-
anyscale/controllers/service_controller.py,sha256=
|
796
|
+
anyscale/controllers/service_controller.py,sha256=mj6epC7KmWB5KG9FGa0j8X-I-UMxiExqGsi80SvHmcM,14467
|
799
797
|
anyscale/controllers/workspace_controller.py,sha256=LNjLMxQ29vBvYiVVLUWVl3AXTHlRU4Ohao0EgiD4ofI,8449
|
800
798
|
anyscale/controllers/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
801
799
|
anyscale/controllers/llm/models_controller.py,sha256=IXI9-1LpUPMSuPEChBcZCEagvJHh52R3djfyk5JY1xU,5690
|
@@ -1037,10 +1035,10 @@ anyscale/sdk/anyscale_client/models/user_service_access_types.py,sha256=3gW1L_VT
|
|
1037
1035
|
anyscale/sdk/anyscale_client/models/ux_instance.py,sha256=F2F2cxAJ5GElRgHcrxpB7GEpvhM-PJa3qpBBYmhwlUQ,15935
|
1038
1036
|
anyscale/sdk/anyscale_client/models/validation_error.py,sha256=h5Cope8JNSDE3Fpr1TfjcnuJPThF0dd_uawvltOqPt0,4901
|
1039
1037
|
anyscale/sdk/anyscale_client/models/worker_node_type.py,sha256=bI3sPVPA4t4axjdbj7pNlPkKPJDDkOnMgiN7B_o3IZI,15046
|
1040
|
-
anyscale/service/__init__.py,sha256=
|
1041
|
-
anyscale/service/commands.py,sha256=
|
1042
|
-
anyscale/service/models.py,sha256
|
1043
|
-
anyscale/service/_private/service_sdk.py,sha256=
|
1038
|
+
anyscale/service/__init__.py,sha256=aH9NjJgnIXErG0uRvhjDxv0RHi0vLTQdlzAGZBUQJwU,7911
|
1039
|
+
anyscale/service/commands.py,sha256=kbWkHP3hFo0dtz0AgTkG6koqcvd35rzpmAvLZjKY25M,14232
|
1040
|
+
anyscale/service/models.py,sha256=In9Nn6xYWSpKwjYaMe1zyRWs1gU-g9J-tNt74BQh0js,25985
|
1041
|
+
anyscale/service/_private/service_sdk.py,sha256=MxN-owkUAKnnX--6xrmPkE3gLHWECWxDZVNFWtCVz6k,34286
|
1044
1042
|
anyscale/service_account/__init__.py,sha256=jV1OFo_ZTxU3vuPztO1300TuoMz-Ocudm6_84ZtjPQ4,2764
|
1045
1043
|
anyscale/service_account/commands.py,sha256=pkJjZwK8aRKFFVfE5swMTJrm9CTnPcNJETEFdMkPiic,3680
|
1046
1044
|
anyscale/service_account/models.py,sha256=MhY-Fo5AZQ68brqtolTUMW3WQDrkNyL1udtNg70sNAU,2189
|
@@ -1081,7 +1079,7 @@ anyscale/utils/deprecation_util.py,sha256=2i1SNQIziOZXO24IuBZZUEi4ild1bqk0gfZWl2
|
|
1081
1079
|
anyscale/utils/entity_arg_utils.py,sha256=HdrFNVgpPqnpv10jVOGg49bmoGy92N306u2JIy0hmqI,1061
|
1082
1080
|
anyscale/utils/env_utils.py,sha256=QPPxwkAzIWYasZIg7apDCGwcdbQLT7qCYr9pwfNTOX0,390
|
1083
1081
|
anyscale/utils/gcp_managed_setup_utils.py,sha256=RL-HtfdXC-VOqIAc_TAmDXWRSqZW7myiYbGrHGquGpA,31114
|
1084
|
-
anyscale/utils/gcp_utils.py,sha256=
|
1082
|
+
anyscale/utils/gcp_utils.py,sha256=SQyiDfzOK-VUVXmWPBccAxDsfQwHQrZlxcFaEpjVjWs,13485
|
1085
1083
|
anyscale/utils/logs_utils.py,sha256=cv4ERDLKwlTzwOsndDX6jW-PNQJO2V1yDSZRW9u71sE,4812
|
1086
1084
|
anyscale/utils/name_utils.py,sha256=MT_krOWbdVZk8v5kCy8NXIpS4yRwn5sAy8OWLAJg6Kc,949
|
1087
1085
|
anyscale/utils/network_verification.py,sha256=jtaJhb-9xwEWKuiP7s3MKOPosAIKqYSVUQSxVoQsUR0,4951
|
@@ -1106,10 +1104,10 @@ anyscale/workspace/__init__.py,sha256=Innbm5ZhCyADEVBiYSo_vbpKwUNcMzVSAfxIGKOYe6
|
|
1106
1104
|
anyscale/workspace/commands.py,sha256=b1sqNseoPj-1VXznqQOLe0V_a663bOTvJX-TaOMJa1Y,14590
|
1107
1105
|
anyscale/workspace/models.py,sha256=Ey67KqxdslS51yK7xetbRaFjE8sURAArpf-F38r3cUU,9760
|
1108
1106
|
anyscale/workspace/_private/workspace_sdk.py,sha256=2CMeYfJt0UtIFCocDn1ukw1iI5esKHdopLe6duEs-qE,27599
|
1109
|
-
anyscale-0.26.
|
1110
|
-
anyscale-0.26.
|
1111
|
-
anyscale-0.26.
|
1112
|
-
anyscale-0.26.
|
1113
|
-
anyscale-0.26.
|
1114
|
-
anyscale-0.26.
|
1115
|
-
anyscale-0.26.
|
1107
|
+
anyscale-0.26.22.dist-info/LICENSE,sha256=UOPu974Wzsna6frFv1mu4VrZgNdZT7lbcNPzo5ue3qs,3494
|
1108
|
+
anyscale-0.26.22.dist-info/METADATA,sha256=_b2gRKDjDbmKiNJ3lTaTBGbqF9O8Md8XNhX9isq768Q,3160
|
1109
|
+
anyscale-0.26.22.dist-info/NOTICE,sha256=gHqDhSnUYlRXX-mDOL5FtE7774oiKyV_HO80qM3r9Xo,196
|
1110
|
+
anyscale-0.26.22.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
1111
|
+
anyscale-0.26.22.dist-info/entry_points.txt,sha256=NqO18sCZn6zG6J0S38itjcN00s7aE3C3v3k5lMAfCLk,51
|
1112
|
+
anyscale-0.26.22.dist-info/top_level.txt,sha256=g3NVNS8Oh0NZwbFFgeX696C5MZZkS5dqV2NqcsbDRJE,9
|
1113
|
+
anyscale-0.26.22.dist-info/RECORD,,
|
@@ -1,121 +0,0 @@
|
|
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 OrganizationPublicIdentifier(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
|
-
'public_identifier': 'str'
|
37
|
-
}
|
38
|
-
|
39
|
-
attribute_map = {
|
40
|
-
'public_identifier': 'public_identifier'
|
41
|
-
}
|
42
|
-
|
43
|
-
def __init__(self, public_identifier=None, local_vars_configuration=None): # noqa: E501
|
44
|
-
"""OrganizationPublicIdentifier - a model defined in OpenAPI""" # noqa: E501
|
45
|
-
if local_vars_configuration is None:
|
46
|
-
local_vars_configuration = Configuration()
|
47
|
-
self.local_vars_configuration = local_vars_configuration
|
48
|
-
|
49
|
-
self._public_identifier = None
|
50
|
-
self.discriminator = None
|
51
|
-
|
52
|
-
self.public_identifier = public_identifier
|
53
|
-
|
54
|
-
@property
|
55
|
-
def public_identifier(self):
|
56
|
-
"""Gets the public_identifier of this OrganizationPublicIdentifier. # noqa: E501
|
57
|
-
|
58
|
-
|
59
|
-
:return: The public_identifier of this OrganizationPublicIdentifier. # noqa: E501
|
60
|
-
:rtype: str
|
61
|
-
"""
|
62
|
-
return self._public_identifier
|
63
|
-
|
64
|
-
@public_identifier.setter
|
65
|
-
def public_identifier(self, public_identifier):
|
66
|
-
"""Sets the public_identifier of this OrganizationPublicIdentifier.
|
67
|
-
|
68
|
-
|
69
|
-
:param public_identifier: The public_identifier of this OrganizationPublicIdentifier. # noqa: E501
|
70
|
-
:type: str
|
71
|
-
"""
|
72
|
-
if self.local_vars_configuration.client_side_validation and public_identifier is None: # noqa: E501
|
73
|
-
raise ValueError("Invalid value for `public_identifier`, must not be `None`") # noqa: E501
|
74
|
-
|
75
|
-
self._public_identifier = public_identifier
|
76
|
-
|
77
|
-
def to_dict(self):
|
78
|
-
"""Returns the model properties as a dict"""
|
79
|
-
result = {}
|
80
|
-
|
81
|
-
for attr, _ in six.iteritems(self.openapi_types):
|
82
|
-
value = getattr(self, attr)
|
83
|
-
if isinstance(value, list):
|
84
|
-
result[attr] = list(map(
|
85
|
-
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
86
|
-
value
|
87
|
-
))
|
88
|
-
elif hasattr(value, "to_dict"):
|
89
|
-
result[attr] = value.to_dict()
|
90
|
-
elif isinstance(value, dict):
|
91
|
-
result[attr] = dict(map(
|
92
|
-
lambda item: (item[0], item[1].to_dict())
|
93
|
-
if hasattr(item[1], "to_dict") else item,
|
94
|
-
value.items()
|
95
|
-
))
|
96
|
-
else:
|
97
|
-
result[attr] = value
|
98
|
-
|
99
|
-
return result
|
100
|
-
|
101
|
-
def to_str(self):
|
102
|
-
"""Returns the string representation of the model"""
|
103
|
-
return pprint.pformat(self.to_dict())
|
104
|
-
|
105
|
-
def __repr__(self):
|
106
|
-
"""For `print` and `pprint`"""
|
107
|
-
return self.to_str()
|
108
|
-
|
109
|
-
def __eq__(self, other):
|
110
|
-
"""Returns true if both objects are equal"""
|
111
|
-
if not isinstance(other, OrganizationPublicIdentifier):
|
112
|
-
return False
|
113
|
-
|
114
|
-
return self.to_dict() == other.to_dict()
|
115
|
-
|
116
|
-
def __ne__(self, other):
|
117
|
-
"""Returns true if both objects are not equal"""
|
118
|
-
if not isinstance(other, OrganizationPublicIdentifier):
|
119
|
-
return True
|
120
|
-
|
121
|
-
return self.to_dict() != other.to_dict()
|
@@ -1,121 +0,0 @@
|
|
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 OrganizationResponse(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
|
-
'result': 'Organization'
|
37
|
-
}
|
38
|
-
|
39
|
-
attribute_map = {
|
40
|
-
'result': 'result'
|
41
|
-
}
|
42
|
-
|
43
|
-
def __init__(self, result=None, local_vars_configuration=None): # noqa: E501
|
44
|
-
"""OrganizationResponse - a model defined in OpenAPI""" # noqa: E501
|
45
|
-
if local_vars_configuration is None:
|
46
|
-
local_vars_configuration = Configuration()
|
47
|
-
self.local_vars_configuration = local_vars_configuration
|
48
|
-
|
49
|
-
self._result = None
|
50
|
-
self.discriminator = None
|
51
|
-
|
52
|
-
self.result = result
|
53
|
-
|
54
|
-
@property
|
55
|
-
def result(self):
|
56
|
-
"""Gets the result of this OrganizationResponse. # noqa: E501
|
57
|
-
|
58
|
-
|
59
|
-
:return: The result of this OrganizationResponse. # noqa: E501
|
60
|
-
:rtype: Organization
|
61
|
-
"""
|
62
|
-
return self._result
|
63
|
-
|
64
|
-
@result.setter
|
65
|
-
def result(self, result):
|
66
|
-
"""Sets the result of this OrganizationResponse.
|
67
|
-
|
68
|
-
|
69
|
-
:param result: The result of this OrganizationResponse. # noqa: E501
|
70
|
-
:type: Organization
|
71
|
-
"""
|
72
|
-
if self.local_vars_configuration.client_side_validation and result is None: # noqa: E501
|
73
|
-
raise ValueError("Invalid value for `result`, must not be `None`") # noqa: E501
|
74
|
-
|
75
|
-
self._result = result
|
76
|
-
|
77
|
-
def to_dict(self):
|
78
|
-
"""Returns the model properties as a dict"""
|
79
|
-
result = {}
|
80
|
-
|
81
|
-
for attr, _ in six.iteritems(self.openapi_types):
|
82
|
-
value = getattr(self, attr)
|
83
|
-
if isinstance(value, list):
|
84
|
-
result[attr] = list(map(
|
85
|
-
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
86
|
-
value
|
87
|
-
))
|
88
|
-
elif hasattr(value, "to_dict"):
|
89
|
-
result[attr] = value.to_dict()
|
90
|
-
elif isinstance(value, dict):
|
91
|
-
result[attr] = dict(map(
|
92
|
-
lambda item: (item[0], item[1].to_dict())
|
93
|
-
if hasattr(item[1], "to_dict") else item,
|
94
|
-
value.items()
|
95
|
-
))
|
96
|
-
else:
|
97
|
-
result[attr] = value
|
98
|
-
|
99
|
-
return result
|
100
|
-
|
101
|
-
def to_str(self):
|
102
|
-
"""Returns the string representation of the model"""
|
103
|
-
return pprint.pformat(self.to_dict())
|
104
|
-
|
105
|
-
def __repr__(self):
|
106
|
-
"""For `print` and `pprint`"""
|
107
|
-
return self.to_str()
|
108
|
-
|
109
|
-
def __eq__(self, other):
|
110
|
-
"""Returns true if both objects are equal"""
|
111
|
-
if not isinstance(other, OrganizationResponse):
|
112
|
-
return False
|
113
|
-
|
114
|
-
return self.to_dict() == other.to_dict()
|
115
|
-
|
116
|
-
def __ne__(self, other):
|
117
|
-
"""Returns true if both objects are not equal"""
|
118
|
-
if not isinstance(other, OrganizationResponse):
|
119
|
-
return True
|
120
|
-
|
121
|
-
return self.to_dict() != other.to_dict()
|