import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Describe a Nutanix Protection Rule and its values (if it has them). * * ## 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"], * }], * }, * }); * const test = nutanix.getProtectionRuleOutput({ * protectionRuleId: protectionRuleTest.id, * }); * ``` * */ export declare function getProtectionRule(args?: GetProtectionRuleArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getProtectionRule. */ export interface GetProtectionRuleArgs { categories?: inputs.GetProtectionRuleCategory[]; /** * - (Required) The `id` of the protection rule. */ protectionRuleId?: string; protectionRuleName?: string; } /** * A collection of values returned by getProtectionRule. */ export interface GetProtectionRuleResult { readonly apiVersion: string; /** * (Required) This encodes the datapipes between various availability zones and\nthe backup policy of the pipes. */ readonly availabilityZoneConnectivityLists: outputs.GetProtectionRuleAvailabilityZoneConnectivityList[]; readonly categories: outputs.GetProtectionRuleCategory[]; /** * (Optional/Computed) */ readonly categoryFilters: outputs.GetProtectionRuleCategoryFilter[]; /** * A description for protection rule. */ readonly description: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly metadata: { [key: string]: string; }; /** * (Optional) the name. */ readonly name: string; /** * (Required) A list of availability zones, each of which, receives a replica\nof the data for the entities protected by this protection rule. * * `ordered_availability_zone_list.#.cluster_uuid` - (Optional/Computed) UUID of specific cluster to which we will be replicating. * * `ordered_availability_zone_list.#.availability_zone_url` - (Optional/Computed) The FQDN or IP address of the availability zone. */ readonly orderedAvailabilityZoneLists: outputs.GetProtectionRuleOrderedAvailabilityZoneList[]; readonly ownerReferences: outputs.GetProtectionRuleOwnerReference[]; readonly projectReferences: outputs.GetProtectionRuleProjectReference[]; readonly protectionRuleId?: string; readonly protectionRuleName?: string; readonly startTime: string; readonly state: string; } /** * Describe a Nutanix Protection Rule and its values (if it has them). * * ## 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"], * }], * }, * }); * const test = nutanix.getProtectionRuleOutput({ * protectionRuleId: protectionRuleTest.id, * }); * ``` * */ export declare function getProtectionRuleOutput(args?: GetProtectionRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getProtectionRule. */ export interface GetProtectionRuleOutputArgs { categories?: pulumi.Input[] | undefined>; /** * - (Required) The `id` of the protection rule. */ protectionRuleId?: pulumi.Input; protectionRuleName?: pulumi.Input; } //# sourceMappingURL=getProtectionRule.d.ts.map