import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { EKSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EKSClient"; import type { DeleteCapabilityRequest, DeleteCapabilityResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link DeleteCapabilityCommand}. */ export interface DeleteCapabilityCommandInput extends DeleteCapabilityRequest { } /** * @public * * The output of {@link DeleteCapabilityCommand}. */ export interface DeleteCapabilityCommandOutput extends DeleteCapabilityResponse, __MetadataBearer { } declare const DeleteCapabilityCommand_base: { new (input: DeleteCapabilityCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: DeleteCapabilityCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Deletes a managed capability from your Amazon EKS cluster. When you delete a capability, Amazon EKS removes the capability infrastructure but retains all resources that were managed by the capability.

*

Before deleting a capability, you should delete all Kubernetes resources that were created by the capability. After the capability is deleted, these resources become difficult to manage because the controller that managed them is no longer available. To delete resources before removing the capability, use kubectl delete or remove them through your GitOps workflow.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { EKSClient, DeleteCapabilityCommand } from "@aws-sdk/client-eks"; // ES Modules import * // const { EKSClient, DeleteCapabilityCommand } = require("@aws-sdk/client-eks"); // CommonJS import * // import type { EKSClientConfig } from "@aws-sdk/client-eks"; * const config = {}; // type is EKSClientConfig * const client = new EKSClient(config); * const input = { // DeleteCapabilityRequest * clusterName: "STRING_VALUE", // required * capabilityName: "STRING_VALUE", // required * }; * const command = new DeleteCapabilityCommand(input); * const response = await client.send(command); * // { // DeleteCapabilityResponse * // capability: { // Capability * // capabilityName: "STRING_VALUE", * // arn: "STRING_VALUE", * // clusterName: "STRING_VALUE", * // type: "ACK" || "KRO" || "ARGOCD", * // roleArn: "STRING_VALUE", * // status: "CREATING" || "CREATE_FAILED" || "UPDATING" || "DELETING" || "DELETE_FAILED" || "ACTIVE" || "DEGRADED", * // version: "STRING_VALUE", * // configuration: { // CapabilityConfigurationResponse * // argoCd: { // ArgoCdConfigResponse * // namespace: "STRING_VALUE", * // awsIdc: { // ArgoCdAwsIdcConfigResponse * // idcInstanceArn: "STRING_VALUE", * // idcRegion: "STRING_VALUE", * // idcManagedApplicationArn: "STRING_VALUE", * // }, * // rbacRoleMappings: [ // ArgoCdRoleMappingList * // { // ArgoCdRoleMapping * // role: "ADMIN" || "EDITOR" || "VIEWER", // required * // identities: [ // SsoIdentityList // required * // { // SsoIdentity * // id: "STRING_VALUE", // required * // type: "SSO_USER" || "SSO_GROUP", // required * // }, * // ], * // }, * // ], * // networkAccess: { // ArgoCdNetworkAccessConfigResponse * // vpceIds: [ // StringList * // "STRING_VALUE", * // ], * // }, * // serverUrl: "STRING_VALUE", * // }, * // }, * // tags: { // TagMap * // "": "STRING_VALUE", * // }, * // health: { // CapabilityHealth * // issues: [ // CapabilityIssueList * // { // CapabilityIssue * // code: "AccessDenied" || "ClusterUnreachable", * // message: "STRING_VALUE", * // }, * // ], * // }, * // createdAt: new Date("TIMESTAMP"), * // modifiedAt: new Date("TIMESTAMP"), * // deletePropagationPolicy: "RETAIN", * // }, * // }; * * ``` * * @param DeleteCapabilityCommandInput - {@link DeleteCapabilityCommandInput} * @returns {@link DeleteCapabilityCommandOutput} * @see {@link DeleteCapabilityCommandInput} for command's `input` shape. * @see {@link DeleteCapabilityCommandOutput} for command's `response` shape. * @see {@link EKSClientResolvedConfig | config} for EKSClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You don't have permissions to perform the requested operation. The IAM principal * making the request must have at least one IAM permissions policy attached that grants * the required permissions. For more information, see Access * management in the IAM User Guide.

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

The specified parameter is invalid. Review the available parameters for the API * request.

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

The specified resource is in use.

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

The specified resource could not be found. You can view your available clusters with * ListClusters. You can view your available managed node groups with * ListNodegroups. Amazon EKS clusters and node groups are Amazon Web Services Region * specific.

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

These errors are usually caused by a server-side issue.

* * @throws {@link EKSServiceException} *

Base exception class for all service exceptions from EKS service.

* * * @public */ export declare class DeleteCapabilityCommand extends DeleteCapabilityCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DeleteCapabilityRequest; output: DeleteCapabilityResponse; }; sdk: { input: DeleteCapabilityCommandInput; output: DeleteCapabilityCommandOutput; }; }; }