import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; import type { CreateConnectionRequest, CreateConnectionResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateConnectionCommand}. */ export interface CreateConnectionCommandInput extends CreateConnectionRequest { } /** * @public * * The output of {@link CreateConnectionCommand}. */ export interface CreateConnectionCommandOutput extends CreateConnectionResponse, __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 connection definition in the Data Catalog.

*

Connections used for creating federated resources require the IAM glue:PassConnection permission.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { GlueClient, CreateConnectionCommand } from "@aws-sdk/client-glue"; // ES Modules import * // const { GlueClient, CreateConnectionCommand } = require("@aws-sdk/client-glue"); // CommonJS import * // import type { GlueClientConfig } from "@aws-sdk/client-glue"; * const config = {}; // type is GlueClientConfig * const client = new GlueClient(config); * const input = { // CreateConnectionRequest * CatalogId: "STRING_VALUE", * ConnectionInput: { // ConnectionInput * Name: "STRING_VALUE", // required * Description: "STRING_VALUE", * ConnectionType: "JDBC" || "SFTP" || "MONGODB" || "KAFKA" || "NETWORK" || "MARKETPLACE" || "CUSTOM" || "SALESFORCE" || "VIEW_VALIDATION_REDSHIFT" || "VIEW_VALIDATION_ATHENA" || "GOOGLEADS" || "GOOGLESHEETS" || "GOOGLEANALYTICS4" || "SERVICENOW" || "MARKETO" || "SAPODATA" || "ZENDESK" || "JIRACLOUD" || "NETSUITEERP" || "HUBSPOT" || "FACEBOOKADS" || "INSTAGRAMADS" || "ZOHOCRM" || "SALESFORCEPARDOT" || "SALESFORCEMARKETINGCLOUD" || "ADOBEANALYTICS" || "SLACK" || "LINKEDIN" || "MIXPANEL" || "ASANA" || "STRIPE" || "SMARTSHEET" || "DATADOG" || "WOOCOMMERCE" || "INTERCOM" || "SNAPCHATADS" || "PAYPAL" || "QUICKBOOKS" || "FACEBOOKPAGEINSIGHTS" || "FRESHDESK" || "TWILIO" || "DOCUSIGNMONITOR" || "FRESHSALES" || "ZOOM" || "GOOGLESEARCHCONSOLE" || "SALESFORCECOMMERCECLOUD" || "SAPCONCUR" || "DYNATRACE" || "MICROSOFTDYNAMIC365FINANCEANDOPS" || "MICROSOFTTEAMS" || "BLACKBAUDRAISEREDGENXT" || "MAILCHIMP" || "GITLAB" || "PENDO" || "PRODUCTBOARD" || "CIRCLECI" || "PIPEDIVE" || "SENDGRID" || "AZURECOSMOS" || "AZURESQL" || "BIGQUERY" || "BLACKBAUD" || "CLOUDERAHIVE" || "CLOUDERAIMPALA" || "CLOUDWATCH" || "CLOUDWATCHMETRICS" || "CMDB" || "DATALAKEGEN2" || "DB2" || "DB2AS400" || "DOCUMENTDB" || "DOMO" || "DYNAMODB" || "GOOGLECLOUDSTORAGE" || "HBASE" || "KUSTOMER" || "MICROSOFTDYNAMICS365CRM" || "MONDAY" || "MYSQL" || "OKTA" || "OPENSEARCH" || "ORACLE" || "PIPEDRIVE" || "POSTGRESQL" || "SAPHANA" || "SQLSERVER" || "SYNAPSE" || "TERADATA" || "TERADATANOS" || "TIMESTREAM" || "TPCDS" || "VERTICA", // required * MatchCriteria: [ // MatchCriteria * "STRING_VALUE", * ], * ConnectionProperties: { // ConnectionProperties // required * "": "STRING_VALUE", * }, * SparkProperties: { // PropertyMap * "": "STRING_VALUE", * }, * AthenaProperties: { * "": "STRING_VALUE", * }, * PythonProperties: { * "": "STRING_VALUE", * }, * PhysicalConnectionRequirements: { // PhysicalConnectionRequirements * SubnetId: "STRING_VALUE", * SecurityGroupIdList: [ // SecurityGroupIdList * "STRING_VALUE", * ], * AvailabilityZone: "STRING_VALUE", * }, * AuthenticationConfiguration: { // AuthenticationConfigurationInput * AuthenticationType: "BASIC" || "OAUTH2" || "CUSTOM" || "IAM", * OAuth2Properties: { // OAuth2PropertiesInput * 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: { // OAuth2Credentials * 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", * }, * }, * ValidateCredentials: true || false, * ValidateForComputeEnvironments: [ // ComputeEnvironmentList * "SPARK" || "ATHENA" || "PYTHON", * ], * }, * Tags: { // TagsMap * "": "STRING_VALUE", * }, * }; * const command = new CreateConnectionCommand(input); * const response = await client.send(command); * // { // CreateConnectionResponse * // CreateConnectionStatus: "READY" || "IN_PROGRESS" || "FAILED", * // }; * * ``` * * @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 GlueClientResolvedConfig | config} for GlueClient's `config` shape. * * @throws {@link AlreadyExistsException} (client fault) *

A resource to be created or added already exists.

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

An encryption operation failed.

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

The input provided was not valid.

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

The operation timed out.

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

A resource numerical limit was exceeded.

* * @throws {@link GlueServiceException} *

Base exception class for all service exceptions from Glue service.

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