/* * 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; } } }