Skip to main content

unitycatalog_client/codegen/shares/
resource.rs

1// @generated — do not edit by hand.
2#![allow(unused_imports)]
3use super::builders::*;
4use super::client::ShareServiceClient;
5use unitycatalog_common::models::shares::v1::*;
6/// A client scoped to a single `share`.
7#[derive(Clone)]
8pub struct ShareClient {
9    pub(crate) share_name: String,
10    pub(crate) client: ShareServiceClient,
11}
12impl ShareClient {
13    /// Create a client bound to the resource's name components.
14    pub fn new(share_name: impl Into<String>, client: ShareServiceClient) -> Self {
15        Self {
16            share_name: share_name.into(),
17            client,
18        }
19    }
20    /// This resource's own name (the leaf component).
21    pub fn name(&self) -> &str {
22        &self.share_name
23    }
24    /// The fully-qualified name of this resource.
25    pub fn full_name(&self) -> String {
26        self.share_name.clone()
27    }
28    /// Get a share by name.
29    pub fn get(&self) -> GetShareBuilder {
30        GetShareBuilder::new(self.client.clone(), &self.share_name)
31    }
32    /// Update a share.
33    pub fn update(&self) -> UpdateShareBuilder {
34        UpdateShareBuilder::new(self.client.clone(), &self.share_name)
35    }
36    /// Deletes a share.
37    pub fn delete(&self) -> DeleteShareBuilder {
38        DeleteShareBuilder::new(self.client.clone(), &self.share_name)
39    }
40    /// Gets the permissions for a data share from the metastore.
41    pub fn get_permissions(&self) -> GetPermissionsBuilder {
42        GetPermissionsBuilder::new(self.client.clone(), &self.share_name)
43    }
44    /// Updates the permissions for a data share in the metastore.
45    pub fn update_permissions(&self) -> UpdatePermissionsBuilder {
46        UpdatePermissionsBuilder::new(self.client.clone(), &self.share_name)
47    }
48}