import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DataZoneClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataZoneClient"; import type { CreateConnectionInput, CreateConnectionOutput } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateConnectionCommand}. */ export interface CreateConnectionCommandInput extends CreateConnectionInput { } /** * @public * * The output of {@link CreateConnectionCommand}. */ export interface CreateConnectionCommandOutput extends CreateConnectionOutput, __MetadataBearer { } declare const CreateConnectionCommand_base: { new (input: CreateConnectionCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateConnectionCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

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 * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { DataZoneClient, CreateConnectionCommand } from "@aws-sdk/client-datazone"; // ES Modules import * // const { DataZoneClient, CreateConnectionCommand } = require("@aws-sdk/client-datazone"); // CommonJS import * // import type { DataZoneClientConfig } from "@aws-sdk/client-datazone"; * const config = {}; // type is DataZoneClientConfig * 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", * configurations: [ // Configurations * { // Configuration * classification: "STRING_VALUE", * properties: { // PropertyMap * "": "STRING_VALUE", * }, * }, * ], * description: "STRING_VALUE", * domainIdentifier: "STRING_VALUE", // required * environmentIdentifier: "STRING_VALUE", * name: "STRING_VALUE", // required * props: { // ConnectionPropertiesInput Union: only one key present * athenaProperties: { // AthenaPropertiesInput * workgroupName: "STRING_VALUE", * }, * glueProperties: { // GluePropertiesInput * glueConnectionInput: { // GlueConnectionInput * connectionProperties: { // ConnectionProperties * "": "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: { * "": "STRING_VALUE", * }, * athenaProperties: { * "": "STRING_VALUE", * }, * pythonProperties: { * "": "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 * "": "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 * "": "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", * managedEndpointArn: "STRING_VALUE", * }, * sparkGlueProperties: { // SparkGluePropertiesInput * additionalArgs: { // SparkGlueArgs * connection: "STRING_VALUE", * }, * glueConnectionName: "STRING_VALUE", * glueConnectionNames: [ // GlueConnectionNames * "STRING_VALUE", * ], * glueVersion: "STRING_VALUE", * idleTimeout: Number("int"), * javaVirtualEnv: "STRING_VALUE", * numberOfWorkers: Number("int"), * pythonVirtualEnv: "STRING_VALUE", * workerType: "STRING_VALUE", * }, * s3Properties: { // S3PropertiesInput * s3Uri: "STRING_VALUE", // required * s3AccessGrantLocationId: "STRING_VALUE", * registerS3AccessGrantLocation: true || false, * }, * amazonQProperties: { // AmazonQPropertiesInput * isEnabled: true || false, // required * profileArn: "STRING_VALUE", * authMode: "STRING_VALUE", * }, * mlflowProperties: { // MlflowPropertiesInput * trackingServerArn: "STRING_VALUE", * }, * workflowsMwaaProperties: { // WorkflowsMwaaPropertiesInput * mwaaEnvironmentName: "STRING_VALUE", * }, * workflowsServerlessProperties: {}, * lakehouseProperties: { // LakehousePropertiesInput * glueLineageSyncEnabled: true || false, * }, * vpcProperties: { // VpcPropertiesInput * vpcId: "STRING_VALUE", // required * subnetIds: [ // VpcConnectionSubnetIdList // required * "STRING_VALUE", * ], * securityGroupId: "STRING_VALUE", * }, * }, * enableTrustedIdentityPropagation: true || false, * scope: "DOMAIN" || "PROJECT", * }; * const command = new CreateConnectionCommand(input); * const response = await client.send(command); * // { // CreateConnectionOutput * // connectionId: "STRING_VALUE", // required * // configurations: [ // Configurations * // { // Configuration * // classification: "STRING_VALUE", * // properties: { // PropertyMap * // "": "STRING_VALUE", * // }, * // }, * // ], * // 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", * // glueConnectionNames: [ // GlueConnectionNames * // "STRING_VALUE", * // ], * // glueConnection: { // GlueConnection * // name: "STRING_VALUE", * // description: "STRING_VALUE", * // connectionType: "ATHENA" || "BIGQUERY" || "DATABRICKS" || "DOCUMENTDB" || "DYNAMODB" || "HYPERPOD" || "IAM" || "MYSQL" || "OPENSEARCH" || "ORACLE" || "POSTGRESQL" || "REDSHIFT" || "S3" || "SAPHANA" || "SNOWFLAKE" || "SPARK" || "SQLSERVER" || "TERADATA" || "VERTICA" || "WORKFLOWS_MWAA" || "AMAZON_Q" || "MLFLOW" || "VPC", * // matchCriteria: [ // MatchCriteria * // "STRING_VALUE", * // ], * // connectionProperties: { // ConnectionProperties * // "": "STRING_VALUE", * // }, * // sparkProperties: { * // "": "STRING_VALUE", * // }, * // athenaProperties: { * // "": "STRING_VALUE", * // }, * // pythonProperties: { * // "": "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 * // "": "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", * // ], * // }, * // enableTrustedIdentityPropagation: true || false, * // 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", * // certificateData: "STRING_VALUE", * // managedEndpointArn: "STRING_VALUE", * // managedEndpointCredentials: { // ManagedEndpointCredentials * // id: "STRING_VALUE", * // token: "STRING_VALUE", * // }, * // }, * // sparkGlueProperties: { // SparkGluePropertiesOutput * // additionalArgs: { // SparkGlueArgs * // connection: "STRING_VALUE", * // }, * // glueConnectionName: "STRING_VALUE", * // glueConnectionNames: [ * // "STRING_VALUE", * // ], * // glueVersion: "STRING_VALUE", * // idleTimeout: Number("int"), * // javaVirtualEnv: "STRING_VALUE", * // numberOfWorkers: Number("int"), * // pythonVirtualEnv: "STRING_VALUE", * // workerType: "STRING_VALUE", * // }, * // s3Properties: { // S3PropertiesOutput * // s3Uri: "STRING_VALUE", // required * // s3AccessGrantLocationId: "STRING_VALUE", * // registerS3AccessGrantLocation: true || false, * // status: "CREATING" || "CREATE_FAILED" || "DELETING" || "DELETE_FAILED" || "READY" || "UPDATING" || "UPDATE_FAILED" || "DELETED", * // errorMessage: "STRING_VALUE", * // }, * // amazonQProperties: { // AmazonQPropertiesOutput * // isEnabled: true || false, // required * // profileArn: "STRING_VALUE", * // authMode: "STRING_VALUE", * // }, * // mlflowProperties: { // MlflowPropertiesOutput * // trackingServerArn: "STRING_VALUE", * // }, * // workflowsMwaaProperties: { // WorkflowsMwaaPropertiesOutput * // mwaaEnvironmentName: "STRING_VALUE", * // }, * // workflowsServerlessProperties: {}, * // lakehouseProperties: { // LakehousePropertiesOutput * // glueLineageSyncEnabled: true || false, * // }, * // vpcProperties: { // VpcPropertiesOutput * // vpcId: "STRING_VALUE", // required * // subnetIds: [ // VpcConnectionSubnetIdList // required * // "STRING_VALUE", * // ], * // status: "CREATING" || "CREATE_FAILED" || "DELETING" || "DELETE_FAILED" || "READY" || "UPDATING" || "UPDATE_FAILED" || "DELETED", // required * // securityGroupId: "STRING_VALUE", * // glueConnectionNames: [ * // "STRING_VALUE", * // ], * // }, * // }, * // type: "ATHENA" || "BIGQUERY" || "DATABRICKS" || "DOCUMENTDB" || "DYNAMODB" || "HYPERPOD" || "IAM" || "MYSQL" || "OPENSEARCH" || "ORACLE" || "POSTGRESQL" || "REDSHIFT" || "S3" || "SAPHANA" || "SNOWFLAKE" || "SPARK" || "SQLSERVER" || "TERADATA" || "VERTICA" || "WORKFLOWS_MWAA" || "AMAZON_Q" || "MLFLOW" || "VPC", // required * // scope: "DOMAIN" || "PROJECT", * // }; * * ``` * * @param CreateConnectionCommandInput - {@link CreateConnectionCommandInput} * @returns {@link CreateConnectionCommandOutput} * @see {@link CreateConnectionCommandInput} for command's `input` shape. * @see {@link CreateConnectionCommandOutput} for command's `response` shape. * @see {@link DataZoneClientResolvedConfig | config} for DataZoneClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

* * @throws {@link ConflictException} (client fault) *

There is a conflict while performing this action.

* * @throws {@link InternalServerException} (server fault) *

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

* * @throws {@link ResourceNotFoundException} (client fault) *

The specified resource cannot be found.

* * @throws {@link ServiceQuotaExceededException} (client fault) *

The request has exceeded the specified service quota.

* * @throws {@link ThrottlingException} (client fault) *

The request was denied due to request throttling.

* * @throws {@link ValidationException} (client fault) *

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

* * @throws {@link UnauthorizedException} (client fault) *

You do not have permission to perform this action.

* * @throws {@link DataZoneServiceException} *

Base exception class for all service exceptions from DataZone service.

* * * @public */ export declare class CreateConnectionCommand extends CreateConnectionCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateConnectionInput; output: CreateConnectionOutput; }; sdk: { input: CreateConnectionCommandInput; output: CreateConnectionCommandOutput; }; }; }