import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DeletePolicyStoreAliasInput, DeletePolicyStoreAliasOutput } from "../models/models_0"; import type { ServiceInputTypes, ServiceOutputTypes, VerifiedPermissionsClientResolvedConfig } from "../VerifiedPermissionsClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link DeletePolicyStoreAliasCommand}. */ export interface DeletePolicyStoreAliasCommandInput extends DeletePolicyStoreAliasInput { } /** * @public * * The output of {@link DeletePolicyStoreAliasCommand}. */ export interface DeletePolicyStoreAliasCommandOutput extends DeletePolicyStoreAliasOutput, __MetadataBearer { } declare const DeletePolicyStoreAliasCommand_base: { new (input: DeletePolicyStoreAliasCommandInput): import("@smithy/core/client").CommandImpl; new (input: DeletePolicyStoreAliasCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Deletes the specified policy store alias.

This operation is idempotent. If you specify a policy store alias that does not exist, the request response will still return a successful HTTP 200 status code.

By default, when a policy store alias is deleted, it enters the PendingDeletion state. When a policy store alias is in the PendingDeletion state, new policy store aliases cannot be created with the same name. If the policy store alias is used in an API that has a policyStoreId field, the operation will fail with a ResourceNotFound exception.

To immediately delete a policy store alias and bypass the PendingDeletion state, set the deletionMode parameter to HardDelete.

Verified Permissions is eventually consistent. If you hard delete a policy store alias and then immediately recreate it to be associated with a different policy store, requests that reference this alias may continue to be evaluated against the previously associated policy store for a short period of time.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { VerifiedPermissionsClient, DeletePolicyStoreAliasCommand } from "@aws-sdk/client-verifiedpermissions"; // ES Modules import * // const { VerifiedPermissionsClient, DeletePolicyStoreAliasCommand } = require("@aws-sdk/client-verifiedpermissions"); // CommonJS import * // import type { VerifiedPermissionsClientConfig } from "@aws-sdk/client-verifiedpermissions"; * const config = {}; // type is VerifiedPermissionsClientConfig * const client = new VerifiedPermissionsClient(config); * const input = { // DeletePolicyStoreAliasInput * aliasName: "STRING_VALUE", // required * deletionMode: "SoftDelete" || "HardDelete", * }; * const command = new DeletePolicyStoreAliasCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param DeletePolicyStoreAliasCommandInput - {@link DeletePolicyStoreAliasCommandInput} * @returns {@link DeletePolicyStoreAliasCommandOutput} * @see {@link DeletePolicyStoreAliasCommandInput} for command's `input` shape. * @see {@link DeletePolicyStoreAliasCommandOutput} for command's `response` shape. * @see {@link VerifiedPermissionsClientResolvedConfig | config} for VerifiedPermissionsClient's `config` shape. * * @throws {@link InvalidStateException} (client fault) *

The policy store can't be deleted because deletion protection is enabled. To delete this policy store, disable deletion protection.

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

You don't have sufficient access to perform this action.

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

The request failed because of an internal error. Try your request again later

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

The request failed because it exceeded a throttling quota.

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

The request failed because one or more input parameters don't satisfy their constraint requirements. The output is provided as a list of fields and a reason for each field that isn't valid.

The possible reasons include the following:

* * @throws {@link VerifiedPermissionsServiceException} *

Base exception class for all service exceptions from VerifiedPermissions service.

* * * @example Soft delete a policy store alias * ```javascript * // The following example soft deletes the policy store alias with name example-policy-store. The alias enters the PendingDeletion state. * const input = { * aliasName: "policy-store-alias/example-policy-store" * }; * const command = new DeletePolicyStoreAliasCommand(input); * const response = await client.send(command); * /* response is * { /* empty *\/ } * *\/ * ``` * * @example Hard delete a policy store alias * ```javascript * // The following example hard deletes the policy store alias with name example-policy-store. The alias is immediately deleted, bypassing the PendingDeletion state. * const input = { * aliasName: "policy-store-alias/example-policy-store", * deletionMode: "HardDelete" * }; * const command = new DeletePolicyStoreAliasCommand(input); * const response = await client.send(command); * /* response is * { /* empty *\/ } * *\/ * ``` * * @public */ export declare class DeletePolicyStoreAliasCommand extends DeletePolicyStoreAliasCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DeletePolicyStoreAliasInput; output: {}; }; sdk: { input: DeletePolicyStoreAliasCommandInput; output: DeletePolicyStoreAliasCommandOutput; }; }; }