CreateConnectionCommand

Creates a new connection. In Amazon DataZone, a connection enables you to connect your resources (domains, projects, and environments) to external resources and services.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { DataZoneClient, CreateConnectionCommand } from "@aws-sdk/client-datazone"; // ES Modules import
// const { DataZoneClient, CreateConnectionCommand } = require("@aws-sdk/client-datazone"); // CommonJS import
const client = new DataZoneClient(config);
const input = { // CreateConnectionInput
  awsLocation: { // AwsLocation
    accessRole: "STRING_VALUE",
    awsAccountId: "STRING_VALUE",
    awsRegion: "STRING_VALUE",
    iamConnectionId: "STRING_VALUE",
  },
  clientToken: "STRING_VALUE",
  description: "STRING_VALUE",
  domainIdentifier: "STRING_VALUE", // required
  environmentIdentifier: "STRING_VALUE", // required
  name: "STRING_VALUE", // required
  props: { // ConnectionPropertiesInput Union: only one key present
    athenaProperties: { // AthenaPropertiesInput
      workgroupName: "STRING_VALUE",
    },
    glueProperties: { // GluePropertiesInput
      glueConnectionInput: { // GlueConnectionInput
        connectionProperties: { // ConnectionProperties
          "<keys>": "STRING_VALUE",
        },
        physicalConnectionRequirements: { // PhysicalConnectionRequirements
          subnetId: "STRING_VALUE",
          subnetIdList: [ // SubnetIdList
            "STRING_VALUE",
          ],
          securityGroupIdList: [ // SecurityGroupIdList
            "STRING_VALUE",
          ],
          availabilityZone: "STRING_VALUE",
        },
        name: "STRING_VALUE",
        description: "STRING_VALUE",
        connectionType: "SNOWFLAKE" || "BIGQUERY" || "DOCUMENTDB" || "DYNAMODB" || "MYSQL" || "OPENSEARCH" || "ORACLE" || "POSTGRESQL" || "REDSHIFT" || "SAPHANA" || "SQLSERVER" || "TERADATA" || "VERTICA",
        matchCriteria: "STRING_VALUE",
        validateCredentials: true || false,
        validateForComputeEnvironments: [ // ComputeEnvironmentsList
          "SPARK" || "ATHENA" || "PYTHON",
        ],
        sparkProperties: { // PropertyMap
          "<keys>": "STRING_VALUE",
        },
        athenaProperties: {
          "<keys>": "STRING_VALUE",
        },
        pythonProperties: {
          "<keys>": "STRING_VALUE",
        },
        authenticationConfiguration: { // AuthenticationConfigurationInput
          authenticationType: "BASIC" || "OAUTH2" || "CUSTOM",
          oAuth2Properties: { // OAuth2Properties
            oAuth2GrantType: "AUTHORIZATION_CODE" || "CLIENT_CREDENTIALS" || "JWT_BEARER",
            oAuth2ClientApplication: { // OAuth2ClientApplication
              userManagedClientApplicationClientId: "STRING_VALUE",
              aWSManagedClientApplicationReference: "STRING_VALUE",
            },
            tokenUrl: "STRING_VALUE",
            tokenUrlParametersMap: { // TokenUrlParametersMap
              "<keys>": "STRING_VALUE",
            },
            authorizationCodeProperties: { // AuthorizationCodeProperties
              authorizationCode: "STRING_VALUE",
              redirectUri: "STRING_VALUE",
            },
            oAuth2Credentials: { // GlueOAuth2Credentials
              userManagedClientApplicationClientSecret: "STRING_VALUE",
              accessToken: "STRING_VALUE",
              refreshToken: "STRING_VALUE",
              jwtToken: "STRING_VALUE",
            },
          },
          secretArn: "STRING_VALUE",
          kmsKeyArn: "STRING_VALUE",
          basicAuthenticationCredentials: { // BasicAuthenticationCredentials
            userName: "STRING_VALUE",
            password: "STRING_VALUE",
          },
          customAuthenticationCredentials: { // CredentialMap
            "<keys>": "STRING_VALUE",
          },
        },
      },
    },
    hyperPodProperties: { // HyperPodPropertiesInput
      clusterName: "STRING_VALUE", // required
    },
    iamProperties: { // IamPropertiesInput
      glueLineageSyncEnabled: true || false,
    },
    redshiftProperties: { // RedshiftPropertiesInput
      storage: { // RedshiftStorageProperties Union: only one key present
        clusterName: "STRING_VALUE",
        workgroupName: "STRING_VALUE",
      },
      databaseName: "STRING_VALUE",
      host: "STRING_VALUE",
      port: Number("int"),
      credentials: { // RedshiftCredentials Union: only one key present
        secretArn: "STRING_VALUE",
        usernamePassword: { // UsernamePassword
          password: "STRING_VALUE", // required
          username: "STRING_VALUE", // required
        },
      },
      lineageSync: { // RedshiftLineageSyncConfigurationInput
        enabled: true || false,
        schedule: { // LineageSyncSchedule
          schedule: "STRING_VALUE",
        },
      },
    },
    sparkEmrProperties: { // SparkEmrPropertiesInput
      computeArn: "STRING_VALUE",
      instanceProfileArn: "STRING_VALUE",
      javaVirtualEnv: "STRING_VALUE",
      logUri: "STRING_VALUE",
      pythonVirtualEnv: "STRING_VALUE",
      runtimeRole: "STRING_VALUE",
      trustedCertificatesS3Uri: "STRING_VALUE",
    },
    sparkGlueProperties: { // SparkGluePropertiesInput
      additionalArgs: { // SparkGlueArgs
        connection: "STRING_VALUE",
      },
      glueConnectionName: "STRING_VALUE",
      glueVersion: "STRING_VALUE",
      idleTimeout: Number("int"),
      javaVirtualEnv: "STRING_VALUE",
      numberOfWorkers: Number("int"),
      pythonVirtualEnv: "STRING_VALUE",
      workerType: "STRING_VALUE",
    },
  },
};
const command = new CreateConnectionCommand(input);
const response = await client.send(command);
// { // CreateConnectionOutput
//   connectionId: "STRING_VALUE", // required
//   description: "STRING_VALUE",
//   domainId: "STRING_VALUE", // required
//   domainUnitId: "STRING_VALUE", // required
//   environmentId: "STRING_VALUE",
//   name: "STRING_VALUE", // required
//   physicalEndpoints: [ // PhysicalEndpoints // required
//     { // PhysicalEndpoint
//       awsLocation: { // AwsLocation
//         accessRole: "STRING_VALUE",
//         awsAccountId: "STRING_VALUE",
//         awsRegion: "STRING_VALUE",
//         iamConnectionId: "STRING_VALUE",
//       },
//       glueConnectionName: "STRING_VALUE",
//       glueConnection: { // GlueConnection
//         name: "STRING_VALUE",
//         description: "STRING_VALUE",
//         connectionType: "ATHENA" || "BIGQUERY" || "DATABRICKS" || "DOCUMENTDB" || "DYNAMODB" || "HYPERPOD" || "IAM" || "MYSQL" || "OPENSEARCH" || "ORACLE" || "POSTGRESQL" || "REDSHIFT" || "SAPHANA" || "SNOWFLAKE" || "SPARK" || "SQLSERVER" || "TERADATA" || "VERTICA" || "WORKFLOWS_MWAA",
//         matchCriteria: [ // MatchCriteria
//           "STRING_VALUE",
//         ],
//         connectionProperties: { // ConnectionProperties
//           "<keys>": "STRING_VALUE",
//         },
//         sparkProperties: { // PropertyMap
//           "<keys>": "STRING_VALUE",
//         },
//         athenaProperties: {
//           "<keys>": "STRING_VALUE",
//         },
//         pythonProperties: {
//           "<keys>": "STRING_VALUE",
//         },
//         physicalConnectionRequirements: { // PhysicalConnectionRequirements
//           subnetId: "STRING_VALUE",
//           subnetIdList: [ // SubnetIdList
//             "STRING_VALUE",
//           ],
//           securityGroupIdList: [ // SecurityGroupIdList
//             "STRING_VALUE",
//           ],
//           availabilityZone: "STRING_VALUE",
//         },
//         creationTime: new Date("TIMESTAMP"),
//         lastUpdatedTime: new Date("TIMESTAMP"),
//         lastUpdatedBy: "STRING_VALUE",
//         status: "CREATING" || "CREATE_FAILED" || "DELETING" || "DELETE_FAILED" || "READY" || "UPDATING" || "UPDATE_FAILED" || "DELETED",
//         statusReason: "STRING_VALUE",
//         lastConnectionValidationTime: new Date("TIMESTAMP"),
//         authenticationConfiguration: { // AuthenticationConfiguration
//           authenticationType: "BASIC" || "OAUTH2" || "CUSTOM",
//           secretArn: "STRING_VALUE",
//           oAuth2Properties: { // OAuth2Properties
//             oAuth2GrantType: "AUTHORIZATION_CODE" || "CLIENT_CREDENTIALS" || "JWT_BEARER",
//             oAuth2ClientApplication: { // OAuth2ClientApplication
//               userManagedClientApplicationClientId: "STRING_VALUE",
//               aWSManagedClientApplicationReference: "STRING_VALUE",
//             },
//             tokenUrl: "STRING_VALUE",
//             tokenUrlParametersMap: { // TokenUrlParametersMap
//               "<keys>": "STRING_VALUE",
//             },
//             authorizationCodeProperties: { // AuthorizationCodeProperties
//               authorizationCode: "STRING_VALUE",
//               redirectUri: "STRING_VALUE",
//             },
//             oAuth2Credentials: { // GlueOAuth2Credentials
//               userManagedClientApplicationClientSecret: "STRING_VALUE",
//               accessToken: "STRING_VALUE",
//               refreshToken: "STRING_VALUE",
//               jwtToken: "STRING_VALUE",
//             },
//           },
//         },
//         connectionSchemaVersion: Number("int"),
//         compatibleComputeEnvironments: [ // ComputeEnvironmentsList
//           "SPARK" || "ATHENA" || "PYTHON",
//         ],
//       },
//       host: "STRING_VALUE",
//       port: Number("int"),
//       protocol: "ATHENA" || "GLUE_INTERACTIVE_SESSION" || "HTTPS" || "JDBC" || "LIVY" || "ODBC" || "PRISM",
//       stage: "STRING_VALUE",
//     },
//   ],
//   projectId: "STRING_VALUE",
//   props: { // ConnectionPropertiesOutput Union: only one key present
//     athenaProperties: { // AthenaPropertiesOutput
//       workgroupName: "STRING_VALUE",
//     },
//     glueProperties: { // GluePropertiesOutput
//       status: "CREATING" || "CREATE_FAILED" || "DELETING" || "DELETE_FAILED" || "READY" || "UPDATING" || "UPDATE_FAILED" || "DELETED",
//       errorMessage: "STRING_VALUE",
//     },
//     hyperPodProperties: { // HyperPodPropertiesOutput
//       clusterName: "STRING_VALUE", // required
//       clusterArn: "STRING_VALUE",
//       orchestrator: "EKS" || "SLURM",
//     },
//     iamProperties: { // IamPropertiesOutput
//       environmentId: "STRING_VALUE",
//       glueLineageSyncEnabled: true || false,
//     },
//     redshiftProperties: { // RedshiftPropertiesOutput
//       storage: { // RedshiftStorageProperties Union: only one key present
//         clusterName: "STRING_VALUE",
//         workgroupName: "STRING_VALUE",
//       },
//       credentials: { // RedshiftCredentials Union: only one key present
//         secretArn: "STRING_VALUE",
//         usernamePassword: { // UsernamePassword
//           password: "STRING_VALUE", // required
//           username: "STRING_VALUE", // required
//         },
//       },
//       isProvisionedSecret: true || false,
//       jdbcIamUrl: "STRING_VALUE",
//       jdbcUrl: "STRING_VALUE",
//       redshiftTempDir: "STRING_VALUE",
//       lineageSync: { // RedshiftLineageSyncConfigurationOutput
//         lineageJobId: "STRING_VALUE",
//         enabled: true || false,
//         schedule: { // LineageSyncSchedule
//           schedule: "STRING_VALUE",
//         },
//       },
//       status: "CREATING" || "CREATE_FAILED" || "DELETING" || "DELETE_FAILED" || "READY" || "UPDATING" || "UPDATE_FAILED" || "DELETED",
//       databaseName: "STRING_VALUE",
//     },
//     sparkEmrProperties: { // SparkEmrPropertiesOutput
//       computeArn: "STRING_VALUE",
//       credentials: {
//         password: "STRING_VALUE", // required
//         username: "STRING_VALUE", // required
//       },
//       credentialsExpiration: new Date("TIMESTAMP"),
//       governanceType: "AWS_MANAGED" || "USER_MANAGED",
//       instanceProfileArn: "STRING_VALUE",
//       javaVirtualEnv: "STRING_VALUE",
//       livyEndpoint: "STRING_VALUE",
//       logUri: "STRING_VALUE",
//       pythonVirtualEnv: "STRING_VALUE",
//       runtimeRole: "STRING_VALUE",
//       trustedCertificatesS3Uri: "STRING_VALUE",
//     },
//     sparkGlueProperties: { // SparkGluePropertiesOutput
//       additionalArgs: { // SparkGlueArgs
//         connection: "STRING_VALUE",
//       },
//       glueConnectionName: "STRING_VALUE",
//       glueVersion: "STRING_VALUE",
//       idleTimeout: Number("int"),
//       javaVirtualEnv: "STRING_VALUE",
//       numberOfWorkers: Number("int"),
//       pythonVirtualEnv: "STRING_VALUE",
//       workerType: "STRING_VALUE",
//     },
//   },
//   type: "ATHENA" || "BIGQUERY" || "DATABRICKS" || "DOCUMENTDB" || "DYNAMODB" || "HYPERPOD" || "IAM" || "MYSQL" || "OPENSEARCH" || "ORACLE" || "POSTGRESQL" || "REDSHIFT" || "SAPHANA" || "SNOWFLAKE" || "SPARK" || "SQLSERVER" || "TERADATA" || "VERTICA" || "WORKFLOWS_MWAA", // required
// };

CreateConnectionCommand Input

See CreateConnectionCommandInput for more details

Parameter
Type
Description
domainIdentifier
Required
string | undefined

The ID of the domain where the connection is created.

environmentIdentifier
Required
string | undefined

The ID of the environment where the connection is created.

name
Required
string | undefined

The connection name.

awsLocation
AwsLocation | undefined

The location where the connection is created.

clientToken
string | undefined

A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

description
string | undefined

A connection description.

props
ConnectionPropertiesInput | undefined

The connection props.

CreateConnectionCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
connectionId
Required
string | undefined

The ID of the connection.

domainId
Required
string | undefined

The ID of the domain where the connection is created.

domainUnitId
Required
string | undefined

The ID of the domain unit where the connection is created.

name
Required
string | undefined

The connection name.

physicalEndpoints
Required
PhysicalEndpoint[] | undefined

The physical endpoints of the connection.

type
Required
ConnectionType | undefined

The connection type.

description
string | undefined

The connection description.

environmentId
string | undefined

The ID of the environment where the connection is created.

projectId
string | undefined

The ID of the project where the connection is created.

props
ConnectionPropertiesOutput | undefined

The connection props.

Throws

Name
Fault
Details
AccessDeniedException
client

You do not have sufficient access to perform this action.

ConflictException
client

There is a conflict while performing this action.

InternalServerException
server

The request has failed because of an unknown error, exception or failure.

ResourceNotFoundException
client

The specified resource cannot be found.

ServiceQuotaExceededException
client

The request has exceeded the specified service quota.

ThrottlingException
client

The request was denied due to request throttling.

ValidationException
client

The input fails to satisfy the constraints specified by the Amazon Web Services service.

UnauthorizedException
client

You do not have permission to perform this action.

DataZoneServiceException
Base exception class for all service exceptions from DataZone service.