/*
* 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
{
///
/// A structure that is used to specify a connection to create or update.
///
public partial class ConnectionInput
{
private Dictionary _connectionProperties = new Dictionary();
private ConnectionType _connectionType;
private string _description;
private List _matchCriteria = new List();
private string _name;
private PhysicalConnectionRequirements _physicalConnectionRequirements;
///
/// Gets and sets the property ConnectionProperties.
///
/// These key-value pairs define parameters for the connection.
///
///
[AWSProperty(Required=true, Min=0, Max=100)]
public Dictionary ConnectionProperties
{
get { return this._connectionProperties; }
set { this._connectionProperties = value; }
}
// Check to see if ConnectionProperties property is set
internal bool IsSetConnectionProperties()
{
return this._connectionProperties != null && this._connectionProperties.Count > 0;
}
///
/// Gets and sets the property ConnectionType.
///
/// The type of the connection. Currently, these types are supported:
///
/// -
///
///
JDBC
- Designates a connection to a database through Java Database Connectivity
/// (JDBC).
///
///
///
/// JDBC
Connections use the following ConnectionParameters.
///
/// -
///
/// Required: All of (
HOST
, PORT
, JDBC_ENGINE
)
/// or JDBC_CONNECTION_URL
.
///
/// -
///
/// Required: All of (
USERNAME
, PASSWORD
) or SECRET_ID
.
///
/// -
///
/// Optional:
JDBC_ENFORCE_SSL
, CUSTOM_JDBC_CERT
, CUSTOM_JDBC_CERT_STRING
,
/// SKIP_CUSTOM_JDBC_CERT_VALIDATION
. These parameters are used to configure
/// SSL with JDBC.
///
///
-
///
///
KAFKA
- Designates a connection to an Apache Kafka streaming platform.
///
///
///
/// KAFKA
Connections use the following ConnectionParameters.
///
/// -
///
/// Required:
KAFKA_BOOTSTRAP_SERVERS
.
///
/// -
///
/// Optional:
KAFKA_SSL_ENABLED
, KAFKA_CUSTOM_CERT
, KAFKA_SKIP_CUSTOM_CERT_VALIDATION
.
/// These parameters are used to configure SSL with KAFKA
.
///
/// -
///
/// Optional:
KAFKA_CLIENT_KEYSTORE
, KAFKA_CLIENT_KEYSTORE_PASSWORD
,
/// KAFKA_CLIENT_KEY_PASSWORD
, ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD
,
/// ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD
. These parameters are used to configure
/// TLS client configuration with SSL in KAFKA
.
///
/// -
///
/// Optional:
KAFKA_SASL_MECHANISM
. Can be specified as SCRAM-SHA-512
,
/// GSSAPI
, or AWS_MSK_IAM
.
///
/// -
///
/// Optional:
KAFKA_SASL_SCRAM_USERNAME
, KAFKA_SASL_SCRAM_PASSWORD
,
/// ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD
. These parameters are used to configure
/// SASL/SCRAM-SHA-512 authentication with KAFKA
.
///
/// -
///
/// Optional:
KAFKA_SASL_GSSAPI_KEYTAB
, KAFKA_SASL_GSSAPI_KRB5_CONF
,
/// KAFKA_SASL_GSSAPI_SERVICE
, KAFKA_SASL_GSSAPI_PRINCIPAL
.
/// These parameters are used to configure SASL/GSSAPI authentication with KAFKA
.
///
///
-
///
///
MONGODB
- Designates a connection to a MongoDB document database.
///
///
///
/// MONGODB
Connections use the following ConnectionParameters.
///
/// -
///
/// Required:
CONNECTION_URL
.
///
/// -
///
/// Required: All of (
USERNAME
, PASSWORD
) or SECRET_ID
.
///
///
-
///
///
NETWORK
- Designates a network connection to a data source within an
/// Amazon Virtual Private Cloud environment (Amazon VPC).
///
///
///
/// NETWORK
Connections do not require ConnectionParameters. Instead, provide
/// a PhysicalConnectionRequirements.
///
/// -
///
///
MARKETPLACE
- Uses configuration settings contained in a connector purchased
/// from Amazon Web Services Marketplace to read from and write to data stores that are
/// not natively supported by Glue.
///
///
///
/// MARKETPLACE
Connections use the following ConnectionParameters.
///
/// -
///
/// Required:
CONNECTOR_TYPE
, CONNECTOR_URL
, CONNECTOR_CLASS_NAME
,
/// CONNECTION_URL
.
///
/// -
///
/// Required for
JDBC
CONNECTOR_TYPE
connections: All of (USERNAME
,
/// PASSWORD
) or SECRET_ID
.
///
///
-
///
///
CUSTOM
- Uses configuration settings contained in a custom connector
/// to read from and write to data stores that are not natively supported by Glue.
///
///
///
/// SFTP
is not supported.
///
///
///
/// For more information about how optional ConnectionProperties are used to configure
/// features in Glue, consult Glue
/// connection properties.
///
///
///
/// For more information about how optional ConnectionProperties are used to configure
/// features in Glue Studio, consult Using
/// connectors and connections.
///
///
[AWSProperty(Required=true)]
public ConnectionType ConnectionType
{
get { return this._connectionType; }
set { this._connectionType = value; }
}
// Check to see if ConnectionType property is set
internal bool IsSetConnectionType()
{
return this._connectionType != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the connection.
///
///
[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 MatchCriteria.
///
/// A list of criteria that can be used in selecting this connection.
///
///
[AWSProperty(Min=0, Max=10)]
public List MatchCriteria
{
get { return this._matchCriteria; }
set { this._matchCriteria = value; }
}
// Check to see if MatchCriteria property is set
internal bool IsSetMatchCriteria()
{
return this._matchCriteria != null && this._matchCriteria.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// The name of the connection. Connection will not function as expected without a name.
///
///
[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 PhysicalConnectionRequirements.
///
/// A map of physical connection requirements, such as virtual private cloud (VPC) and
/// SecurityGroup
, that are needed to successfully make this connection.
///
///
public PhysicalConnectionRequirements PhysicalConnectionRequirements
{
get { return this._physicalConnectionRequirements; }
set { this._physicalConnectionRequirements = value; }
}
// Check to see if PhysicalConnectionRequirements property is set
internal bool IsSetPhysicalConnectionRequirements()
{
return this._physicalConnectionRequirements != null;
}
}
}