import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { ISupportPermitRef, SupportPermitReference } from "../../interfaces/generated/aws-supportauthz-interfaces.generated"; /** * Resource Type definition for AWS::SupportAuthZ::SupportPermit. * * Represents a support permit that grants AWS support time-bounded access to one or more resources for a set of actions. * * @cloudformationResource AWS::SupportAuthZ::SupportPermit * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportauthz-supportpermit.html */ export declare class CfnSupportPermit extends cdk.CfnResource implements cdk.IInspectable, ISupportPermitRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnSupportPermit from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSupportPermit; /** * Checks whether the given object is a CfnSupportPermit */ static isCfnSupportPermit(x: any): x is CfnSupportPermit; static arnForSupportPermit(resource: ISupportPermitRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * An optional description of the support permit. */ private _description?; /** * The name of the support permit. */ private _name; /** * The grant definition: which actions on which resources, optionally constrained by time conditions. */ private _permit; /** * The signing key used by the permit. */ private _signingKeyInfo; /** * The support case display identifier associated with the permit. */ private _supportCaseDisplayId?; /** * A list of key-value pairs to apply to this resource. */ private _tags?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::SupportAuthZ::SupportPermit`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnSupportPermitProps); get supportPermitRef(): SupportPermitReference; /** * An optional description of the support permit. */ get description(): string | undefined; /** * An optional description of the support permit. */ set description(value: string | undefined); /** * The name of the support permit. */ get name(): string; /** * The name of the support permit. */ set name(value: string); /** * The grant definition: which actions on which resources, optionally constrained by time conditions. */ get permit(): cdk.IResolvable | CfnSupportPermit.PermitProperty; /** * The grant definition: which actions on which resources, optionally constrained by time conditions. */ set permit(value: cdk.IResolvable | CfnSupportPermit.PermitProperty); /** * The signing key used by the permit. */ get signingKeyInfo(): cdk.IResolvable | CfnSupportPermit.SigningKeyInfoProperty; /** * The signing key used by the permit. */ set signingKeyInfo(value: cdk.IResolvable | CfnSupportPermit.SigningKeyInfoProperty); /** * The support case display identifier associated with the permit. */ get supportCaseDisplayId(): string | undefined; /** * The support case display identifier associated with the permit. */ set supportCaseDisplayId(value: string | undefined); /** * A list of key-value pairs to apply to this resource. */ get tags(): Array | undefined; /** * A list of key-value pairs to apply to this resource. */ set tags(value: Array | undefined); /** * The Amazon Resource Name (ARN) of the support permit. * * @cloudformationAttribute Arn */ get attrArn(): string; /** * The time at which the support permit was created. * * @cloudformationAttribute CreatedAt */ get attrCreatedAt(): string; /** * The service-generated identifier of the support permit (the resource segment of the ARN). * * @cloudformationAttribute PermitId */ get attrPermitId(): string; /** * The current status of the support permit. * * @cloudformationAttribute Status */ get attrStatus(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } export declare namespace CfnSupportPermit { /** * The grant definition: which actions on which resources, optionally constrained by time conditions. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-permit.html */ interface PermitProperty { /** * The set of actions a support permit grants. * * Exactly one of AllActions or Actions must be provided. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-permit.html#cfn-supportauthz-supportpermit-permit-actions */ readonly actions: CfnSupportPermit.ActionSetProperty | cdk.IResolvable; /** * Optional time-bound conditions (at most two). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-permit.html#cfn-supportauthz-supportpermit-permit-conditions */ readonly conditions?: Array | cdk.IResolvable; /** * The set of resources a support permit applies to. * * Exactly one of AllResourcesInRegion or Resources must be provided. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-permit.html#cfn-supportauthz-supportpermit-permit-resources */ readonly resources: cdk.IResolvable | CfnSupportPermit.ResourceSetProperty; } /** * The set of actions a support permit grants. * * Exactly one of AllActions or Actions must be provided. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-actionset.html */ interface ActionSetProperty { /** * An explicit list of actions to grant. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-actionset.html#cfn-supportauthz-supportpermit-actionset-actions */ readonly actions?: Array; /** * Grants all actions. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-actionset.html#cfn-supportauthz-supportpermit-actionset-allactions */ readonly allActions?: any | cdk.IResolvable; } /** * The set of resources a support permit applies to. * * Exactly one of AllResourcesInRegion or Resources must be provided. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-resourceset.html */ interface ResourceSetProperty { /** * Applies to all resources in the region. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-resourceset.html#cfn-supportauthz-supportpermit-resourceset-allresourcesinregion */ readonly allResourcesInRegion?: any | cdk.IResolvable; /** * An explicit list of resource ARNs. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-resourceset.html#cfn-supportauthz-supportpermit-resourceset-resources */ readonly resources?: Array; } /** * A time-bound condition controlling when the permit is active. * * Exactly one of AllowAfter or AllowBefore must be provided. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-condition.html */ interface ConditionProperty { /** * The permit is active only after this time. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-condition.html#cfn-supportauthz-supportpermit-condition-allowafter */ readonly allowAfter?: string; /** * The permit is active only before this time. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-condition.html#cfn-supportauthz-supportpermit-condition-allowbefore */ readonly allowBefore?: string; } /** * The signing key used by the permit. * * Exactly one key type must be provided. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-signingkeyinfo.html */ interface SigningKeyInfoProperty { /** * The ARN of the KMS key used to sign permit grants. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-supportauthz-supportpermit-signingkeyinfo.html#cfn-supportauthz-supportpermit-signingkeyinfo-kmskey */ readonly kmsKey: string; } } /** * Properties for defining a `CfnSupportPermit` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportauthz-supportpermit.html */ export interface CfnSupportPermitProps { /** * An optional description of the support permit. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportauthz-supportpermit.html#cfn-supportauthz-supportpermit-description */ readonly description?: string; /** * The name of the support permit. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportauthz-supportpermit.html#cfn-supportauthz-supportpermit-name */ readonly name: string; /** * The grant definition: which actions on which resources, optionally constrained by time conditions. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportauthz-supportpermit.html#cfn-supportauthz-supportpermit-permit */ readonly permit: cdk.IResolvable | CfnSupportPermit.PermitProperty; /** * The signing key used by the permit. * * Exactly one key type must be provided. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportauthz-supportpermit.html#cfn-supportauthz-supportpermit-signingkeyinfo */ readonly signingKeyInfo: cdk.IResolvable | CfnSupportPermit.SigningKeyInfoProperty; /** * The support case display identifier associated with the permit. * * When provided, the permit is linked to the specified AWS Support case. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportauthz-supportpermit.html#cfn-supportauthz-supportpermit-supportcasedisplayid */ readonly supportCaseDisplayId?: string; /** * A list of key-value pairs to apply to this resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportauthz-supportpermit.html#cfn-supportauthz-supportpermit-tags */ readonly tags?: Array; } export type { ISupportPermitRef, SupportPermitReference };