/* * Copyright 2018-2023 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. */ package com.amazonaws.services.glue.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Defines a connection to a data source. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Connection implements Serializable, Cloneable, StructuredPojo { /** *

* The name of the connection definition. *

*/ private String name; /** *

* The description of the connection. *

*/ private String description; /** *

* The type of the connection. Currently, SFTP is not supported. *

*/ private String connectionType; /** *

* A list of criteria that can be used in selecting this connection. *

*/ private java.util.List matchCriteria; /** *

* These key-value pairs define parameters for the connection: *

* */ private java.util.Map connectionProperties; /** *

* A map of physical connection requirements, such as virtual private cloud (VPC) and SecurityGroup, * that are needed to make this connection successfully. *

*/ private PhysicalConnectionRequirements physicalConnectionRequirements; /** *

* The time that this connection definition was created. *

*/ private java.util.Date creationTime; /** *

* The last time that this connection definition was updated. *

*/ private java.util.Date lastUpdatedTime; /** *

* The user, group, or role that last updated this connection definition. *

*/ private String lastUpdatedBy; /** *

* The name of the connection definition. *

* * @param name * The name of the connection definition. */ public void setName(String name) { this.name = name; } /** *

* The name of the connection definition. *

* * @return The name of the connection definition. */ public String getName() { return this.name; } /** *

* The name of the connection definition. *

* * @param name * The name of the connection definition. * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withName(String name) { setName(name); return this; } /** *

* The description of the connection. *

* * @param description * The description of the connection. */ public void setDescription(String description) { this.description = description; } /** *

* The description of the connection. *

* * @return The description of the connection. */ public String getDescription() { return this.description; } /** *

* The description of the connection. *

* * @param description * The description of the connection. * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withDescription(String description) { setDescription(description); return this; } /** *

* The type of the connection. Currently, SFTP is not supported. *

* * @param connectionType * The type of the connection. Currently, SFTP is not supported. * @see ConnectionType */ public void setConnectionType(String connectionType) { this.connectionType = connectionType; } /** *

* The type of the connection. Currently, SFTP is not supported. *

* * @return The type of the connection. Currently, SFTP is not supported. * @see ConnectionType */ public String getConnectionType() { return this.connectionType; } /** *

* The type of the connection. Currently, SFTP is not supported. *

* * @param connectionType * The type of the connection. Currently, SFTP is not supported. * @return Returns a reference to this object so that method calls can be chained together. * @see ConnectionType */ public Connection withConnectionType(String connectionType) { setConnectionType(connectionType); return this; } /** *

* The type of the connection. Currently, SFTP is not supported. *

* * @param connectionType * The type of the connection. Currently, SFTP is not supported. * @return Returns a reference to this object so that method calls can be chained together. * @see ConnectionType */ public Connection withConnectionType(ConnectionType connectionType) { this.connectionType = connectionType.toString(); return this; } /** *

* A list of criteria that can be used in selecting this connection. *

* * @return A list of criteria that can be used in selecting this connection. */ public java.util.List getMatchCriteria() { return matchCriteria; } /** *

* A list of criteria that can be used in selecting this connection. *

* * @param matchCriteria * A list of criteria that can be used in selecting this connection. */ public void setMatchCriteria(java.util.Collection matchCriteria) { if (matchCriteria == null) { this.matchCriteria = null; return; } this.matchCriteria = new java.util.ArrayList(matchCriteria); } /** *

* A list of criteria that can be used in selecting this connection. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setMatchCriteria(java.util.Collection)} or {@link #withMatchCriteria(java.util.Collection)} if you want * to override the existing values. *

* * @param matchCriteria * A list of criteria that can be used in selecting this connection. * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withMatchCriteria(String... matchCriteria) { if (this.matchCriteria == null) { setMatchCriteria(new java.util.ArrayList(matchCriteria.length)); } for (String ele : matchCriteria) { this.matchCriteria.add(ele); } return this; } /** *

* A list of criteria that can be used in selecting this connection. *

* * @param matchCriteria * A list of criteria that can be used in selecting this connection. * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withMatchCriteria(java.util.Collection matchCriteria) { setMatchCriteria(matchCriteria); return this; } /** *

* These key-value pairs define parameters for the connection: *

*
    *
  • *

    * HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the * database host. *

    *
  • *
  • *

    * PORT - The port number, between 1024 and 65535, of the port on which the database host is listening * for database connections. *

    *
  • *
  • *

    * USER_NAME - The name under which to log in to the database. The value string for * USER_NAME is "USERNAME". *

    *
  • *
  • *

    * PASSWORD - A password, if one is used, for the user name. *

    *
  • *
  • *

    * ENCRYPTED_PASSWORD - When you enable connection password protection by setting * ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the * encrypted password. *

    *
  • *
  • *

    * JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the JAR file that * contains the JDBC driver to use. *

    *
  • *
  • *

    * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use. *

    *
  • *
  • *

    * JDBC_ENGINE - The name of the JDBC engine to use. *

    *
  • *
  • *

    * JDBC_ENGINE_VERSION - The version of the JDBC engine to use. *

    *
  • *
  • *

    * CONFIG_FILES - (Reserved for future use.) *

    *
  • *
  • *

    * INSTANCE_ID - The instance ID to use. *

    *
  • *
  • *

    * JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source. *

    *
  • *
  • *

    * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure Sockets Layer (SSL) with * hostname matching is enforced for the JDBC connection on the client. The default is false. *

    *
  • *
  • *

    * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. Glue uses this * root certificate to validate the customer’s certificate when connecting to the customer database. Glue only * handles X.509 certificates. The certificate provided must be DER-encoded and supplied in Base64 encoding PEM * format. *

    *
  • *
  • *

    * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. Glue validates the * Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted algorithms * for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject Public Key * Algorithm, the key length must be at least 2048. You can set the value of this property to true to * skip Glue’s validation of the customer certificate. *

    *
  • *
  • *

    * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or * distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the * SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the hostNameInCertificate. *

    *
  • *
  • *

    * CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source. *

    *
  • *
  • *

    * SECRET_ID - The secret ID used for the secret manager of credentials. *

    *
  • *
  • *

    * CONNECTOR_URL - The connector URL for a MARKETPLACE or CUSTOM connection. *

    *
  • *
  • *

    * CONNECTOR_TYPE - The connector type for a MARKETPLACE or CUSTOM connection. *

    *
  • *
  • *

    * CONNECTOR_CLASS_NAME - The connector class name for a MARKETPLACE or CUSTOM connection. *

    *
  • *
  • *

    * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the addresses of * the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and bootstrap itself. *

    *
  • *
  • *

    * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default value is * "true". *

    *
  • *
  • *

    * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default is an * empty string. *

    *
  • *
  • *

    * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or not. Glue * validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is "false". *

    *
  • *
  • *

    * KAFKA_CLIENT_KEYSTORE - The Amazon S3 location of the client keystore file for Kafka client side * authentication (Optional). *

    *
  • *
  • *

    * KAFKA_CLIENT_KEYSTORE_PASSWORD - The password to access the provided keystore (Optional). *

    *
  • *
  • *

    * KAFKA_CLIENT_KEY_PASSWORD - A keystore can consist of multiple keys, so this is the password to * access the client key to be used with the Kafka server side key (Optional). *

    *
  • *
  • *

    * ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD - The encrypted version of the Kafka client keystore * password (if the user has the Glue encrypt passwords setting selected). *

    *
  • *
  • *

    * ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD - The encrypted version of the Kafka client key password (if the * user has the Glue encrypt passwords setting selected). *

    *
  • *
  • *

    * KAFKA_SASL_MECHANISM - "SCRAM-SHA-512", "GSSAPI", or * "AWS_MSK_IAM". These are the supported SASL Mechanisms. *

    *
  • *
  • *

    * KAFKA_SASL_SCRAM_USERNAME - A plaintext username used to authenticate with the "SCRAM-SHA-512" * mechanism. *

    *
  • *
  • *

    * KAFKA_SASL_SCRAM_PASSWORD - A plaintext password used to authenticate with the "SCRAM-SHA-512" * mechanism. *

    *
  • *
  • *

    * ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD - The encrypted version of the Kafka SASL SCRAM password (if the * user has the Glue encrypt passwords setting selected). *

    *
  • *
  • *

    * KAFKA_SASL_GSSAPI_KEYTAB - The S3 location of a Kerberos keytab file. A keytab stores * long-term keys for one or more principals. For more information, see MIT Kerberos Documentation: Keytab. *

    *
  • *
  • *

    * KAFKA_SASL_GSSAPI_KRB5_CONF - The S3 location of a Kerberos krb5.conf file. A krb5.conf * stores Kerberos configuration information, such as the location of the KDC server. For more information, see MIT Kerberos Documentation: * krb5.conf. *

    *
  • *
  • *

    * KAFKA_SASL_GSSAPI_SERVICE - The Kerberos service name, as set with * sasl.kerberos.service.name in your Kafka Configuration. *

    *
  • *
  • *

    * KAFKA_SASL_GSSAPI_PRINCIPAL - The name of the Kerberos princial used by Glue. For more information, * see Kafka Documentation: * Configuring Kafka Brokers. *

    *
  • *
* * @return These key-value pairs define parameters for the connection:

*
    *
  • *

    * HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of * the database host. *

    *
  • *
  • *

    * PORT - The port number, between 1024 and 65535, of the port on which the database host is * listening for database connections. *

    *
  • *
  • *

    * USER_NAME - The name under which to log in to the database. The value string for * USER_NAME is "USERNAME". *

    *
  • *
  • *

    * PASSWORD - A password, if one is used, for the user name. *

    *
  • *
  • *

    * ENCRYPTED_PASSWORD - When you enable connection password protection by setting * ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the * encrypted password. *

    *
  • *
  • *

    * JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the JAR file * that contains the JDBC driver to use. *

    *
  • *
  • *

    * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use. *

    *
  • *
  • *

    * JDBC_ENGINE - The name of the JDBC engine to use. *

    *
  • *
  • *

    * JDBC_ENGINE_VERSION - The version of the JDBC engine to use. *

    *
  • *
  • *

    * CONFIG_FILES - (Reserved for future use.) *

    *
  • *
  • *

    * INSTANCE_ID - The instance ID to use. *

    *
  • *
  • *

    * JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source. *

    *
  • *
  • *

    * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure Sockets Layer * (SSL) with hostname matching is enforced for the JDBC connection on the client. The default is false. *

    *
  • *
  • *

    * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. Glue * uses this root certificate to validate the customer’s certificate when connecting to the customer * database. Glue only handles X.509 certificates. The certificate provided must be DER-encoded and supplied * in Base64 encoding PEM format. *

    *
  • *
  • *

    * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. Glue validates * the Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted * algorithms for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject * Public Key Algorithm, the key length must be at least 2048. You can set the value of this property to * true to skip Glue’s validation of the customer certificate. *

    *
  • *
  • *

    * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or * distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the * SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the * hostNameInCertificate. *

    *
  • *
  • *

    * CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source. *

    *
  • *
  • *

    * SECRET_ID - The secret ID used for the secret manager of credentials. *

    *
  • *
  • *

    * CONNECTOR_URL - The connector URL for a MARKETPLACE or CUSTOM connection. *

    *
  • *
  • *

    * CONNECTOR_TYPE - The connector type for a MARKETPLACE or CUSTOM connection. *

    *
  • *
  • *

    * CONNECTOR_CLASS_NAME - The connector class name for a MARKETPLACE or CUSTOM connection. *

    *
  • *
  • *

    * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the * addresses of the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and * bootstrap itself. *

    *
  • *
  • *

    * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default * value is "true". *

    *
  • *
  • *

    * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The * default is an empty string. *

    *
  • *
  • *

    * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or * not. Glue validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value * is "false". *

    *
  • *
  • *

    * KAFKA_CLIENT_KEYSTORE - The Amazon S3 location of the client keystore file for Kafka client * side authentication (Optional). *

    *
  • *
  • *

    * KAFKA_CLIENT_KEYSTORE_PASSWORD - The password to access the provided keystore (Optional). *

    *
  • *
  • *

    * KAFKA_CLIENT_KEY_PASSWORD - A keystore can consist of multiple keys, so this is the password * to access the client key to be used with the Kafka server side key (Optional). *

    *
  • *
  • *

    * ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD - The encrypted version of the Kafka client * keystore password (if the user has the Glue encrypt passwords setting selected). *

    *
  • *
  • *

    * ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD - The encrypted version of the Kafka client key password * (if the user has the Glue encrypt passwords setting selected). *

    *
  • *
  • *

    * KAFKA_SASL_MECHANISM - "SCRAM-SHA-512", "GSSAPI", or * "AWS_MSK_IAM". These are the supported SASL Mechanisms. *

    *
  • *
  • *

    * KAFKA_SASL_SCRAM_USERNAME - A plaintext username used to authenticate with the * "SCRAM-SHA-512" mechanism. *

    *
  • *
  • *

    * KAFKA_SASL_SCRAM_PASSWORD - A plaintext password used to authenticate with the * "SCRAM-SHA-512" mechanism. *

    *
  • *
  • *

    * ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD - The encrypted version of the Kafka SASL SCRAM password * (if the user has the Glue encrypt passwords setting selected). *

    *
  • *
  • *

    * KAFKA_SASL_GSSAPI_KEYTAB - The S3 location of a Kerberos keytab file. A keytab * stores long-term keys for one or more principals. For more information, see MIT Kerberos Documentation: * Keytab. *

    *
  • *
  • *

    * KAFKA_SASL_GSSAPI_KRB5_CONF - The S3 location of a Kerberos krb5.conf file. A * krb5.conf stores Kerberos configuration information, such as the location of the KDC server. For more * information, see MIT * Kerberos Documentation: krb5.conf. *

    *
  • *
  • *

    * KAFKA_SASL_GSSAPI_SERVICE - The Kerberos service name, as set with * sasl.kerberos.service.name in your Kafka * Configuration. *

    *
  • *
  • *

    * KAFKA_SASL_GSSAPI_PRINCIPAL - The name of the Kerberos princial used by Glue. For more * information, see Kafka Documentation: * Configuring Kafka Brokers. *

    *
  • */ public java.util.Map getConnectionProperties() { return connectionProperties; } /** *

    * These key-value pairs define parameters for the connection: *

    *
      *
    • *

      * HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the * database host. *

      *
    • *
    • *

      * PORT - The port number, between 1024 and 65535, of the port on which the database host is listening * for database connections. *

      *
    • *
    • *

      * USER_NAME - The name under which to log in to the database. The value string for * USER_NAME is "USERNAME". *

      *
    • *
    • *

      * PASSWORD - A password, if one is used, for the user name. *

      *
    • *
    • *

      * ENCRYPTED_PASSWORD - When you enable connection password protection by setting * ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the * encrypted password. *

      *
    • *
    • *

      * JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the JAR file that * contains the JDBC driver to use. *

      *
    • *
    • *

      * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use. *

      *
    • *
    • *

      * JDBC_ENGINE - The name of the JDBC engine to use. *

      *
    • *
    • *

      * JDBC_ENGINE_VERSION - The version of the JDBC engine to use. *

      *
    • *
    • *

      * CONFIG_FILES - (Reserved for future use.) *

      *
    • *
    • *

      * INSTANCE_ID - The instance ID to use. *

      *
    • *
    • *

      * JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source. *

      *
    • *
    • *

      * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure Sockets Layer (SSL) with * hostname matching is enforced for the JDBC connection on the client. The default is false. *

      *
    • *
    • *

      * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. Glue uses this * root certificate to validate the customer’s certificate when connecting to the customer database. Glue only * handles X.509 certificates. The certificate provided must be DER-encoded and supplied in Base64 encoding PEM * format. *

      *
    • *
    • *

      * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. Glue validates the * Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted algorithms * for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject Public Key * Algorithm, the key length must be at least 2048. You can set the value of this property to true to * skip Glue’s validation of the customer certificate. *

      *
    • *
    • *

      * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or * distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the * SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the hostNameInCertificate. *

      *
    • *
    • *

      * CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source. *

      *
    • *
    • *

      * SECRET_ID - The secret ID used for the secret manager of credentials. *

      *
    • *
    • *

      * CONNECTOR_URL - The connector URL for a MARKETPLACE or CUSTOM connection. *

      *
    • *
    • *

      * CONNECTOR_TYPE - The connector type for a MARKETPLACE or CUSTOM connection. *

      *
    • *
    • *

      * CONNECTOR_CLASS_NAME - The connector class name for a MARKETPLACE or CUSTOM connection. *

      *
    • *
    • *

      * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the addresses of * the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and bootstrap itself. *

      *
    • *
    • *

      * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default value is * "true". *

      *
    • *
    • *

      * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default is an * empty string. *

      *
    • *
    • *

      * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or not. Glue * validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is "false". *

      *
    • *
    • *

      * KAFKA_CLIENT_KEYSTORE - The Amazon S3 location of the client keystore file for Kafka client side * authentication (Optional). *

      *
    • *
    • *

      * KAFKA_CLIENT_KEYSTORE_PASSWORD - The password to access the provided keystore (Optional). *

      *
    • *
    • *

      * KAFKA_CLIENT_KEY_PASSWORD - A keystore can consist of multiple keys, so this is the password to * access the client key to be used with the Kafka server side key (Optional). *

      *
    • *
    • *

      * ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD - The encrypted version of the Kafka client keystore * password (if the user has the Glue encrypt passwords setting selected). *

      *
    • *
    • *

      * ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD - The encrypted version of the Kafka client key password (if the * user has the Glue encrypt passwords setting selected). *

      *
    • *
    • *

      * KAFKA_SASL_MECHANISM - "SCRAM-SHA-512", "GSSAPI", or * "AWS_MSK_IAM". These are the supported SASL Mechanisms. *

      *
    • *
    • *

      * KAFKA_SASL_SCRAM_USERNAME - A plaintext username used to authenticate with the "SCRAM-SHA-512" * mechanism. *

      *
    • *
    • *

      * KAFKA_SASL_SCRAM_PASSWORD - A plaintext password used to authenticate with the "SCRAM-SHA-512" * mechanism. *

      *
    • *
    • *

      * ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD - The encrypted version of the Kafka SASL SCRAM password (if the * user has the Glue encrypt passwords setting selected). *

      *
    • *
    • *

      * KAFKA_SASL_GSSAPI_KEYTAB - The S3 location of a Kerberos keytab file. A keytab stores * long-term keys for one or more principals. For more information, see MIT Kerberos Documentation: Keytab. *

      *
    • *
    • *

      * KAFKA_SASL_GSSAPI_KRB5_CONF - The S3 location of a Kerberos krb5.conf file. A krb5.conf * stores Kerberos configuration information, such as the location of the KDC server. For more information, see MIT Kerberos Documentation: * krb5.conf. *

      *
    • *
    • *

      * KAFKA_SASL_GSSAPI_SERVICE - The Kerberos service name, as set with * sasl.kerberos.service.name in your Kafka Configuration. *

      *
    • *
    • *

      * KAFKA_SASL_GSSAPI_PRINCIPAL - The name of the Kerberos princial used by Glue. For more information, * see Kafka Documentation: * Configuring Kafka Brokers. *

      *
    • *
    * * @param connectionProperties * These key-value pairs define parameters for the connection:

    *
      *
    • *

      * HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the * database host. *

      *
    • *
    • *

      * PORT - The port number, between 1024 and 65535, of the port on which the database host is * listening for database connections. *

      *
    • *
    • *

      * USER_NAME - The name under which to log in to the database. The value string for * USER_NAME is "USERNAME". *

      *
    • *
    • *

      * PASSWORD - A password, if one is used, for the user name. *

      *
    • *
    • *

      * ENCRYPTED_PASSWORD - When you enable connection password protection by setting * ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the * encrypted password. *

      *
    • *
    • *

      * JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the JAR file that * contains the JDBC driver to use. *

      *
    • *
    • *

      * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use. *

      *
    • *
    • *

      * JDBC_ENGINE - The name of the JDBC engine to use. *

      *
    • *
    • *

      * JDBC_ENGINE_VERSION - The version of the JDBC engine to use. *

      *
    • *
    • *

      * CONFIG_FILES - (Reserved for future use.) *

      *
    • *
    • *

      * INSTANCE_ID - The instance ID to use. *

      *
    • *
    • *

      * JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source. *

      *
    • *
    • *

      * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure Sockets Layer * (SSL) with hostname matching is enforced for the JDBC connection on the client. The default is false. *

      *
    • *
    • *

      * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. Glue * uses this root certificate to validate the customer’s certificate when connecting to the customer * database. Glue only handles X.509 certificates. The certificate provided must be DER-encoded and supplied * in Base64 encoding PEM format. *

      *
    • *
    • *

      * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. Glue validates the * Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted * algorithms for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject * Public Key Algorithm, the key length must be at least 2048. You can set the value of this property to * true to skip Glue’s validation of the customer certificate. *

      *
    • *
    • *

      * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or * distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the * SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the * hostNameInCertificate. *

      *
    • *
    • *

      * CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source. *

      *
    • *
    • *

      * SECRET_ID - The secret ID used for the secret manager of credentials. *

      *
    • *
    • *

      * CONNECTOR_URL - The connector URL for a MARKETPLACE or CUSTOM connection. *

      *
    • *
    • *

      * CONNECTOR_TYPE - The connector type for a MARKETPLACE or CUSTOM connection. *

      *
    • *
    • *

      * CONNECTOR_CLASS_NAME - The connector class name for a MARKETPLACE or CUSTOM connection. *

      *
    • *
    • *

      * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the * addresses of the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and * bootstrap itself. *

      *
    • *
    • *

      * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default * value is "true". *

      *
    • *
    • *

      * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default * is an empty string. *

      *
    • *
    • *

      * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or * not. Glue validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is * "false". *

      *
    • *
    • *

      * KAFKA_CLIENT_KEYSTORE - The Amazon S3 location of the client keystore file for Kafka client * side authentication (Optional). *

      *
    • *
    • *

      * KAFKA_CLIENT_KEYSTORE_PASSWORD - The password to access the provided keystore (Optional). *

      *
    • *
    • *

      * KAFKA_CLIENT_KEY_PASSWORD - A keystore can consist of multiple keys, so this is the password * to access the client key to be used with the Kafka server side key (Optional). *

      *
    • *
    • *

      * ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD - The encrypted version of the Kafka client keystore * password (if the user has the Glue encrypt passwords setting selected). *

      *
    • *
    • *

      * ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD - The encrypted version of the Kafka client key password * (if the user has the Glue encrypt passwords setting selected). *

      *
    • *
    • *

      * KAFKA_SASL_MECHANISM - "SCRAM-SHA-512", "GSSAPI", or * "AWS_MSK_IAM". These are the supported SASL Mechanisms. *

      *
    • *
    • *

      * KAFKA_SASL_SCRAM_USERNAME - A plaintext username used to authenticate with the * "SCRAM-SHA-512" mechanism. *

      *
    • *
    • *

      * KAFKA_SASL_SCRAM_PASSWORD - A plaintext password used to authenticate with the * "SCRAM-SHA-512" mechanism. *

      *
    • *
    • *

      * ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD - The encrypted version of the Kafka SASL SCRAM password * (if the user has the Glue encrypt passwords setting selected). *

      *
    • *
    • *

      * KAFKA_SASL_GSSAPI_KEYTAB - The S3 location of a Kerberos keytab file. A keytab * stores long-term keys for one or more principals. For more information, see MIT Kerberos Documentation: * Keytab. *

      *
    • *
    • *

      * KAFKA_SASL_GSSAPI_KRB5_CONF - The S3 location of a Kerberos krb5.conf file. A * krb5.conf stores Kerberos configuration information, such as the location of the KDC server. For more * information, see MIT * Kerberos Documentation: krb5.conf. *

      *
    • *
    • *

      * KAFKA_SASL_GSSAPI_SERVICE - The Kerberos service name, as set with * sasl.kerberos.service.name in your Kafka * Configuration. *

      *
    • *
    • *

      * KAFKA_SASL_GSSAPI_PRINCIPAL - The name of the Kerberos princial used by Glue. For more * information, see Kafka Documentation: * Configuring Kafka Brokers. *

      *
    • */ public void setConnectionProperties(java.util.Map connectionProperties) { this.connectionProperties = connectionProperties; } /** *

      * These key-value pairs define parameters for the connection: *

      *
        *
      • *

        * HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the * database host. *

        *
      • *
      • *

        * PORT - The port number, between 1024 and 65535, of the port on which the database host is listening * for database connections. *

        *
      • *
      • *

        * USER_NAME - The name under which to log in to the database. The value string for * USER_NAME is "USERNAME". *

        *
      • *
      • *

        * PASSWORD - A password, if one is used, for the user name. *

        *
      • *
      • *

        * ENCRYPTED_PASSWORD - When you enable connection password protection by setting * ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the * encrypted password. *

        *
      • *
      • *

        * JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the JAR file that * contains the JDBC driver to use. *

        *
      • *
      • *

        * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use. *

        *
      • *
      • *

        * JDBC_ENGINE - The name of the JDBC engine to use. *

        *
      • *
      • *

        * JDBC_ENGINE_VERSION - The version of the JDBC engine to use. *

        *
      • *
      • *

        * CONFIG_FILES - (Reserved for future use.) *

        *
      • *
      • *

        * INSTANCE_ID - The instance ID to use. *

        *
      • *
      • *

        * JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source. *

        *
      • *
      • *

        * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure Sockets Layer (SSL) with * hostname matching is enforced for the JDBC connection on the client. The default is false. *

        *
      • *
      • *

        * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. Glue uses this * root certificate to validate the customer’s certificate when connecting to the customer database. Glue only * handles X.509 certificates. The certificate provided must be DER-encoded and supplied in Base64 encoding PEM * format. *

        *
      • *
      • *

        * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. Glue validates the * Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted algorithms * for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject Public Key * Algorithm, the key length must be at least 2048. You can set the value of this property to true to * skip Glue’s validation of the customer certificate. *

        *
      • *
      • *

        * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or * distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the * SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the hostNameInCertificate. *

        *
      • *
      • *

        * CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source. *

        *
      • *
      • *

        * SECRET_ID - The secret ID used for the secret manager of credentials. *

        *
      • *
      • *

        * CONNECTOR_URL - The connector URL for a MARKETPLACE or CUSTOM connection. *

        *
      • *
      • *

        * CONNECTOR_TYPE - The connector type for a MARKETPLACE or CUSTOM connection. *

        *
      • *
      • *

        * CONNECTOR_CLASS_NAME - The connector class name for a MARKETPLACE or CUSTOM connection. *

        *
      • *
      • *

        * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the addresses of * the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and bootstrap itself. *

        *
      • *
      • *

        * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default value is * "true". *

        *
      • *
      • *

        * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default is an * empty string. *

        *
      • *
      • *

        * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or not. Glue * validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is "false". *

        *
      • *
      • *

        * KAFKA_CLIENT_KEYSTORE - The Amazon S3 location of the client keystore file for Kafka client side * authentication (Optional). *

        *
      • *
      • *

        * KAFKA_CLIENT_KEYSTORE_PASSWORD - The password to access the provided keystore (Optional). *

        *
      • *
      • *

        * KAFKA_CLIENT_KEY_PASSWORD - A keystore can consist of multiple keys, so this is the password to * access the client key to be used with the Kafka server side key (Optional). *

        *
      • *
      • *

        * ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD - The encrypted version of the Kafka client keystore * password (if the user has the Glue encrypt passwords setting selected). *

        *
      • *
      • *

        * ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD - The encrypted version of the Kafka client key password (if the * user has the Glue encrypt passwords setting selected). *

        *
      • *
      • *

        * KAFKA_SASL_MECHANISM - "SCRAM-SHA-512", "GSSAPI", or * "AWS_MSK_IAM". These are the supported SASL Mechanisms. *

        *
      • *
      • *

        * KAFKA_SASL_SCRAM_USERNAME - A plaintext username used to authenticate with the "SCRAM-SHA-512" * mechanism. *

        *
      • *
      • *

        * KAFKA_SASL_SCRAM_PASSWORD - A plaintext password used to authenticate with the "SCRAM-SHA-512" * mechanism. *

        *
      • *
      • *

        * ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD - The encrypted version of the Kafka SASL SCRAM password (if the * user has the Glue encrypt passwords setting selected). *

        *
      • *
      • *

        * KAFKA_SASL_GSSAPI_KEYTAB - The S3 location of a Kerberos keytab file. A keytab stores * long-term keys for one or more principals. For more information, see MIT Kerberos Documentation: Keytab. *

        *
      • *
      • *

        * KAFKA_SASL_GSSAPI_KRB5_CONF - The S3 location of a Kerberos krb5.conf file. A krb5.conf * stores Kerberos configuration information, such as the location of the KDC server. For more information, see MIT Kerberos Documentation: * krb5.conf. *

        *
      • *
      • *

        * KAFKA_SASL_GSSAPI_SERVICE - The Kerberos service name, as set with * sasl.kerberos.service.name in your Kafka Configuration. *

        *
      • *
      • *

        * KAFKA_SASL_GSSAPI_PRINCIPAL - The name of the Kerberos princial used by Glue. For more information, * see Kafka Documentation: * Configuring Kafka Brokers. *

        *
      • *
      * * @param connectionProperties * These key-value pairs define parameters for the connection:

      *
        *
      • *

        * HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the * database host. *

        *
      • *
      • *

        * PORT - The port number, between 1024 and 65535, of the port on which the database host is * listening for database connections. *

        *
      • *
      • *

        * USER_NAME - The name under which to log in to the database. The value string for * USER_NAME is "USERNAME". *

        *
      • *
      • *

        * PASSWORD - A password, if one is used, for the user name. *

        *
      • *
      • *

        * ENCRYPTED_PASSWORD - When you enable connection password protection by setting * ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the * encrypted password. *

        *
      • *
      • *

        * JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the JAR file that * contains the JDBC driver to use. *

        *
      • *
      • *

        * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use. *

        *
      • *
      • *

        * JDBC_ENGINE - The name of the JDBC engine to use. *

        *
      • *
      • *

        * JDBC_ENGINE_VERSION - The version of the JDBC engine to use. *

        *
      • *
      • *

        * CONFIG_FILES - (Reserved for future use.) *

        *
      • *
      • *

        * INSTANCE_ID - The instance ID to use. *

        *
      • *
      • *

        * JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source. *

        *
      • *
      • *

        * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure Sockets Layer * (SSL) with hostname matching is enforced for the JDBC connection on the client. The default is false. *

        *
      • *
      • *

        * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. Glue * uses this root certificate to validate the customer’s certificate when connecting to the customer * database. Glue only handles X.509 certificates. The certificate provided must be DER-encoded and supplied * in Base64 encoding PEM format. *

        *
      • *
      • *

        * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. Glue validates the * Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted * algorithms for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject * Public Key Algorithm, the key length must be at least 2048. You can set the value of this property to * true to skip Glue’s validation of the customer certificate. *

        *
      • *
      • *

        * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or * distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the * SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the * hostNameInCertificate. *

        *
      • *
      • *

        * CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source. *

        *
      • *
      • *

        * SECRET_ID - The secret ID used for the secret manager of credentials. *

        *
      • *
      • *

        * CONNECTOR_URL - The connector URL for a MARKETPLACE or CUSTOM connection. *

        *
      • *
      • *

        * CONNECTOR_TYPE - The connector type for a MARKETPLACE or CUSTOM connection. *

        *
      • *
      • *

        * CONNECTOR_CLASS_NAME - The connector class name for a MARKETPLACE or CUSTOM connection. *

        *
      • *
      • *

        * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the * addresses of the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and * bootstrap itself. *

        *
      • *
      • *

        * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default * value is "true". *

        *
      • *
      • *

        * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default * is an empty string. *

        *
      • *
      • *

        * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or * not. Glue validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is * "false". *

        *
      • *
      • *

        * KAFKA_CLIENT_KEYSTORE - The Amazon S3 location of the client keystore file for Kafka client * side authentication (Optional). *

        *
      • *
      • *

        * KAFKA_CLIENT_KEYSTORE_PASSWORD - The password to access the provided keystore (Optional). *

        *
      • *
      • *

        * KAFKA_CLIENT_KEY_PASSWORD - A keystore can consist of multiple keys, so this is the password * to access the client key to be used with the Kafka server side key (Optional). *

        *
      • *
      • *

        * ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD - The encrypted version of the Kafka client keystore * password (if the user has the Glue encrypt passwords setting selected). *

        *
      • *
      • *

        * ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD - The encrypted version of the Kafka client key password * (if the user has the Glue encrypt passwords setting selected). *

        *
      • *
      • *

        * KAFKA_SASL_MECHANISM - "SCRAM-SHA-512", "GSSAPI", or * "AWS_MSK_IAM". These are the supported SASL Mechanisms. *

        *
      • *
      • *

        * KAFKA_SASL_SCRAM_USERNAME - A plaintext username used to authenticate with the * "SCRAM-SHA-512" mechanism. *

        *
      • *
      • *

        * KAFKA_SASL_SCRAM_PASSWORD - A plaintext password used to authenticate with the * "SCRAM-SHA-512" mechanism. *

        *
      • *
      • *

        * ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD - The encrypted version of the Kafka SASL SCRAM password * (if the user has the Glue encrypt passwords setting selected). *

        *
      • *
      • *

        * KAFKA_SASL_GSSAPI_KEYTAB - The S3 location of a Kerberos keytab file. A keytab * stores long-term keys for one or more principals. For more information, see MIT Kerberos Documentation: * Keytab. *

        *
      • *
      • *

        * KAFKA_SASL_GSSAPI_KRB5_CONF - The S3 location of a Kerberos krb5.conf file. A * krb5.conf stores Kerberos configuration information, such as the location of the KDC server. For more * information, see MIT * Kerberos Documentation: krb5.conf. *

        *
      • *
      • *

        * KAFKA_SASL_GSSAPI_SERVICE - The Kerberos service name, as set with * sasl.kerberos.service.name in your Kafka * Configuration. *

        *
      • *
      • *

        * KAFKA_SASL_GSSAPI_PRINCIPAL - The name of the Kerberos princial used by Glue. For more * information, see Kafka Documentation: * Configuring Kafka Brokers. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withConnectionProperties(java.util.Map connectionProperties) { setConnectionProperties(connectionProperties); return this; } /** * Add a single ConnectionProperties entry * * @see Connection#withConnectionProperties * @returns a reference to this object so that method calls can be chained together. */ public Connection addConnectionPropertiesEntry(String key, String value) { if (null == this.connectionProperties) { this.connectionProperties = new java.util.HashMap(); } if (this.connectionProperties.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.connectionProperties.put(key, value); return this; } /** * Removes all the entries added into ConnectionProperties. * * @return Returns a reference to this object so that method calls can be chained together. */ public Connection clearConnectionPropertiesEntries() { this.connectionProperties = null; return this; } /** *

        * A map of physical connection requirements, such as virtual private cloud (VPC) and SecurityGroup, * that are needed to make this connection successfully. *

        * * @param physicalConnectionRequirements * A map of physical connection requirements, such as virtual private cloud (VPC) and * SecurityGroup, that are needed to make this connection successfully. */ public void setPhysicalConnectionRequirements(PhysicalConnectionRequirements physicalConnectionRequirements) { this.physicalConnectionRequirements = physicalConnectionRequirements; } /** *

        * A map of physical connection requirements, such as virtual private cloud (VPC) and SecurityGroup, * that are needed to make this connection successfully. *

        * * @return A map of physical connection requirements, such as virtual private cloud (VPC) and * SecurityGroup, that are needed to make this connection successfully. */ public PhysicalConnectionRequirements getPhysicalConnectionRequirements() { return this.physicalConnectionRequirements; } /** *

        * A map of physical connection requirements, such as virtual private cloud (VPC) and SecurityGroup, * that are needed to make this connection successfully. *

        * * @param physicalConnectionRequirements * A map of physical connection requirements, such as virtual private cloud (VPC) and * SecurityGroup, that are needed to make this connection successfully. * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withPhysicalConnectionRequirements(PhysicalConnectionRequirements physicalConnectionRequirements) { setPhysicalConnectionRequirements(physicalConnectionRequirements); return this; } /** *

        * The time that this connection definition was created. *

        * * @param creationTime * The time that this connection definition was created. */ public void setCreationTime(java.util.Date creationTime) { this.creationTime = creationTime; } /** *

        * The time that this connection definition was created. *

        * * @return The time that this connection definition was created. */ public java.util.Date getCreationTime() { return this.creationTime; } /** *

        * The time that this connection definition was created. *

        * * @param creationTime * The time that this connection definition was created. * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withCreationTime(java.util.Date creationTime) { setCreationTime(creationTime); return this; } /** *

        * The last time that this connection definition was updated. *

        * * @param lastUpdatedTime * The last time that this connection definition was updated. */ public void setLastUpdatedTime(java.util.Date lastUpdatedTime) { this.lastUpdatedTime = lastUpdatedTime; } /** *

        * The last time that this connection definition was updated. *

        * * @return The last time that this connection definition was updated. */ public java.util.Date getLastUpdatedTime() { return this.lastUpdatedTime; } /** *

        * The last time that this connection definition was updated. *

        * * @param lastUpdatedTime * The last time that this connection definition was updated. * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withLastUpdatedTime(java.util.Date lastUpdatedTime) { setLastUpdatedTime(lastUpdatedTime); return this; } /** *

        * The user, group, or role that last updated this connection definition. *

        * * @param lastUpdatedBy * The user, group, or role that last updated this connection definition. */ public void setLastUpdatedBy(String lastUpdatedBy) { this.lastUpdatedBy = lastUpdatedBy; } /** *

        * The user, group, or role that last updated this connection definition. *

        * * @return The user, group, or role that last updated this connection definition. */ public String getLastUpdatedBy() { return this.lastUpdatedBy; } /** *

        * The user, group, or role that last updated this connection definition. *

        * * @param lastUpdatedBy * The user, group, or role that last updated this connection definition. * @return Returns a reference to this object so that method calls can be chained together. */ public Connection withLastUpdatedBy(String lastUpdatedBy) { setLastUpdatedBy(lastUpdatedBy); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getConnectionType() != null) sb.append("ConnectionType: ").append(getConnectionType()).append(","); if (getMatchCriteria() != null) sb.append("MatchCriteria: ").append(getMatchCriteria()).append(","); if (getConnectionProperties() != null) sb.append("ConnectionProperties: ").append(getConnectionProperties()).append(","); if (getPhysicalConnectionRequirements() != null) sb.append("PhysicalConnectionRequirements: ").append(getPhysicalConnectionRequirements()).append(","); if (getCreationTime() != null) sb.append("CreationTime: ").append(getCreationTime()).append(","); if (getLastUpdatedTime() != null) sb.append("LastUpdatedTime: ").append(getLastUpdatedTime()).append(","); if (getLastUpdatedBy() != null) sb.append("LastUpdatedBy: ").append(getLastUpdatedBy()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Connection == false) return false; Connection other = (Connection) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getConnectionType() == null ^ this.getConnectionType() == null) return false; if (other.getConnectionType() != null && other.getConnectionType().equals(this.getConnectionType()) == false) return false; if (other.getMatchCriteria() == null ^ this.getMatchCriteria() == null) return false; if (other.getMatchCriteria() != null && other.getMatchCriteria().equals(this.getMatchCriteria()) == false) return false; if (other.getConnectionProperties() == null ^ this.getConnectionProperties() == null) return false; if (other.getConnectionProperties() != null && other.getConnectionProperties().equals(this.getConnectionProperties()) == false) return false; if (other.getPhysicalConnectionRequirements() == null ^ this.getPhysicalConnectionRequirements() == null) return false; if (other.getPhysicalConnectionRequirements() != null && other.getPhysicalConnectionRequirements().equals(this.getPhysicalConnectionRequirements()) == false) return false; if (other.getCreationTime() == null ^ this.getCreationTime() == null) return false; if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false) return false; if (other.getLastUpdatedTime() == null ^ this.getLastUpdatedTime() == null) return false; if (other.getLastUpdatedTime() != null && other.getLastUpdatedTime().equals(this.getLastUpdatedTime()) == false) return false; if (other.getLastUpdatedBy() == null ^ this.getLastUpdatedBy() == null) return false; if (other.getLastUpdatedBy() != null && other.getLastUpdatedBy().equals(this.getLastUpdatedBy()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getConnectionType() == null) ? 0 : getConnectionType().hashCode()); hashCode = prime * hashCode + ((getMatchCriteria() == null) ? 0 : getMatchCriteria().hashCode()); hashCode = prime * hashCode + ((getConnectionProperties() == null) ? 0 : getConnectionProperties().hashCode()); hashCode = prime * hashCode + ((getPhysicalConnectionRequirements() == null) ? 0 : getPhysicalConnectionRequirements().hashCode()); hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode()); hashCode = prime * hashCode + ((getLastUpdatedTime() == null) ? 0 : getLastUpdatedTime().hashCode()); hashCode = prime * hashCode + ((getLastUpdatedBy() == null) ? 0 : getLastUpdatedBy().hashCode()); return hashCode; } @Override public Connection clone() { try { return (Connection) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.glue.model.transform.ConnectionMarshaller.getInstance().marshall(this, protocolMarshaller); } }