import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. */ export declare class SafetyRule extends pulumi.CustomResource { /** * Get an existing SafetyRule 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): SafetyRule; /** * Returns true if the given object is an instance of SafetyRule. 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 SafetyRule; /** * An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. For example, the criteria might be that at least one routing control state is `On` after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario. */ readonly assertionRule: pulumi.Output; /** * The Amazon Resource Name (ARN) of the control panel. */ readonly controlPanelArn: pulumi.Output; /** * A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete. * * For example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR` , that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control switch to be On. When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule. */ readonly gatingRule: pulumi.Output; /** * The name of the assertion rule. The name must be unique within a control panel. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) */ readonly name: pulumi.Output; /** * The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be `ON` as the result of a transaction. For example, if you have three assertion controls, you might specify `ATLEAST 2` for your rule configuration. This means that at least two assertion controls must be `ON` , so that at least two AWS Regions have traffic flowing to them. */ readonly ruleConfig: pulumi.Output; /** * The Amazon Resource Name (ARN) of the safety rule. */ readonly safetyRuleArn: pulumi.Output; /** * The deployment status of the routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION. */ readonly status: pulumi.Output; /** * A collection of tags associated with a resource */ readonly tags: pulumi.Output; /** * Create a SafetyRule 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?: SafetyRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a SafetyRule resource. */ export interface SafetyRuleArgs { /** * An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. For example, the criteria might be that at least one routing control state is `On` after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario. */ assertionRule?: pulumi.Input; /** * The Amazon Resource Name (ARN) of the control panel. */ controlPanelArn?: pulumi.Input; /** * A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete. * * For example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR` , that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control switch to be On. When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule. */ gatingRule?: pulumi.Input; /** * The name of the assertion rule. The name must be unique within a control panel. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) */ name?: pulumi.Input; /** * The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be `ON` as the result of a transaction. For example, if you have three assertion controls, you might specify `ATLEAST 2` for your rule configuration. This means that at least two assertion controls must be `ON` , so that at least two AWS Regions have traffic flowing to them. */ ruleConfig?: pulumi.Input; /** * A collection of tags associated with a resource */ tags?: pulumi.Input[]>; }