databricks-sdk 0.19.1__py3-none-any.whl → 0.21.0__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.
Potentially problematic release.
This version of databricks-sdk might be problematic. Click here for more details.
- databricks/sdk/__init__.py +28 -6
- databricks/sdk/_widgets/__init__.py +2 -2
- databricks/sdk/config.py +3 -2
- databricks/sdk/core.py +4 -2
- databricks/sdk/mixins/workspace.py +2 -1
- databricks/sdk/oauth.py +1 -1
- databricks/sdk/runtime/__init__.py +85 -11
- databricks/sdk/runtime/dbutils_stub.py +1 -1
- databricks/sdk/service/_internal.py +1 -1
- databricks/sdk/service/billing.py +64 -1
- databricks/sdk/service/catalog.py +796 -84
- databricks/sdk/service/compute.py +391 -13
- databricks/sdk/service/dashboards.py +15 -0
- databricks/sdk/service/files.py +289 -15
- databricks/sdk/service/iam.py +214 -0
- databricks/sdk/service/jobs.py +242 -143
- databricks/sdk/service/ml.py +407 -0
- databricks/sdk/service/oauth2.py +83 -0
- databricks/sdk/service/pipelines.py +78 -8
- databricks/sdk/service/provisioning.py +108 -36
- databricks/sdk/service/serving.py +101 -35
- databricks/sdk/service/settings.py +1316 -186
- databricks/sdk/service/sharing.py +94 -18
- databricks/sdk/service/sql.py +230 -13
- databricks/sdk/service/vectorsearch.py +105 -60
- databricks/sdk/service/workspace.py +175 -1
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.19.1.dist-info → databricks_sdk-0.21.0.dist-info}/METADATA +3 -1
- databricks_sdk-0.21.0.dist-info/RECORD +53 -0
- databricks/sdk/runtime/stub.py +0 -48
- databricks_sdk-0.19.1.dist-info/RECORD +0 -54
- {databricks_sdk-0.19.1.dist-info → databricks_sdk-0.21.0.dist-info}/LICENSE +0 -0
- {databricks_sdk-0.19.1.dist-info → databricks_sdk-0.21.0.dist-info}/NOTICE +0 -0
- {databricks_sdk-0.19.1.dist-info → databricks_sdk-0.21.0.dist-info}/WHEEL +0 -0
- {databricks_sdk-0.19.1.dist-info → databricks_sdk-0.21.0.dist-info}/top_level.txt +0 -0
|
@@ -64,6 +64,20 @@ class AddInstanceProfile:
|
|
|
64
64
|
skip_validation=d.get('skip_validation', None))
|
|
65
65
|
|
|
66
66
|
|
|
67
|
+
@dataclass
|
|
68
|
+
class AddResponse:
|
|
69
|
+
|
|
70
|
+
def as_dict(self) -> dict:
|
|
71
|
+
"""Serializes the AddResponse into a dictionary suitable for use as a JSON request body."""
|
|
72
|
+
body = {}
|
|
73
|
+
return body
|
|
74
|
+
|
|
75
|
+
@classmethod
|
|
76
|
+
def from_dict(cls, d: Dict[str, any]) -> AddResponse:
|
|
77
|
+
"""Deserializes the AddResponse from a dictionary."""
|
|
78
|
+
return cls()
|
|
79
|
+
|
|
80
|
+
|
|
67
81
|
@dataclass
|
|
68
82
|
class Adlsgen2Info:
|
|
69
83
|
destination: str
|
|
@@ -130,7 +144,8 @@ class AwsAttributes:
|
|
|
130
144
|
will be overridden."""
|
|
131
145
|
|
|
132
146
|
ebs_volume_iops: Optional[int] = None
|
|
133
|
-
"""
|
|
147
|
+
"""If using gp3 volumes, what IOPS to use for the disk. If this is not set, the maximum performance
|
|
148
|
+
of a gp2 volume with the same volume size will be used."""
|
|
134
149
|
|
|
135
150
|
ebs_volume_size: Optional[int] = None
|
|
136
151
|
"""The size of each EBS volume (in GiB) launched for each instance. For general purpose SSD, this
|
|
@@ -138,7 +153,8 @@ class AwsAttributes:
|
|
|
138
153
|
within the range 500 - 4096."""
|
|
139
154
|
|
|
140
155
|
ebs_volume_throughput: Optional[int] = None
|
|
141
|
-
"""
|
|
156
|
+
"""If using gp3 volumes, what throughput to use for the disk. If this is not set, the maximum
|
|
157
|
+
performance of a gp2 volume with the same volume size will be used."""
|
|
142
158
|
|
|
143
159
|
ebs_volume_type: Optional[EbsVolumeType] = None
|
|
144
160
|
"""The type of EBS volumes that will be launched with this cluster."""
|
|
@@ -302,6 +318,20 @@ class CancelCommand:
|
|
|
302
318
|
context_id=d.get('contextId', None))
|
|
303
319
|
|
|
304
320
|
|
|
321
|
+
@dataclass
|
|
322
|
+
class CancelResponse:
|
|
323
|
+
|
|
324
|
+
def as_dict(self) -> dict:
|
|
325
|
+
"""Serializes the CancelResponse into a dictionary suitable for use as a JSON request body."""
|
|
326
|
+
body = {}
|
|
327
|
+
return body
|
|
328
|
+
|
|
329
|
+
@classmethod
|
|
330
|
+
def from_dict(cls, d: Dict[str, any]) -> CancelResponse:
|
|
331
|
+
"""Deserializes the CancelResponse from a dictionary."""
|
|
332
|
+
return cls()
|
|
333
|
+
|
|
334
|
+
|
|
305
335
|
@dataclass
|
|
306
336
|
class ChangeClusterOwner:
|
|
307
337
|
cluster_id: str
|
|
@@ -323,6 +353,20 @@ class ChangeClusterOwner:
|
|
|
323
353
|
return cls(cluster_id=d.get('cluster_id', None), owner_username=d.get('owner_username', None))
|
|
324
354
|
|
|
325
355
|
|
|
356
|
+
@dataclass
|
|
357
|
+
class ChangeClusterOwnerResponse:
|
|
358
|
+
|
|
359
|
+
def as_dict(self) -> dict:
|
|
360
|
+
"""Serializes the ChangeClusterOwnerResponse into a dictionary suitable for use as a JSON request body."""
|
|
361
|
+
body = {}
|
|
362
|
+
return body
|
|
363
|
+
|
|
364
|
+
@classmethod
|
|
365
|
+
def from_dict(cls, d: Dict[str, any]) -> ChangeClusterOwnerResponse:
|
|
366
|
+
"""Deserializes the ChangeClusterOwnerResponse from a dictionary."""
|
|
367
|
+
return cls()
|
|
368
|
+
|
|
369
|
+
|
|
326
370
|
@dataclass
|
|
327
371
|
class ClientsTypes:
|
|
328
372
|
jobs: Optional[bool] = None
|
|
@@ -2263,6 +2307,20 @@ class DeleteCluster:
|
|
|
2263
2307
|
return cls(cluster_id=d.get('cluster_id', None))
|
|
2264
2308
|
|
|
2265
2309
|
|
|
2310
|
+
@dataclass
|
|
2311
|
+
class DeleteClusterResponse:
|
|
2312
|
+
|
|
2313
|
+
def as_dict(self) -> dict:
|
|
2314
|
+
"""Serializes the DeleteClusterResponse into a dictionary suitable for use as a JSON request body."""
|
|
2315
|
+
body = {}
|
|
2316
|
+
return body
|
|
2317
|
+
|
|
2318
|
+
@classmethod
|
|
2319
|
+
def from_dict(cls, d: Dict[str, any]) -> DeleteClusterResponse:
|
|
2320
|
+
"""Deserializes the DeleteClusterResponse from a dictionary."""
|
|
2321
|
+
return cls()
|
|
2322
|
+
|
|
2323
|
+
|
|
2266
2324
|
@dataclass
|
|
2267
2325
|
class DeleteInstancePool:
|
|
2268
2326
|
instance_pool_id: str
|
|
@@ -2280,6 +2338,20 @@ class DeleteInstancePool:
|
|
|
2280
2338
|
return cls(instance_pool_id=d.get('instance_pool_id', None))
|
|
2281
2339
|
|
|
2282
2340
|
|
|
2341
|
+
@dataclass
|
|
2342
|
+
class DeleteInstancePoolResponse:
|
|
2343
|
+
|
|
2344
|
+
def as_dict(self) -> dict:
|
|
2345
|
+
"""Serializes the DeleteInstancePoolResponse into a dictionary suitable for use as a JSON request body."""
|
|
2346
|
+
body = {}
|
|
2347
|
+
return body
|
|
2348
|
+
|
|
2349
|
+
@classmethod
|
|
2350
|
+
def from_dict(cls, d: Dict[str, any]) -> DeleteInstancePoolResponse:
|
|
2351
|
+
"""Deserializes the DeleteInstancePoolResponse from a dictionary."""
|
|
2352
|
+
return cls()
|
|
2353
|
+
|
|
2354
|
+
|
|
2283
2355
|
@dataclass
|
|
2284
2356
|
class DeletePolicy:
|
|
2285
2357
|
policy_id: str
|
|
@@ -2297,6 +2369,34 @@ class DeletePolicy:
|
|
|
2297
2369
|
return cls(policy_id=d.get('policy_id', None))
|
|
2298
2370
|
|
|
2299
2371
|
|
|
2372
|
+
@dataclass
|
|
2373
|
+
class DeletePolicyResponse:
|
|
2374
|
+
|
|
2375
|
+
def as_dict(self) -> dict:
|
|
2376
|
+
"""Serializes the DeletePolicyResponse into a dictionary suitable for use as a JSON request body."""
|
|
2377
|
+
body = {}
|
|
2378
|
+
return body
|
|
2379
|
+
|
|
2380
|
+
@classmethod
|
|
2381
|
+
def from_dict(cls, d: Dict[str, any]) -> DeletePolicyResponse:
|
|
2382
|
+
"""Deserializes the DeletePolicyResponse from a dictionary."""
|
|
2383
|
+
return cls()
|
|
2384
|
+
|
|
2385
|
+
|
|
2386
|
+
@dataclass
|
|
2387
|
+
class DeleteResponse:
|
|
2388
|
+
|
|
2389
|
+
def as_dict(self) -> dict:
|
|
2390
|
+
"""Serializes the DeleteResponse into a dictionary suitable for use as a JSON request body."""
|
|
2391
|
+
body = {}
|
|
2392
|
+
return body
|
|
2393
|
+
|
|
2394
|
+
@classmethod
|
|
2395
|
+
def from_dict(cls, d: Dict[str, any]) -> DeleteResponse:
|
|
2396
|
+
"""Deserializes the DeleteResponse from a dictionary."""
|
|
2397
|
+
return cls()
|
|
2398
|
+
|
|
2399
|
+
|
|
2300
2400
|
@dataclass
|
|
2301
2401
|
class DestroyContext:
|
|
2302
2402
|
cluster_id: str
|
|
@@ -2316,6 +2416,20 @@ class DestroyContext:
|
|
|
2316
2416
|
return cls(cluster_id=d.get('clusterId', None), context_id=d.get('contextId', None))
|
|
2317
2417
|
|
|
2318
2418
|
|
|
2419
|
+
@dataclass
|
|
2420
|
+
class DestroyResponse:
|
|
2421
|
+
|
|
2422
|
+
def as_dict(self) -> dict:
|
|
2423
|
+
"""Serializes the DestroyResponse into a dictionary suitable for use as a JSON request body."""
|
|
2424
|
+
body = {}
|
|
2425
|
+
return body
|
|
2426
|
+
|
|
2427
|
+
@classmethod
|
|
2428
|
+
def from_dict(cls, d: Dict[str, any]) -> DestroyResponse:
|
|
2429
|
+
"""Deserializes the DestroyResponse from a dictionary."""
|
|
2430
|
+
return cls()
|
|
2431
|
+
|
|
2432
|
+
|
|
2319
2433
|
@dataclass
|
|
2320
2434
|
class DiskSpec:
|
|
2321
2435
|
disk_count: Optional[int] = None
|
|
@@ -2670,6 +2784,20 @@ class EditCluster:
|
|
|
2670
2784
|
workload_type=_from_dict(d, 'workload_type', WorkloadType))
|
|
2671
2785
|
|
|
2672
2786
|
|
|
2787
|
+
@dataclass
|
|
2788
|
+
class EditClusterResponse:
|
|
2789
|
+
|
|
2790
|
+
def as_dict(self) -> dict:
|
|
2791
|
+
"""Serializes the EditClusterResponse into a dictionary suitable for use as a JSON request body."""
|
|
2792
|
+
body = {}
|
|
2793
|
+
return body
|
|
2794
|
+
|
|
2795
|
+
@classmethod
|
|
2796
|
+
def from_dict(cls, d: Dict[str, any]) -> EditClusterResponse:
|
|
2797
|
+
"""Deserializes the EditClusterResponse from a dictionary."""
|
|
2798
|
+
return cls()
|
|
2799
|
+
|
|
2800
|
+
|
|
2673
2801
|
@dataclass
|
|
2674
2802
|
class EditInstancePool:
|
|
2675
2803
|
instance_pool_id: str
|
|
@@ -2731,6 +2859,20 @@ class EditInstancePool:
|
|
|
2731
2859
|
node_type_id=d.get('node_type_id', None))
|
|
2732
2860
|
|
|
2733
2861
|
|
|
2862
|
+
@dataclass
|
|
2863
|
+
class EditInstancePoolResponse:
|
|
2864
|
+
|
|
2865
|
+
def as_dict(self) -> dict:
|
|
2866
|
+
"""Serializes the EditInstancePoolResponse into a dictionary suitable for use as a JSON request body."""
|
|
2867
|
+
body = {}
|
|
2868
|
+
return body
|
|
2869
|
+
|
|
2870
|
+
@classmethod
|
|
2871
|
+
def from_dict(cls, d: Dict[str, any]) -> EditInstancePoolResponse:
|
|
2872
|
+
"""Deserializes the EditInstancePoolResponse from a dictionary."""
|
|
2873
|
+
return cls()
|
|
2874
|
+
|
|
2875
|
+
|
|
2734
2876
|
@dataclass
|
|
2735
2877
|
class EditPolicy:
|
|
2736
2878
|
policy_id: str
|
|
@@ -2799,6 +2941,34 @@ class EditPolicy:
|
|
|
2799
2941
|
policy_id=d.get('policy_id', None))
|
|
2800
2942
|
|
|
2801
2943
|
|
|
2944
|
+
@dataclass
|
|
2945
|
+
class EditPolicyResponse:
|
|
2946
|
+
|
|
2947
|
+
def as_dict(self) -> dict:
|
|
2948
|
+
"""Serializes the EditPolicyResponse into a dictionary suitable for use as a JSON request body."""
|
|
2949
|
+
body = {}
|
|
2950
|
+
return body
|
|
2951
|
+
|
|
2952
|
+
@classmethod
|
|
2953
|
+
def from_dict(cls, d: Dict[str, any]) -> EditPolicyResponse:
|
|
2954
|
+
"""Deserializes the EditPolicyResponse from a dictionary."""
|
|
2955
|
+
return cls()
|
|
2956
|
+
|
|
2957
|
+
|
|
2958
|
+
@dataclass
|
|
2959
|
+
class EditResponse:
|
|
2960
|
+
|
|
2961
|
+
def as_dict(self) -> dict:
|
|
2962
|
+
"""Serializes the EditResponse into a dictionary suitable for use as a JSON request body."""
|
|
2963
|
+
body = {}
|
|
2964
|
+
return body
|
|
2965
|
+
|
|
2966
|
+
@classmethod
|
|
2967
|
+
def from_dict(cls, d: Dict[str, any]) -> EditResponse:
|
|
2968
|
+
"""Deserializes the EditResponse from a dictionary."""
|
|
2969
|
+
return cls()
|
|
2970
|
+
|
|
2971
|
+
|
|
2802
2972
|
@dataclass
|
|
2803
2973
|
class EventDetails:
|
|
2804
2974
|
attributes: Optional[ClusterAttributes] = None
|
|
@@ -3686,6 +3856,20 @@ class InstallLibraries:
|
|
|
3686
3856
|
return cls(cluster_id=d.get('cluster_id', None), libraries=_repeated_dict(d, 'libraries', Library))
|
|
3687
3857
|
|
|
3688
3858
|
|
|
3859
|
+
@dataclass
|
|
3860
|
+
class InstallLibrariesResponse:
|
|
3861
|
+
|
|
3862
|
+
def as_dict(self) -> dict:
|
|
3863
|
+
"""Serializes the InstallLibrariesResponse into a dictionary suitable for use as a JSON request body."""
|
|
3864
|
+
body = {}
|
|
3865
|
+
return body
|
|
3866
|
+
|
|
3867
|
+
@classmethod
|
|
3868
|
+
def from_dict(cls, d: Dict[str, any]) -> InstallLibrariesResponse:
|
|
3869
|
+
"""Deserializes the InstallLibrariesResponse from a dictionary."""
|
|
3870
|
+
return cls()
|
|
3871
|
+
|
|
3872
|
+
|
|
3689
3873
|
@dataclass
|
|
3690
3874
|
class InstancePoolAccessControlRequest:
|
|
3691
3875
|
group_name: Optional[str] = None
|
|
@@ -4763,6 +4947,20 @@ class PermanentDeleteCluster:
|
|
|
4763
4947
|
return cls(cluster_id=d.get('cluster_id', None))
|
|
4764
4948
|
|
|
4765
4949
|
|
|
4950
|
+
@dataclass
|
|
4951
|
+
class PermanentDeleteClusterResponse:
|
|
4952
|
+
|
|
4953
|
+
def as_dict(self) -> dict:
|
|
4954
|
+
"""Serializes the PermanentDeleteClusterResponse into a dictionary suitable for use as a JSON request body."""
|
|
4955
|
+
body = {}
|
|
4956
|
+
return body
|
|
4957
|
+
|
|
4958
|
+
@classmethod
|
|
4959
|
+
def from_dict(cls, d: Dict[str, any]) -> PermanentDeleteClusterResponse:
|
|
4960
|
+
"""Deserializes the PermanentDeleteClusterResponse from a dictionary."""
|
|
4961
|
+
return cls()
|
|
4962
|
+
|
|
4963
|
+
|
|
4766
4964
|
@dataclass
|
|
4767
4965
|
class PinCluster:
|
|
4768
4966
|
cluster_id: str
|
|
@@ -4780,6 +4978,20 @@ class PinCluster:
|
|
|
4780
4978
|
return cls(cluster_id=d.get('cluster_id', None))
|
|
4781
4979
|
|
|
4782
4980
|
|
|
4981
|
+
@dataclass
|
|
4982
|
+
class PinClusterResponse:
|
|
4983
|
+
|
|
4984
|
+
def as_dict(self) -> dict:
|
|
4985
|
+
"""Serializes the PinClusterResponse into a dictionary suitable for use as a JSON request body."""
|
|
4986
|
+
body = {}
|
|
4987
|
+
return body
|
|
4988
|
+
|
|
4989
|
+
@classmethod
|
|
4990
|
+
def from_dict(cls, d: Dict[str, any]) -> PinClusterResponse:
|
|
4991
|
+
"""Deserializes the PinClusterResponse from a dictionary."""
|
|
4992
|
+
return cls()
|
|
4993
|
+
|
|
4994
|
+
|
|
4783
4995
|
@dataclass
|
|
4784
4996
|
class Policy:
|
|
4785
4997
|
created_at_timestamp: Optional[int] = None
|
|
@@ -4955,6 +5167,20 @@ class RemoveInstanceProfile:
|
|
|
4955
5167
|
return cls(instance_profile_arn=d.get('instance_profile_arn', None))
|
|
4956
5168
|
|
|
4957
5169
|
|
|
5170
|
+
@dataclass
|
|
5171
|
+
class RemoveResponse:
|
|
5172
|
+
|
|
5173
|
+
def as_dict(self) -> dict:
|
|
5174
|
+
"""Serializes the RemoveResponse into a dictionary suitable for use as a JSON request body."""
|
|
5175
|
+
body = {}
|
|
5176
|
+
return body
|
|
5177
|
+
|
|
5178
|
+
@classmethod
|
|
5179
|
+
def from_dict(cls, d: Dict[str, any]) -> RemoveResponse:
|
|
5180
|
+
"""Deserializes the RemoveResponse from a dictionary."""
|
|
5181
|
+
return cls()
|
|
5182
|
+
|
|
5183
|
+
|
|
4958
5184
|
@dataclass
|
|
4959
5185
|
class ResizeCluster:
|
|
4960
5186
|
cluster_id: str
|
|
@@ -4990,6 +5216,20 @@ class ResizeCluster:
|
|
|
4990
5216
|
num_workers=d.get('num_workers', None))
|
|
4991
5217
|
|
|
4992
5218
|
|
|
5219
|
+
@dataclass
|
|
5220
|
+
class ResizeClusterResponse:
|
|
5221
|
+
|
|
5222
|
+
def as_dict(self) -> dict:
|
|
5223
|
+
"""Serializes the ResizeClusterResponse into a dictionary suitable for use as a JSON request body."""
|
|
5224
|
+
body = {}
|
|
5225
|
+
return body
|
|
5226
|
+
|
|
5227
|
+
@classmethod
|
|
5228
|
+
def from_dict(cls, d: Dict[str, any]) -> ResizeClusterResponse:
|
|
5229
|
+
"""Deserializes the ResizeClusterResponse from a dictionary."""
|
|
5230
|
+
return cls()
|
|
5231
|
+
|
|
5232
|
+
|
|
4993
5233
|
@dataclass
|
|
4994
5234
|
class RestartCluster:
|
|
4995
5235
|
cluster_id: str
|
|
@@ -5011,6 +5251,20 @@ class RestartCluster:
|
|
|
5011
5251
|
return cls(cluster_id=d.get('cluster_id', None), restart_user=d.get('restart_user', None))
|
|
5012
5252
|
|
|
5013
5253
|
|
|
5254
|
+
@dataclass
|
|
5255
|
+
class RestartClusterResponse:
|
|
5256
|
+
|
|
5257
|
+
def as_dict(self) -> dict:
|
|
5258
|
+
"""Serializes the RestartClusterResponse into a dictionary suitable for use as a JSON request body."""
|
|
5259
|
+
body = {}
|
|
5260
|
+
return body
|
|
5261
|
+
|
|
5262
|
+
@classmethod
|
|
5263
|
+
def from_dict(cls, d: Dict[str, any]) -> RestartClusterResponse:
|
|
5264
|
+
"""Deserializes the RestartClusterResponse from a dictionary."""
|
|
5265
|
+
return cls()
|
|
5266
|
+
|
|
5267
|
+
|
|
5014
5268
|
class ResultType(Enum):
|
|
5015
5269
|
|
|
5016
5270
|
ERROR = 'error'
|
|
@@ -5261,6 +5515,20 @@ class StartCluster:
|
|
|
5261
5515
|
return cls(cluster_id=d.get('cluster_id', None))
|
|
5262
5516
|
|
|
5263
5517
|
|
|
5518
|
+
@dataclass
|
|
5519
|
+
class StartClusterResponse:
|
|
5520
|
+
|
|
5521
|
+
def as_dict(self) -> dict:
|
|
5522
|
+
"""Serializes the StartClusterResponse into a dictionary suitable for use as a JSON request body."""
|
|
5523
|
+
body = {}
|
|
5524
|
+
return body
|
|
5525
|
+
|
|
5526
|
+
@classmethod
|
|
5527
|
+
def from_dict(cls, d: Dict[str, any]) -> StartClusterResponse:
|
|
5528
|
+
"""Deserializes the StartClusterResponse from a dictionary."""
|
|
5529
|
+
return cls()
|
|
5530
|
+
|
|
5531
|
+
|
|
5264
5532
|
class State(Enum):
|
|
5265
5533
|
"""Current state of the cluster."""
|
|
5266
5534
|
|
|
@@ -5415,6 +5683,20 @@ class UninstallLibraries:
|
|
|
5415
5683
|
return cls(cluster_id=d.get('cluster_id', None), libraries=_repeated_dict(d, 'libraries', Library))
|
|
5416
5684
|
|
|
5417
5685
|
|
|
5686
|
+
@dataclass
|
|
5687
|
+
class UninstallLibrariesResponse:
|
|
5688
|
+
|
|
5689
|
+
def as_dict(self) -> dict:
|
|
5690
|
+
"""Serializes the UninstallLibrariesResponse into a dictionary suitable for use as a JSON request body."""
|
|
5691
|
+
body = {}
|
|
5692
|
+
return body
|
|
5693
|
+
|
|
5694
|
+
@classmethod
|
|
5695
|
+
def from_dict(cls, d: Dict[str, any]) -> UninstallLibrariesResponse:
|
|
5696
|
+
"""Deserializes the UninstallLibrariesResponse from a dictionary."""
|
|
5697
|
+
return cls()
|
|
5698
|
+
|
|
5699
|
+
|
|
5418
5700
|
@dataclass
|
|
5419
5701
|
class UnpinCluster:
|
|
5420
5702
|
cluster_id: str
|
|
@@ -5432,6 +5714,34 @@ class UnpinCluster:
|
|
|
5432
5714
|
return cls(cluster_id=d.get('cluster_id', None))
|
|
5433
5715
|
|
|
5434
5716
|
|
|
5717
|
+
@dataclass
|
|
5718
|
+
class UnpinClusterResponse:
|
|
5719
|
+
|
|
5720
|
+
def as_dict(self) -> dict:
|
|
5721
|
+
"""Serializes the UnpinClusterResponse into a dictionary suitable for use as a JSON request body."""
|
|
5722
|
+
body = {}
|
|
5723
|
+
return body
|
|
5724
|
+
|
|
5725
|
+
@classmethod
|
|
5726
|
+
def from_dict(cls, d: Dict[str, any]) -> UnpinClusterResponse:
|
|
5727
|
+
"""Deserializes the UnpinClusterResponse from a dictionary."""
|
|
5728
|
+
return cls()
|
|
5729
|
+
|
|
5730
|
+
|
|
5731
|
+
@dataclass
|
|
5732
|
+
class UpdateResponse:
|
|
5733
|
+
|
|
5734
|
+
def as_dict(self) -> dict:
|
|
5735
|
+
"""Serializes the UpdateResponse into a dictionary suitable for use as a JSON request body."""
|
|
5736
|
+
body = {}
|
|
5737
|
+
return body
|
|
5738
|
+
|
|
5739
|
+
@classmethod
|
|
5740
|
+
def from_dict(cls, d: Dict[str, any]) -> UpdateResponse:
|
|
5741
|
+
"""Deserializes the UpdateResponse from a dictionary."""
|
|
5742
|
+
return cls()
|
|
5743
|
+
|
|
5744
|
+
|
|
5435
5745
|
@dataclass
|
|
5436
5746
|
class VolumesStorageInfo:
|
|
5437
5747
|
destination: str
|
|
@@ -5560,6 +5870,7 @@ class ClusterPoliciesAPI:
|
|
|
5560
5870
|
body['policy_family_definition_overrides'] = policy_family_definition_overrides
|
|
5561
5871
|
if policy_family_id is not None: body['policy_family_id'] = policy_family_id
|
|
5562
5872
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
5873
|
+
|
|
5563
5874
|
res = self._api.do('POST', '/api/2.0/policies/clusters/create', body=body, headers=headers)
|
|
5564
5875
|
return CreatePolicyResponse.from_dict(res)
|
|
5565
5876
|
|
|
@@ -5576,6 +5887,7 @@ class ClusterPoliciesAPI:
|
|
|
5576
5887
|
body = {}
|
|
5577
5888
|
if policy_id is not None: body['policy_id'] = policy_id
|
|
5578
5889
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
5890
|
+
|
|
5579
5891
|
self._api.do('POST', '/api/2.0/policies/clusters/delete', body=body, headers=headers)
|
|
5580
5892
|
|
|
5581
5893
|
def edit(self,
|
|
@@ -5638,6 +5950,7 @@ class ClusterPoliciesAPI:
|
|
|
5638
5950
|
if policy_family_id is not None: body['policy_family_id'] = policy_family_id
|
|
5639
5951
|
if policy_id is not None: body['policy_id'] = policy_id
|
|
5640
5952
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
5953
|
+
|
|
5641
5954
|
self._api.do('POST', '/api/2.0/policies/clusters/edit', body=body, headers=headers)
|
|
5642
5955
|
|
|
5643
5956
|
def get(self, policy_id: str) -> Policy:
|
|
@@ -5654,6 +5967,7 @@ class ClusterPoliciesAPI:
|
|
|
5654
5967
|
query = {}
|
|
5655
5968
|
if policy_id is not None: query['policy_id'] = policy_id
|
|
5656
5969
|
headers = {'Accept': 'application/json', }
|
|
5970
|
+
|
|
5657
5971
|
res = self._api.do('GET', '/api/2.0/policies/clusters/get', query=query, headers=headers)
|
|
5658
5972
|
return Policy.from_dict(res)
|
|
5659
5973
|
|
|
@@ -5669,6 +5983,7 @@ class ClusterPoliciesAPI:
|
|
|
5669
5983
|
"""
|
|
5670
5984
|
|
|
5671
5985
|
headers = {'Accept': 'application/json', }
|
|
5986
|
+
|
|
5672
5987
|
res = self._api.do('GET',
|
|
5673
5988
|
f'/api/2.0/permissions/cluster-policies/{cluster_policy_id}/permissionLevels',
|
|
5674
5989
|
headers=headers)
|
|
@@ -5687,6 +6002,7 @@ class ClusterPoliciesAPI:
|
|
|
5687
6002
|
"""
|
|
5688
6003
|
|
|
5689
6004
|
headers = {'Accept': 'application/json', }
|
|
6005
|
+
|
|
5690
6006
|
res = self._api.do('GET',
|
|
5691
6007
|
f'/api/2.0/permissions/cluster-policies/{cluster_policy_id}',
|
|
5692
6008
|
headers=headers)
|
|
@@ -5714,6 +6030,7 @@ class ClusterPoliciesAPI:
|
|
|
5714
6030
|
if sort_column is not None: query['sort_column'] = sort_column.value
|
|
5715
6031
|
if sort_order is not None: query['sort_order'] = sort_order.value
|
|
5716
6032
|
headers = {'Accept': 'application/json', }
|
|
6033
|
+
|
|
5717
6034
|
json = self._api.do('GET', '/api/2.0/policies/clusters/list', query=query, headers=headers)
|
|
5718
6035
|
parsed = ListPoliciesResponse.from_dict(json).policies
|
|
5719
6036
|
return parsed if parsed is not None else []
|
|
@@ -5738,6 +6055,7 @@ class ClusterPoliciesAPI:
|
|
|
5738
6055
|
if access_control_list is not None:
|
|
5739
6056
|
body['access_control_list'] = [v.as_dict() for v in access_control_list]
|
|
5740
6057
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6058
|
+
|
|
5741
6059
|
res = self._api.do('PUT',
|
|
5742
6060
|
f'/api/2.0/permissions/cluster-policies/{cluster_policy_id}',
|
|
5743
6061
|
body=body,
|
|
@@ -5765,6 +6083,7 @@ class ClusterPoliciesAPI:
|
|
|
5765
6083
|
if access_control_list is not None:
|
|
5766
6084
|
body['access_control_list'] = [v.as_dict() for v in access_control_list]
|
|
5767
6085
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6086
|
+
|
|
5768
6087
|
res = self._api.do('PATCH',
|
|
5769
6088
|
f'/api/2.0/permissions/cluster-policies/{cluster_policy_id}',
|
|
5770
6089
|
body=body,
|
|
@@ -5878,6 +6197,7 @@ class ClustersAPI:
|
|
|
5878
6197
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
5879
6198
|
if owner_username is not None: body['owner_username'] = owner_username
|
|
5880
6199
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6200
|
+
|
|
5881
6201
|
self._api.do('POST', '/api/2.0/clusters/change-owner', body=body, headers=headers)
|
|
5882
6202
|
|
|
5883
6203
|
def create(self,
|
|
@@ -6069,6 +6389,7 @@ class ClustersAPI:
|
|
|
6069
6389
|
if ssh_public_keys is not None: body['ssh_public_keys'] = [v for v in ssh_public_keys]
|
|
6070
6390
|
if workload_type is not None: body['workload_type'] = workload_type.as_dict()
|
|
6071
6391
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6392
|
+
|
|
6072
6393
|
op_response = self._api.do('POST', '/api/2.0/clusters/create', body=body, headers=headers)
|
|
6073
6394
|
return Wait(self.wait_get_cluster_running,
|
|
6074
6395
|
response=CreateClusterResponse.from_dict(op_response),
|
|
@@ -6152,8 +6473,11 @@ class ClustersAPI:
|
|
|
6152
6473
|
body = {}
|
|
6153
6474
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
6154
6475
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6155
|
-
|
|
6156
|
-
|
|
6476
|
+
|
|
6477
|
+
op_response = self._api.do('POST', '/api/2.0/clusters/delete', body=body, headers=headers)
|
|
6478
|
+
return Wait(self.wait_get_cluster_terminated,
|
|
6479
|
+
response=DeleteClusterResponse.from_dict(op_response),
|
|
6480
|
+
cluster_id=cluster_id)
|
|
6157
6481
|
|
|
6158
6482
|
def delete_and_wait(self, cluster_id: str, timeout=timedelta(minutes=20)) -> ClusterDetails:
|
|
6159
6483
|
return self.delete(cluster_id=cluster_id).result(timeout=timeout)
|
|
@@ -6356,8 +6680,11 @@ class ClustersAPI:
|
|
|
6356
6680
|
if ssh_public_keys is not None: body['ssh_public_keys'] = [v for v in ssh_public_keys]
|
|
6357
6681
|
if workload_type is not None: body['workload_type'] = workload_type.as_dict()
|
|
6358
6682
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6359
|
-
|
|
6360
|
-
|
|
6683
|
+
|
|
6684
|
+
op_response = self._api.do('POST', '/api/2.0/clusters/edit', body=body, headers=headers)
|
|
6685
|
+
return Wait(self.wait_get_cluster_running,
|
|
6686
|
+
response=EditClusterResponse.from_dict(op_response),
|
|
6687
|
+
cluster_id=cluster_id)
|
|
6361
6688
|
|
|
6362
6689
|
def edit_and_wait(
|
|
6363
6690
|
self,
|
|
@@ -6490,6 +6817,7 @@ class ClustersAPI:
|
|
|
6490
6817
|
query = {}
|
|
6491
6818
|
if cluster_id is not None: query['cluster_id'] = cluster_id
|
|
6492
6819
|
headers = {'Accept': 'application/json', }
|
|
6820
|
+
|
|
6493
6821
|
res = self._api.do('GET', '/api/2.0/clusters/get', query=query, headers=headers)
|
|
6494
6822
|
return ClusterDetails.from_dict(res)
|
|
6495
6823
|
|
|
@@ -6505,6 +6833,7 @@ class ClustersAPI:
|
|
|
6505
6833
|
"""
|
|
6506
6834
|
|
|
6507
6835
|
headers = {'Accept': 'application/json', }
|
|
6836
|
+
|
|
6508
6837
|
res = self._api.do('GET',
|
|
6509
6838
|
f'/api/2.0/permissions/clusters/{cluster_id}/permissionLevels',
|
|
6510
6839
|
headers=headers)
|
|
@@ -6522,6 +6851,7 @@ class ClustersAPI:
|
|
|
6522
6851
|
"""
|
|
6523
6852
|
|
|
6524
6853
|
headers = {'Accept': 'application/json', }
|
|
6854
|
+
|
|
6525
6855
|
res = self._api.do('GET', f'/api/2.0/permissions/clusters/{cluster_id}', headers=headers)
|
|
6526
6856
|
return ClusterPermissions.from_dict(res)
|
|
6527
6857
|
|
|
@@ -6548,6 +6878,7 @@ class ClustersAPI:
|
|
|
6548
6878
|
query = {}
|
|
6549
6879
|
if can_use_client is not None: query['can_use_client'] = can_use_client
|
|
6550
6880
|
headers = {'Accept': 'application/json', }
|
|
6881
|
+
|
|
6551
6882
|
json = self._api.do('GET', '/api/2.0/clusters/list', query=query, headers=headers)
|
|
6552
6883
|
parsed = ListClustersResponse.from_dict(json).clusters
|
|
6553
6884
|
return parsed if parsed is not None else []
|
|
@@ -6561,6 +6892,7 @@ class ClustersAPI:
|
|
|
6561
6892
|
"""
|
|
6562
6893
|
|
|
6563
6894
|
headers = {'Accept': 'application/json', }
|
|
6895
|
+
|
|
6564
6896
|
res = self._api.do('GET', '/api/2.0/clusters/list-node-types', headers=headers)
|
|
6565
6897
|
return ListNodeTypesResponse.from_dict(res)
|
|
6566
6898
|
|
|
@@ -6574,6 +6906,7 @@ class ClustersAPI:
|
|
|
6574
6906
|
"""
|
|
6575
6907
|
|
|
6576
6908
|
headers = {'Accept': 'application/json', }
|
|
6909
|
+
|
|
6577
6910
|
res = self._api.do('GET', '/api/2.0/clusters/list-zones', headers=headers)
|
|
6578
6911
|
return ListAvailableZonesResponse.from_dict(res)
|
|
6579
6912
|
|
|
@@ -6594,6 +6927,7 @@ class ClustersAPI:
|
|
|
6594
6927
|
body = {}
|
|
6595
6928
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
6596
6929
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6930
|
+
|
|
6597
6931
|
self._api.do('POST', '/api/2.0/clusters/permanent-delete', body=body, headers=headers)
|
|
6598
6932
|
|
|
6599
6933
|
def pin(self, cluster_id: str):
|
|
@@ -6610,6 +6944,7 @@ class ClustersAPI:
|
|
|
6610
6944
|
body = {}
|
|
6611
6945
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
6612
6946
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6947
|
+
|
|
6613
6948
|
self._api.do('POST', '/api/2.0/clusters/pin', body=body, headers=headers)
|
|
6614
6949
|
|
|
6615
6950
|
def resize(self,
|
|
@@ -6646,8 +6981,11 @@ class ClustersAPI:
|
|
|
6646
6981
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
6647
6982
|
if num_workers is not None: body['num_workers'] = num_workers
|
|
6648
6983
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6649
|
-
|
|
6650
|
-
|
|
6984
|
+
|
|
6985
|
+
op_response = self._api.do('POST', '/api/2.0/clusters/resize', body=body, headers=headers)
|
|
6986
|
+
return Wait(self.wait_get_cluster_running,
|
|
6987
|
+
response=ResizeClusterResponse.from_dict(op_response),
|
|
6988
|
+
cluster_id=cluster_id)
|
|
6651
6989
|
|
|
6652
6990
|
def resize_and_wait(self,
|
|
6653
6991
|
cluster_id: str,
|
|
@@ -6677,8 +7015,11 @@ class ClustersAPI:
|
|
|
6677
7015
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
6678
7016
|
if restart_user is not None: body['restart_user'] = restart_user
|
|
6679
7017
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6680
|
-
|
|
6681
|
-
|
|
7018
|
+
|
|
7019
|
+
op_response = self._api.do('POST', '/api/2.0/clusters/restart', body=body, headers=headers)
|
|
7020
|
+
return Wait(self.wait_get_cluster_running,
|
|
7021
|
+
response=RestartClusterResponse.from_dict(op_response),
|
|
7022
|
+
cluster_id=cluster_id)
|
|
6682
7023
|
|
|
6683
7024
|
def restart_and_wait(self,
|
|
6684
7025
|
cluster_id: str,
|
|
@@ -6706,6 +7047,7 @@ class ClustersAPI:
|
|
|
6706
7047
|
if access_control_list is not None:
|
|
6707
7048
|
body['access_control_list'] = [v.as_dict() for v in access_control_list]
|
|
6708
7049
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7050
|
+
|
|
6709
7051
|
res = self._api.do('PUT', f'/api/2.0/permissions/clusters/{cluster_id}', body=body, headers=headers)
|
|
6710
7052
|
return ClusterPermissions.from_dict(res)
|
|
6711
7053
|
|
|
@@ -6718,6 +7060,7 @@ class ClustersAPI:
|
|
|
6718
7060
|
"""
|
|
6719
7061
|
|
|
6720
7062
|
headers = {'Accept': 'application/json', }
|
|
7063
|
+
|
|
6721
7064
|
res = self._api.do('GET', '/api/2.0/clusters/spark-versions', headers=headers)
|
|
6722
7065
|
return GetSparkVersionsResponse.from_dict(res)
|
|
6723
7066
|
|
|
@@ -6741,8 +7084,11 @@ class ClustersAPI:
|
|
|
6741
7084
|
body = {}
|
|
6742
7085
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
6743
7086
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6744
|
-
|
|
6745
|
-
|
|
7087
|
+
|
|
7088
|
+
op_response = self._api.do('POST', '/api/2.0/clusters/start', body=body, headers=headers)
|
|
7089
|
+
return Wait(self.wait_get_cluster_running,
|
|
7090
|
+
response=StartClusterResponse.from_dict(op_response),
|
|
7091
|
+
cluster_id=cluster_id)
|
|
6746
7092
|
|
|
6747
7093
|
def start_and_wait(self, cluster_id: str, timeout=timedelta(minutes=20)) -> ClusterDetails:
|
|
6748
7094
|
return self.start(cluster_id=cluster_id).result(timeout=timeout)
|
|
@@ -6762,6 +7108,7 @@ class ClustersAPI:
|
|
|
6762
7108
|
body = {}
|
|
6763
7109
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
6764
7110
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7111
|
+
|
|
6765
7112
|
self._api.do('POST', '/api/2.0/clusters/unpin', body=body, headers=headers)
|
|
6766
7113
|
|
|
6767
7114
|
def update_permissions(
|
|
@@ -6783,6 +7130,7 @@ class ClustersAPI:
|
|
|
6783
7130
|
if access_control_list is not None:
|
|
6784
7131
|
body['access_control_list'] = [v.as_dict() for v in access_control_list]
|
|
6785
7132
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7133
|
+
|
|
6786
7134
|
res = self._api.do('PATCH', f'/api/2.0/permissions/clusters/{cluster_id}', body=body, headers=headers)
|
|
6787
7135
|
return ClusterPermissions.from_dict(res)
|
|
6788
7136
|
|
|
@@ -6917,8 +7265,10 @@ class CommandExecutionAPI:
|
|
|
6917
7265
|
if command_id is not None: body['commandId'] = command_id
|
|
6918
7266
|
if context_id is not None: body['contextId'] = context_id
|
|
6919
7267
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
6920
|
-
|
|
7268
|
+
|
|
7269
|
+
op_response = self._api.do('POST', '/api/1.2/commands/cancel', body=body, headers=headers)
|
|
6921
7270
|
return Wait(self.wait_command_status_command_execution_cancelled,
|
|
7271
|
+
response=CancelResponse.from_dict(op_response),
|
|
6922
7272
|
cluster_id=cluster_id,
|
|
6923
7273
|
command_id=command_id,
|
|
6924
7274
|
context_id=context_id)
|
|
@@ -6952,6 +7302,7 @@ class CommandExecutionAPI:
|
|
|
6952
7302
|
if command_id is not None: query['commandId'] = command_id
|
|
6953
7303
|
if context_id is not None: query['contextId'] = context_id
|
|
6954
7304
|
headers = {'Accept': 'application/json', }
|
|
7305
|
+
|
|
6955
7306
|
res = self._api.do('GET', '/api/1.2/commands/status', query=query, headers=headers)
|
|
6956
7307
|
return CommandStatusResponse.from_dict(res)
|
|
6957
7308
|
|
|
@@ -6970,6 +7321,7 @@ class CommandExecutionAPI:
|
|
|
6970
7321
|
if cluster_id is not None: query['clusterId'] = cluster_id
|
|
6971
7322
|
if context_id is not None: query['contextId'] = context_id
|
|
6972
7323
|
headers = {'Accept': 'application/json', }
|
|
7324
|
+
|
|
6973
7325
|
res = self._api.do('GET', '/api/1.2/contexts/status', query=query, headers=headers)
|
|
6974
7326
|
return ContextStatusResponse.from_dict(res)
|
|
6975
7327
|
|
|
@@ -6995,6 +7347,7 @@ class CommandExecutionAPI:
|
|
|
6995
7347
|
if cluster_id is not None: body['clusterId'] = cluster_id
|
|
6996
7348
|
if language is not None: body['language'] = language.value
|
|
6997
7349
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7350
|
+
|
|
6998
7351
|
op_response = self._api.do('POST', '/api/1.2/contexts/create', body=body, headers=headers)
|
|
6999
7352
|
return Wait(self.wait_context_status_command_execution_running,
|
|
7000
7353
|
response=Created.from_dict(op_response),
|
|
@@ -7023,6 +7376,7 @@ class CommandExecutionAPI:
|
|
|
7023
7376
|
if cluster_id is not None: body['clusterId'] = cluster_id
|
|
7024
7377
|
if context_id is not None: body['contextId'] = context_id
|
|
7025
7378
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7379
|
+
|
|
7026
7380
|
self._api.do('POST', '/api/1.2/contexts/destroy', body=body, headers=headers)
|
|
7027
7381
|
|
|
7028
7382
|
def execute(self,
|
|
@@ -7055,6 +7409,7 @@ class CommandExecutionAPI:
|
|
|
7055
7409
|
if context_id is not None: body['contextId'] = context_id
|
|
7056
7410
|
if language is not None: body['language'] = language.value
|
|
7057
7411
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7412
|
+
|
|
7058
7413
|
op_response = self._api.do('POST', '/api/1.2/commands/execute', body=body, headers=headers)
|
|
7059
7414
|
return Wait(self.wait_command_status_command_execution_finished_or_error,
|
|
7060
7415
|
response=Created.from_dict(op_response),
|
|
@@ -7121,6 +7476,7 @@ class GlobalInitScriptsAPI:
|
|
|
7121
7476
|
if position is not None: body['position'] = position
|
|
7122
7477
|
if script is not None: body['script'] = script
|
|
7123
7478
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7479
|
+
|
|
7124
7480
|
res = self._api.do('POST', '/api/2.0/global-init-scripts', body=body, headers=headers)
|
|
7125
7481
|
return CreateResponse.from_dict(res)
|
|
7126
7482
|
|
|
@@ -7136,6 +7492,7 @@ class GlobalInitScriptsAPI:
|
|
|
7136
7492
|
"""
|
|
7137
7493
|
|
|
7138
7494
|
headers = {}
|
|
7495
|
+
|
|
7139
7496
|
self._api.do('DELETE', f'/api/2.0/global-init-scripts/{script_id}', headers=headers)
|
|
7140
7497
|
|
|
7141
7498
|
def get(self, script_id: str) -> GlobalInitScriptDetailsWithContent:
|
|
@@ -7150,6 +7507,7 @@ class GlobalInitScriptsAPI:
|
|
|
7150
7507
|
"""
|
|
7151
7508
|
|
|
7152
7509
|
headers = {'Accept': 'application/json', }
|
|
7510
|
+
|
|
7153
7511
|
res = self._api.do('GET', f'/api/2.0/global-init-scripts/{script_id}', headers=headers)
|
|
7154
7512
|
return GlobalInitScriptDetailsWithContent.from_dict(res)
|
|
7155
7513
|
|
|
@@ -7164,6 +7522,7 @@ class GlobalInitScriptsAPI:
|
|
|
7164
7522
|
"""
|
|
7165
7523
|
|
|
7166
7524
|
headers = {'Accept': 'application/json', }
|
|
7525
|
+
|
|
7167
7526
|
json = self._api.do('GET', '/api/2.0/global-init-scripts', headers=headers)
|
|
7168
7527
|
parsed = ListGlobalInitScriptsResponse.from_dict(json).scripts
|
|
7169
7528
|
return parsed if parsed is not None else []
|
|
@@ -7207,6 +7566,7 @@ class GlobalInitScriptsAPI:
|
|
|
7207
7566
|
if position is not None: body['position'] = position
|
|
7208
7567
|
if script is not None: body['script'] = script
|
|
7209
7568
|
headers = {'Content-Type': 'application/json', }
|
|
7569
|
+
|
|
7210
7570
|
self._api.do('PATCH', f'/api/2.0/global-init-scripts/{script_id}', body=body, headers=headers)
|
|
7211
7571
|
|
|
7212
7572
|
|
|
@@ -7315,6 +7675,7 @@ class InstancePoolsAPI:
|
|
|
7315
7675
|
if preloaded_spark_versions is not None:
|
|
7316
7676
|
body['preloaded_spark_versions'] = [v for v in preloaded_spark_versions]
|
|
7317
7677
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7678
|
+
|
|
7318
7679
|
res = self._api.do('POST', '/api/2.0/instance-pools/create', body=body, headers=headers)
|
|
7319
7680
|
return CreateInstancePoolResponse.from_dict(res)
|
|
7320
7681
|
|
|
@@ -7331,6 +7692,7 @@ class InstancePoolsAPI:
|
|
|
7331
7692
|
body = {}
|
|
7332
7693
|
if instance_pool_id is not None: body['instance_pool_id'] = instance_pool_id
|
|
7333
7694
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7695
|
+
|
|
7334
7696
|
self._api.do('POST', '/api/2.0/instance-pools/delete', body=body, headers=headers)
|
|
7335
7697
|
|
|
7336
7698
|
def edit(self,
|
|
@@ -7386,6 +7748,7 @@ class InstancePoolsAPI:
|
|
|
7386
7748
|
if min_idle_instances is not None: body['min_idle_instances'] = min_idle_instances
|
|
7387
7749
|
if node_type_id is not None: body['node_type_id'] = node_type_id
|
|
7388
7750
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7751
|
+
|
|
7389
7752
|
self._api.do('POST', '/api/2.0/instance-pools/edit', body=body, headers=headers)
|
|
7390
7753
|
|
|
7391
7754
|
def get(self, instance_pool_id: str) -> GetInstancePool:
|
|
@@ -7402,6 +7765,7 @@ class InstancePoolsAPI:
|
|
|
7402
7765
|
query = {}
|
|
7403
7766
|
if instance_pool_id is not None: query['instance_pool_id'] = instance_pool_id
|
|
7404
7767
|
headers = {'Accept': 'application/json', }
|
|
7768
|
+
|
|
7405
7769
|
res = self._api.do('GET', '/api/2.0/instance-pools/get', query=query, headers=headers)
|
|
7406
7770
|
return GetInstancePool.from_dict(res)
|
|
7407
7771
|
|
|
@@ -7417,6 +7781,7 @@ class InstancePoolsAPI:
|
|
|
7417
7781
|
"""
|
|
7418
7782
|
|
|
7419
7783
|
headers = {'Accept': 'application/json', }
|
|
7784
|
+
|
|
7420
7785
|
res = self._api.do('GET',
|
|
7421
7786
|
f'/api/2.0/permissions/instance-pools/{instance_pool_id}/permissionLevels',
|
|
7422
7787
|
headers=headers)
|
|
@@ -7435,6 +7800,7 @@ class InstancePoolsAPI:
|
|
|
7435
7800
|
"""
|
|
7436
7801
|
|
|
7437
7802
|
headers = {'Accept': 'application/json', }
|
|
7803
|
+
|
|
7438
7804
|
res = self._api.do('GET', f'/api/2.0/permissions/instance-pools/{instance_pool_id}', headers=headers)
|
|
7439
7805
|
return InstancePoolPermissions.from_dict(res)
|
|
7440
7806
|
|
|
@@ -7447,6 +7813,7 @@ class InstancePoolsAPI:
|
|
|
7447
7813
|
"""
|
|
7448
7814
|
|
|
7449
7815
|
headers = {'Accept': 'application/json', }
|
|
7816
|
+
|
|
7450
7817
|
json = self._api.do('GET', '/api/2.0/instance-pools/list', headers=headers)
|
|
7451
7818
|
parsed = ListInstancePools.from_dict(json).instance_pools
|
|
7452
7819
|
return parsed if parsed is not None else []
|
|
@@ -7471,6 +7838,7 @@ class InstancePoolsAPI:
|
|
|
7471
7838
|
if access_control_list is not None:
|
|
7472
7839
|
body['access_control_list'] = [v.as_dict() for v in access_control_list]
|
|
7473
7840
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7841
|
+
|
|
7474
7842
|
res = self._api.do('PUT',
|
|
7475
7843
|
f'/api/2.0/permissions/instance-pools/{instance_pool_id}',
|
|
7476
7844
|
body=body,
|
|
@@ -7498,6 +7866,7 @@ class InstancePoolsAPI:
|
|
|
7498
7866
|
if access_control_list is not None:
|
|
7499
7867
|
body['access_control_list'] = [v.as_dict() for v in access_control_list]
|
|
7500
7868
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7869
|
+
|
|
7501
7870
|
res = self._api.do('PATCH',
|
|
7502
7871
|
f'/api/2.0/permissions/instance-pools/{instance_pool_id}',
|
|
7503
7872
|
body=body,
|
|
@@ -7556,6 +7925,7 @@ class InstanceProfilesAPI:
|
|
|
7556
7925
|
if is_meta_instance_profile is not None: body['is_meta_instance_profile'] = is_meta_instance_profile
|
|
7557
7926
|
if skip_validation is not None: body['skip_validation'] = skip_validation
|
|
7558
7927
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7928
|
+
|
|
7559
7929
|
self._api.do('POST', '/api/2.0/instance-profiles/add', body=body, headers=headers)
|
|
7560
7930
|
|
|
7561
7931
|
def edit(self,
|
|
@@ -7601,6 +7971,7 @@ class InstanceProfilesAPI:
|
|
|
7601
7971
|
if instance_profile_arn is not None: body['instance_profile_arn'] = instance_profile_arn
|
|
7602
7972
|
if is_meta_instance_profile is not None: body['is_meta_instance_profile'] = is_meta_instance_profile
|
|
7603
7973
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7974
|
+
|
|
7604
7975
|
self._api.do('POST', '/api/2.0/instance-profiles/edit', body=body, headers=headers)
|
|
7605
7976
|
|
|
7606
7977
|
def list(self) -> Iterator[InstanceProfile]:
|
|
@@ -7614,6 +7985,7 @@ class InstanceProfilesAPI:
|
|
|
7614
7985
|
"""
|
|
7615
7986
|
|
|
7616
7987
|
headers = {'Accept': 'application/json', }
|
|
7988
|
+
|
|
7617
7989
|
json = self._api.do('GET', '/api/2.0/instance-profiles/list', headers=headers)
|
|
7618
7990
|
parsed = ListInstanceProfilesResponse.from_dict(json).instance_profiles
|
|
7619
7991
|
return parsed if parsed is not None else []
|
|
@@ -7634,6 +8006,7 @@ class InstanceProfilesAPI:
|
|
|
7634
8006
|
body = {}
|
|
7635
8007
|
if instance_profile_arn is not None: body['instance_profile_arn'] = instance_profile_arn
|
|
7636
8008
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
8009
|
+
|
|
7637
8010
|
self._api.do('POST', '/api/2.0/instance-profiles/remove', body=body, headers=headers)
|
|
7638
8011
|
|
|
7639
8012
|
|
|
@@ -7669,6 +8042,7 @@ class LibrariesAPI:
|
|
|
7669
8042
|
"""
|
|
7670
8043
|
|
|
7671
8044
|
headers = {'Accept': 'application/json', }
|
|
8045
|
+
|
|
7672
8046
|
res = self._api.do('GET', '/api/2.0/libraries/all-cluster-statuses', headers=headers)
|
|
7673
8047
|
return ListAllClusterLibraryStatusesResponse.from_dict(res)
|
|
7674
8048
|
|
|
@@ -7697,6 +8071,7 @@ class LibrariesAPI:
|
|
|
7697
8071
|
query = {}
|
|
7698
8072
|
if cluster_id is not None: query['cluster_id'] = cluster_id
|
|
7699
8073
|
headers = {'Accept': 'application/json', }
|
|
8074
|
+
|
|
7700
8075
|
json = self._api.do('GET', '/api/2.0/libraries/cluster-status', query=query, headers=headers)
|
|
7701
8076
|
parsed = ClusterLibraryStatuses.from_dict(json).library_statuses
|
|
7702
8077
|
return parsed if parsed is not None else []
|
|
@@ -7721,6 +8096,7 @@ class LibrariesAPI:
|
|
|
7721
8096
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
7722
8097
|
if libraries is not None: body['libraries'] = [v.as_dict() for v in libraries]
|
|
7723
8098
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
8099
|
+
|
|
7724
8100
|
self._api.do('POST', '/api/2.0/libraries/install', body=body, headers=headers)
|
|
7725
8101
|
|
|
7726
8102
|
def uninstall(self, cluster_id: str, libraries: List[Library]):
|
|
@@ -7741,6 +8117,7 @@ class LibrariesAPI:
|
|
|
7741
8117
|
if cluster_id is not None: body['cluster_id'] = cluster_id
|
|
7742
8118
|
if libraries is not None: body['libraries'] = [v.as_dict() for v in libraries]
|
|
7743
8119
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
8120
|
+
|
|
7744
8121
|
self._api.do('POST', '/api/2.0/libraries/uninstall', body=body, headers=headers)
|
|
7745
8122
|
|
|
7746
8123
|
|
|
@@ -7769,6 +8146,7 @@ class PolicyFamiliesAPI:
|
|
|
7769
8146
|
"""
|
|
7770
8147
|
|
|
7771
8148
|
headers = {'Accept': 'application/json', }
|
|
8149
|
+
|
|
7772
8150
|
res = self._api.do('GET', f'/api/2.0/policy-families/{policy_family_id}', headers=headers)
|
|
7773
8151
|
return PolicyFamily.from_dict(res)
|
|
7774
8152
|
|