Skip to main content

aws_sdk_glue/operation/create_crawler/
_create_crawler_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateCrawlerInput {
6    /// <p>Name of the new crawler.</p>
7    pub name: ::std::option::Option<::std::string::String>,
8    /// <p>The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to access customer resources.</p>
9    pub role: ::std::option::Option<::std::string::String>,
10    /// <p>The Glue database where results are written, such as: <code>arn:aws:daylight:us-east-1::database/sometable/*</code>.</p>
11    pub database_name: ::std::option::Option<::std::string::String>,
12    /// <p>A description of the new crawler.</p>
13    pub description: ::std::option::Option<::std::string::String>,
14    /// <p>A list of collection of targets to crawl.</p>
15    pub targets: ::std::option::Option<crate::types::CrawlerTargets>,
16    /// <p>A <code>cron</code> expression used to specify the schedule (see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based Schedules for Jobs and Crawlers</a>. For example, to run something every day at 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
17    pub schedule: ::std::option::Option<::std::string::String>,
18    /// <p>A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.</p>
19    pub classifiers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20    /// <p>The table prefix used for catalog tables that are created.</p>
21    pub table_prefix: ::std::option::Option<::std::string::String>,
22    /// <p>The policy for the crawler's update and deletion behavior.</p>
23    pub schema_change_policy: ::std::option::Option<crate::types::SchemaChangePolicy>,
24    /// <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>
25    pub recrawl_policy: ::std::option::Option<crate::types::RecrawlPolicy>,
26    /// <p>Specifies data lineage configuration settings for the crawler.</p>
27    pub lineage_configuration: ::std::option::Option<crate::types::LineageConfiguration>,
28    /// <p>Specifies Lake Formation configuration settings for the crawler.</p>
29    pub lake_formation_configuration: ::std::option::Option<crate::types::LakeFormationConfiguration>,
30    /// <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>
31    pub configuration: ::std::option::Option<::std::string::String>,
32    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
33    pub crawler_security_configuration: ::std::option::Option<::std::string::String>,
34    /// <p>The tags to use with this crawler request. You may use tags to limit access to the crawler. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
35    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
36    /// <p>The ID of the Data Catalog in which to store the crawler's output. If none is supplied, the Amazon Web Services account ID is used by default.</p>
37    pub catalog_id: ::std::option::Option<::std::string::String>,
38}
39impl CreateCrawlerInput {
40    /// <p>Name of the new crawler.</p>
41    pub fn name(&self) -> ::std::option::Option<&str> {
42        self.name.as_deref()
43    }
44    /// <p>The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to access customer resources.</p>
45    pub fn role(&self) -> ::std::option::Option<&str> {
46        self.role.as_deref()
47    }
48    /// <p>The Glue database where results are written, such as: <code>arn:aws:daylight:us-east-1::database/sometable/*</code>.</p>
49    pub fn database_name(&self) -> ::std::option::Option<&str> {
50        self.database_name.as_deref()
51    }
52    /// <p>A description of the new crawler.</p>
53    pub fn description(&self) -> ::std::option::Option<&str> {
54        self.description.as_deref()
55    }
56    /// <p>A list of collection of targets to crawl.</p>
57    pub fn targets(&self) -> ::std::option::Option<&crate::types::CrawlerTargets> {
58        self.targets.as_ref()
59    }
60    /// <p>A <code>cron</code> expression used to specify the schedule (see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based Schedules for Jobs and Crawlers</a>. For example, to run something every day at 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
61    pub fn schedule(&self) -> ::std::option::Option<&str> {
62        self.schedule.as_deref()
63    }
64    /// <p>A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.</p>
65    ///
66    /// 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()`.
67    pub fn classifiers(&self) -> &[::std::string::String] {
68        self.classifiers.as_deref().unwrap_or_default()
69    }
70    /// <p>The table prefix used for catalog tables that are created.</p>
71    pub fn table_prefix(&self) -> ::std::option::Option<&str> {
72        self.table_prefix.as_deref()
73    }
74    /// <p>The policy for the crawler's update and deletion behavior.</p>
75    pub fn schema_change_policy(&self) -> ::std::option::Option<&crate::types::SchemaChangePolicy> {
76        self.schema_change_policy.as_ref()
77    }
78    /// <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>
79    pub fn recrawl_policy(&self) -> ::std::option::Option<&crate::types::RecrawlPolicy> {
80        self.recrawl_policy.as_ref()
81    }
82    /// <p>Specifies data lineage configuration settings for the crawler.</p>
83    pub fn lineage_configuration(&self) -> ::std::option::Option<&crate::types::LineageConfiguration> {
84        self.lineage_configuration.as_ref()
85    }
86    /// <p>Specifies Lake Formation configuration settings for the crawler.</p>
87    pub fn lake_formation_configuration(&self) -> ::std::option::Option<&crate::types::LakeFormationConfiguration> {
88        self.lake_formation_configuration.as_ref()
89    }
90    /// <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>
91    pub fn configuration(&self) -> ::std::option::Option<&str> {
92        self.configuration.as_deref()
93    }
94    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
95    pub fn crawler_security_configuration(&self) -> ::std::option::Option<&str> {
96        self.crawler_security_configuration.as_deref()
97    }
98    /// <p>The tags to use with this crawler request. You may use tags to limit access to the crawler. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
99    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
100        self.tags.as_ref()
101    }
102    /// <p>The ID of the Data Catalog in which to store the crawler's output. If none is supplied, the Amazon Web Services account ID is used by default.</p>
103    pub fn catalog_id(&self) -> ::std::option::Option<&str> {
104        self.catalog_id.as_deref()
105    }
106}
107impl CreateCrawlerInput {
108    /// Creates a new builder-style object to manufacture [`CreateCrawlerInput`](crate::operation::create_crawler::CreateCrawlerInput).
109    pub fn builder() -> crate::operation::create_crawler::builders::CreateCrawlerInputBuilder {
110        crate::operation::create_crawler::builders::CreateCrawlerInputBuilder::default()
111    }
112}
113
114/// A builder for [`CreateCrawlerInput`](crate::operation::create_crawler::CreateCrawlerInput).
115#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
116#[non_exhaustive]
117pub struct CreateCrawlerInputBuilder {
118    pub(crate) name: ::std::option::Option<::std::string::String>,
119    pub(crate) role: ::std::option::Option<::std::string::String>,
120    pub(crate) database_name: ::std::option::Option<::std::string::String>,
121    pub(crate) description: ::std::option::Option<::std::string::String>,
122    pub(crate) targets: ::std::option::Option<crate::types::CrawlerTargets>,
123    pub(crate) schedule: ::std::option::Option<::std::string::String>,
124    pub(crate) classifiers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
125    pub(crate) table_prefix: ::std::option::Option<::std::string::String>,
126    pub(crate) schema_change_policy: ::std::option::Option<crate::types::SchemaChangePolicy>,
127    pub(crate) recrawl_policy: ::std::option::Option<crate::types::RecrawlPolicy>,
128    pub(crate) lineage_configuration: ::std::option::Option<crate::types::LineageConfiguration>,
129    pub(crate) lake_formation_configuration: ::std::option::Option<crate::types::LakeFormationConfiguration>,
130    pub(crate) configuration: ::std::option::Option<::std::string::String>,
131    pub(crate) crawler_security_configuration: ::std::option::Option<::std::string::String>,
132    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
133    pub(crate) catalog_id: ::std::option::Option<::std::string::String>,
134}
135impl CreateCrawlerInputBuilder {
136    /// <p>Name of the new crawler.</p>
137    /// This field is required.
138    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
139        self.name = ::std::option::Option::Some(input.into());
140        self
141    }
142    /// <p>Name of the new crawler.</p>
143    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
144        self.name = input;
145        self
146    }
147    /// <p>Name of the new crawler.</p>
148    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
149        &self.name
150    }
151    /// <p>The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to access customer resources.</p>
152    /// This field is required.
153    pub fn role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
154        self.role = ::std::option::Option::Some(input.into());
155        self
156    }
157    /// <p>The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to access customer resources.</p>
158    pub fn set_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
159        self.role = input;
160        self
161    }
162    /// <p>The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to access customer resources.</p>
163    pub fn get_role(&self) -> &::std::option::Option<::std::string::String> {
164        &self.role
165    }
166    /// <p>The Glue database where results are written, such as: <code>arn:aws:daylight:us-east-1::database/sometable/*</code>.</p>
167    pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
168        self.database_name = ::std::option::Option::Some(input.into());
169        self
170    }
171    /// <p>The Glue database where results are written, such as: <code>arn:aws:daylight:us-east-1::database/sometable/*</code>.</p>
172    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
173        self.database_name = input;
174        self
175    }
176    /// <p>The Glue database where results are written, such as: <code>arn:aws:daylight:us-east-1::database/sometable/*</code>.</p>
177    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
178        &self.database_name
179    }
180    /// <p>A description of the new crawler.</p>
181    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
182        self.description = ::std::option::Option::Some(input.into());
183        self
184    }
185    /// <p>A description of the new crawler.</p>
186    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
187        self.description = input;
188        self
189    }
190    /// <p>A description of the new crawler.</p>
191    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
192        &self.description
193    }
194    /// <p>A list of collection of targets to crawl.</p>
195    /// This field is required.
196    pub fn targets(mut self, input: crate::types::CrawlerTargets) -> Self {
197        self.targets = ::std::option::Option::Some(input);
198        self
199    }
200    /// <p>A list of collection of targets to crawl.</p>
201    pub fn set_targets(mut self, input: ::std::option::Option<crate::types::CrawlerTargets>) -> Self {
202        self.targets = input;
203        self
204    }
205    /// <p>A list of collection of targets to crawl.</p>
206    pub fn get_targets(&self) -> &::std::option::Option<crate::types::CrawlerTargets> {
207        &self.targets
208    }
209    /// <p>A <code>cron</code> expression used to specify the schedule (see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based Schedules for Jobs and Crawlers</a>. For example, to run something every day at 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
210    pub fn schedule(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
211        self.schedule = ::std::option::Option::Some(input.into());
212        self
213    }
214    /// <p>A <code>cron</code> expression used to specify the schedule (see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based Schedules for Jobs and Crawlers</a>. For example, to run something every day at 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
215    pub fn set_schedule(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
216        self.schedule = input;
217        self
218    }
219    /// <p>A <code>cron</code> expression used to specify the schedule (see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based Schedules for Jobs and Crawlers</a>. For example, to run something every day at 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
220    pub fn get_schedule(&self) -> &::std::option::Option<::std::string::String> {
221        &self.schedule
222    }
223    /// Appends an item to `classifiers`.
224    ///
225    /// To override the contents of this collection use [`set_classifiers`](Self::set_classifiers).
226    ///
227    /// <p>A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.</p>
228    pub fn classifiers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
229        let mut v = self.classifiers.unwrap_or_default();
230        v.push(input.into());
231        self.classifiers = ::std::option::Option::Some(v);
232        self
233    }
234    /// <p>A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.</p>
235    pub fn set_classifiers(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
236        self.classifiers = input;
237        self
238    }
239    /// <p>A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.</p>
240    pub fn get_classifiers(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
241        &self.classifiers
242    }
243    /// <p>The table prefix used for catalog tables that are created.</p>
244    pub fn table_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
245        self.table_prefix = ::std::option::Option::Some(input.into());
246        self
247    }
248    /// <p>The table prefix used for catalog tables that are created.</p>
249    pub fn set_table_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
250        self.table_prefix = input;
251        self
252    }
253    /// <p>The table prefix used for catalog tables that are created.</p>
254    pub fn get_table_prefix(&self) -> &::std::option::Option<::std::string::String> {
255        &self.table_prefix
256    }
257    /// <p>The policy for the crawler's update and deletion behavior.</p>
258    pub fn schema_change_policy(mut self, input: crate::types::SchemaChangePolicy) -> Self {
259        self.schema_change_policy = ::std::option::Option::Some(input);
260        self
261    }
262    /// <p>The policy for the crawler's update and deletion behavior.</p>
263    pub fn set_schema_change_policy(mut self, input: ::std::option::Option<crate::types::SchemaChangePolicy>) -> Self {
264        self.schema_change_policy = input;
265        self
266    }
267    /// <p>The policy for the crawler's update and deletion behavior.</p>
268    pub fn get_schema_change_policy(&self) -> &::std::option::Option<crate::types::SchemaChangePolicy> {
269        &self.schema_change_policy
270    }
271    /// <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>
272    pub fn recrawl_policy(mut self, input: crate::types::RecrawlPolicy) -> Self {
273        self.recrawl_policy = ::std::option::Option::Some(input);
274        self
275    }
276    /// <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>
277    pub fn set_recrawl_policy(mut self, input: ::std::option::Option<crate::types::RecrawlPolicy>) -> Self {
278        self.recrawl_policy = input;
279        self
280    }
281    /// <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>
282    pub fn get_recrawl_policy(&self) -> &::std::option::Option<crate::types::RecrawlPolicy> {
283        &self.recrawl_policy
284    }
285    /// <p>Specifies data lineage configuration settings for the crawler.</p>
286    pub fn lineage_configuration(mut self, input: crate::types::LineageConfiguration) -> Self {
287        self.lineage_configuration = ::std::option::Option::Some(input);
288        self
289    }
290    /// <p>Specifies data lineage configuration settings for the crawler.</p>
291    pub fn set_lineage_configuration(mut self, input: ::std::option::Option<crate::types::LineageConfiguration>) -> Self {
292        self.lineage_configuration = input;
293        self
294    }
295    /// <p>Specifies data lineage configuration settings for the crawler.</p>
296    pub fn get_lineage_configuration(&self) -> &::std::option::Option<crate::types::LineageConfiguration> {
297        &self.lineage_configuration
298    }
299    /// <p>Specifies Lake Formation configuration settings for the crawler.</p>
300    pub fn lake_formation_configuration(mut self, input: crate::types::LakeFormationConfiguration) -> Self {
301        self.lake_formation_configuration = ::std::option::Option::Some(input);
302        self
303    }
304    /// <p>Specifies Lake Formation configuration settings for the crawler.</p>
305    pub fn set_lake_formation_configuration(mut self, input: ::std::option::Option<crate::types::LakeFormationConfiguration>) -> Self {
306        self.lake_formation_configuration = input;
307        self
308    }
309    /// <p>Specifies Lake Formation configuration settings for the crawler.</p>
310    pub fn get_lake_formation_configuration(&self) -> &::std::option::Option<crate::types::LakeFormationConfiguration> {
311        &self.lake_formation_configuration
312    }
313    /// <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>
314    pub fn configuration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
315        self.configuration = ::std::option::Option::Some(input.into());
316        self
317    }
318    /// <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>
319    pub fn set_configuration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
320        self.configuration = input;
321        self
322    }
323    /// <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>
324    pub fn get_configuration(&self) -> &::std::option::Option<::std::string::String> {
325        &self.configuration
326    }
327    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
328    pub fn crawler_security_configuration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
329        self.crawler_security_configuration = ::std::option::Option::Some(input.into());
330        self
331    }
332    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
333    pub fn set_crawler_security_configuration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
334        self.crawler_security_configuration = input;
335        self
336    }
337    /// <p>The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.</p>
338    pub fn get_crawler_security_configuration(&self) -> &::std::option::Option<::std::string::String> {
339        &self.crawler_security_configuration
340    }
341    /// Adds a key-value pair to `tags`.
342    ///
343    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
344    ///
345    /// <p>The tags to use with this crawler request. You may use tags to limit access to the crawler. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
346    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
347        let mut hash_map = self.tags.unwrap_or_default();
348        hash_map.insert(k.into(), v.into());
349        self.tags = ::std::option::Option::Some(hash_map);
350        self
351    }
352    /// <p>The tags to use with this crawler request. You may use tags to limit access to the crawler. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
353    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
354        self.tags = input;
355        self
356    }
357    /// <p>The tags to use with this crawler request. You may use tags to limit access to the crawler. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
358    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
359        &self.tags
360    }
361    /// <p>The ID of the Data Catalog in which to store the crawler's output. If none is supplied, the Amazon Web Services account ID is used by default.</p>
362    pub fn catalog_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
363        self.catalog_id = ::std::option::Option::Some(input.into());
364        self
365    }
366    /// <p>The ID of the Data Catalog in which to store the crawler's output. If none is supplied, the Amazon Web Services account ID is used by default.</p>
367    pub fn set_catalog_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
368        self.catalog_id = input;
369        self
370    }
371    /// <p>The ID of the Data Catalog in which to store the crawler's output. If none is supplied, the Amazon Web Services account ID is used by default.</p>
372    pub fn get_catalog_id(&self) -> &::std::option::Option<::std::string::String> {
373        &self.catalog_id
374    }
375    /// Consumes the builder and constructs a [`CreateCrawlerInput`](crate::operation::create_crawler::CreateCrawlerInput).
376    pub fn build(
377        self,
378    ) -> ::std::result::Result<crate::operation::create_crawler::CreateCrawlerInput, ::aws_smithy_types::error::operation::BuildError> {
379        ::std::result::Result::Ok(crate::operation::create_crawler::CreateCrawlerInput {
380            name: self.name,
381            role: self.role,
382            database_name: self.database_name,
383            description: self.description,
384            targets: self.targets,
385            schedule: self.schedule,
386            classifiers: self.classifiers,
387            table_prefix: self.table_prefix,
388            schema_change_policy: self.schema_change_policy,
389            recrawl_policy: self.recrawl_policy,
390            lineage_configuration: self.lineage_configuration,
391            lake_formation_configuration: self.lake_formation_configuration,
392            configuration: self.configuration,
393            crawler_security_configuration: self.crawler_security_configuration,
394            tags: self.tags,
395            catalog_id: self.catalog_id,
396        })
397    }
398}