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