UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

335 lines (334 loc) 16.6 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { AutomationRuleReference, IAutomationRuleRef } from "../../interfaces/generated/aws-computeoptimizer-interfaces.generated"; /** * Creates an AWS Compute Optimizer automation rule that automatically implements recommended actions based on your defined criteria and schedule. * * Automation rules are global resources that manage automated actions across all AWS Regions where Compute Optimizer Automation is available. Organization-level rules can only be created by the management account or delegated administrator. * * @cloudformationResource AWS::ComputeOptimizer::AutomationRule * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html */ export declare class CfnAutomationRule extends cdk.CfnResource implements cdk.IInspectable, IAutomationRuleRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnAutomationRule 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): CfnAutomationRule; /** * Checks whether the given object is a CfnAutomationRule */ static isCfnAutomationRule(x: any): x is CfnAutomationRule; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; criteria?: CfnAutomationRule.CriteriaProperty | cdk.IResolvable; /** * The description of the automation rule. */ description?: string; /** * The name of the automation rule. */ name: string; organizationConfiguration?: cdk.IResolvable | CfnAutomationRule.OrganizationConfigurationProperty; /** * Rule priority within its group. */ priority?: string; /** * The types of recommended actions this rule will implement. */ recommendedActionTypes: Array<string>; /** * The type of automation rule. */ ruleType: string; schedule: cdk.IResolvable | CfnAutomationRule.ScheduleProperty; /** * The status of the automation rule. */ status: string; /** * Tags associated with the automation rule. */ tags?: Array<cdk.CfnTag>; /** * Create a new `AWS::ComputeOptimizer::AutomationRule`. * * @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: CfnAutomationRuleProps); get automationRuleRef(): AutomationRuleReference; /** * The AWS account ID that owns the automation rule. * * @cloudformationAttribute AccountId */ get attrAccountId(): string; /** * The timestamp when the automation rule was created. * * @cloudformationAttribute CreatedTimestamp */ get attrCreatedTimestamp(): string; /** * The timestamp when the automation rule was last updated. * * @cloudformationAttribute LastUpdatedTimestamp */ get attrLastUpdatedTimestamp(): string; /** * The Amazon Resource Name (ARN) of the automation rule. * * @cloudformationAttribute RuleArn */ get attrRuleArn(): string; /** * The unique identifier of the automation rule. * * @cloudformationAttribute RuleId */ get attrRuleId(): string; /** * The revision number of the automation rule. * * @cloudformationAttribute RuleRevision */ get attrRuleRevision(): string; protected get cfnProperties(): Record<string, any>; /** * 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<string, any>): Record<string, any>; } export declare namespace CfnAutomationRule { /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-organizationconfiguration.html */ interface OrganizationConfigurationProperty { /** * List of account IDs where the organization rule applies. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-organizationconfiguration.html#cfn-computeoptimizer-automationrule-organizationconfiguration-accountids */ readonly accountIds?: Array<string>; /** * When the rule should be applied relative to account rules. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-organizationconfiguration.html#cfn-computeoptimizer-automationrule-organizationconfiguration-ruleapplyorder */ readonly ruleApplyOrder?: string; } /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-schedule.html */ interface ScheduleProperty { /** * Execution window duration in minutes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-schedule.html#cfn-computeoptimizer-automationrule-schedule-executionwindowinminutes */ readonly executionWindowInMinutes?: number; /** * Schedule expression (e.g., cron or rate expression). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-schedule.html#cfn-computeoptimizer-automationrule-schedule-scheduleexpression */ readonly scheduleExpression?: string; /** * IANA timezone identifier. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-schedule.html#cfn-computeoptimizer-automationrule-schedule-scheduleexpressiontimezone */ readonly scheduleExpressionTimezone?: string; } /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html */ interface CriteriaProperty { /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html#cfn-computeoptimizer-automationrule-criteria-ebsvolumesizeingib */ readonly ebsVolumeSizeInGib?: Array<CfnAutomationRule.IntegerCriteriaConditionProperty | cdk.IResolvable> | cdk.IResolvable; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html#cfn-computeoptimizer-automationrule-criteria-ebsvolumetype */ readonly ebsVolumeType?: Array<cdk.IResolvable | CfnAutomationRule.StringCriteriaConditionProperty> | cdk.IResolvable; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html#cfn-computeoptimizer-automationrule-criteria-estimatedmonthlysavings */ readonly estimatedMonthlySavings?: Array<CfnAutomationRule.DoubleCriteriaConditionProperty | cdk.IResolvable> | cdk.IResolvable; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html#cfn-computeoptimizer-automationrule-criteria-lookbackperiodindays */ readonly lookBackPeriodInDays?: Array<CfnAutomationRule.IntegerCriteriaConditionProperty | cdk.IResolvable> | cdk.IResolvable; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html#cfn-computeoptimizer-automationrule-criteria-region */ readonly region?: Array<cdk.IResolvable | CfnAutomationRule.StringCriteriaConditionProperty> | cdk.IResolvable; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html#cfn-computeoptimizer-automationrule-criteria-resourcearn */ readonly resourceArn?: Array<cdk.IResolvable | CfnAutomationRule.StringCriteriaConditionProperty> | cdk.IResolvable; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html#cfn-computeoptimizer-automationrule-criteria-resourcetag */ readonly resourceTag?: Array<cdk.IResolvable | CfnAutomationRule.ResourceTagsCriteriaConditionProperty> | cdk.IResolvable; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-criteria.html#cfn-computeoptimizer-automationrule-criteria-restartneeded */ readonly restartNeeded?: Array<cdk.IResolvable | CfnAutomationRule.StringCriteriaConditionProperty> | cdk.IResolvable; } /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-stringcriteriacondition.html */ interface StringCriteriaConditionProperty { /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-stringcriteriacondition.html#cfn-computeoptimizer-automationrule-stringcriteriacondition-comparison */ readonly comparison?: string; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-stringcriteriacondition.html#cfn-computeoptimizer-automationrule-stringcriteriacondition-values */ readonly values?: Array<string>; } /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-integercriteriacondition.html */ interface IntegerCriteriaConditionProperty { /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-integercriteriacondition.html#cfn-computeoptimizer-automationrule-integercriteriacondition-comparison */ readonly comparison?: string; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-integercriteriacondition.html#cfn-computeoptimizer-automationrule-integercriteriacondition-values */ readonly values?: Array<number> | cdk.IResolvable; } /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-doublecriteriacondition.html */ interface DoubleCriteriaConditionProperty { /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-doublecriteriacondition.html#cfn-computeoptimizer-automationrule-doublecriteriacondition-comparison */ readonly comparison?: string; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-doublecriteriacondition.html#cfn-computeoptimizer-automationrule-doublecriteriacondition-values */ readonly values?: Array<number> | cdk.IResolvable; } /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition.html */ interface ResourceTagsCriteriaConditionProperty { /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition.html#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-comparison */ readonly comparison?: string; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition.html#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-key */ readonly key?: string; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition.html#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-values */ readonly values?: Array<string>; } } /** * Properties for defining a `CfnAutomationRule` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html */ export interface CfnAutomationRuleProps { /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-criteria */ readonly criteria?: CfnAutomationRule.CriteriaProperty | cdk.IResolvable; /** * The description of the automation rule. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-description */ readonly description?: string; /** * The name of the automation rule. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-name */ readonly name: string; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-organizationconfiguration */ readonly organizationConfiguration?: cdk.IResolvable | CfnAutomationRule.OrganizationConfigurationProperty; /** * Rule priority within its group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-priority */ readonly priority?: string; /** * The types of recommended actions this rule will implement. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-recommendedactiontypes */ readonly recommendedActionTypes: Array<string>; /** * The type of automation rule. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-ruletype */ readonly ruleType: string; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-schedule */ readonly schedule: cdk.IResolvable | CfnAutomationRule.ScheduleProperty; /** * The status of the automation rule. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-status */ readonly status: string; /** * Tags associated with the automation rule. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-computeoptimizer-automationrule.html#cfn-computeoptimizer-automationrule-tags */ readonly tags?: Array<cdk.CfnTag>; } export type { IAutomationRuleRef, AutomationRuleReference };