Skip to main content

unitycatalog_client/codegen/temporary_credentials/
builders.rs

1// @generated — do not edit by hand.
2#![allow(unused_mut)]
3#![allow(unused_imports)]
4#[cfg(not(target_arch = "wasm32"))]
5type BoxFut<'a, T> = ::futures::future::BoxFuture<'a, T>;
6#[cfg(target_arch = "wasm32")]
7type BoxFut<'a, T> = ::futures::future::LocalBoxFuture<'a, T>;
8use super::client::*;
9use crate::Result;
10use std::future::IntoFuture;
11use unitycatalog_common::models::temporary_credentials::v1::*;
12/// Builder for temporary table credentials
13pub struct GenerateTemporaryTableCredentialsBuilder {
14    client: TemporaryCredentialClient,
15    request: GenerateTemporaryTableCredentialsRequest,
16}
17impl GenerateTemporaryTableCredentialsBuilder {
18    /// Create a new builder instance.
19    /// Obtain via the corresponding method on `TemporaryCredentialClient`.
20    pub(crate) fn new(
21        client: TemporaryCredentialClient,
22        table_id: impl Into<String>,
23        operation: generate_temporary_table_credentials_request::Operation,
24    ) -> Self {
25        let request = GenerateTemporaryTableCredentialsRequest {
26            table_id: table_id.into(),
27            operation: buffa::EnumValue::Known(operation),
28            ..Default::default()
29        };
30        Self { client, request }
31    }
32}
33impl IntoFuture for GenerateTemporaryTableCredentialsBuilder {
34    type Output = Result<TemporaryCredential>;
35    type IntoFuture = BoxFut<'static, Self::Output>;
36    fn into_future(self) -> Self::IntoFuture {
37        let client = self.client;
38        let request = self.request;
39        Box::pin(async move { client.generate_temporary_table_credentials(&request).await })
40    }
41}
42/// Builder for temporary path credentials
43pub struct GenerateTemporaryPathCredentialsBuilder {
44    client: TemporaryCredentialClient,
45    request: GenerateTemporaryPathCredentialsRequest,
46}
47impl GenerateTemporaryPathCredentialsBuilder {
48    /// Create a new builder instance.
49    /// Obtain via the corresponding method on `TemporaryCredentialClient`.
50    pub(crate) fn new(
51        client: TemporaryCredentialClient,
52        url: impl Into<String>,
53        operation: generate_temporary_path_credentials_request::Operation,
54    ) -> Self {
55        let request = GenerateTemporaryPathCredentialsRequest {
56            url: url.into(),
57            operation: buffa::EnumValue::Known(operation),
58            ..Default::default()
59        };
60        Self { client, request }
61    }
62    /** When set to true, the service will not validate that the generated
63    credentials can perform write operations, therefore no new paths will be
64    created and the response will not contain valid credentials. Defaults to false.*/
65    pub fn with_dry_run(mut self, dry_run: impl Into<Option<bool>>) -> Self {
66        self.request.dry_run = dry_run.into();
67        self
68    }
69}
70impl IntoFuture for GenerateTemporaryPathCredentialsBuilder {
71    type Output = Result<TemporaryCredential>;
72    type IntoFuture = BoxFut<'static, Self::Output>;
73    fn into_future(self) -> Self::IntoFuture {
74        let client = self.client;
75        let request = self.request;
76        Box::pin(async move { client.generate_temporary_path_credentials(&request).await })
77    }
78}
79/// Builder for temporary volume credentials
80pub struct GenerateTemporaryVolumeCredentialsBuilder {
81    client: TemporaryCredentialClient,
82    request: GenerateTemporaryVolumeCredentialsRequest,
83}
84impl GenerateTemporaryVolumeCredentialsBuilder {
85    /// Create a new builder instance.
86    /// Obtain via the corresponding method on `TemporaryCredentialClient`.
87    pub(crate) fn new(
88        client: TemporaryCredentialClient,
89        volume_id: impl Into<String>,
90        operation: generate_temporary_volume_credentials_request::Operation,
91    ) -> Self {
92        let request = GenerateTemporaryVolumeCredentialsRequest {
93            volume_id: volume_id.into(),
94            operation: buffa::EnumValue::Known(operation),
95            ..Default::default()
96        };
97        Self { client, request }
98    }
99}
100impl IntoFuture for GenerateTemporaryVolumeCredentialsBuilder {
101    type Output = Result<TemporaryCredential>;
102    type IntoFuture = BoxFut<'static, Self::Output>;
103    fn into_future(self) -> Self::IntoFuture {
104        let client = self.client;
105        let request = self.request;
106        Box::pin(async move { client.generate_temporary_volume_credentials(&request).await })
107    }
108}
109/// Builder for temporary model version credentials
110pub struct GenerateTemporaryModelVersionCredentialsBuilder {
111    client: TemporaryCredentialClient,
112    request: GenerateTemporaryModelVersionCredentialsRequest,
113}
114impl GenerateTemporaryModelVersionCredentialsBuilder {
115    /// Create a new builder instance.
116    /// Obtain via the corresponding method on `TemporaryCredentialClient`.
117    pub(crate) fn new(
118        client: TemporaryCredentialClient,
119        catalog_name: impl Into<String>,
120        schema_name: impl Into<String>,
121        model_name: impl Into<String>,
122        version: i64,
123        operation: generate_temporary_model_version_credentials_request::Operation,
124    ) -> Self {
125        let request = GenerateTemporaryModelVersionCredentialsRequest {
126            catalog_name: catalog_name.into(),
127            schema_name: schema_name.into(),
128            model_name: model_name.into(),
129            version,
130            operation: buffa::EnumValue::Known(operation),
131            ..Default::default()
132        };
133        Self { client, request }
134    }
135}
136impl IntoFuture for GenerateTemporaryModelVersionCredentialsBuilder {
137    type Output = Result<TemporaryCredential>;
138    type IntoFuture = BoxFut<'static, Self::Output>;
139    fn into_future(self) -> Self::IntoFuture {
140        let client = self.client;
141        let request = self.request;
142        Box::pin(async move {
143            client
144                .generate_temporary_model_version_credentials(&request)
145                .await
146        })
147    }
148}