import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateIntegrationMessage, Integration } from "../models/models_0"; import type { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateIntegrationCommand}. */ export interface CreateIntegrationCommandInput extends CreateIntegrationMessage { } /** * @public * * The output of {@link CreateIntegrationCommand}. */ export interface CreateIntegrationCommandOutput extends Integration, __MetadataBearer { } declare const CreateIntegrationCommand_base: { new (input: CreateIntegrationCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateIntegrationCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Creates a zero-ETL integration with Amazon Redshift.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RDSClient, CreateIntegrationCommand } from "@aws-sdk/client-rds"; // ES Modules import * // const { RDSClient, CreateIntegrationCommand } = require("@aws-sdk/client-rds"); // CommonJS import * // import type { RDSClientConfig } from "@aws-sdk/client-rds"; * const config = {}; // type is RDSClientConfig * const client = new RDSClient(config); * const input = { // CreateIntegrationMessage * SourceArn: "STRING_VALUE", // required * TargetArn: "STRING_VALUE", // required * IntegrationName: "STRING_VALUE", // required * KMSKeyId: "STRING_VALUE", * AdditionalEncryptionContext: { // EncryptionContextMap * "": "STRING_VALUE", * }, * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * DataFilter: "STRING_VALUE", * Description: "STRING_VALUE", * }; * const command = new CreateIntegrationCommand(input); * const response = await client.send(command); * // { // Integration * // SourceArn: "STRING_VALUE", * // TargetArn: "STRING_VALUE", * // IntegrationName: "STRING_VALUE", * // IntegrationArn: "STRING_VALUE", * // KMSKeyId: "STRING_VALUE", * // AdditionalEncryptionContext: { // EncryptionContextMap * // "": "STRING_VALUE", * // }, * // Status: "creating" || "active" || "modifying" || "failed" || "deleting" || "syncing" || "needs_attention", * // Tags: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // DataFilter: "STRING_VALUE", * // Description: "STRING_VALUE", * // CreateTime: new Date("TIMESTAMP"), * // Errors: [ // IntegrationErrorList * // { // IntegrationError * // ErrorCode: "STRING_VALUE", // required * // ErrorMessage: "STRING_VALUE", * // }, * // ], * // }; * * ``` * * @param CreateIntegrationCommandInput - {@link CreateIntegrationCommandInput} * @returns {@link CreateIntegrationCommandOutput} * @see {@link CreateIntegrationCommandInput} for command's `input` shape. * @see {@link CreateIntegrationCommandOutput} for command's `response` shape. * @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape. * * @throws {@link DBClusterNotFoundFault} (client fault) *

DBClusterIdentifier doesn't refer to an existing DB cluster.

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

DBInstanceIdentifier doesn't refer to an existing DB instance.

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

The integration you are trying to create already exists.

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

A conflicting conditional operation is currently in progress against this resource. Typically occurs when there are multiple requests being made to the same resource at the same time, and these requests conflict with each other.

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

You can't crate any more zero-ETL integrations because the quota has been reached.

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

An error occurred accessing an Amazon Web Services KMS key.

* * @throws {@link RDSServiceException} *

Base exception class for all service exceptions from RDS service.

* * * @example To create a zero-ETL integration * ```javascript * // The following example creates a zero-ETL integration with Amazon Redshift. * const input = { * IntegrationName: "my-integration", * SourceArn: "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster", * TargetArn: "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8" * }; * const command = new CreateIntegrationCommand(input); * const response = await client.send(command); * /* response is * { * CreateTime: "2023-12-28T17:20:20.629Z", * IntegrationArn: "arn:aws:rds:us-east-1:123456789012:integration:5b9f3d79-7392-4a3e-896c-58eaa1b53231", * IntegrationName: "my-integration", * KMSKeyId: "arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", * SourceArn: "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster", * Status: "creating", * Tags: [], * TargetArn: "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8" * } * *\/ * ``` * * @public */ export declare class CreateIntegrationCommand extends CreateIntegrationCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateIntegrationMessage; output: Integration; }; sdk: { input: CreateIntegrationCommandInput; output: CreateIntegrationCommandOutput; }; }; }