Show / Hide Table of Contents

Class ProtectionPolicy

The details of a protection policy.A policy defines the exact number of days to retain protected database backups created by Recovery Service. Each protected database must be associated with one protection policy. You can use Oracle-defined protection policies or create custom policies to suit your internal backup storage regulation demands.

Inheritance
object
ProtectionPolicy
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Oci.RecoveryService.Models
Assembly: OCI.DotNetSDK.Recovery.dll
Syntax
public class ProtectionPolicy

Properties

BackupRetentionPeriodInDays

Declaration
[Required(ErrorMessage = "BackupRetentionPeriodInDays is required.")]
[JsonProperty(PropertyName = "backupRetentionPeriodInDays")]
public int? BackupRetentionPeriodInDays { get; set; }
Property Value
Type Description
int?

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.

Remarks

Required

CompartmentId

Declaration
[Required(ErrorMessage = "CompartmentId is required.")]
[JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
Property Value
Type Description
string

The OCID of the compartment that contains the protection policy.

Remarks

Required

DefinedTags

Declaration
[JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

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

DisplayName

Declaration
[JsonProperty(PropertyName = "displayName")]
public string DisplayName { get; set; }
Property Value
Type Description
string

A user provided name for the protection policy.

FreeformTags

Declaration
[JsonProperty(PropertyName = "freeformTags")]
public Dictionary<string, string> FreeformTags { get; set; }
Property Value
Type Description
Dictionary<string, string>

Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}

Id

Declaration
[Required(ErrorMessage = "Id is required.")]
[JsonProperty(PropertyName = "id")]
public string Id { get; set; }
Property Value
Type Description
string

The protection policy OCID.

Remarks

Required

IsPredefinedPolicy

Declaration
[Required(ErrorMessage = "IsPredefinedPolicy is required.")]
[JsonProperty(PropertyName = "isPredefinedPolicy")]
public bool? IsPredefinedPolicy { get; set; }
Property Value
Type Description
bool?

Set to TRUE if the policy is Oracle-defined, and FALSE for a user-defined custom policy. You can modify only the custom policies.

Remarks

Required

LifecycleDetails

Declaration
[JsonProperty(PropertyName = "lifecycleDetails")]
public string LifecycleDetails { get; set; }
Property Value
Type Description
string

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.

LifecycleState

Declaration
[JsonProperty(PropertyName = "lifecycleState")]
[JsonConverter(typeof(ResponseEnumConverter))]
public LifecycleState? LifecycleState { get; set; }
Property Value
Type Description
LifecycleState?

The current state of the protection policy.

MustEnforceCloudLocality

Declaration
[JsonProperty(PropertyName = "mustEnforceCloudLocality")]
public bool? MustEnforceCloudLocality { get; set; }
Property Value
Type Description
bool?

Indicates whether the protection policy enforces Recovery Service to retain backups in the same cloud service environment where your Oracle Database is provisioned.

PolicyLockedDateTime

Declaration
[JsonProperty(PropertyName = "policyLockedDateTime")]
public string PolicyLockedDateTime { get; set; }
Property Value
Type Description
string

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.

SystemTags

Declaration
[JsonProperty(PropertyName = "systemTags")]
public Dictionary<string, Dictionary<string, object>> SystemTags { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

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

TimeCreated

Declaration
[JsonProperty(PropertyName = "timeCreated")]
public DateTime? TimeCreated { get; set; }
Property Value
Type Description
DateTime?

An RFC3339 formatted datetime string that indicates the created time for the protection policy. For Example: '2020-05-22T21:10:29.600Z'.

TimeUpdated

Declaration
[JsonProperty(PropertyName = "timeUpdated")]
public DateTime? TimeUpdated { get; set; }
Property Value
Type Description
DateTime?

An RFC3339 formatted datetime string that indicates the updated time for the protection policy. For Example: '2020-05-22T21:10:29.600Z'.

In this article
Back to top