1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/glue/Glue_EXPORTS.h>
8 #include <aws/glue/GlueRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/glue/model/CrawlerTargets.h>
11 #include <aws/core/utils/memory/stl/AWSVector.h>
12 #include <aws/glue/model/SchemaChangePolicy.h>
13 #include <aws/glue/model/RecrawlPolicy.h>
14 #include <aws/glue/model/LineageConfiguration.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 namespace Glue
20 {
21 namespace Model
22 {
23 
24   /**
25    */
26   class AWS_GLUE_API UpdateCrawlerRequest : public GlueRequest
27   {
28   public:
29     UpdateCrawlerRequest();
30 
31     // Service request name is the Operation name which will send this request out,
32     // each operation should has unique request name, so that we can get operation's name from this request.
33     // Note: this is not true for response, multiple operations may have the same response name,
34     // so we can not get operation's name from response.
GetServiceRequestName()35     inline virtual const char* GetServiceRequestName() const override { return "UpdateCrawler"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
40 
41 
42     /**
43      * <p>Name of the new crawler.</p>
44      */
GetName()45     inline const Aws::String& GetName() const{ return m_name; }
46 
47     /**
48      * <p>Name of the new crawler.</p>
49      */
NameHasBeenSet()50     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
51 
52     /**
53      * <p>Name of the new crawler.</p>
54      */
SetName(const Aws::String & value)55     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
56 
57     /**
58      * <p>Name of the new crawler.</p>
59      */
SetName(Aws::String && value)60     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
61 
62     /**
63      * <p>Name of the new crawler.</p>
64      */
SetName(const char * value)65     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
66 
67     /**
68      * <p>Name of the new crawler.</p>
69      */
WithName(const Aws::String & value)70     inline UpdateCrawlerRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
71 
72     /**
73      * <p>Name of the new crawler.</p>
74      */
WithName(Aws::String && value)75     inline UpdateCrawlerRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
76 
77     /**
78      * <p>Name of the new crawler.</p>
79      */
WithName(const char * value)80     inline UpdateCrawlerRequest& WithName(const char* value) { SetName(value); return *this;}
81 
82 
83     /**
84      * <p>The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the
85      * new crawler to access customer resources.</p>
86      */
GetRole()87     inline const Aws::String& GetRole() const{ return m_role; }
88 
89     /**
90      * <p>The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the
91      * new crawler to access customer resources.</p>
92      */
RoleHasBeenSet()93     inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; }
94 
95     /**
96      * <p>The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the
97      * new crawler to access customer resources.</p>
98      */
SetRole(const Aws::String & value)99     inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; }
100 
101     /**
102      * <p>The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the
103      * new crawler to access customer resources.</p>
104      */
SetRole(Aws::String && value)105     inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); }
106 
107     /**
108      * <p>The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the
109      * new crawler to access customer resources.</p>
110      */
SetRole(const char * value)111     inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); }
112 
113     /**
114      * <p>The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the
115      * new crawler to access customer resources.</p>
116      */
WithRole(const Aws::String & value)117     inline UpdateCrawlerRequest& WithRole(const Aws::String& value) { SetRole(value); return *this;}
118 
119     /**
120      * <p>The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the
121      * new crawler to access customer resources.</p>
122      */
WithRole(Aws::String && value)123     inline UpdateCrawlerRequest& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;}
124 
125     /**
126      * <p>The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the
127      * new crawler to access customer resources.</p>
128      */
WithRole(const char * value)129     inline UpdateCrawlerRequest& WithRole(const char* value) { SetRole(value); return *this;}
130 
131 
132     /**
133      * <p>The Glue database where results are stored, such as:
134      * <code>arn:aws:daylight:us-east-1::database/sometable/ *</code>.</p>
135      */
GetDatabaseName()136     inline const Aws::String& GetDatabaseName() const{ return m_databaseName; }
137 
138     /**
139      * <p>The Glue database where results are stored, such as:
140      * <code>arn:aws:daylight:us-east-1::database/sometable/ *</code>.</p>
141      */
DatabaseNameHasBeenSet()142     inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; }
143 
144     /**
145      * <p>The Glue database where results are stored, such as:
146      * <code>arn:aws:daylight:us-east-1::database/sometable/ *</code>.</p>
147      */
SetDatabaseName(const Aws::String & value)148     inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; }
149 
150     /**
151      * <p>The Glue database where results are stored, such as:
152      * <code>arn:aws:daylight:us-east-1::database/sometable/ *</code>.</p>
153      */
SetDatabaseName(Aws::String && value)154     inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); }
155 
156     /**
157      * <p>The Glue database where results are stored, such as:
158      * <code>arn:aws:daylight:us-east-1::database/sometable/ *</code>.</p>
159      */
SetDatabaseName(const char * value)160     inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); }
161 
162     /**
163      * <p>The Glue database where results are stored, such as:
164      * <code>arn:aws:daylight:us-east-1::database/sometable/ *</code>.</p>
165      */
WithDatabaseName(const Aws::String & value)166     inline UpdateCrawlerRequest& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;}
167 
168     /**
169      * <p>The Glue database where results are stored, such as:
170      * <code>arn:aws:daylight:us-east-1::database/sometable/ *</code>.</p>
171      */
WithDatabaseName(Aws::String && value)172     inline UpdateCrawlerRequest& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;}
173 
174     /**
175      * <p>The Glue database where results are stored, such as:
176      * <code>arn:aws:daylight:us-east-1::database/sometable/ *</code>.</p>
177      */
WithDatabaseName(const char * value)178     inline UpdateCrawlerRequest& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;}
179 
180 
181     /**
182      * <p>A description of the new crawler.</p>
183      */
GetDescription()184     inline const Aws::String& GetDescription() const{ return m_description; }
185 
186     /**
187      * <p>A description of the new crawler.</p>
188      */
DescriptionHasBeenSet()189     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
190 
191     /**
192      * <p>A description of the new crawler.</p>
193      */
SetDescription(const Aws::String & value)194     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
195 
196     /**
197      * <p>A description of the new crawler.</p>
198      */
SetDescription(Aws::String && value)199     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
200 
201     /**
202      * <p>A description of the new crawler.</p>
203      */
SetDescription(const char * value)204     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
205 
206     /**
207      * <p>A description of the new crawler.</p>
208      */
WithDescription(const Aws::String & value)209     inline UpdateCrawlerRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
210 
211     /**
212      * <p>A description of the new crawler.</p>
213      */
WithDescription(Aws::String && value)214     inline UpdateCrawlerRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
215 
216     /**
217      * <p>A description of the new crawler.</p>
218      */
WithDescription(const char * value)219     inline UpdateCrawlerRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
220 
221 
222     /**
223      * <p>A list of targets to crawl.</p>
224      */
GetTargets()225     inline const CrawlerTargets& GetTargets() const{ return m_targets; }
226 
227     /**
228      * <p>A list of targets to crawl.</p>
229      */
TargetsHasBeenSet()230     inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
231 
232     /**
233      * <p>A list of targets to crawl.</p>
234      */
SetTargets(const CrawlerTargets & value)235     inline void SetTargets(const CrawlerTargets& value) { m_targetsHasBeenSet = true; m_targets = value; }
236 
237     /**
238      * <p>A list of targets to crawl.</p>
239      */
SetTargets(CrawlerTargets && value)240     inline void SetTargets(CrawlerTargets&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
241 
242     /**
243      * <p>A list of targets to crawl.</p>
244      */
WithTargets(const CrawlerTargets & value)245     inline UpdateCrawlerRequest& WithTargets(const CrawlerTargets& value) { SetTargets(value); return *this;}
246 
247     /**
248      * <p>A list of targets to crawl.</p>
249      */
WithTargets(CrawlerTargets && value)250     inline UpdateCrawlerRequest& WithTargets(CrawlerTargets&& value) { SetTargets(std::move(value)); return *this;}
251 
252 
253     /**
254      * <p>A <code>cron</code> expression used to specify the schedule (see <a
255      * href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based
256      * Schedules for Jobs and Crawlers</a>. For example, to run something every day at
257      * 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
258      */
GetSchedule()259     inline const Aws::String& GetSchedule() const{ return m_schedule; }
260 
261     /**
262      * <p>A <code>cron</code> expression used to specify the schedule (see <a
263      * href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based
264      * Schedules for Jobs and Crawlers</a>. For example, to run something every day at
265      * 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
266      */
ScheduleHasBeenSet()267     inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; }
268 
269     /**
270      * <p>A <code>cron</code> expression used to specify the schedule (see <a
271      * href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based
272      * Schedules for Jobs and Crawlers</a>. For example, to run something every day at
273      * 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
274      */
SetSchedule(const Aws::String & value)275     inline void SetSchedule(const Aws::String& value) { m_scheduleHasBeenSet = true; m_schedule = value; }
276 
277     /**
278      * <p>A <code>cron</code> expression used to specify the schedule (see <a
279      * href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based
280      * Schedules for Jobs and Crawlers</a>. For example, to run something every day at
281      * 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
282      */
SetSchedule(Aws::String && value)283     inline void SetSchedule(Aws::String&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); }
284 
285     /**
286      * <p>A <code>cron</code> expression used to specify the schedule (see <a
287      * href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based
288      * Schedules for Jobs and Crawlers</a>. For example, to run something every day at
289      * 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
290      */
SetSchedule(const char * value)291     inline void SetSchedule(const char* value) { m_scheduleHasBeenSet = true; m_schedule.assign(value); }
292 
293     /**
294      * <p>A <code>cron</code> expression used to specify the schedule (see <a
295      * href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based
296      * Schedules for Jobs and Crawlers</a>. For example, to run something every day at
297      * 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
298      */
WithSchedule(const Aws::String & value)299     inline UpdateCrawlerRequest& WithSchedule(const Aws::String& value) { SetSchedule(value); return *this;}
300 
301     /**
302      * <p>A <code>cron</code> expression used to specify the schedule (see <a
303      * href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based
304      * Schedules for Jobs and Crawlers</a>. For example, to run something every day at
305      * 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
306      */
WithSchedule(Aws::String && value)307     inline UpdateCrawlerRequest& WithSchedule(Aws::String&& value) { SetSchedule(std::move(value)); return *this;}
308 
309     /**
310      * <p>A <code>cron</code> expression used to specify the schedule (see <a
311      * href="https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html">Time-Based
312      * Schedules for Jobs and Crawlers</a>. For example, to run something every day at
313      * 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>
314      */
WithSchedule(const char * value)315     inline UpdateCrawlerRequest& WithSchedule(const char* value) { SetSchedule(value); return *this;}
316 
317 
318     /**
319      * <p>A list of custom classifiers that the user has registered. By default, all
320      * built-in classifiers are included in a crawl, but these custom classifiers
321      * always override the default classifiers for a given classification.</p>
322      */
GetClassifiers()323     inline const Aws::Vector<Aws::String>& GetClassifiers() const{ return m_classifiers; }
324 
325     /**
326      * <p>A list of custom classifiers that the user has registered. By default, all
327      * built-in classifiers are included in a crawl, but these custom classifiers
328      * always override the default classifiers for a given classification.</p>
329      */
ClassifiersHasBeenSet()330     inline bool ClassifiersHasBeenSet() const { return m_classifiersHasBeenSet; }
331 
332     /**
333      * <p>A list of custom classifiers that the user has registered. By default, all
334      * built-in classifiers are included in a crawl, but these custom classifiers
335      * always override the default classifiers for a given classification.</p>
336      */
SetClassifiers(const Aws::Vector<Aws::String> & value)337     inline void SetClassifiers(const Aws::Vector<Aws::String>& value) { m_classifiersHasBeenSet = true; m_classifiers = value; }
338 
339     /**
340      * <p>A list of custom classifiers that the user has registered. By default, all
341      * built-in classifiers are included in a crawl, but these custom classifiers
342      * always override the default classifiers for a given classification.</p>
343      */
SetClassifiers(Aws::Vector<Aws::String> && value)344     inline void SetClassifiers(Aws::Vector<Aws::String>&& value) { m_classifiersHasBeenSet = true; m_classifiers = std::move(value); }
345 
346     /**
347      * <p>A list of custom classifiers that the user has registered. By default, all
348      * built-in classifiers are included in a crawl, but these custom classifiers
349      * always override the default classifiers for a given classification.</p>
350      */
WithClassifiers(const Aws::Vector<Aws::String> & value)351     inline UpdateCrawlerRequest& WithClassifiers(const Aws::Vector<Aws::String>& value) { SetClassifiers(value); return *this;}
352 
353     /**
354      * <p>A list of custom classifiers that the user has registered. By default, all
355      * built-in classifiers are included in a crawl, but these custom classifiers
356      * always override the default classifiers for a given classification.</p>
357      */
WithClassifiers(Aws::Vector<Aws::String> && value)358     inline UpdateCrawlerRequest& WithClassifiers(Aws::Vector<Aws::String>&& value) { SetClassifiers(std::move(value)); return *this;}
359 
360     /**
361      * <p>A list of custom classifiers that the user has registered. By default, all
362      * built-in classifiers are included in a crawl, but these custom classifiers
363      * always override the default classifiers for a given classification.</p>
364      */
AddClassifiers(const Aws::String & value)365     inline UpdateCrawlerRequest& AddClassifiers(const Aws::String& value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(value); return *this; }
366 
367     /**
368      * <p>A list of custom classifiers that the user has registered. By default, all
369      * built-in classifiers are included in a crawl, but these custom classifiers
370      * always override the default classifiers for a given classification.</p>
371      */
AddClassifiers(Aws::String && value)372     inline UpdateCrawlerRequest& AddClassifiers(Aws::String&& value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(std::move(value)); return *this; }
373 
374     /**
375      * <p>A list of custom classifiers that the user has registered. By default, all
376      * built-in classifiers are included in a crawl, but these custom classifiers
377      * always override the default classifiers for a given classification.</p>
378      */
AddClassifiers(const char * value)379     inline UpdateCrawlerRequest& AddClassifiers(const char* value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(value); return *this; }
380 
381 
382     /**
383      * <p>The table prefix used for catalog tables that are created.</p>
384      */
GetTablePrefix()385     inline const Aws::String& GetTablePrefix() const{ return m_tablePrefix; }
386 
387     /**
388      * <p>The table prefix used for catalog tables that are created.</p>
389      */
TablePrefixHasBeenSet()390     inline bool TablePrefixHasBeenSet() const { return m_tablePrefixHasBeenSet; }
391 
392     /**
393      * <p>The table prefix used for catalog tables that are created.</p>
394      */
SetTablePrefix(const Aws::String & value)395     inline void SetTablePrefix(const Aws::String& value) { m_tablePrefixHasBeenSet = true; m_tablePrefix = value; }
396 
397     /**
398      * <p>The table prefix used for catalog tables that are created.</p>
399      */
SetTablePrefix(Aws::String && value)400     inline void SetTablePrefix(Aws::String&& value) { m_tablePrefixHasBeenSet = true; m_tablePrefix = std::move(value); }
401 
402     /**
403      * <p>The table prefix used for catalog tables that are created.</p>
404      */
SetTablePrefix(const char * value)405     inline void SetTablePrefix(const char* value) { m_tablePrefixHasBeenSet = true; m_tablePrefix.assign(value); }
406 
407     /**
408      * <p>The table prefix used for catalog tables that are created.</p>
409      */
WithTablePrefix(const Aws::String & value)410     inline UpdateCrawlerRequest& WithTablePrefix(const Aws::String& value) { SetTablePrefix(value); return *this;}
411 
412     /**
413      * <p>The table prefix used for catalog tables that are created.</p>
414      */
WithTablePrefix(Aws::String && value)415     inline UpdateCrawlerRequest& WithTablePrefix(Aws::String&& value) { SetTablePrefix(std::move(value)); return *this;}
416 
417     /**
418      * <p>The table prefix used for catalog tables that are created.</p>
419      */
WithTablePrefix(const char * value)420     inline UpdateCrawlerRequest& WithTablePrefix(const char* value) { SetTablePrefix(value); return *this;}
421 
422 
423     /**
424      * <p>The policy for the crawler's update and deletion behavior.</p>
425      */
GetSchemaChangePolicy()426     inline const SchemaChangePolicy& GetSchemaChangePolicy() const{ return m_schemaChangePolicy; }
427 
428     /**
429      * <p>The policy for the crawler's update and deletion behavior.</p>
430      */
SchemaChangePolicyHasBeenSet()431     inline bool SchemaChangePolicyHasBeenSet() const { return m_schemaChangePolicyHasBeenSet; }
432 
433     /**
434      * <p>The policy for the crawler's update and deletion behavior.</p>
435      */
SetSchemaChangePolicy(const SchemaChangePolicy & value)436     inline void SetSchemaChangePolicy(const SchemaChangePolicy& value) { m_schemaChangePolicyHasBeenSet = true; m_schemaChangePolicy = value; }
437 
438     /**
439      * <p>The policy for the crawler's update and deletion behavior.</p>
440      */
SetSchemaChangePolicy(SchemaChangePolicy && value)441     inline void SetSchemaChangePolicy(SchemaChangePolicy&& value) { m_schemaChangePolicyHasBeenSet = true; m_schemaChangePolicy = std::move(value); }
442 
443     /**
444      * <p>The policy for the crawler's update and deletion behavior.</p>
445      */
WithSchemaChangePolicy(const SchemaChangePolicy & value)446     inline UpdateCrawlerRequest& WithSchemaChangePolicy(const SchemaChangePolicy& value) { SetSchemaChangePolicy(value); return *this;}
447 
448     /**
449      * <p>The policy for the crawler's update and deletion behavior.</p>
450      */
WithSchemaChangePolicy(SchemaChangePolicy && value)451     inline UpdateCrawlerRequest& WithSchemaChangePolicy(SchemaChangePolicy&& value) { SetSchemaChangePolicy(std::move(value)); return *this;}
452 
453 
454     /**
455      * <p>A policy that specifies whether to crawl the entire dataset again, or to
456      * crawl only folders that were added since the last crawler run.</p>
457      */
GetRecrawlPolicy()458     inline const RecrawlPolicy& GetRecrawlPolicy() const{ return m_recrawlPolicy; }
459 
460     /**
461      * <p>A policy that specifies whether to crawl the entire dataset again, or to
462      * crawl only folders that were added since the last crawler run.</p>
463      */
RecrawlPolicyHasBeenSet()464     inline bool RecrawlPolicyHasBeenSet() const { return m_recrawlPolicyHasBeenSet; }
465 
466     /**
467      * <p>A policy that specifies whether to crawl the entire dataset again, or to
468      * crawl only folders that were added since the last crawler run.</p>
469      */
SetRecrawlPolicy(const RecrawlPolicy & value)470     inline void SetRecrawlPolicy(const RecrawlPolicy& value) { m_recrawlPolicyHasBeenSet = true; m_recrawlPolicy = value; }
471 
472     /**
473      * <p>A policy that specifies whether to crawl the entire dataset again, or to
474      * crawl only folders that were added since the last crawler run.</p>
475      */
SetRecrawlPolicy(RecrawlPolicy && value)476     inline void SetRecrawlPolicy(RecrawlPolicy&& value) { m_recrawlPolicyHasBeenSet = true; m_recrawlPolicy = std::move(value); }
477 
478     /**
479      * <p>A policy that specifies whether to crawl the entire dataset again, or to
480      * crawl only folders that were added since the last crawler run.</p>
481      */
WithRecrawlPolicy(const RecrawlPolicy & value)482     inline UpdateCrawlerRequest& WithRecrawlPolicy(const RecrawlPolicy& value) { SetRecrawlPolicy(value); return *this;}
483 
484     /**
485      * <p>A policy that specifies whether to crawl the entire dataset again, or to
486      * crawl only folders that were added since the last crawler run.</p>
487      */
WithRecrawlPolicy(RecrawlPolicy && value)488     inline UpdateCrawlerRequest& WithRecrawlPolicy(RecrawlPolicy&& value) { SetRecrawlPolicy(std::move(value)); return *this;}
489 
490 
491     /**
492      * <p>Specifies data lineage configuration settings for the crawler.</p>
493      */
GetLineageConfiguration()494     inline const LineageConfiguration& GetLineageConfiguration() const{ return m_lineageConfiguration; }
495 
496     /**
497      * <p>Specifies data lineage configuration settings for the crawler.</p>
498      */
LineageConfigurationHasBeenSet()499     inline bool LineageConfigurationHasBeenSet() const { return m_lineageConfigurationHasBeenSet; }
500 
501     /**
502      * <p>Specifies data lineage configuration settings for the crawler.</p>
503      */
SetLineageConfiguration(const LineageConfiguration & value)504     inline void SetLineageConfiguration(const LineageConfiguration& value) { m_lineageConfigurationHasBeenSet = true; m_lineageConfiguration = value; }
505 
506     /**
507      * <p>Specifies data lineage configuration settings for the crawler.</p>
508      */
SetLineageConfiguration(LineageConfiguration && value)509     inline void SetLineageConfiguration(LineageConfiguration&& value) { m_lineageConfigurationHasBeenSet = true; m_lineageConfiguration = std::move(value); }
510 
511     /**
512      * <p>Specifies data lineage configuration settings for the crawler.</p>
513      */
WithLineageConfiguration(const LineageConfiguration & value)514     inline UpdateCrawlerRequest& WithLineageConfiguration(const LineageConfiguration& value) { SetLineageConfiguration(value); return *this;}
515 
516     /**
517      * <p>Specifies data lineage configuration settings for the crawler.</p>
518      */
WithLineageConfiguration(LineageConfiguration && value)519     inline UpdateCrawlerRequest& WithLineageConfiguration(LineageConfiguration&& value) { SetLineageConfiguration(std::move(value)); return *this;}
520 
521 
522     /**
523      * <p>Crawler configuration information. This versioned JSON string allows users to
524      * specify aspects of a crawler's behavior. For more information, see <a
525      * href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring
526      * a Crawler</a>.</p>
527      */
GetConfiguration()528     inline const Aws::String& GetConfiguration() const{ return m_configuration; }
529 
530     /**
531      * <p>Crawler configuration information. This versioned JSON string allows users to
532      * specify aspects of a crawler's behavior. For more information, see <a
533      * href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring
534      * a Crawler</a>.</p>
535      */
ConfigurationHasBeenSet()536     inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
537 
538     /**
539      * <p>Crawler configuration information. This versioned JSON string allows users to
540      * specify aspects of a crawler's behavior. For more information, see <a
541      * href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring
542      * a Crawler</a>.</p>
543      */
SetConfiguration(const Aws::String & value)544     inline void SetConfiguration(const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration = value; }
545 
546     /**
547      * <p>Crawler configuration information. This versioned JSON string allows users to
548      * specify aspects of a crawler's behavior. For more information, see <a
549      * href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring
550      * a Crawler</a>.</p>
551      */
SetConfiguration(Aws::String && value)552     inline void SetConfiguration(Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
553 
554     /**
555      * <p>Crawler configuration information. This versioned JSON string allows users to
556      * specify aspects of a crawler's behavior. For more information, see <a
557      * href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring
558      * a Crawler</a>.</p>
559      */
SetConfiguration(const char * value)560     inline void SetConfiguration(const char* value) { m_configurationHasBeenSet = true; m_configuration.assign(value); }
561 
562     /**
563      * <p>Crawler configuration information. This versioned JSON string allows users to
564      * specify aspects of a crawler's behavior. For more information, see <a
565      * href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring
566      * a Crawler</a>.</p>
567      */
WithConfiguration(const Aws::String & value)568     inline UpdateCrawlerRequest& WithConfiguration(const Aws::String& value) { SetConfiguration(value); return *this;}
569 
570     /**
571      * <p>Crawler configuration information. This versioned JSON string allows users to
572      * specify aspects of a crawler's behavior. For more information, see <a
573      * href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring
574      * a Crawler</a>.</p>
575      */
WithConfiguration(Aws::String && value)576     inline UpdateCrawlerRequest& WithConfiguration(Aws::String&& value) { SetConfiguration(std::move(value)); return *this;}
577 
578     /**
579      * <p>Crawler configuration information. This versioned JSON string allows users to
580      * specify aspects of a crawler's behavior. For more information, see <a
581      * href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring
582      * a Crawler</a>.</p>
583      */
WithConfiguration(const char * value)584     inline UpdateCrawlerRequest& WithConfiguration(const char* value) { SetConfiguration(value); return *this;}
585 
586 
587     /**
588      * <p>The name of the <code>SecurityConfiguration</code> structure to be used by
589      * this crawler.</p>
590      */
GetCrawlerSecurityConfiguration()591     inline const Aws::String& GetCrawlerSecurityConfiguration() const{ return m_crawlerSecurityConfiguration; }
592 
593     /**
594      * <p>The name of the <code>SecurityConfiguration</code> structure to be used by
595      * this crawler.</p>
596      */
CrawlerSecurityConfigurationHasBeenSet()597     inline bool CrawlerSecurityConfigurationHasBeenSet() const { return m_crawlerSecurityConfigurationHasBeenSet; }
598 
599     /**
600      * <p>The name of the <code>SecurityConfiguration</code> structure to be used by
601      * this crawler.</p>
602      */
SetCrawlerSecurityConfiguration(const Aws::String & value)603     inline void SetCrawlerSecurityConfiguration(const Aws::String& value) { m_crawlerSecurityConfigurationHasBeenSet = true; m_crawlerSecurityConfiguration = value; }
604 
605     /**
606      * <p>The name of the <code>SecurityConfiguration</code> structure to be used by
607      * this crawler.</p>
608      */
SetCrawlerSecurityConfiguration(Aws::String && value)609     inline void SetCrawlerSecurityConfiguration(Aws::String&& value) { m_crawlerSecurityConfigurationHasBeenSet = true; m_crawlerSecurityConfiguration = std::move(value); }
610 
611     /**
612      * <p>The name of the <code>SecurityConfiguration</code> structure to be used by
613      * this crawler.</p>
614      */
SetCrawlerSecurityConfiguration(const char * value)615     inline void SetCrawlerSecurityConfiguration(const char* value) { m_crawlerSecurityConfigurationHasBeenSet = true; m_crawlerSecurityConfiguration.assign(value); }
616 
617     /**
618      * <p>The name of the <code>SecurityConfiguration</code> structure to be used by
619      * this crawler.</p>
620      */
WithCrawlerSecurityConfiguration(const Aws::String & value)621     inline UpdateCrawlerRequest& WithCrawlerSecurityConfiguration(const Aws::String& value) { SetCrawlerSecurityConfiguration(value); return *this;}
622 
623     /**
624      * <p>The name of the <code>SecurityConfiguration</code> structure to be used by
625      * this crawler.</p>
626      */
WithCrawlerSecurityConfiguration(Aws::String && value)627     inline UpdateCrawlerRequest& WithCrawlerSecurityConfiguration(Aws::String&& value) { SetCrawlerSecurityConfiguration(std::move(value)); return *this;}
628 
629     /**
630      * <p>The name of the <code>SecurityConfiguration</code> structure to be used by
631      * this crawler.</p>
632      */
WithCrawlerSecurityConfiguration(const char * value)633     inline UpdateCrawlerRequest& WithCrawlerSecurityConfiguration(const char* value) { SetCrawlerSecurityConfiguration(value); return *this;}
634 
635   private:
636 
637     Aws::String m_name;
638     bool m_nameHasBeenSet;
639 
640     Aws::String m_role;
641     bool m_roleHasBeenSet;
642 
643     Aws::String m_databaseName;
644     bool m_databaseNameHasBeenSet;
645 
646     Aws::String m_description;
647     bool m_descriptionHasBeenSet;
648 
649     CrawlerTargets m_targets;
650     bool m_targetsHasBeenSet;
651 
652     Aws::String m_schedule;
653     bool m_scheduleHasBeenSet;
654 
655     Aws::Vector<Aws::String> m_classifiers;
656     bool m_classifiersHasBeenSet;
657 
658     Aws::String m_tablePrefix;
659     bool m_tablePrefixHasBeenSet;
660 
661     SchemaChangePolicy m_schemaChangePolicy;
662     bool m_schemaChangePolicyHasBeenSet;
663 
664     RecrawlPolicy m_recrawlPolicy;
665     bool m_recrawlPolicyHasBeenSet;
666 
667     LineageConfiguration m_lineageConfiguration;
668     bool m_lineageConfigurationHasBeenSet;
669 
670     Aws::String m_configuration;
671     bool m_configurationHasBeenSet;
672 
673     Aws::String m_crawlerSecurityConfiguration;
674     bool m_crawlerSecurityConfigurationHasBeenSet;
675   };
676 
677 } // namespace Model
678 } // namespace Glue
679 } // namespace Aws
680