import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { ISubscriptionRef, SubscriptionReference } from "../../interfaces/generated/aws-pricingplanmanager-interfaces.generated"; /** * Resource type definition for AWS::PricingPlanManager::Subscription. * * Deleting an activated subscription does not terminate it immediately; it schedules a cancellation that takes effect at the end of the current billing period. Until that date the subscription remains active and billing continues. Deleting a subscription that has not yet been activated (PENDING_APPROVAL status) removes it immediately with no further charges. * * @cloudformationResource AWS::PricingPlanManager::Subscription * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pricingplanmanager-subscription.html */ export declare class CfnSubscription extends cdk.CfnResource implements cdk.IInspectable, ISubscriptionRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnSubscription 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): CfnSubscription; /** * Checks whether the given object is a CfnSubscription */ static isCfnSubscription(x: any): x is CfnSubscription; static arnForSubscription(resource: ISubscriptionRef): string; /** * The name of the pricing plan family. */ private _planFamily; /** * The tier of the pricing plan. */ private _planTier; /** * The ARNs of resources associated with the subscription. */ private _resourceArns; private _usageLevel?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::PricingPlanManager::Subscription`. * * @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: CfnSubscriptionProps); get subscriptionRef(): SubscriptionReference; /** * The name of the pricing plan family. */ get planFamily(): string; /** * The name of the pricing plan family. */ set planFamily(value: string); /** * The tier of the pricing plan. */ get planTier(): string; /** * The tier of the pricing plan. */ set planTier(value: string); /** * The ARNs of resources associated with the subscription. */ get resourceArns(): Array; /** * The ARNs of resources associated with the subscription. */ set resourceArns(value: Array); get usageLevel(): string | undefined; set usageLevel(value: string | undefined); /** * The ARN of the subscription. * * @cloudformationAttribute Arn */ get attrArn(): string; /** * The time the subscription was created, in ISO 8601 format. * * @cloudformationAttribute CreatedAt */ get attrCreatedAt(): string; /** * The plan tier currently active on the subscription as reported by the API. Populated by the Read handler. Diverges from PlanTier after a non-reversible CloudFormation rollback; surface via drift detection. * * @cloudformationAttribute CurrentPlanTier */ get attrCurrentPlanTier(): string; /** * The status of the subscription. PENDING_APPROVAL means a paid-tier subscription has been created but is not yet active and incurs no charges until it is approved out of band via a separate ApprovePaidSubscription call; CloudFormation never approves it. Free-tier subscriptions are activated immediately and do not use this status. ACTIVE means the subscription is in effect and, for paid tiers, billing has started. SYNC_IN_PROGRESS means a change is being applied. FAILED means provisioning did not complete; see StatusReason. * * @cloudformationAttribute Status */ get attrStatus(): string; /** * A human-readable explanation of why the subscription is in its current status. Populated only when Status is FAILED, where it carries the reason the subscription could not be provisioned. Empty for all other statuses. * * @cloudformationAttribute StatusReason */ get attrStatusReason(): string; /** * The time the subscription was last modified, in ISO 8601 format. * * @cloudformationAttribute UpdatedAt */ get attrUpdatedAt(): 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; } /** * Properties for defining a `CfnSubscription` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pricingplanmanager-subscription.html */ export interface CfnSubscriptionProps { /** * The name of the pricing plan family. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pricingplanmanager-subscription.html#cfn-pricingplanmanager-subscription-planfamily */ readonly planFamily: string; /** * The tier of the pricing plan. * * CloudFormation does not change the tier of an existing subscription; a stack update that changes the tier, upgrading or downgrading it, is rejected. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pricingplanmanager-subscription.html#cfn-pricingplanmanager-subscription-plantier */ readonly planTier: string; /** * The ARNs of resources associated with the subscription. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pricingplanmanager-subscription.html#cfn-pricingplanmanager-subscription-resourcearns */ readonly resourceArns: Array; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pricingplanmanager-subscription.html#cfn-pricingplanmanager-subscription-usagelevel */ readonly usageLevel?: string; } export type { ISubscriptionRef, SubscriptionReference };