import * as pulumi from "@pulumi/pulumi"; /** * This data source provides details about a specific Protection Policy resource in Oracle Cloud Infrastructure Recovery service. * * Gets information about a specified protection policy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testProtectionPolicy = oci.recoverymod.getProtectionPolicy({ * protectionPolicyId: testProtectionPolicyOciRecoveryProtectionPolicy.id, * }); * ``` */ export declare function getProtectionPolicy(args: GetProtectionPolicyArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getProtectionPolicy. */ export interface GetProtectionPolicyArgs { /** * The protection policy OCID. */ protectionPolicyId: string; } /** * A collection of values returned by getProtectionPolicy. */ export interface GetProtectionPolicyResult { /** * The maximum number of days to retain backups for a protected database. Specify a period ranging from a minimum 14 days to a maximum 95 days. For example, specify the value 55 if you want to retain backups for 55 days. */ readonly backupRetentionPeriodInDays: number; /** * The OCID of the compartment that contains the protection policy. */ readonly compartmentId: string; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. For more information, see [Resource Tags](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/resourcetags.htm) */ readonly definedTags: { [key: string]: string; }; /** * A user provided name for the protection policy. */ readonly displayName: string; /** * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ readonly freeformTags: { [key: string]: string; }; /** * The protection policy OCID. */ readonly id: string; /** * Set to TRUE if the policy is Oracle-defined, and FALSE for a user-defined custom policy. You can modify only the custom policies. */ readonly isPredefinedPolicy: boolean; /** * Detailed description about the current lifecycle state of the protection policy. For example, it can be used to provide actionable information for a resource in a Failed state. */ readonly lifecycleDetails: string; /** * Indicates whether the protection policy enforces Recovery Service to retain backups in the same cloud service environment where your Oracle Database is provisioned. */ readonly mustEnforceCloudLocality: boolean; /** * An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy. */ readonly policyLockedDateTime: string; readonly protectionPolicyId: string; /** * The current state of the protection policy. */ readonly state: string; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`. For more information, see [Resource Tags](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/resourcetags.htm) */ readonly systemTags: { [key: string]: string; }; /** * An RFC3339 formatted datetime string that indicates the created time for the protection policy. For example: '2020-05-22T21:10:29.600Z'. */ readonly timeCreated: string; /** * An RFC3339 formatted datetime string that indicates the updated time for the protection policy. For example: '2020-05-22T21:10:29.600Z'. */ readonly timeUpdated: string; } /** * This data source provides details about a specific Protection Policy resource in Oracle Cloud Infrastructure Recovery service. * * Gets information about a specified protection policy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testProtectionPolicy = oci.recoverymod.getProtectionPolicy({ * protectionPolicyId: testProtectionPolicyOciRecoveryProtectionPolicy.id, * }); * ``` */ export declare function getProtectionPolicyOutput(args: GetProtectionPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getProtectionPolicy. */ export interface GetProtectionPolicyOutputArgs { /** * The protection policy OCID. */ protectionPolicyId: pulumi.Input; } //# sourceMappingURL=getProtectionPolicy.d.ts.map