private SimpleRetentionPolicy GetRandomSimpleRetentionPolicy() { SimpleRetentionPolicy simPolicy = new SimpleRetentionPolicy() { RetentionDuration = new RetentionDuration() { DurationType = ConfigurationManager.AppSettings["AzureSqlPolicyRetentionType"], Count = int.Parse(ConfigurationManager.AppSettings["AzureSqlPolicyRetentionDuration"]) } }; return(simPolicy); }
GetServiceClientSimpleRetentionPolicy(SimpleRetentionPolicy psRetPolicy) { if (psRetPolicy == null) { return(null); } else { ServiceClientModel.SimpleRetentionPolicy simpleRetPolicy = new ServiceClientModel.SimpleRetentionPolicy(); simpleRetPolicy.RetentionDuration = new ServiceClientModel.RetentionDuration(); simpleRetPolicy.RetentionDuration.DurationType = ServiceClientHelpers.GetServiceClientRetentionDurationType(psRetPolicy.RetentionDurationType); simpleRetPolicy.RetentionDuration.Count = psRetPolicy.RetentionCount; return(simpleRetPolicy); } }
GetServiceClientSimpleRetentionPolicy(SimpleRetentionPolicy psRetPolicy) { if (psRetPolicy == null) { return(null); } else { ServiceClientModel.SimpleRetentionPolicy simpleRetPolicy = new ServiceClientModel.SimpleRetentionPolicy(); string durationType = psRetPolicy.RetentionDurationType.ToString(); simpleRetPolicy.RetentionDuration = new ServiceClientModel.RetentionDuration(); simpleRetPolicy.RetentionDuration.DurationType = durationType; simpleRetPolicy.RetentionDuration.Count = psRetPolicy.RetentionCount; return(simpleRetPolicy); } }
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; }
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); }
public static SimpleRetentionPolicy GetPSSimpleRetentionPolicy( ServiceClientModel.SimpleRetentionPolicy hydraRetPolicy, string timeZone) { if (hydraRetPolicy == null) { return(null); } SimpleRetentionPolicy simplePolicy = new SimpleRetentionPolicy(); if (hydraRetPolicy.RetentionDuration != null) { simplePolicy.RetentionDurationType = EnumUtils.GetEnum <RetentionDurationType>( hydraRetPolicy.RetentionDuration.DurationType.ToString()); simplePolicy.RetentionCount = hydraRetPolicy.RetentionDuration.Count.HasValue ? (int)hydraRetPolicy.RetentionDuration.Count : default(int); } simplePolicy.Validate(); return(simplePolicy); }
public static SimpleRetentionPolicy GetPSSimpleRetentionPolicy( ServiceClientModel.SimpleRetentionPolicy hydraRetPolicy, string timeZone, string provider) { if (hydraRetPolicy == null) { return(null); } SimpleRetentionPolicy simplePolicy = new SimpleRetentionPolicy(); if (hydraRetPolicy.RetentionDuration != null) { simplePolicy.RetentionDurationType = EnumUtils.GetEnum <RetentionDurationType>( hydraRetPolicy.RetentionDuration.DurationType.ToString()); simplePolicy.RetentionCount = hydraRetPolicy.RetentionDuration.Count.HasValue ? (int)hydraRetPolicy.RetentionDuration.Count : default(int); } if (string.Compare(provider, "AzureSql") == 0) { int weeklyLimit = PolicyConstants.MaxAllowedRetentionDurationCountWeeklySql; int monthlyLimit = PolicyConstants.MaxAllowedRetentionDurationCountMonthlySql; int yearlyLimit = PolicyConstants.MaxAllowedRetentionDurationCountYearlySql; if ((simplePolicy.RetentionDurationType == RetentionDurationType.Days) || (simplePolicy.RetentionDurationType == RetentionDurationType.Weeks && (simplePolicy.RetentionCount <= 0 || simplePolicy.RetentionCount > weeklyLimit)) || (simplePolicy.RetentionDurationType == RetentionDurationType.Months && (simplePolicy.RetentionCount <= 0 || simplePolicy.RetentionCount > monthlyLimit)) || (simplePolicy.RetentionDurationType == RetentionDurationType.Years && (simplePolicy.RetentionCount <= 0 || simplePolicy.RetentionCount > yearlyLimit))) { throw new ArgumentException(Resources.AllowedSqlRetentionRange); } } return(simplePolicy); }
GetServiceClientSimpleRetentionPolicy(SimpleRetentionPolicy psRetPolicy) { if (psRetPolicy == null) { return null; } else { ServiceClientModel.SimpleRetentionPolicy simpleRetPolicy = new ServiceClientModel.SimpleRetentionPolicy(); string durationType = psRetPolicy.RetentionDurationType.ToString(); simpleRetPolicy.RetentionDuration = new ServiceClientModel.RetentionDuration(); simpleRetPolicy.RetentionDuration.DurationType = durationType; simpleRetPolicy.RetentionDuration.Count = psRetPolicy.RetentionCount; return simpleRetPolicy; } }
public void PolicyCrudTest() { using (UndoContext context = UndoContext.Current) { context.Start(); string resourceNamespace = ConfigurationManager.AppSettings["ResourceNamespace"]; string rsVaultRgName = CommonTestHelper.GetSetting(TestConstants.RsVaultRgName); string rsVaultName = CommonTestHelper.GetSetting(TestConstants.RsVaultName); var client = GetServiceClient <RecoveryServicesBackupManagementClient>(resourceNamespace); PolicyTestHelpers policyTestHelper = new PolicyTestHelpers(client); string policyName = ConfigurationManager.AppSettings["AzureSqlPolicyName"]; //create policy request SimpleRetentionPolicy retPolicy = new SimpleRetentionPolicy(); retPolicy.RetentionDuration = new RetentionDuration() { DurationType = "Weeks", Count = 6 }; AzureSqlProtectionPolicy sqlPolicy = new AzureSqlProtectionPolicy() { RetentionPolicy = retPolicy }; ProtectionPolicyRequest policyRequest = new ProtectionPolicyRequest() { Item = new ProtectionPolicyResource() { Properties = sqlPolicy } }; //create policy ProtectionPolicyResponse response = policyTestHelper.AddOrUpdateProtectionPolicy(rsVaultRgName, rsVaultName, policyName, policyRequest); // get policy response = policyTestHelper.GetProtectionPolicy(rsVaultRgName, rsVaultName, policyName); Assert.NotNull(response.Item.Name); Assert.Equal(response.Item.Name, policyName); Assert.NotNull(response.Item.Id); Assert.NotNull(response.Item.Type); Assert.NotNull(response.Item.Properties); Assert.NotNull(response.Item.Properties as AzureSqlProtectionPolicy); AzureSqlProtectionPolicy resultPolicy = response.Item.Properties as AzureSqlProtectionPolicy; SimpleRetentionPolicy resultRetetion = resultPolicy.RetentionPolicy as SimpleRetentionPolicy; Assert.Equal(resultRetetion.RetentionDuration.DurationType, "Weeks"); Assert.Equal(resultRetetion.RetentionDuration.Count, 6); //update policy request retPolicy.RetentionDuration = new RetentionDuration() { DurationType = "Months", Count = 2 }; sqlPolicy = new AzureSqlProtectionPolicy() { RetentionPolicy = retPolicy }; policyRequest = new ProtectionPolicyRequest() { Item = new ProtectionPolicyResource() { Properties = sqlPolicy } }; // update policy response = policyTestHelper.AddOrUpdateProtectionPolicy(rsVaultRgName, rsVaultName, policyName, policyRequest); // validations Assert.NotNull(response.Item.Name); Assert.Equal(response.Item.Name, policyName); Assert.NotNull(response.Item.Id); Assert.NotNull(response.Item.Type); Assert.NotNull(response.Item.Properties); Assert.NotNull(response.Item.Properties as AzureSqlProtectionPolicy); resultPolicy = response.Item.Properties as AzureSqlProtectionPolicy; resultRetetion = resultPolicy.RetentionPolicy as SimpleRetentionPolicy; Assert.Equal(resultRetetion.RetentionDuration.DurationType, "Months"); Assert.Equal(resultRetetion.RetentionDuration.Count, 2); // delete the policy AzureOperationResponse deleteResponse = policyTestHelper.DeleteProtectionPolicy(rsVaultRgName, rsVaultName, policyName); Assert.Equal(deleteResponse.StatusCode, HttpStatusCode.OK); } }