@Generated public class VolumesAPI extends Object
Constructor and Description |
---|
VolumesAPI(ApiClient apiClient)
Regular-use constructor
|
VolumesAPI(VolumesService mock)
Constructor for mocks
|
Modifier and Type | Method and Description |
---|---|
VolumeInfo |
create(CreateVolumeRequestContent request)
Create a Volume.
|
VolumeInfo |
create(String catalogName,
String name,
String schemaName,
VolumeType volumeType) |
void |
delete(DeleteVolumeRequest request)
Delete a Volume.
|
void |
delete(String fullNameArg) |
VolumesService |
impl() |
Iterable<VolumeInfo> |
list(ListVolumesRequest request)
List Volumes.
|
Iterable<VolumeInfo> |
list(String catalogName,
String schemaName) |
VolumeInfo |
read(ReadVolumeRequest request)
Get a Volume.
|
VolumeInfo |
read(String fullNameArg) |
VolumeInfo |
update(String fullNameArg) |
VolumeInfo |
update(UpdateVolumeRequestContent request)
Update a Volume.
|
public VolumesAPI(ApiClient apiClient)
public VolumesAPI(VolumesService mock)
public VolumeInfo create(String catalogName, String name, String schemaName, VolumeType volumeType)
public VolumeInfo create(CreateVolumeRequestContent request)
Creates a new volume.
The user could create either an external volume or a managed volume. An external volume will be created in the specified external location, while a managed volume will be located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.
For the volume creation to succeed, the user must satisfy following conditions: - The caller must be a metastore admin, or be the owner of the parent catalog and schema, or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema. - The caller must have **CREATE VOLUME** privilege on the parent schema.
For an external volume, following conditions also need to satisfy - The caller must have **CREATE EXTERNAL VOLUME** privilege on the external location. - There are no other tables, nor volumes existing in the specified storage location. - The specified storage location is not under the location of other tables, nor volumes, or catalogs or schemas.
public void delete(String fullNameArg)
public void delete(DeleteVolumeRequest request)
Deletes a volume from the specified parent catalog and schema.
The caller must be a metastore admin or an owner of the volume. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.
public Iterable<VolumeInfo> list(String catalogName, String schemaName)
public Iterable<VolumeInfo> list(ListVolumesRequest request)
Gets an array of all volumes for the current metastore under the parent catalog and schema.
The returned volumes are filtered based on the privileges of the calling user. For example, the metastore admin is able to list all the volumes. A regular user needs to be the owner or have the **READ VOLUME** privilege on the volume to recieve the volumes in the response. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.
There is no guarantee of a specific ordering of the elements in the array.
public VolumeInfo read(String fullNameArg)
public VolumeInfo read(ReadVolumeRequest request)
Gets a volume from the metastore for a specific catalog and schema.
The caller must be a metastore admin or an owner of (or have the **READ VOLUME** privilege on) the volume. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.
public VolumeInfo update(String fullNameArg)
public VolumeInfo update(UpdateVolumeRequestContent request)
Updates the specified volume under the specified parent catalog and schema.
The caller must be a metastore admin or an owner of the volume. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.
Currently only the name, the owner or the comment of the volume could be updated.
public VolumesService impl()
Copyright © 2023. All rights reserved.