Class Connection


  • public class Connection
    extends com.pulumi.resources.CustomResource
    Manages an AWS Glue Connection. ## Example Usage ### Non-VPC Connection
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Connection("example", ConnectionArgs.builder()
                 .name("example")
                 .connectionProperties(Map.ofEntries(
                     Map.entry("JDBC_CONNECTION_URL", "jdbc:mysql://example.com/exampledatabase"),
                     Map.entry("PASSWORD", "examplepassword"),
                     Map.entry("USERNAME", "exampleusername")
                 ))
                 .build());
     
         }
     }
     
     
    ### Non-VPC Connection with secret manager reference
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
     import com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()
                 .name("example-secret")
                 .build());
     
             var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
                 .name("example")
                 .connectionProperties(Map.ofEntries(
                     Map.entry("JDBC_CONNECTION_URL", "jdbc:mysql://example.com/exampledatabase"),
                     Map.entry("SECRET_ID", example.name())
                 ))
                 .build());
     
         }
     }
     
     
    ### VPC Connection For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html#connection-JDBC-VPC).
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import com.pulumi.aws.glue.inputs.ConnectionPhysicalConnectionRequirementsArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Connection("example", ConnectionArgs.builder()
                 .physicalConnectionRequirements(ConnectionPhysicalConnectionRequirementsArgs.builder()
                     .availabilityZone(exampleAwsSubnet.availabilityZone())
                     .securityGroupIdLists(exampleAwsSecurityGroup.id())
                     .subnetId(exampleAwsSubnet.id())
                     .build())
                 .name("example")
                 .connectionProperties(Map.ofEntries(
                     Map.entry("JDBC_CONNECTION_URL", String.format("jdbc:mysql://%s/exampledatabase", exampleAwsRdsCluster.endpoint())),
                     Map.entry("PASSWORD", "examplepassword"),
                     Map.entry("USERNAME", "exampleusername")
                 ))
                 .build());
     
         }
     }
     
     
    ### Connection using a custom connector
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
     import com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`
             // Example here being a snowflake jdbc connector with a secret having user and password as keys
             final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()
                 .name("example-secret")
                 .build());
     
             var example1 = new Connection("example1", ConnectionArgs.builder()
                 .name("example1")
                 .connectionType("CUSTOM")
                 .connectionProperties(Map.ofEntries(
                     Map.entry("CONNECTOR_CLASS_NAME", "net.snowflake.client.jdbc.SnowflakeDriver"),
                     Map.entry("CONNECTOR_TYPE", "Jdbc"),
                     Map.entry("CONNECTOR_URL", "s3://example/snowflake-jdbc.jar"),
                     Map.entry("JDBC_CONNECTION_URL", "[[\"default=jdbc:snowflake://example.com/?user=${user}&password=${password}\"],\",\"]")
                 ))
                 .matchCriterias("template-connection")
                 .build());
     
             // Reference the connector using match_criteria with the connector created above.
             var example2 = new Connection("example2", ConnectionArgs.builder()
                 .name("example2")
                 .connectionType("CUSTOM")
                 .connectionProperties(Map.ofEntries(
                     Map.entry("CONNECTOR_CLASS_NAME", "net.snowflake.client.jdbc.SnowflakeDriver"),
                     Map.entry("CONNECTOR_TYPE", "Jdbc"),
                     Map.entry("CONNECTOR_URL", "s3://example/snowflake-jdbc.jar"),
                     Map.entry("JDBC_CONNECTION_URL", "jdbc:snowflake://example.com/?user=${user}&password=${password}"),
                     Map.entry("SECRET_ID", example.name())
                 ))
                 .matchCriterias(            
                     "Connection",
                     example1.name())
                 .build());
     
         }
     }
     
     
    ### Azure Cosmos Connection For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos).
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.secretsmanager.Secret;
     import com.pulumi.aws.secretsmanager.SecretArgs;
     import com.pulumi.aws.secretsmanager.SecretVersion;
     import com.pulumi.aws.secretsmanager.SecretVersionArgs;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Secret("example", SecretArgs.builder()
                 .name("example-secret")
                 .build());
     
             var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
                 .secretId(example.id())
                 .secretString(serializeJson(
                     jsonObject(
                         jsonProperty("username", "exampleusername"),
                         jsonProperty("password", "examplepassword")
                     )))
                 .build());
     
             var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
                 .name("example")
                 .connectionType("AZURECOSMOS")
                 .connectionProperties(Map.of("SparkProperties", example.name().applyValue(_name -> serializeJson(
                     jsonObject(
                         jsonProperty("secretId", _name),
                         jsonProperty("spark.cosmos.accountEndpoint", "https://exampledbaccount.documents.azure.com:443/")
                     )))))
                 .build());
     
         }
     }
     
     
    ### Azure SQL Connection For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql).
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.secretsmanager.Secret;
     import com.pulumi.aws.secretsmanager.SecretArgs;
     import com.pulumi.aws.secretsmanager.SecretVersion;
     import com.pulumi.aws.secretsmanager.SecretVersionArgs;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Secret("example", SecretArgs.builder()
                 .name("example-secret")
                 .build());
     
             var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
                 .secretId(example.id())
                 .secretString(serializeJson(
                     jsonObject(
                         jsonProperty("username", "exampleusername"),
                         jsonProperty("password", "examplepassword")
                     )))
                 .build());
     
             var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
                 .name("example")
                 .connectionType("AZURECOSMOS")
                 .connectionProperties(Map.of("SparkProperties", example.name().applyValue(_name -> serializeJson(
                     jsonObject(
                         jsonProperty("secretId", _name),
                         jsonProperty("url", "jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase")
                     )))))
                 .build());
     
         }
     }
     
     
    ### Google BigQuery Connection For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery).
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.secretsmanager.Secret;
     import com.pulumi.aws.secretsmanager.SecretArgs;
     import com.pulumi.aws.secretsmanager.SecretVersion;
     import com.pulumi.aws.secretsmanager.SecretVersionArgs;
     import com.pulumi.std.StdFunctions;
     import com.pulumi.std.inputs.Base64encodeArgs;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Secret("example", SecretArgs.builder()
                 .name("example-secret")
                 .build());
     
             var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
                 .secretId(example.id())
                 .secretString(serializeJson(
                     jsonObject(
                         jsonProperty("credentials", StdFunctions.base64encode(Base64encodeArgs.builder()
                             .input("""
     {
       \"type\": \"service_account\",
       \"project_id\": \"example-project\",
       \"private_key_id\": \"example-key\",
       \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\
     REDACTED\
     -----END RSA PRIVATE KEY-----\",
       \"client_email\": \"example-project@appspot.gserviceaccount.com\",
       \"client_id\": example-client\",
       \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",
       \"token_uri\": \"https://oauth2.googleapis.com/token\",
       \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",
       \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",
       \"universe_domain\": \"googleapis.com\"
     }
                             """)
                             .build()).result())
                     )))
                 .build());
     
             var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
                 .name("example")
                 .connectionType("BIGQUERY")
                 .connectionProperties(Map.of("SparkProperties", example.name().applyValue(_name -> serializeJson(
                     jsonObject(
                         jsonProperty("secretId", _name)
                     )))))
                 .build());
     
         }
     }
     
     
    ### OpenSearch Service Connection For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch).
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.secretsmanager.Secret;
     import com.pulumi.aws.secretsmanager.SecretArgs;
     import com.pulumi.aws.secretsmanager.SecretVersion;
     import com.pulumi.aws.secretsmanager.SecretVersionArgs;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Secret("example", SecretArgs.builder()
                 .name("example-secret")
                 .build());
     
             var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
                 .secretId(example.id())
                 .secretString(serializeJson(
                     jsonObject(
                         jsonProperty("opensearch.net.http.auth.user", "exampleusername"),
                         jsonProperty("opensearch.net.http.auth.pass", "examplepassword")
                     )))
                 .build());
     
             var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
                 .name("example")
                 .connectionType("OPENSEARCH")
                 .connectionProperties(Map.of("SparkProperties", example.name().applyValue(_name -> serializeJson(
                     jsonObject(
                         jsonProperty("secretId", _name),
                         jsonProperty("opensearch.nodes", "https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com"),
                         jsonProperty("opensearch.port", "443"),
                         jsonProperty("opensearch.aws.sigv4.region", "us-east-1"),
                         jsonProperty("opensearch.nodes.wan.only", "true"),
                         jsonProperty("opensearch.aws.sigv4.enabled", "true")
                     )))))
                 .build());
     
         }
     }
     
     
    ### Snowflake Connection For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake).
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.secretsmanager.Secret;
     import com.pulumi.aws.secretsmanager.SecretArgs;
     import com.pulumi.aws.secretsmanager.SecretVersion;
     import com.pulumi.aws.secretsmanager.SecretVersionArgs;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Secret("example", SecretArgs.builder()
                 .name("example-secret")
                 .build());
     
             var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
                 .secretId(example.id())
                 .secretString(serializeJson(
                     jsonObject(
                         jsonProperty("sfUser", "exampleusername"),
                         jsonProperty("sfPassword", "examplepassword")
                     )))
                 .build());
     
             var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
                 .name("example")
                 .connectionType("SNOWFLAKE")
                 .connectionProperties(Map.of("SparkProperties", example.name().applyValue(_name -> serializeJson(
                     jsonObject(
                         jsonProperty("secretId", _name),
                         jsonProperty("sfRole", "EXAMPLEETLROLE"),
                         jsonProperty("sfUrl", "exampleorg-exampleconnection.snowflakecomputing.com")
                     )))))
                 .build());
     
         }
     }
     
     
    ### DynamoDB Connection
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var test = new Connection("test", ConnectionArgs.builder()
                 .name("example")
                 .connectionType("DYNAMODB")
                 .athenaProperties(Map.ofEntries(
                     Map.entry("lambda_function_arn", "arn:aws:lambda:us-east-1:123456789012:function:athenafederatedcatalog_athena_abcdefgh"),
                     Map.entry("disable_spill_encryption", "false"),
                     Map.entry("spill_bucket", "example-bucket")
                 ))
                 .build());
     
         }
     }
     
     
    ### MySQL Federated Connection
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Connection;
     import com.pulumi.aws.glue.ConnectionArgs;
     import com.pulumi.aws.glue.inputs.ConnectionAuthenticationConfigurationArgs;
     import com.pulumi.aws.glue.inputs.ConnectionPhysicalConnectionRequirementsArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Connection("example", ConnectionArgs.builder()
                 .authenticationConfiguration(ConnectionAuthenticationConfigurationArgs.builder()
                     .authenticationType("BASIC")
                     .secretArn(exampleAwsSecretsmanagerSecret.arn())
                     .build())
                 .physicalConnectionRequirements(ConnectionPhysicalConnectionRequirementsArgs.builder()
                     .availabilityZone(exampleAwsSubnet.availabilityZone())
                     .securityGroupIdLists(exampleAwsSecurityGroup.id())
                     .subnetId(exampleAwsSubnet.id())
                     .build())
                 .name("athenafederatedcatalog_mysql")
                 .connectionType("MYSQL")
                 .athenaProperties(Map.ofEntries(
                     Map.entry("lambda_function_arn", "arn:aws:lambda:us-east-1:123456789012:function:athenafederatedcatalog_mysql"),
                     Map.entry("spill_bucket", exampleAwsS3Bucket.bucket())
                 ))
                 .connectionProperties(Map.ofEntries(
                     Map.entry("HOST", exampleAwsRdsCluster.endpoint()),
                     Map.entry("PORT", exampleAwsRdsCluster.port()),
                     Map.entry("DATABASE", exampleAwsRdsCluster.databaseName())
                 ))
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import Glue Connections using the `CATALOG-ID` (AWS account ID if not custom) and `NAME`. For example: ```sh $ pulumi import aws:glue/connection:Connection MyConnection 123456789012:MyConnection ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> athenaProperties()  
      com.pulumi.core.Output<java.util.Optional<ConnectionAuthenticationConfiguration>> authenticationConfiguration()  
      com.pulumi.core.Output<java.lang.String> catalogId()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> connectionProperties()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> connectionType()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()  
      static Connection get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ConnectionState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> matchCriterias()  
      com.pulumi.core.Output<java.lang.String> name()  
      com.pulumi.core.Output<java.util.Optional<ConnectionPhysicalConnectionRequirements>> physicalConnectionRequirements()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()  
      com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Connection

        public Connection​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • Connection

        public Connection​(java.lang.String name,
                          @Nullable
                          ConnectionArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • Connection

        public Connection​(java.lang.String name,
                          @Nullable
                          ConnectionArgs args,
                          @Nullable
                          com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the Glue Connection.
      • athenaProperties

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> athenaProperties()
        Returns:
        Map of key-value pairs used as connection properties specific to the Athena compute environment.
      • authenticationConfiguration

        public com.pulumi.core.Output<java.util.Optional<ConnectionAuthenticationConfiguration>> authenticationConfiguration()
        Returns:
        Configuration block for authentication options. See `authenticationConfiguration` below.
      • catalogId

        public com.pulumi.core.Output<java.lang.String> catalogId()
        Returns:
        ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
      • connectionProperties

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> connectionProperties()
        Returns:
        Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
      • connectionType

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> connectionType()
        Returns:
        Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `DYNAMODB`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
      • description

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
        Returns:
        Description of the connection.
      • matchCriterias

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> matchCriterias()
        Returns:
        List of criteria that can be used in selecting this connection.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Name of the connection. The following arguments are optional:
      • physicalConnectionRequirements

        public com.pulumi.core.Output<java.util.Optional<ConnectionPhysicalConnectionRequirements>> physicalConnectionRequirements()
        Returns:
        Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` below.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • get

        public static Connection get​(java.lang.String name,
                                     com.pulumi.core.Output<java.lang.String> id,
                                     @Nullable
                                     ConnectionState state,
                                     @Nullable
                                     com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.