import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides a Nutanix Protection Rule resource to Create a Protection Rule. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * const protectionRuleTest = new nutanix.ProtectionRule("protection_rule_test", { * name: "test", * description: "test", * orderedAvailabilityZoneLists: [{ * availabilityZoneUrl: "ab788130-0820-4d07-a1b5-b0ba4d3a42asd", * }], * availabilityZoneConnectivityLists: [{ * snapshotScheduleLists: [{ * recoveryPointObjectiveSecs: 3600, * snapshotType: "CRASH_CONSISTENT", * localSnapshotRetentionPolicy: { * numSnapshots: 1, * }, * }], * }], * categoryFilter: { * params: [{ * name: "Environment", * values: ["Dev"], * }], * }, * }); * ``` * */ export declare class ProtectionRule extends pulumi.CustomResource { /** * Get an existing ProtectionRule 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?: ProtectionRuleState, opts?: pulumi.CustomResourceOptions): ProtectionRule; /** * Returns true if the given object is an instance of ProtectionRule. 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 ProtectionRule; readonly apiVersion: pulumi.Output; readonly availabilityZoneConnectivityLists: pulumi.Output; readonly categories: pulumi.Output; readonly categoryFilter: pulumi.Output; /** * A description for protection rule. */ readonly description: pulumi.Output; readonly metadata: pulumi.Output<{ [key: string]: string; }>; /** * The name for the protection rule. */ readonly name: pulumi.Output; readonly orderedAvailabilityZoneLists: pulumi.Output; readonly ownerReference: pulumi.Output; readonly projectReference: pulumi.Output; readonly startTime: pulumi.Output; readonly state: pulumi.Output; /** * Create a ProtectionRule 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: ProtectionRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ProtectionRule resources. */ export interface ProtectionRuleState { apiVersion?: pulumi.Input; availabilityZoneConnectivityLists?: pulumi.Input[] | undefined>; categories?: pulumi.Input[] | undefined>; categoryFilter?: pulumi.Input; /** * A description for protection rule. */ description?: pulumi.Input; metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The name for the protection rule. */ name?: pulumi.Input; orderedAvailabilityZoneLists?: pulumi.Input[] | undefined>; ownerReference?: pulumi.Input; projectReference?: pulumi.Input; startTime?: pulumi.Input; state?: pulumi.Input; } /** * The set of arguments for constructing a ProtectionRule resource. */ export interface ProtectionRuleArgs { availabilityZoneConnectivityLists: pulumi.Input[]>; categories?: pulumi.Input[] | undefined>; categoryFilter?: pulumi.Input; /** * A description for protection rule. */ description?: pulumi.Input; /** * The name for the protection rule. */ name?: pulumi.Input; orderedAvailabilityZoneLists: pulumi.Input[]>; ownerReference?: pulumi.Input; projectReference?: pulumi.Input; startTime?: pulumi.Input; } //# sourceMappingURL=protectionRule.d.ts.map