unitycatalog_client/codegen/registered_models/
builders.rs1#![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>;
8#[cfg(not(target_arch = "wasm32"))]
9type BoxStr<'a, T> = ::futures::stream::BoxStream<'a, T>;
10#[cfg(target_arch = "wasm32")]
11type BoxStr<'a, T> = ::futures::stream::LocalBoxStream<'a, T>;
12use super::super::stream_paginated;
13use super::client::*;
14use crate::Result;
15use futures::{StreamExt, TryStreamExt};
16use std::future::IntoFuture;
17use unitycatalog_common::models::registered_models::v1::*;
18pub struct ListRegisteredModelsBuilder {
20 client: RegisteredModelServiceClient,
21 request: ListRegisteredModelsRequest,
22}
23impl ListRegisteredModelsBuilder {
24 pub(crate) fn new(client: RegisteredModelServiceClient) -> Self {
27 let request = ListRegisteredModelsRequest {
28 ..Default::default()
29 };
30 Self { client, request }
31 }
32 pub fn with_catalog_name(mut self, catalog_name: impl Into<Option<String>>) -> Self {
34 self.request.catalog_name = catalog_name.into();
35 self
36 }
37 pub fn with_schema_name(mut self, schema_name: impl Into<Option<String>>) -> Self {
39 self.request.schema_name = schema_name.into();
40 self
41 }
42 pub fn with_max_results(mut self, max_results: impl Into<Option<i32>>) -> Self {
44 self.request.max_results = max_results.into();
45 self
46 }
47 pub fn with_page_token(mut self, page_token: impl Into<Option<String>>) -> Self {
49 self.request.page_token = page_token.into();
50 self
51 }
52 pub fn with_include_browse(mut self, include_browse: impl Into<Option<bool>>) -> Self {
55 self.request.include_browse = include_browse.into();
56 self
57 }
58 pub fn into_stream(self) -> BoxStr<'static, Result<RegisteredModel>> {
60 let remaining = self.request.max_results;
61 let stream = stream_paginated(
62 (self, remaining),
63 move |(mut builder, mut remaining), page_token| async move {
64 builder.request.page_token = page_token;
65 let res = builder
66 .client
67 .list_registered_models(&builder.request)
68 .await?;
69 if let Some(ref mut rem) = remaining {
70 *rem -= res.registered_models.len() as i32;
71 }
72 let next_page_token = if remaining.is_some_and(|r| r <= 0) {
73 None
74 } else {
75 res.next_page_token.clone()
76 };
77 Ok((res, (builder, remaining), next_page_token))
78 },
79 )
80 .map_ok(|resp| futures::stream::iter(resp.registered_models.into_iter().map(Ok)))
81 .try_flatten();
82 #[cfg(not(target_arch = "wasm32"))]
83 let stream = stream.boxed();
84 #[cfg(target_arch = "wasm32")]
85 let stream = stream.boxed_local();
86 stream
87 }
88}
89impl IntoFuture for ListRegisteredModelsBuilder {
90 type Output = Result<ListRegisteredModelsResponse>;
91 type IntoFuture = BoxFut<'static, Self::Output>;
92 fn into_future(self) -> Self::IntoFuture {
93 let client = self.client;
94 let request = self.request;
95 Box::pin(async move { client.list_registered_models(&request).await })
96 }
97}
98pub struct CreateRegisteredModelBuilder {
100 client: RegisteredModelServiceClient,
101 request: CreateRegisteredModelRequest,
102}
103impl CreateRegisteredModelBuilder {
104 pub(crate) fn new(
107 client: RegisteredModelServiceClient,
108 name: impl Into<String>,
109 catalog_name: impl Into<String>,
110 schema_name: impl Into<String>,
111 ) -> Self {
112 let request = CreateRegisteredModelRequest {
113 name: name.into(),
114 catalog_name: catalog_name.into(),
115 schema_name: schema_name.into(),
116 ..Default::default()
117 };
118 Self { client, request }
119 }
120 pub fn with_comment(mut self, comment: impl Into<Option<String>>) -> Self {
122 self.request.comment = comment.into();
123 self
124 }
125}
126impl IntoFuture for CreateRegisteredModelBuilder {
127 type Output = Result<RegisteredModel>;
128 type IntoFuture = BoxFut<'static, Self::Output>;
129 fn into_future(self) -> Self::IntoFuture {
130 let client = self.client;
131 let request = self.request;
132 Box::pin(async move { client.create_registered_model(&request).await })
133 }
134}
135pub struct GetRegisteredModelBuilder {
137 client: RegisteredModelServiceClient,
138 request: GetRegisteredModelRequest,
139}
140impl GetRegisteredModelBuilder {
141 pub(crate) fn new(client: RegisteredModelServiceClient, full_name: impl Into<String>) -> Self {
144 let request = GetRegisteredModelRequest {
145 full_name: full_name.into(),
146 ..Default::default()
147 };
148 Self { client, request }
149 }
150 pub fn with_include_browse(mut self, include_browse: impl Into<Option<bool>>) -> Self {
153 self.request.include_browse = include_browse.into();
154 self
155 }
156}
157impl IntoFuture for GetRegisteredModelBuilder {
158 type Output = Result<RegisteredModel>;
159 type IntoFuture = BoxFut<'static, Self::Output>;
160 fn into_future(self) -> Self::IntoFuture {
161 let client = self.client;
162 let request = self.request;
163 Box::pin(async move { client.get_registered_model(&request).await })
164 }
165}
166pub struct UpdateRegisteredModelBuilder {
168 client: RegisteredModelServiceClient,
169 request: UpdateRegisteredModelRequest,
170}
171impl UpdateRegisteredModelBuilder {
172 pub(crate) fn new(client: RegisteredModelServiceClient, full_name: impl Into<String>) -> Self {
175 let request = UpdateRegisteredModelRequest {
176 full_name: full_name.into(),
177 ..Default::default()
178 };
179 Self { client, request }
180 }
181 pub fn with_new_name(mut self, new_name: impl Into<Option<String>>) -> Self {
183 self.request.new_name = new_name.into();
184 self
185 }
186 pub fn with_comment(mut self, comment: impl Into<Option<String>>) -> Self {
188 self.request.comment = comment.into();
189 self
190 }
191 pub fn with_owner(mut self, owner: impl Into<Option<String>>) -> Self {
193 self.request.owner = owner.into();
194 self
195 }
196}
197impl IntoFuture for UpdateRegisteredModelBuilder {
198 type Output = Result<RegisteredModel>;
199 type IntoFuture = BoxFut<'static, Self::Output>;
200 fn into_future(self) -> Self::IntoFuture {
201 let client = self.client;
202 let request = self.request;
203 Box::pin(async move { client.update_registered_model(&request).await })
204 }
205}
206pub struct DeleteRegisteredModelBuilder {
208 client: RegisteredModelServiceClient,
209 request: DeleteRegisteredModelRequest,
210}
211impl DeleteRegisteredModelBuilder {
212 pub(crate) fn new(client: RegisteredModelServiceClient, full_name: impl Into<String>) -> Self {
215 let request = DeleteRegisteredModelRequest {
216 full_name: full_name.into(),
217 ..Default::default()
218 };
219 Self { client, request }
220 }
221 pub fn with_force(mut self, force: impl Into<Option<bool>>) -> Self {
223 self.request.force = force.into();
224 self
225 }
226}
227impl IntoFuture for DeleteRegisteredModelBuilder {
228 type Output = Result<()>;
229 type IntoFuture = BoxFut<'static, Self::Output>;
230 fn into_future(self) -> Self::IntoFuture {
231 let client = self.client;
232 let request = self.request;
233 Box::pin(async move { client.delete_registered_model(&request).await })
234 }
235}