google_cloud_bigquery_datatransfer_v1/
client.rs1#![allow(rustdoc::redundant_explicit_links)]
17#![allow(rustdoc::broken_intra_doc_links)]
18
19use crate::Result;
20use std::sync::Arc;
21
22#[derive(Clone, Debug)]
40pub struct DataTransferService {
41 inner: Arc<dyn crate::stubs::dynamic::DataTransferService>,
42}
43
44impl DataTransferService {
45 pub async fn new() -> Result<Self> {
47 Self::new_with_config(gax::options::ClientConfig::default()).await
48 }
49
50 pub async fn new_with_config(conf: gax::options::ClientConfig) -> Result<Self> {
52 let inner = Self::build_inner(conf).await?;
53 Ok(Self { inner })
54 }
55
56 pub fn from_stub<T>(stub: T) -> Self
61 where
62 T: crate::stubs::DataTransferService + 'static,
63 {
64 Self {
65 inner: Arc::new(stub),
66 }
67 }
68
69 async fn build_inner(
70 conf: gax::options::ClientConfig,
71 ) -> Result<Arc<dyn crate::stubs::dynamic::DataTransferService>> {
72 if conf.tracing_enabled() {
73 return Ok(Arc::new(Self::build_with_tracing(conf).await?));
74 }
75 Ok(Arc::new(Self::build_transport(conf).await?))
76 }
77
78 async fn build_transport(
79 conf: gax::options::ClientConfig,
80 ) -> Result<impl crate::stubs::DataTransferService> {
81 crate::transport::DataTransferService::new(conf).await
82 }
83
84 async fn build_with_tracing(
85 conf: gax::options::ClientConfig,
86 ) -> Result<impl crate::stubs::DataTransferService> {
87 Self::build_transport(conf)
88 .await
89 .map(crate::tracing::DataTransferService::new)
90 }
91
92 pub fn get_data_source(
94 &self,
95 name: impl Into<std::string::String>,
96 ) -> crate::builders::data_transfer_service::GetDataSource {
97 crate::builders::data_transfer_service::GetDataSource::new(self.inner.clone())
98 .set_name(name.into())
99 }
100
101 pub fn list_data_sources(
103 &self,
104 parent: impl Into<std::string::String>,
105 ) -> crate::builders::data_transfer_service::ListDataSources {
106 crate::builders::data_transfer_service::ListDataSources::new(self.inner.clone())
107 .set_parent(parent.into())
108 }
109
110 pub fn create_transfer_config(
112 &self,
113 parent: impl Into<std::string::String>,
114 ) -> crate::builders::data_transfer_service::CreateTransferConfig {
115 crate::builders::data_transfer_service::CreateTransferConfig::new(self.inner.clone())
116 .set_parent(parent.into())
117 }
118
119 pub fn update_transfer_config(
122 &self,
123 transfer_config: impl Into<crate::model::TransferConfig>,
124 ) -> crate::builders::data_transfer_service::UpdateTransferConfig {
125 crate::builders::data_transfer_service::UpdateTransferConfig::new(self.inner.clone())
126 .set_transfer_config(transfer_config.into())
127 }
128
129 pub fn delete_transfer_config(
132 &self,
133 name: impl Into<std::string::String>,
134 ) -> crate::builders::data_transfer_service::DeleteTransferConfig {
135 crate::builders::data_transfer_service::DeleteTransferConfig::new(self.inner.clone())
136 .set_name(name.into())
137 }
138
139 pub fn get_transfer_config(
141 &self,
142 name: impl Into<std::string::String>,
143 ) -> crate::builders::data_transfer_service::GetTransferConfig {
144 crate::builders::data_transfer_service::GetTransferConfig::new(self.inner.clone())
145 .set_name(name.into())
146 }
147
148 pub fn list_transfer_configs(
151 &self,
152 parent: impl Into<std::string::String>,
153 ) -> crate::builders::data_transfer_service::ListTransferConfigs {
154 crate::builders::data_transfer_service::ListTransferConfigs::new(self.inner.clone())
155 .set_parent(parent.into())
156 }
157
158 pub fn schedule_transfer_runs(
164 &self,
165 parent: impl Into<std::string::String>,
166 ) -> crate::builders::data_transfer_service::ScheduleTransferRuns {
167 crate::builders::data_transfer_service::ScheduleTransferRuns::new(self.inner.clone())
168 .set_parent(parent.into())
169 }
170
171 pub fn start_manual_transfer_runs(
176 &self,
177 parent: impl Into<std::string::String>,
178 ) -> crate::builders::data_transfer_service::StartManualTransferRuns {
179 crate::builders::data_transfer_service::StartManualTransferRuns::new(self.inner.clone())
180 .set_parent(parent.into())
181 }
182
183 pub fn get_transfer_run(
185 &self,
186 name: impl Into<std::string::String>,
187 ) -> crate::builders::data_transfer_service::GetTransferRun {
188 crate::builders::data_transfer_service::GetTransferRun::new(self.inner.clone())
189 .set_name(name.into())
190 }
191
192 pub fn delete_transfer_run(
194 &self,
195 name: impl Into<std::string::String>,
196 ) -> crate::builders::data_transfer_service::DeleteTransferRun {
197 crate::builders::data_transfer_service::DeleteTransferRun::new(self.inner.clone())
198 .set_name(name.into())
199 }
200
201 pub fn list_transfer_runs(
203 &self,
204 parent: impl Into<std::string::String>,
205 ) -> crate::builders::data_transfer_service::ListTransferRuns {
206 crate::builders::data_transfer_service::ListTransferRuns::new(self.inner.clone())
207 .set_parent(parent.into())
208 }
209
210 pub fn list_transfer_logs(
212 &self,
213 parent: impl Into<std::string::String>,
214 ) -> crate::builders::data_transfer_service::ListTransferLogs {
215 crate::builders::data_transfer_service::ListTransferLogs::new(self.inner.clone())
216 .set_parent(parent.into())
217 }
218
219 pub fn check_valid_creds(
222 &self,
223 name: impl Into<std::string::String>,
224 ) -> crate::builders::data_transfer_service::CheckValidCreds {
225 crate::builders::data_transfer_service::CheckValidCreds::new(self.inner.clone())
226 .set_name(name.into())
227 }
228
229 pub fn enroll_data_sources(
238 &self,
239 name: impl Into<std::string::String>,
240 ) -> crate::builders::data_transfer_service::EnrollDataSources {
241 crate::builders::data_transfer_service::EnrollDataSources::new(self.inner.clone())
242 .set_name(name.into())
243 }
244
245 pub fn unenroll_data_sources(
251 &self,
252 name: impl Into<std::string::String>,
253 ) -> crate::builders::data_transfer_service::UnenrollDataSources {
254 crate::builders::data_transfer_service::UnenrollDataSources::new(self.inner.clone())
255 .set_name(name.into())
256 }
257
258 pub fn list_locations(
260 &self,
261 name: impl Into<std::string::String>,
262 ) -> crate::builders::data_transfer_service::ListLocations {
263 crate::builders::data_transfer_service::ListLocations::new(self.inner.clone())
264 .set_name(name.into())
265 }
266
267 pub fn get_location(
269 &self,
270 name: impl Into<std::string::String>,
271 ) -> crate::builders::data_transfer_service::GetLocation {
272 crate::builders::data_transfer_service::GetLocation::new(self.inner.clone())
273 .set_name(name.into())
274 }
275}