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