Class: AWSCDK::Glue::CfnConnection::ConnectionInputProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
glue/cfn_connection.rb

Overview

A structure that is used to specify a connection to create or update.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection_type:, athena_properties: nil, authentication_configuration: nil, connection_properties: nil, description: nil, match_criteria: nil, name: nil, physical_connection_requirements: nil, python_properties: nil, spark_properties: nil, validate_credentials: nil, validate_for_compute_environments: nil) ⇒ ConnectionInputProperty

Returns a new instance of ConnectionInputProperty.

Parameters:

  • connection_type (String)

    The type of the connection. Currently, these types are supported:.

  • athena_properties (Object, nil) (defaults to: nil)

    Connection properties specific to the Athena compute environment.

  • authentication_configuration (AWSCDK::IResolvable, AWSCDK::Glue::CfnConnection::AuthenticationConfigurationInputProperty, nil) (defaults to: nil)

    The authentication properties of the connection.

  • connection_properties (Object, nil) (defaults to: nil)

    These key-value pairs define parameters for the connection.

  • description (String, nil) (defaults to: nil)

    The description of the connection.

  • match_criteria (Array<String>, nil) (defaults to: nil)

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

  • name (String, nil) (defaults to: nil)

    The name of the connection.

  • physical_connection_requirements (AWSCDK::IResolvable, AWSCDK::Glue::CfnConnection::PhysicalConnectionRequirementsProperty, nil) (defaults to: nil)

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

  • python_properties (Object, nil) (defaults to: nil)

    Connection properties specific to the Python compute environment.

  • spark_properties (Object, nil) (defaults to: nil)

    Connection properties specific to the Spark compute environment.

  • validate_credentials (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A flag to validate the credentials during create connection.

  • validate_for_compute_environments (Array<String>, nil) (defaults to: nil)

    The compute environments that the specified connection properties are validated against.



700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
# File 'glue/cfn_connection.rb', line 700

def initialize(connection_type:, athena_properties: nil, authentication_configuration: nil, connection_properties: nil, description: nil, match_criteria: nil, name: nil, physical_connection_requirements: nil, python_properties: nil, spark_properties: nil, validate_credentials: nil, validate_for_compute_environments: nil)
  @connection_type = connection_type
  Jsii::Type.check_type(@connection_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "connectionType")
  @athena_properties = athena_properties
  Jsii::Type.check_type(@athena_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "athenaProperties") unless @athena_properties.nil?
  @authentication_configuration = authentication_configuration.is_a?(Hash) ? ::AWSCDK::Glue::CfnConnection::AuthenticationConfigurationInputProperty.new(**authentication_configuration.transform_keys(&:to_sym)) : authentication_configuration
  Jsii::Type.check_type(@authentication_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmbkNvbm5lY3Rpb24uQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uSW5wdXRQcm9wZXJ0eSJ9XX19")), "authenticationConfiguration") unless @authentication_configuration.nil?
  @connection_properties = connection_properties
  Jsii::Type.check_type(@connection_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "connectionProperties") unless @connection_properties.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @match_criteria = match_criteria
  Jsii::Type.check_type(@match_criteria, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "matchCriteria") unless @match_criteria.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @physical_connection_requirements = physical_connection_requirements.is_a?(Hash) ? ::AWSCDK::Glue::CfnConnection::PhysicalConnectionRequirementsProperty.new(**physical_connection_requirements.transform_keys(&:to_sym)) : physical_connection_requirements
  Jsii::Type.check_type(@physical_connection_requirements, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmbkNvbm5lY3Rpb24uUGh5c2ljYWxDb25uZWN0aW9uUmVxdWlyZW1lbnRzUHJvcGVydHkifV19fQ==")), "physicalConnectionRequirements") unless @physical_connection_requirements.nil?
  @python_properties = python_properties
  Jsii::Type.check_type(@python_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "pythonProperties") unless @python_properties.nil?
  @spark_properties = spark_properties
  Jsii::Type.check_type(@spark_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "sparkProperties") unless @spark_properties.nil?
  @validate_credentials = validate_credentials
  Jsii::Type.check_type(@validate_credentials, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "validateCredentials") unless @validate_credentials.nil?
  @validate_for_compute_environments = validate_for_compute_environments
  Jsii::Type.check_type(@validate_for_compute_environments, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "validateForComputeEnvironments") unless @validate_for_compute_environments.nil?
end

Instance Attribute Details

#athena_propertiesObject? (readonly)

Connection properties specific to the Athena compute environment.



781
782
783
# File 'glue/cfn_connection.rb', line 781

def athena_properties
  @athena_properties
end

#authentication_configurationAWSCDK::IResolvable, ... (readonly)

The authentication properties of the connection.



786
787
788
# File 'glue/cfn_connection.rb', line 786

def authentication_configuration
  @authentication_configuration
end

#connection_propertiesObject? (readonly)

These key-value pairs define parameters for the connection.



791
792
793
# File 'glue/cfn_connection.rb', line 791

def connection_properties
  @connection_properties
end

#connection_typeString (readonly)

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 .
  • VIEW_VALIDATION_REDSHIFT - Designates a connection used for view validation by Amazon Redshift.
  • VIEW_VALIDATION_ATHENA - Designates a connection used for view validation by Amazon Athena.
  • 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 AWS Marketplace to read from and write to data stores that are not natively supported by AWS 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 AWS Glue .

For more information on the connection parameters needed for a particular connector, see the documentation for the connector in Adding an AWS Glue connection in the AWS Glue User Guide.

SFTP is not supported.

For more information about how optional ConnectionProperties are used to configure features in AWS Glue , consult AWS Glue connection properties .

For more information about how optional ConnectionProperties are used to configure features in AWS Glue Studio, consult Using connectors and connections .



776
777
778
# File 'glue/cfn_connection.rb', line 776

def connection_type
  @connection_type
end

#descriptionString? (readonly)

The description of the connection.



796
797
798
# File 'glue/cfn_connection.rb', line 796

def description
  @description
end

#match_criteriaArray<String>? (readonly)

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



801
802
803
# File 'glue/cfn_connection.rb', line 801

def match_criteria
  @match_criteria
end

#nameString? (readonly)

The name of the connection.



806
807
808
# File 'glue/cfn_connection.rb', line 806

def name
  @name
end

#physical_connection_requirementsAWSCDK::IResolvable, ... (readonly)

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



811
812
813
# File 'glue/cfn_connection.rb', line 811

def physical_connection_requirements
  @physical_connection_requirements
end

#python_propertiesObject? (readonly)

Connection properties specific to the Python compute environment.



816
817
818
# File 'glue/cfn_connection.rb', line 816

def python_properties
  @python_properties
end

#spark_propertiesObject? (readonly)

Connection properties specific to the Spark compute environment.



821
822
823
# File 'glue/cfn_connection.rb', line 821

def spark_properties
  @spark_properties
end

#validate_credentialsBoolean, ... (readonly)

A flag to validate the credentials during create connection.

Default is true.



828
829
830
# File 'glue/cfn_connection.rb', line 828

def validate_credentials
  @validate_credentials
end

#validate_for_compute_environmentsArray<String>? (readonly)

The compute environments that the specified connection properties are validated against.



833
834
835
# File 'glue/cfn_connection.rb', line 833

def validate_for_compute_environments
  @validate_for_compute_environments
end

Class Method Details

.jsii_propertiesObject



835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
# File 'glue/cfn_connection.rb', line 835

def self.jsii_properties
  {
    :connection_type => "connectionType",
    :athena_properties => "athenaProperties",
    :authentication_configuration => "authenticationConfiguration",
    :connection_properties => "connectionProperties",
    :description => "description",
    :match_criteria => "matchCriteria",
    :name => "name",
    :physical_connection_requirements => "physicalConnectionRequirements",
    :python_properties => "pythonProperties",
    :spark_properties => "sparkProperties",
    :validate_credentials => "validateCredentials",
    :validate_for_compute_environments => "validateForComputeEnvironments",
  }
end

Instance Method Details

#to_jsiiObject



852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
# File 'glue/cfn_connection.rb', line 852

def to_jsii
  result = {}
  result.merge!({
    "connectionType" => @connection_type,
    "athenaProperties" => @athena_properties,
    "authenticationConfiguration" => @authentication_configuration,
    "connectionProperties" => @connection_properties,
    "description" => @description,
    "matchCriteria" => @match_criteria,
    "name" => @name,
    "physicalConnectionRequirements" => @physical_connection_requirements,
    "pythonProperties" => @python_properties,
    "sparkProperties" => @spark_properties,
    "validateCredentials" => @validate_credentials,
    "validateForComputeEnvironments" => @validate_for_compute_environments,
  })
  result.compact
end