aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
335 lines (334 loc) • 16.6 kB
TypeScript
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 };