import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient"; import type { UpdateApiKeyRequest, UpdateApiKeyResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link UpdateApiKeyCommand}. */ export interface UpdateApiKeyCommandInput extends UpdateApiKeyRequest { } /** * @public * * The output of {@link UpdateApiKeyCommand}. */ export interface UpdateApiKeyCommandOutput extends UpdateApiKeyResponse, __MetadataBearer { } declare const UpdateApiKeyCommand_base: { new (input: UpdateApiKeyCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: UpdateApiKeyCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Updates an API key. You can update the key as long as it's not deleted.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { AppSyncClient, UpdateApiKeyCommand } from "@aws-sdk/client-appsync"; // ES Modules import * // const { AppSyncClient, UpdateApiKeyCommand } = require("@aws-sdk/client-appsync"); // CommonJS import * // import type { AppSyncClientConfig } from "@aws-sdk/client-appsync"; * const config = {}; // type is AppSyncClientConfig * const client = new AppSyncClient(config); * const input = { // UpdateApiKeyRequest * apiId: "STRING_VALUE", // required * id: "STRING_VALUE", // required * description: "STRING_VALUE", * expires: Number("long"), * }; * const command = new UpdateApiKeyCommand(input); * const response = await client.send(command); * // { // UpdateApiKeyResponse * // apiKey: { // ApiKey * // id: "STRING_VALUE", * // description: "STRING_VALUE", * // expires: Number("long"), * // deletes: Number("long"), * // }, * // }; * * ``` * * @param UpdateApiKeyCommandInput - {@link UpdateApiKeyCommandInput} * @returns {@link UpdateApiKeyCommandOutput} * @see {@link UpdateApiKeyCommandInput} for command's `input` shape. * @see {@link UpdateApiKeyCommandOutput} for command's `response` shape. * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape. * * @throws {@link ApiKeyValidityOutOfBoundsException} (client fault) *

The API key expiration must be set to a value between 1 and 365 days from creation (for * CreateApiKey) or from update (for UpdateApiKey).

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

The request is not well formed. For example, a value is invalid or a required field is * missing. Check the field values, and then try again.

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

An internal AppSync error occurred. Try your request again.

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

The request exceeded a limit. Try your request again.

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

The resource specified in the request was not found. Check the resource, and then try * again.

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

You aren't authorized to perform this operation.

* * @throws {@link AppSyncServiceException} *

Base exception class for all service exceptions from AppSync service.

* * * @public */ export declare class UpdateApiKeyCommand extends UpdateApiKeyCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateApiKeyRequest; output: UpdateApiKeyResponse; }; sdk: { input: UpdateApiKeyCommandInput; output: UpdateApiKeyCommandOutput; }; }; }