import * as core from "@terrascript/core"; export interface PolicyDetailsParametersArgs extends core.SchemaArgs { excludeBootVolume?: boolean | core.BooleanOut; noReboot?: boolean | core.BooleanOut; } export declare class PolicyDetailsParameters extends core.Schema { excludeBootVolume?: boolean | core.BooleanOut; noReboot?: boolean | core.BooleanOut; } export interface FastRestoreRuleArgs extends core.SchemaArgs { availabilityZones: core.Array | core.ArrayOut; count?: number | core.NumberOut; interval?: number | core.NumberOut; intervalUnit?: string | core.StringOut; } export declare class FastRestoreRule extends core.Schema { availabilityZones: core.Array | core.ArrayOut; count?: number | core.NumberOut; interval?: number | core.NumberOut; intervalUnit?: string | core.StringOut; } export interface CrossRegionCopyRuleRetainRuleArgs extends core.SchemaArgs { interval: number | core.NumberOut; intervalUnit: string | core.StringOut; } export declare class CrossRegionCopyRuleRetainRule extends core.Schema { interval: number | core.NumberOut; intervalUnit: string | core.StringOut; } export interface CrossRegionCopyRuleDeprecateRuleArgs extends core.SchemaArgs { interval: number | core.NumberOut; intervalUnit: string | core.StringOut; } export declare class CrossRegionCopyRuleDeprecateRule extends core.Schema { interval: number | core.NumberOut; intervalUnit: string | core.StringOut; } export interface CrossRegionCopyRuleArgs extends core.SchemaArgs { cmkArn?: string | core.StringOut; copyTags?: boolean | core.BooleanOut; deprecateRule?: CrossRegionCopyRuleDeprecateRule; encrypted: boolean | core.BooleanOut; retainRule?: CrossRegionCopyRuleRetainRule; target: string | core.StringOut; } export declare class CrossRegionCopyRule extends core.Schema { cmkArn?: string | core.StringOut; copyTags?: boolean | core.BooleanOut; deprecateRule?: CrossRegionCopyRuleDeprecateRule; encrypted: boolean | core.BooleanOut; retainRule?: CrossRegionCopyRuleRetainRule; target: string | core.StringOut; } export interface ScheduleDeprecateRuleArgs extends core.SchemaArgs { count?: number | core.NumberOut; interval?: number | core.NumberOut; intervalUnit?: string | core.StringOut; } export declare class ScheduleDeprecateRule extends core.Schema { count?: number | core.NumberOut; interval?: number | core.NumberOut; intervalUnit?: string | core.StringOut; } export interface ShareRuleArgs extends core.SchemaArgs { targetAccounts: core.Array | core.ArrayOut; unshareInterval?: number | core.NumberOut; unshareIntervalUnit?: string | core.StringOut; } export declare class ShareRule extends core.Schema { targetAccounts: core.Array | core.ArrayOut; unshareInterval?: number | core.NumberOut; unshareIntervalUnit?: string | core.StringOut; } export interface ScheduleRetainRuleArgs extends core.SchemaArgs { count?: number | core.NumberOut; interval?: number | core.NumberOut; intervalUnit?: string | core.StringOut; } export declare class ScheduleRetainRule extends core.Schema { count?: number | core.NumberOut; interval?: number | core.NumberOut; intervalUnit?: string | core.StringOut; } export interface CreateRuleArgs extends core.SchemaArgs { cronExpression?: string | core.StringOut; interval?: number | core.NumberOut; intervalUnit?: string | core.StringOut; location?: string | core.StringOut; times?: core.Array | core.ArrayOut; } export declare class CreateRule extends core.Schema { cronExpression?: string | core.StringOut; interval?: number | core.NumberOut; intervalUnit?: string | core.StringOut; location?: string | core.StringOut; times?: core.Array | core.ArrayOut; } export interface ScheduleArgs extends core.SchemaArgs { copyTags?: boolean | core.BooleanOut; createRule: CreateRule; crossRegionCopyRule?: core.Array | core.ArrayOut; deprecateRule?: ScheduleDeprecateRule; fastRestoreRule?: FastRestoreRule; name: string | core.StringOut; retainRule: ScheduleRetainRule; shareRule?: ShareRule; tagsToAdd?: core.Map | core.MapOut; variableTags?: core.Map | core.MapOut; } export declare class Schedule extends core.Schema { copyTags?: boolean | core.BooleanOut; createRule: CreateRule; crossRegionCopyRule?: core.Array | core.ArrayOut; deprecateRule?: ScheduleDeprecateRule; fastRestoreRule?: FastRestoreRule; name: string | core.StringOut; retainRule: ScheduleRetainRule; shareRule?: ShareRule; tagsToAdd?: core.Map | core.MapOut; variableTags?: core.Map | core.MapOut; } export interface EncryptionConfigurationArgs extends core.SchemaArgs { cmkArn?: string | core.StringOut; encrypted?: boolean | core.BooleanOut; } export declare class EncryptionConfiguration extends core.Schema { cmkArn?: string | core.StringOut; encrypted?: boolean | core.BooleanOut; } export interface CrossRegionCopyArgs extends core.SchemaArgs { encryptionConfiguration: EncryptionConfiguration; retainRule?: CrossRegionCopyRuleRetainRule; target: string | core.StringOut; } export declare class CrossRegionCopy extends core.Schema { encryptionConfiguration: EncryptionConfiguration; retainRule?: CrossRegionCopyRuleRetainRule; target: string | core.StringOut; } export interface ActionArgs extends core.SchemaArgs { crossRegionCopy: core.Array | core.ArrayOut; name: string | core.StringOut; } export declare class Action extends core.Schema { crossRegionCopy: core.Array | core.ArrayOut; name: string | core.StringOut; } export interface EventSourceParametersArgs extends core.SchemaArgs { descriptionRegex: string | core.StringOut; eventType: string | core.StringOut; snapshotOwner: core.Array | core.ArrayOut; } export declare class EventSourceParameters extends core.Schema { descriptionRegex: string | core.StringOut; eventType: string | core.StringOut; snapshotOwner: core.Array | core.ArrayOut; } export interface EventSourceArgs extends core.SchemaArgs { parameters: EventSourceParameters; type: string | core.StringOut; } export declare class EventSource extends core.Schema { parameters: EventSourceParameters; type: string | core.StringOut; } export interface PolicyDetailsArgs extends core.SchemaArgs { action?: Action; eventSource?: EventSource; parameters?: PolicyDetailsParameters; policyType?: string | core.StringOut; resourceLocations?: core.Array | core.ArrayOut; resourceTypes?: core.Array | core.ArrayOut; schedule?: core.Array | core.ArrayOut; targetTags?: core.Map | core.MapOut; } export declare class PolicyDetails extends core.Schema { action?: Action; eventSource?: EventSource; parameters?: PolicyDetailsParameters; policyType?: string | core.StringOut; resourceLocations?: core.Array | core.ArrayOut; resourceTypes?: core.Array | core.ArrayOut; schedule?: core.Array | core.ArrayOut; targetTags?: core.Map | core.MapOut; } export interface LifecyclePolicyArgs extends core.ResourceArgs { description: string | core.StringOut; executionRoleArn: string | core.StringOut; policyDetails: PolicyDetails; state?: string | core.StringOut; tags?: core.Map | core.MapOut; tagsAll?: core.Map | core.MapOut; } export declare class LifecyclePolicy extends core.Resource { arn: string | core.StringOut; description: string | core.StringOut; executionRoleArn: string | core.StringOut; id: string | core.StringOut; policyDetails: PolicyDetails; state?: string | core.StringOut; tags?: core.Map | core.MapOut; tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: LifecyclePolicyArgs); getNamespace(): string; } //# sourceMappingURL=lifecycle_policy.d.ts.map