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.
Inherited Members
Namespace: Oci.RecoveryService.Models
Assembly: OCI.DotNetSDK.Recovery.dll
Syntax
public class ProtectionPolicyProperties
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'. |