Skip to main content

aws_sdk_glue/types/
_crawler.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metadata concerning the data source in the Glue Data Catalog.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct Crawler {
7    /// <p>The name of the crawler.</p>
8    pub name: ::std::option::Option<::std::string::String>,
9    /// <p>The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.</p>
10    pub role: ::std::option::Option<::std::string::String>,
11    /// <p>A collection of targets to crawl.</p>
12    pub targets: ::std::option::Option<crate::types::CrawlerTargets>,
13    /// <p>The name of the database in which the crawler's output is stored.</p>
14    pub database_name: ::std::option::Option<::std::string::String>,
15    /// <p>A description of the crawler.</p>
16    pub description: ::std::option::Option<::std::string::String>,
17    /// <p>A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler.</p>
18    pub classifiers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
19    /// <p>A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.</p>
20    pub recrawl_policy: ::std::option::Option<crate::types::RecrawlPolicy>,
21    /// <p>The policy that specifies update and delete behaviors for the crawler.</p>
22    pub schema_change_policy: ::std::option::Option<crate::types::SchemaChangePolicy>,
23    /// <p>A configuration that specifies whether data lineage is enabled for the crawler.</p>
24    pub lineage_configuration: ::std::option::Option<crate::types::LineageConfiguration>,
25    /// <p>Indicates whether the crawler is running, or whether a run is pending.</p>
26    pub state: ::std::option::Option<crate::types::CrawlerState>,
27    /// <p>The prefix added to the names of tables that are created.</p>
28    pub table_prefix: ::std::option::Option<::std::string::String>,
29    /// <p>For scheduled crawlers, the schedule when the crawler runs.</p>
30    pub schedule: ::std::option::Option<crate::types::Schedule>,
31    /// <p>If the crawler is running, contains the total time elapsed since the last crawl began.</p>
32    pub crawl_elapsed_time: i64,
33    /// <p>The time that the crawler was created.</p>
34    pub creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
35    /// <p>The time that the crawler was last updated.</p>
36    pub last_updated: ::std::option::Option<::aws_smithy_types::DateTime>,
37    /// <p>The status of the last crawl, and potentially error information if an error occurred.</p>
38    pub last_crawl: ::std::option::Option<crate::types::LastCrawlInfo>,
39    /// <p>The version of the crawler.</p>
40    pub version: i64,
41    /// <p>Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Setting crawler configuration options</a>.</p>
42    pub configuration: ::std::option::Option<::std::string::String>,
43    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
44    pub crawler_security_configuration: ::std::option::Option<::std::string::String>,
45    /// <p>Specifies whether the crawler should use Lake Formation credentials for the crawler instead of the IAM role credentials.</p>
46    pub lake_formation_configuration: ::std::option::Option<crate::types::LakeFormationConfiguration>,
47}
48impl Crawler {
49    /// <p>The name of the crawler.</p>
50    pub fn name(&self) -> ::std::option::Option<&str> {
51        self.name.as_deref()
52    }
53    /// <p>The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.</p>
54    pub fn role(&self) -> ::std::option::Option<&str> {
55        self.role.as_deref()
56    }
57    /// <p>A collection of targets to crawl.</p>
58    pub fn targets(&self) -> ::std::option::Option<&crate::types::CrawlerTargets> {
59        self.targets.as_ref()
60    }
61    /// <p>The name of the database in which the crawler's output is stored.</p>
62    pub fn database_name(&self) -> ::std::option::Option<&str> {
63        self.database_name.as_deref()
64    }
65    /// <p>A description of the crawler.</p>
66    pub fn description(&self) -> ::std::option::Option<&str> {
67        self.description.as_deref()
68    }
69    /// <p>A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler.</p>
70    ///
71    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.classifiers.is_none()`.
72    pub fn classifiers(&self) -> &[::std::string::String] {
73        self.classifiers.as_deref().unwrap_or_default()
74    }
75    /// <p>A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.</p>
76    pub fn recrawl_policy(&self) -> ::std::option::Option<&crate::types::RecrawlPolicy> {
77        self.recrawl_policy.as_ref()
78    }
79    /// <p>The policy that specifies update and delete behaviors for the crawler.</p>
80    pub fn schema_change_policy(&self) -> ::std::option::Option<&crate::types::SchemaChangePolicy> {
81        self.schema_change_policy.as_ref()
82    }
83    /// <p>A configuration that specifies whether data lineage is enabled for the crawler.</p>
84    pub fn lineage_configuration(&self) -> ::std::option::Option<&crate::types::LineageConfiguration> {
85        self.lineage_configuration.as_ref()
86    }
87    /// <p>Indicates whether the crawler is running, or whether a run is pending.</p>
88    pub fn state(&self) -> ::std::option::Option<&crate::types::CrawlerState> {
89        self.state.as_ref()
90    }
91    /// <p>The prefix added to the names of tables that are created.</p>
92    pub fn table_prefix(&self) -> ::std::option::Option<&str> {
93        self.table_prefix.as_deref()
94    }
95    /// <p>For scheduled crawlers, the schedule when the crawler runs.</p>
96    pub fn schedule(&self) -> ::std::option::Option<&crate::types::Schedule> {
97        self.schedule.as_ref()
98    }
99    /// <p>If the crawler is running, contains the total time elapsed since the last crawl began.</p>
100    pub fn crawl_elapsed_time(&self) -> i64 {
101        self.crawl_elapsed_time
102    }
103    /// <p>The time that the crawler was created.</p>
104    pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
105        self.creation_time.as_ref()
106    }
107    /// <p>The time that the crawler was last updated.</p>
108    pub fn last_updated(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
109        self.last_updated.as_ref()
110    }
111    /// <p>The status of the last crawl, and potentially error information if an error occurred.</p>
112    pub fn last_crawl(&self) -> ::std::option::Option<&crate::types::LastCrawlInfo> {
113        self.last_crawl.as_ref()
114    }
115    /// <p>The version of the crawler.</p>
116    pub fn version(&self) -> i64 {
117        self.version
118    }
119    /// <p>Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Setting crawler configuration options</a>.</p>
120    pub fn configuration(&self) -> ::std::option::Option<&str> {
121        self.configuration.as_deref()
122    }
123    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
124    pub fn crawler_security_configuration(&self) -> ::std::option::Option<&str> {
125        self.crawler_security_configuration.as_deref()
126    }
127    /// <p>Specifies whether the crawler should use Lake Formation credentials for the crawler instead of the IAM role credentials.</p>
128    pub fn lake_formation_configuration(&self) -> ::std::option::Option<&crate::types::LakeFormationConfiguration> {
129        self.lake_formation_configuration.as_ref()
130    }
131}
132impl Crawler {
133    /// Creates a new builder-style object to manufacture [`Crawler`](crate::types::Crawler).
134    pub fn builder() -> crate::types::builders::CrawlerBuilder {
135        crate::types::builders::CrawlerBuilder::default()
136    }
137}
138
139/// A builder for [`Crawler`](crate::types::Crawler).
140#[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    /// <p>The name of the crawler.</p>
166    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    /// <p>The name of the crawler.</p>
171    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
172        self.name = input;
173        self
174    }
175    /// <p>The name of the crawler.</p>
176    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
177        &self.name
178    }
179    /// <p>The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.</p>
180    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    /// <p>The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.</p>
185    pub fn set_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
186        self.role = input;
187        self
188    }
189    /// <p>The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.</p>
190    pub fn get_role(&self) -> &::std::option::Option<::std::string::String> {
191        &self.role
192    }
193    /// <p>A collection of targets to crawl.</p>
194    pub fn targets(mut self, input: crate::types::CrawlerTargets) -> Self {
195        self.targets = ::std::option::Option::Some(input);
196        self
197    }
198    /// <p>A collection of targets to crawl.</p>
199    pub fn set_targets(mut self, input: ::std::option::Option<crate::types::CrawlerTargets>) -> Self {
200        self.targets = input;
201        self
202    }
203    /// <p>A collection of targets to crawl.</p>
204    pub fn get_targets(&self) -> &::std::option::Option<crate::types::CrawlerTargets> {
205        &self.targets
206    }
207    /// <p>The name of the database in which the crawler's output is stored.</p>
208    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    /// <p>The name of the database in which the crawler's output is stored.</p>
213    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
214        self.database_name = input;
215        self
216    }
217    /// <p>The name of the database in which the crawler's output is stored.</p>
218    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
219        &self.database_name
220    }
221    /// <p>A description of the crawler.</p>
222    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    /// <p>A description of the crawler.</p>
227    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228        self.description = input;
229        self
230    }
231    /// <p>A description of the crawler.</p>
232    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
233        &self.description
234    }
235    /// Appends an item to `classifiers`.
236    ///
237    /// To override the contents of this collection use [`set_classifiers`](Self::set_classifiers).
238    ///
239    /// <p>A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler.</p>
240    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    /// <p>A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler.</p>
247    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    /// <p>A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler.</p>
252    pub fn get_classifiers(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
253        &self.classifiers
254    }
255    /// <p>A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.</p>
256    pub fn recrawl_policy(mut self, input: crate::types::RecrawlPolicy) -> Self {
257        self.recrawl_policy = ::std::option::Option::Some(input);
258        self
259    }
260    /// <p>A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.</p>
261    pub fn set_recrawl_policy(mut self, input: ::std::option::Option<crate::types::RecrawlPolicy>) -> Self {
262        self.recrawl_policy = input;
263        self
264    }
265    /// <p>A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.</p>
266    pub fn get_recrawl_policy(&self) -> &::std::option::Option<crate::types::RecrawlPolicy> {
267        &self.recrawl_policy
268    }
269    /// <p>The policy that specifies update and delete behaviors for the crawler.</p>
270    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    /// <p>The policy that specifies update and delete behaviors for the crawler.</p>
275    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    /// <p>The policy that specifies update and delete behaviors for the crawler.</p>
280    pub fn get_schema_change_policy(&self) -> &::std::option::Option<crate::types::SchemaChangePolicy> {
281        &self.schema_change_policy
282    }
283    /// <p>A configuration that specifies whether data lineage is enabled for the crawler.</p>
284    pub fn lineage_configuration(mut self, input: crate::types::LineageConfiguration) -> Self {
285        self.lineage_configuration = ::std::option::Option::Some(input);
286        self
287    }
288    /// <p>A configuration that specifies whether data lineage is enabled for the crawler.</p>
289    pub fn set_lineage_configuration(mut self, input: ::std::option::Option<crate::types::LineageConfiguration>) -> Self {
290        self.lineage_configuration = input;
291        self
292    }
293    /// <p>A configuration that specifies whether data lineage is enabled for the crawler.</p>
294    pub fn get_lineage_configuration(&self) -> &::std::option::Option<crate::types::LineageConfiguration> {
295        &self.lineage_configuration
296    }
297    /// <p>Indicates whether the crawler is running, or whether a run is pending.</p>
298    pub fn state(mut self, input: crate::types::CrawlerState) -> Self {
299        self.state = ::std::option::Option::Some(input);
300        self
301    }
302    /// <p>Indicates whether the crawler is running, or whether a run is pending.</p>
303    pub fn set_state(mut self, input: ::std::option::Option<crate::types::CrawlerState>) -> Self {
304        self.state = input;
305        self
306    }
307    /// <p>Indicates whether the crawler is running, or whether a run is pending.</p>
308    pub fn get_state(&self) -> &::std::option::Option<crate::types::CrawlerState> {
309        &self.state
310    }
311    /// <p>The prefix added to the names of tables that are created.</p>
312    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    /// <p>The prefix added to the names of tables that are created.</p>
317    pub fn set_table_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
318        self.table_prefix = input;
319        self
320    }
321    /// <p>The prefix added to the names of tables that are created.</p>
322    pub fn get_table_prefix(&self) -> &::std::option::Option<::std::string::String> {
323        &self.table_prefix
324    }
325    /// <p>For scheduled crawlers, the schedule when the crawler runs.</p>
326    pub fn schedule(mut self, input: crate::types::Schedule) -> Self {
327        self.schedule = ::std::option::Option::Some(input);
328        self
329    }
330    /// <p>For scheduled crawlers, the schedule when the crawler runs.</p>
331    pub fn set_schedule(mut self, input: ::std::option::Option<crate::types::Schedule>) -> Self {
332        self.schedule = input;
333        self
334    }
335    /// <p>For scheduled crawlers, the schedule when the crawler runs.</p>
336    pub fn get_schedule(&self) -> &::std::option::Option<crate::types::Schedule> {
337        &self.schedule
338    }
339    /// <p>If the crawler is running, contains the total time elapsed since the last crawl began.</p>
340    pub fn crawl_elapsed_time(mut self, input: i64) -> Self {
341        self.crawl_elapsed_time = ::std::option::Option::Some(input);
342        self
343    }
344    /// <p>If the crawler is running, contains the total time elapsed since the last crawl began.</p>
345    pub fn set_crawl_elapsed_time(mut self, input: ::std::option::Option<i64>) -> Self {
346        self.crawl_elapsed_time = input;
347        self
348    }
349    /// <p>If the crawler is running, contains the total time elapsed since the last crawl began.</p>
350    pub fn get_crawl_elapsed_time(&self) -> &::std::option::Option<i64> {
351        &self.crawl_elapsed_time
352    }
353    /// <p>The time that the crawler was created.</p>
354    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    /// <p>The time that the crawler was created.</p>
359    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    /// <p>The time that the crawler was created.</p>
364    pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
365        &self.creation_time
366    }
367    /// <p>The time that the crawler was last updated.</p>
368    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    /// <p>The time that the crawler was last updated.</p>
373    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    /// <p>The time that the crawler was last updated.</p>
378    pub fn get_last_updated(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
379        &self.last_updated
380    }
381    /// <p>The status of the last crawl, and potentially error information if an error occurred.</p>
382    pub fn last_crawl(mut self, input: crate::types::LastCrawlInfo) -> Self {
383        self.last_crawl = ::std::option::Option::Some(input);
384        self
385    }
386    /// <p>The status of the last crawl, and potentially error information if an error occurred.</p>
387    pub fn set_last_crawl(mut self, input: ::std::option::Option<crate::types::LastCrawlInfo>) -> Self {
388        self.last_crawl = input;
389        self
390    }
391    /// <p>The status of the last crawl, and potentially error information if an error occurred.</p>
392    pub fn get_last_crawl(&self) -> &::std::option::Option<crate::types::LastCrawlInfo> {
393        &self.last_crawl
394    }
395    /// <p>The version of the crawler.</p>
396    pub fn version(mut self, input: i64) -> Self {
397        self.version = ::std::option::Option::Some(input);
398        self
399    }
400    /// <p>The version of the crawler.</p>
401    pub fn set_version(mut self, input: ::std::option::Option<i64>) -> Self {
402        self.version = input;
403        self
404    }
405    /// <p>The version of the crawler.</p>
406    pub fn get_version(&self) -> &::std::option::Option<i64> {
407        &self.version
408    }
409    /// <p>Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Setting crawler configuration options</a>.</p>
410    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    /// <p>Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Setting crawler configuration options</a>.</p>
415    pub fn set_configuration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
416        self.configuration = input;
417        self
418    }
419    /// <p>Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Setting crawler configuration options</a>.</p>
420    pub fn get_configuration(&self) -> &::std::option::Option<::std::string::String> {
421        &self.configuration
422    }
423    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
424    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    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
429    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    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
434    pub fn get_crawler_security_configuration(&self) -> &::std::option::Option<::std::string::String> {
435        &self.crawler_security_configuration
436    }
437    /// <p>Specifies whether the crawler should use Lake Formation credentials for the crawler instead of the IAM role credentials.</p>
438    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    /// <p>Specifies whether the crawler should use Lake Formation credentials for the crawler instead of the IAM role credentials.</p>
443    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    /// <p>Specifies whether the crawler should use Lake Formation credentials for the crawler instead of the IAM role credentials.</p>
448    pub fn get_lake_formation_configuration(&self) -> &::std::option::Option<crate::types::LakeFormationConfiguration> {
449        &self.lake_formation_configuration
450    }
451    /// Consumes the builder and constructs a [`Crawler`](crate::types::Crawler).
452    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}