1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct Crawler {
7 pub name: ::std::option::Option<::std::string::String>,
9 pub role: ::std::option::Option<::std::string::String>,
11 pub targets: ::std::option::Option<crate::types::CrawlerTargets>,
13 pub database_name: ::std::option::Option<::std::string::String>,
15 pub description: ::std::option::Option<::std::string::String>,
17 pub classifiers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
19 pub recrawl_policy: ::std::option::Option<crate::types::RecrawlPolicy>,
21 pub schema_change_policy: ::std::option::Option<crate::types::SchemaChangePolicy>,
23 pub lineage_configuration: ::std::option::Option<crate::types::LineageConfiguration>,
25 pub state: ::std::option::Option<crate::types::CrawlerState>,
27 pub table_prefix: ::std::option::Option<::std::string::String>,
29 pub schedule: ::std::option::Option<crate::types::Schedule>,
31 pub crawl_elapsed_time: i64,
33 pub creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
35 pub last_updated: ::std::option::Option<::aws_smithy_types::DateTime>,
37 pub last_crawl: ::std::option::Option<crate::types::LastCrawlInfo>,
39 pub version: i64,
41 pub configuration: ::std::option::Option<::std::string::String>,
43 pub crawler_security_configuration: ::std::option::Option<::std::string::String>,
45 pub lake_formation_configuration: ::std::option::Option<crate::types::LakeFormationConfiguration>,
47}
48impl Crawler {
49 pub fn name(&self) -> ::std::option::Option<&str> {
51 self.name.as_deref()
52 }
53 pub fn role(&self) -> ::std::option::Option<&str> {
55 self.role.as_deref()
56 }
57 pub fn targets(&self) -> ::std::option::Option<&crate::types::CrawlerTargets> {
59 self.targets.as_ref()
60 }
61 pub fn database_name(&self) -> ::std::option::Option<&str> {
63 self.database_name.as_deref()
64 }
65 pub fn description(&self) -> ::std::option::Option<&str> {
67 self.description.as_deref()
68 }
69 pub fn classifiers(&self) -> &[::std::string::String] {
73 self.classifiers.as_deref().unwrap_or_default()
74 }
75 pub fn recrawl_policy(&self) -> ::std::option::Option<&crate::types::RecrawlPolicy> {
77 self.recrawl_policy.as_ref()
78 }
79 pub fn schema_change_policy(&self) -> ::std::option::Option<&crate::types::SchemaChangePolicy> {
81 self.schema_change_policy.as_ref()
82 }
83 pub fn lineage_configuration(&self) -> ::std::option::Option<&crate::types::LineageConfiguration> {
85 self.lineage_configuration.as_ref()
86 }
87 pub fn state(&self) -> ::std::option::Option<&crate::types::CrawlerState> {
89 self.state.as_ref()
90 }
91 pub fn table_prefix(&self) -> ::std::option::Option<&str> {
93 self.table_prefix.as_deref()
94 }
95 pub fn schedule(&self) -> ::std::option::Option<&crate::types::Schedule> {
97 self.schedule.as_ref()
98 }
99 pub fn crawl_elapsed_time(&self) -> i64 {
101 self.crawl_elapsed_time
102 }
103 pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
105 self.creation_time.as_ref()
106 }
107 pub fn last_updated(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
109 self.last_updated.as_ref()
110 }
111 pub fn last_crawl(&self) -> ::std::option::Option<&crate::types::LastCrawlInfo> {
113 self.last_crawl.as_ref()
114 }
115 pub fn version(&self) -> i64 {
117 self.version
118 }
119 pub fn configuration(&self) -> ::std::option::Option<&str> {
121 self.configuration.as_deref()
122 }
123 pub fn crawler_security_configuration(&self) -> ::std::option::Option<&str> {
125 self.crawler_security_configuration.as_deref()
126 }
127 pub fn lake_formation_configuration(&self) -> ::std::option::Option<&crate::types::LakeFormationConfiguration> {
129 self.lake_formation_configuration.as_ref()
130 }
131}
132impl Crawler {
133 pub fn builder() -> crate::types::builders::CrawlerBuilder {
135 crate::types::builders::CrawlerBuilder::default()
136 }
137}
138
139#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
141#[non_exhaustive]
142pub struct CrawlerBuilder {
143 pub(crate) name: ::std::option::Option<::std::string::String>,
144 pub(crate) role: ::std::option::Option<::std::string::String>,
145 pub(crate) targets: ::std::option::Option<crate::types::CrawlerTargets>,
146 pub(crate) database_name: ::std::option::Option<::std::string::String>,
147 pub(crate) description: ::std::option::Option<::std::string::String>,
148 pub(crate) classifiers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
149 pub(crate) recrawl_policy: ::std::option::Option<crate::types::RecrawlPolicy>,
150 pub(crate) schema_change_policy: ::std::option::Option<crate::types::SchemaChangePolicy>,
151 pub(crate) lineage_configuration: ::std::option::Option<crate::types::LineageConfiguration>,
152 pub(crate) state: ::std::option::Option<crate::types::CrawlerState>,
153 pub(crate) table_prefix: ::std::option::Option<::std::string::String>,
154 pub(crate) schedule: ::std::option::Option<crate::types::Schedule>,
155 pub(crate) crawl_elapsed_time: ::std::option::Option<i64>,
156 pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
157 pub(crate) last_updated: ::std::option::Option<::aws_smithy_types::DateTime>,
158 pub(crate) last_crawl: ::std::option::Option<crate::types::LastCrawlInfo>,
159 pub(crate) version: ::std::option::Option<i64>,
160 pub(crate) configuration: ::std::option::Option<::std::string::String>,
161 pub(crate) crawler_security_configuration: ::std::option::Option<::std::string::String>,
162 pub(crate) lake_formation_configuration: ::std::option::Option<crate::types::LakeFormationConfiguration>,
163}
164impl CrawlerBuilder {
165 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
167 self.name = ::std::option::Option::Some(input.into());
168 self
169 }
170 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
172 self.name = input;
173 self
174 }
175 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
177 &self.name
178 }
179 pub fn role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
181 self.role = ::std::option::Option::Some(input.into());
182 self
183 }
184 pub fn set_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
186 self.role = input;
187 self
188 }
189 pub fn get_role(&self) -> &::std::option::Option<::std::string::String> {
191 &self.role
192 }
193 pub fn targets(mut self, input: crate::types::CrawlerTargets) -> Self {
195 self.targets = ::std::option::Option::Some(input);
196 self
197 }
198 pub fn set_targets(mut self, input: ::std::option::Option<crate::types::CrawlerTargets>) -> Self {
200 self.targets = input;
201 self
202 }
203 pub fn get_targets(&self) -> &::std::option::Option<crate::types::CrawlerTargets> {
205 &self.targets
206 }
207 pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
209 self.database_name = ::std::option::Option::Some(input.into());
210 self
211 }
212 pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
214 self.database_name = input;
215 self
216 }
217 pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
219 &self.database_name
220 }
221 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
223 self.description = ::std::option::Option::Some(input.into());
224 self
225 }
226 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228 self.description = input;
229 self
230 }
231 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
233 &self.description
234 }
235 pub fn classifiers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
241 let mut v = self.classifiers.unwrap_or_default();
242 v.push(input.into());
243 self.classifiers = ::std::option::Option::Some(v);
244 self
245 }
246 pub fn set_classifiers(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
248 self.classifiers = input;
249 self
250 }
251 pub fn get_classifiers(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
253 &self.classifiers
254 }
255 pub fn recrawl_policy(mut self, input: crate::types::RecrawlPolicy) -> Self {
257 self.recrawl_policy = ::std::option::Option::Some(input);
258 self
259 }
260 pub fn set_recrawl_policy(mut self, input: ::std::option::Option<crate::types::RecrawlPolicy>) -> Self {
262 self.recrawl_policy = input;
263 self
264 }
265 pub fn get_recrawl_policy(&self) -> &::std::option::Option<crate::types::RecrawlPolicy> {
267 &self.recrawl_policy
268 }
269 pub fn schema_change_policy(mut self, input: crate::types::SchemaChangePolicy) -> Self {
271 self.schema_change_policy = ::std::option::Option::Some(input);
272 self
273 }
274 pub fn set_schema_change_policy(mut self, input: ::std::option::Option<crate::types::SchemaChangePolicy>) -> Self {
276 self.schema_change_policy = input;
277 self
278 }
279 pub fn get_schema_change_policy(&self) -> &::std::option::Option<crate::types::SchemaChangePolicy> {
281 &self.schema_change_policy
282 }
283 pub fn lineage_configuration(mut self, input: crate::types::LineageConfiguration) -> Self {
285 self.lineage_configuration = ::std::option::Option::Some(input);
286 self
287 }
288 pub fn set_lineage_configuration(mut self, input: ::std::option::Option<crate::types::LineageConfiguration>) -> Self {
290 self.lineage_configuration = input;
291 self
292 }
293 pub fn get_lineage_configuration(&self) -> &::std::option::Option<crate::types::LineageConfiguration> {
295 &self.lineage_configuration
296 }
297 pub fn state(mut self, input: crate::types::CrawlerState) -> Self {
299 self.state = ::std::option::Option::Some(input);
300 self
301 }
302 pub fn set_state(mut self, input: ::std::option::Option<crate::types::CrawlerState>) -> Self {
304 self.state = input;
305 self
306 }
307 pub fn get_state(&self) -> &::std::option::Option<crate::types::CrawlerState> {
309 &self.state
310 }
311 pub fn table_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
313 self.table_prefix = ::std::option::Option::Some(input.into());
314 self
315 }
316 pub fn set_table_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
318 self.table_prefix = input;
319 self
320 }
321 pub fn get_table_prefix(&self) -> &::std::option::Option<::std::string::String> {
323 &self.table_prefix
324 }
325 pub fn schedule(mut self, input: crate::types::Schedule) -> Self {
327 self.schedule = ::std::option::Option::Some(input);
328 self
329 }
330 pub fn set_schedule(mut self, input: ::std::option::Option<crate::types::Schedule>) -> Self {
332 self.schedule = input;
333 self
334 }
335 pub fn get_schedule(&self) -> &::std::option::Option<crate::types::Schedule> {
337 &self.schedule
338 }
339 pub fn crawl_elapsed_time(mut self, input: i64) -> Self {
341 self.crawl_elapsed_time = ::std::option::Option::Some(input);
342 self
343 }
344 pub fn set_crawl_elapsed_time(mut self, input: ::std::option::Option<i64>) -> Self {
346 self.crawl_elapsed_time = input;
347 self
348 }
349 pub fn get_crawl_elapsed_time(&self) -> &::std::option::Option<i64> {
351 &self.crawl_elapsed_time
352 }
353 pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
355 self.creation_time = ::std::option::Option::Some(input);
356 self
357 }
358 pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
360 self.creation_time = input;
361 self
362 }
363 pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
365 &self.creation_time
366 }
367 pub fn last_updated(mut self, input: ::aws_smithy_types::DateTime) -> Self {
369 self.last_updated = ::std::option::Option::Some(input);
370 self
371 }
372 pub fn set_last_updated(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
374 self.last_updated = input;
375 self
376 }
377 pub fn get_last_updated(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
379 &self.last_updated
380 }
381 pub fn last_crawl(mut self, input: crate::types::LastCrawlInfo) -> Self {
383 self.last_crawl = ::std::option::Option::Some(input);
384 self
385 }
386 pub fn set_last_crawl(mut self, input: ::std::option::Option<crate::types::LastCrawlInfo>) -> Self {
388 self.last_crawl = input;
389 self
390 }
391 pub fn get_last_crawl(&self) -> &::std::option::Option<crate::types::LastCrawlInfo> {
393 &self.last_crawl
394 }
395 pub fn version(mut self, input: i64) -> Self {
397 self.version = ::std::option::Option::Some(input);
398 self
399 }
400 pub fn set_version(mut self, input: ::std::option::Option<i64>) -> Self {
402 self.version = input;
403 self
404 }
405 pub fn get_version(&self) -> &::std::option::Option<i64> {
407 &self.version
408 }
409 pub fn configuration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
411 self.configuration = ::std::option::Option::Some(input.into());
412 self
413 }
414 pub fn set_configuration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
416 self.configuration = input;
417 self
418 }
419 pub fn get_configuration(&self) -> &::std::option::Option<::std::string::String> {
421 &self.configuration
422 }
423 pub fn crawler_security_configuration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
425 self.crawler_security_configuration = ::std::option::Option::Some(input.into());
426 self
427 }
428 pub fn set_crawler_security_configuration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
430 self.crawler_security_configuration = input;
431 self
432 }
433 pub fn get_crawler_security_configuration(&self) -> &::std::option::Option<::std::string::String> {
435 &self.crawler_security_configuration
436 }
437 pub fn lake_formation_configuration(mut self, input: crate::types::LakeFormationConfiguration) -> Self {
439 self.lake_formation_configuration = ::std::option::Option::Some(input);
440 self
441 }
442 pub fn set_lake_formation_configuration(mut self, input: ::std::option::Option<crate::types::LakeFormationConfiguration>) -> Self {
444 self.lake_formation_configuration = input;
445 self
446 }
447 pub fn get_lake_formation_configuration(&self) -> &::std::option::Option<crate::types::LakeFormationConfiguration> {
449 &self.lake_formation_configuration
450 }
451 pub fn build(self) -> crate::types::Crawler {
453 crate::types::Crawler {
454 name: self.name,
455 role: self.role,
456 targets: self.targets,
457 database_name: self.database_name,
458 description: self.description,
459 classifiers: self.classifiers,
460 recrawl_policy: self.recrawl_policy,
461 schema_change_policy: self.schema_change_policy,
462 lineage_configuration: self.lineage_configuration,
463 state: self.state,
464 table_prefix: self.table_prefix,
465 schedule: self.schedule,
466 crawl_elapsed_time: self.crawl_elapsed_time.unwrap_or_default(),
467 creation_time: self.creation_time,
468 last_updated: self.last_updated,
469 last_crawl: self.last_crawl,
470 version: self.version.unwrap_or_default(),
471 configuration: self.configuration,
472 crawler_security_configuration: self.crawler_security_configuration,
473 lake_formation_configuration: self.lake_formation_configuration,
474 }
475 }
476}