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 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'. |