import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateIndexInput, CreateIndexOutput } from "../models/models_0"; import type { S3VectorsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3VectorsClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateIndexCommand}. */ export interface CreateIndexCommandInput extends CreateIndexInput { } /** * @public * * The output of {@link CreateIndexCommand}. */ export interface CreateIndexCommandOutput extends CreateIndexOutput, __MetadataBearer { } declare const CreateIndexCommand_base: { new (input: CreateIndexCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateIndexCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Creates a vector index within a vector bucket. To specify the vector bucket, you must use either the vector bucket name or the vector bucket Amazon Resource Name (ARN).

Permissions

You must have the s3vectors:CreateIndex permission to use this operation.

You must have the s3vectors:TagResource permission in addition to s3vectors:CreateIndex permission to create a vector index with tags.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { S3VectorsClient, CreateIndexCommand } from "@aws-sdk/client-s3vectors"; // ES Modules import * // const { S3VectorsClient, CreateIndexCommand } = require("@aws-sdk/client-s3vectors"); // CommonJS import * // import type { S3VectorsClientConfig } from "@aws-sdk/client-s3vectors"; * const config = {}; // type is S3VectorsClientConfig * const client = new S3VectorsClient(config); * const input = { // CreateIndexInput * vectorBucketName: "STRING_VALUE", * vectorBucketArn: "STRING_VALUE", * indexName: "STRING_VALUE", // required * dataType: "float32", // required * dimension: Number("int"), // required * distanceMetric: "euclidean" || "cosine", // required * metadataConfiguration: { // MetadataConfiguration * nonFilterableMetadataKeys: [ // NonFilterableMetadataKeys // required * "STRING_VALUE", * ], * }, * encryptionConfiguration: { // EncryptionConfiguration * sseType: "AES256" || "aws:kms", * kmsKeyArn: "STRING_VALUE", * }, * tags: { // TagsMap * "": "STRING_VALUE", * }, * }; * const command = new CreateIndexCommand(input); * const response = await client.send(command); * // { // CreateIndexOutput * // indexArn: "STRING_VALUE", // required * // }; * * ``` * * @param CreateIndexCommandInput - {@link CreateIndexCommandInput} * @returns {@link CreateIndexCommandOutput} * @see {@link CreateIndexCommandInput} for command's `input` shape. * @see {@link CreateIndexCommandOutput} for command's `response` shape. * @see {@link S3VectorsClientResolvedConfig | config} for S3VectorsClient's `config` shape. * * @throws {@link ConflictException} (client fault) *

The request failed because a vector bucket name or a vector index name already exists. Vector bucket names must be unique within your Amazon Web Services account for each Amazon Web Services Region. Vector index names must be unique within your vector bucket. Choose a different vector bucket name or vector index name, and try again.

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

The request was rejected because the specified resource can't be found.

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

Your request exceeds a service quota.

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

The service is unavailable. Wait briefly and retry your request. If it continues to fail, increase your waiting time between retries.

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

Access denied.

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

The request failed due to an internal server error.

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

The request timed out. Retry your request.

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

The request was denied due to request throttling.

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

The requested action isn't valid.

* * @throws {@link S3VectorsServiceException} *

Base exception class for all service exceptions from S3Vectors service.

* * * @public */ export declare class CreateIndexCommand extends CreateIndexCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateIndexInput; output: CreateIndexOutput; }; sdk: { input: CreateIndexCommandInput; output: CreateIndexCommandOutput; }; }; }