import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for managing an AWS Resilience Hub V2 Policy. * * A resilience policy defines your resilience expectations through modular, composable requirements. Rather than choosing a single rigid policy type, you construct policies by selecting the requirements that matter to your application: availability SLO, multi-AZ disaster recovery, multi-region disaster recovery, and data recovery objectives. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.resiliencehub.V2Policy("example", { * availabilitySlo: { * target: 99.9, * }, * name: "example-policy", * }); * ``` * * ### Multi-AZ with Data Recovery * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.resiliencehub.V2Policy("example", { * availabilitySlo: { * target: 99.99, * }, * dataRecovery: { * timeBetweenBackupsInMinutes: 60, * }, * multiAz: { * disasterRecoveryApproach: "ACTIVE_ACTIVE", * rpoInMinutes: 5, * rtoInMinutes: 10, * }, * name: "example-policy", * description: "Policy with multi-AZ and data recovery targets", * tags: { * Environment: "production", * }, * }); * ``` * * ### Multi-Region * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.resiliencehub.V2Policy("example", { * availabilitySlo: { * target: 99.95, * }, * multiRegion: { * disasterRecoveryApproach: "ACTIVE_PASSIVE", * rpoInMinutes: 15, * rtoInMinutes: 30, * }, * name: "example-multi-region-policy", * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * - `arn` (String) ARN of the Resilience Hub V2 Policy. * * Using `pulumi import`, import Resilience Hub V2 Policy using the `arn`. For example: * * ```sh * $ pulumi import aws:resiliencehub/v2Policy:V2Policy example arn:aws:resiliencehub:us-west-2:123456789012:policy/example-policy:abc123 * ``` */ export declare class V2Policy extends pulumi.CustomResource { /** * Get an existing V2Policy resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: V2PolicyState, opts?: pulumi.CustomResourceOptions): V2Policy; /** * Returns true if the given object is an instance of V2Policy. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is V2Policy; /** * ARN of the policy. */ readonly arn: pulumi.Output; /** * Availability SLO configuration. See `availabilitySlo` Block below. */ readonly availabilitySlo: pulumi.Output; /** * Data recovery configuration. See `dataRecovery` Block below. */ readonly dataRecovery: pulumi.Output; /** * Description of the policy. */ readonly description: pulumi.Output; /** * KMS key ARN. */ readonly kmsKeyId: pulumi.Output; /** * Multi-AZ disaster recovery configuration. See `multiAz` Block below. */ readonly multiAz: pulumi.Output; /** * Multi-region disaster recovery configuration. See `multiRegion` Block below. */ readonly multiRegion: pulumi.Output; /** * Name of the policy. Changing this value requires creating a new resource. * * The following arguments are optional: */ readonly name: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * Create a V2Policy resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: V2PolicyArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering V2Policy resources. */ export interface V2PolicyState { /** * ARN of the policy. */ arn?: pulumi.Input; /** * Availability SLO configuration. See `availabilitySlo` Block below. */ availabilitySlo?: pulumi.Input; /** * Data recovery configuration. See `dataRecovery` Block below. */ dataRecovery?: pulumi.Input; /** * Description of the policy. */ description?: pulumi.Input; /** * KMS key ARN. */ kmsKeyId?: pulumi.Input; /** * Multi-AZ disaster recovery configuration. See `multiAz` Block below. */ multiAz?: pulumi.Input; /** * Multi-region disaster recovery configuration. See `multiRegion` Block below. */ multiRegion?: pulumi.Input; /** * Name of the policy. Changing this value requires creating a new resource. * * The following arguments are optional: */ name?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } /** * The set of arguments for constructing a V2Policy resource. */ export interface V2PolicyArgs { /** * Availability SLO configuration. See `availabilitySlo` Block below. */ availabilitySlo?: pulumi.Input; /** * Data recovery configuration. See `dataRecovery` Block below. */ dataRecovery?: pulumi.Input; /** * Description of the policy. */ description?: pulumi.Input; /** * KMS key ARN. */ kmsKeyId?: pulumi.Input; /** * Multi-AZ disaster recovery configuration. See `multiAz` Block below. */ multiAz?: pulumi.Input; /** * Multi-region disaster recovery configuration. See `multiRegion` Block below. */ multiRegion?: pulumi.Input; /** * Name of the policy. Changing this value requires creating a new resource. * * The following arguments are optional: */ name?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } //# sourceMappingURL=v2policy.d.ts.map