Microsoft.Azure.Commands.RecoveryServices.Backup.Helpers.PolicyHelpers.GetPSSimpleRetentionPolicy C# (CSharp) Method

GetPSSimpleRetentionPolicy() public static method

public static GetPSSimpleRetentionPolicy ( Microsoft.Azure.Management.RecoveryServices.Backup.Models hydraRetPolicy ) : SimpleRetentionPolicy
hydraRetPolicy Microsoft.Azure.Management.RecoveryServices.Backup.Models
return SimpleRetentionPolicy
        public static SimpleRetentionPolicy GetPSSimpleRetentionPolicy(
           ServiceClientModel.SimpleRetentionPolicy hydraRetPolicy)
        {
            if (hydraRetPolicy == null)
            {
                return null;
            }

            SimpleRetentionPolicy simplePolicy = new SimpleRetentionPolicy();

            if (hydraRetPolicy.RetentionDuration != null)
            {
                simplePolicy.RetentionDurationType = EnumUtils.GetEnum<RetentionDurationType>(
                    hydraRetPolicy.RetentionDuration.DurationType);
                simplePolicy.RetentionCount = hydraRetPolicy.RetentionDuration.Count;
            }

            simplePolicy.Validate();
            return simplePolicy;
        }

Usage Example

        /// <summary>
        /// Helper function to convert ps backup policy model for AzureSql from service response.
        /// </summary>
        public static PolicyBase GetPolicyModelForAzureSql(ServiceClientModel.ProtectionPolicyResource serviceClientResponse,
                                                           PolicyBase policyModel)
        {
            ServiceClientModel.AzureSqlProtectionPolicy azureSqlPolicy =
                (ServiceClientModel.AzureSqlProtectionPolicy)serviceClientResponse.Properties;

            if (azureSqlPolicy.RetentionPolicy.GetType() !=
                typeof(ServiceClientModel.SimpleRetentionPolicy))
            {
                Logger.Instance.WriteDebug("Unknown RetentionPolicy object received: " +
                                           azureSqlPolicy.RetentionPolicy.GetType());
                Logger.Instance.WriteWarning(Resources.UpdateToNewAzurePowershellWarning);
                return(null);
            }

            policyModel = new AzureSqlPolicy();
            AzureSqlPolicy sqlPolicyModel = policyModel as AzureSqlPolicy;

            sqlPolicyModel.WorkloadType         = WorkloadType.AzureSQLDatabase;
            sqlPolicyModel.BackupManagementType = BackupManagementType.AzureSQL;

            ServiceClientModel.SimpleRetentionPolicy azureSqlRetentionPolicy =
                (ServiceClientModel.SimpleRetentionPolicy)azureSqlPolicy.RetentionPolicy;
            sqlPolicyModel.RetentionPolicy =
                PolicyHelpers.GetPSSimpleRetentionPolicy(azureSqlRetentionPolicy, null, "AzureSql");
            return(policyModel);
        }
All Usage Examples Of Microsoft.Azure.Commands.RecoveryServices.Backup.Helpers.PolicyHelpers::GetPSSimpleRetentionPolicy