/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the glue-2017-03-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Glue.Model
{
///
/// Container for the parameters to the UpdateCrawler operation.
/// Updates a crawler. If a crawler is running, you must stop it using StopCrawler
/// before updating it.
///
public partial class UpdateCrawlerRequest : AmazonGlueRequest
{
private List _classifiers = new List();
private string _configuration;
private string _crawlerSecurityConfiguration;
private string _databaseName;
private string _description;
private LakeFormationConfiguration _lakeFormationConfiguration;
private LineageConfiguration _lineageConfiguration;
private string _name;
private RecrawlPolicy _recrawlPolicy;
private string _role;
private string _schedule;
private SchemaChangePolicy _schemaChangePolicy;
private string _tablePrefix;
private CrawlerTargets _targets;
///
/// Gets and sets the property Classifiers.
///
/// 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.
///
///
public List Classifiers
{
get { return this._classifiers; }
set { this._classifiers = value; }
}
// Check to see if Classifiers property is set
internal bool IsSetClassifiers()
{
return this._classifiers != null && this._classifiers.Count > 0;
}
///
/// Gets and sets the property Configuration.
///
/// Crawler configuration information. This versioned JSON string allows users to specify
/// aspects of a crawler's behavior. For more information, see Setting
/// crawler configuration options.
///
///
public string Configuration
{
get { return this._configuration; }
set { this._configuration = value; }
}
// Check to see if Configuration property is set
internal bool IsSetConfiguration()
{
return this._configuration != null;
}
///
/// Gets and sets the property CrawlerSecurityConfiguration.
///
/// The name of the SecurityConfiguration
structure to be used by this crawler.
///
///
[AWSProperty(Min=0, Max=128)]
public string CrawlerSecurityConfiguration
{
get { return this._crawlerSecurityConfiguration; }
set { this._crawlerSecurityConfiguration = value; }
}
// Check to see if CrawlerSecurityConfiguration property is set
internal bool IsSetCrawlerSecurityConfiguration()
{
return this._crawlerSecurityConfiguration != null;
}
///
/// Gets and sets the property DatabaseName.
///
/// The Glue database where results are stored, such as: arn:aws:daylight:us-east-1::database/sometable/*
.
///
///
public string DatabaseName
{
get { return this._databaseName; }
set { this._databaseName = value; }
}
// Check to see if DatabaseName property is set
internal bool IsSetDatabaseName()
{
return this._databaseName != null;
}
///
/// Gets and sets the property Description.
///
/// A description of the new crawler.
///
///
[AWSProperty(Min=0, Max=2048)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property LakeFormationConfiguration.
///
/// Specifies Lake Formation configuration settings for the crawler.
///
///
public LakeFormationConfiguration LakeFormationConfiguration
{
get { return this._lakeFormationConfiguration; }
set { this._lakeFormationConfiguration = value; }
}
// Check to see if LakeFormationConfiguration property is set
internal bool IsSetLakeFormationConfiguration()
{
return this._lakeFormationConfiguration != null;
}
///
/// Gets and sets the property LineageConfiguration.
///
/// Specifies data lineage configuration settings for the crawler.
///
///
public LineageConfiguration LineageConfiguration
{
get { return this._lineageConfiguration; }
set { this._lineageConfiguration = value; }
}
// Check to see if LineageConfiguration property is set
internal bool IsSetLineageConfiguration()
{
return this._lineageConfiguration != null;
}
///
/// Gets and sets the property Name.
///
/// Name of the new crawler.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property RecrawlPolicy.
///
/// A policy that specifies whether to crawl the entire dataset again, or to crawl only
/// folders that were added since the last crawler run.
///
///
public RecrawlPolicy RecrawlPolicy
{
get { return this._recrawlPolicy; }
set { this._recrawlPolicy = value; }
}
// Check to see if RecrawlPolicy property is set
internal bool IsSetRecrawlPolicy()
{
return this._recrawlPolicy != null;
}
///
/// Gets and sets the property Role.
///
/// The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new
/// crawler to access customer resources.
///
///
public string Role
{
get { return this._role; }
set { this._role = value; }
}
// Check to see if Role property is set
internal bool IsSetRole()
{
return this._role != null;
}
///
/// Gets and sets the property Schedule.
///
/// A cron
expression used to specify the schedule (see Time-Based
/// Schedules for Jobs and Crawlers. For example, to run something every day at 12:15
/// UTC, you would specify: cron(15 12 * * ? *)
.
///
///
public string Schedule
{
get { return this._schedule; }
set { this._schedule = value; }
}
// Check to see if Schedule property is set
internal bool IsSetSchedule()
{
return this._schedule != null;
}
///
/// Gets and sets the property SchemaChangePolicy.
///
/// The policy for the crawler's update and deletion behavior.
///
///
public SchemaChangePolicy SchemaChangePolicy
{
get { return this._schemaChangePolicy; }
set { this._schemaChangePolicy = value; }
}
// Check to see if SchemaChangePolicy property is set
internal bool IsSetSchemaChangePolicy()
{
return this._schemaChangePolicy != null;
}
///
/// Gets and sets the property TablePrefix.
///
/// The table prefix used for catalog tables that are created.
///
///
[AWSProperty(Min=0, Max=128)]
public string TablePrefix
{
get { return this._tablePrefix; }
set { this._tablePrefix = value; }
}
// Check to see if TablePrefix property is set
internal bool IsSetTablePrefix()
{
return this._tablePrefix != null;
}
///
/// Gets and sets the property Targets.
///
/// A list of targets to crawl.
///
///
public CrawlerTargets Targets
{
get { return this._targets; }
set { this._targets = value; }
}
// Check to see if Targets property is set
internal bool IsSetTargets()
{
return this._targets != null;
}
}
}