/*
* 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
{
///
/// The structure used to create or update a database.
///
public partial class DatabaseInput
{
private List _createTableDefaultPermissions = new List();
private string _description;
private FederatedDatabase _federatedDatabase;
private string _locationUri;
private string _name;
private Dictionary _parameters = new Dictionary();
private DatabaseIdentifier _targetDatabase;
///
/// Gets and sets the property CreateTableDefaultPermissions.
///
/// Creates a set of default permissions on the table for principals. Used by Lake Formation.
/// Not used in the normal course of Glue operations.
///
///
public List CreateTableDefaultPermissions
{
get { return this._createTableDefaultPermissions; }
set { this._createTableDefaultPermissions = value; }
}
// Check to see if CreateTableDefaultPermissions property is set
internal bool IsSetCreateTableDefaultPermissions()
{
return this._createTableDefaultPermissions != null && this._createTableDefaultPermissions.Count > 0;
}
///
/// Gets and sets the property Description.
///
/// A description of the database.
///
///
[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 FederatedDatabase.
///
/// A FederatedDatabase
structure that references an entity outside the Glue
/// Data Catalog.
///
///
public FederatedDatabase FederatedDatabase
{
get { return this._federatedDatabase; }
set { this._federatedDatabase = value; }
}
// Check to see if FederatedDatabase property is set
internal bool IsSetFederatedDatabase()
{
return this._federatedDatabase != null;
}
///
/// Gets and sets the property LocationUri.
///
/// The location of the database (for example, an HDFS path).
///
///
[AWSProperty(Min=1, Max=1024)]
public string LocationUri
{
get { return this._locationUri; }
set { this._locationUri = value; }
}
// Check to see if LocationUri property is set
internal bool IsSetLocationUri()
{
return this._locationUri != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the database. For Hive compatibility, this is folded to lowercase when
/// it is stored.
///
///
[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 Parameters.
///
/// These key-value pairs define parameters and properties of the database.
///
///
///
/// These key-value pairs define parameters and properties of the database.
///
///
public Dictionary Parameters
{
get { return this._parameters; }
set { this._parameters = value; }
}
// Check to see if Parameters property is set
internal bool IsSetParameters()
{
return this._parameters != null && this._parameters.Count > 0;
}
///
/// Gets and sets the property TargetDatabase.
///
/// A DatabaseIdentifier
structure that describes a target database for resource
/// linking.
///
///
public DatabaseIdentifier TargetDatabase
{
get { return this._targetDatabase; }
set { this._targetDatabase = value; }
}
// Check to see if TargetDatabase property is set
internal bool IsSetTargetDatabase()
{
return this._targetDatabase != null;
}
}
}