import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreatePermissionRequest } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreatePermissionCommand}. */ export interface CreatePermissionCommandInput extends CreatePermissionRequest { } /** * @public * * The output of {@link CreatePermissionCommand}. */ export interface CreatePermissionCommandOutput extends __MetadataBearer { } declare const CreatePermissionCommand_base: { new (input: CreatePermissionCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreatePermissionCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Grants one or more permissions on a private CA to the Certificate Manager (ACM) service principal (acm.amazonaws.com). These permissions allow ACM to issue and renew ACM certificates that reside in the same Amazon Web Services account as the CA.

You can list current permissions with the ListPermissions action and revoke them with the DeletePermission action.

About Permissions

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ACMPCAClient, CreatePermissionCommand } from "@aws-sdk/client-acm-pca"; // ES Modules import * // const { ACMPCAClient, CreatePermissionCommand } = require("@aws-sdk/client-acm-pca"); // CommonJS import * // import type { ACMPCAClientConfig } from "@aws-sdk/client-acm-pca"; * const config = {}; // type is ACMPCAClientConfig * const client = new ACMPCAClient(config); * const input = { // CreatePermissionRequest * CertificateAuthorityArn: "STRING_VALUE", // required * Principal: "STRING_VALUE", // required * SourceAccount: "STRING_VALUE", * Actions: [ // ActionList // required * "IssueCertificate" || "GetCertificate" || "ListPermissions", * ], * }; * const command = new CreatePermissionCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param CreatePermissionCommandInput - {@link CreatePermissionCommandInput} * @returns {@link CreatePermissionCommandOutput} * @see {@link CreatePermissionCommandInput} for command's `input` shape. * @see {@link CreatePermissionCommandOutput} for command's `response` shape. * @see {@link ACMPCAClientResolvedConfig | config} for ACMPCAClient's `config` shape. * * @throws {@link InvalidArnException} (client fault) *

The requested Amazon Resource Name (ARN) does not refer to an existing resource.

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

The state of the private CA does not allow this action to occur.

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

An Amazon Web Services Private CA quota has been exceeded. See the exception message returned to determine the quota that was exceeded.

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

The designated permission has already been given to the user.

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

The request has failed for an unspecified reason.

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

A resource such as a private CA, S3 bucket, certificate, audit report, or policy cannot be found.

* * @throws {@link ACMPCAServiceException} *

Base exception class for all service exceptions from ACMPCA service.

* * * @public */ export declare class CreatePermissionCommand extends CreatePermissionCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreatePermissionRequest; output: {}; }; sdk: { input: CreatePermissionCommandInput; output: CreatePermissionCommandOutput; }; }; }