public override void ExecuteCmdlet() { if (ParameterSetName == ParentObjectParameterSet) { ResourceGroupName = AccountObject.ResourceGroupName; Location = AccountObject.Location; var NameParts = AccountObject.Name.Split('/'); AccountName = NameParts[0]; } var backupPolicyBody = new Management.NetApp.Models.BackupPolicy() { Location = Location, Enabled = Enabled, DailyBackupsToKeep = DailyBackupsToKeep, WeeklyBackupsToKeep = WeeklyBackupsToKeep, MonthlyBackupsToKeep = MonthlyBackupsToKeep, YearlyBackupsToKeep = YearlyBackupsToKeep }; if (ShouldProcess(Name, string.Format(PowerShell.Cmdlets.NetAppFiles.Properties.Resources.CreateResourceMessage, ResourceGroupName))) { var anfBackupPolicy = AzureNetAppFilesManagementClient.BackupPolicies.Create(ResourceGroupName, AccountName, backupPolicyName: Name, body: backupPolicyBody); WriteObject(anfBackupPolicy.ConvertToPs()); } }
public override void ExecuteCmdlet() { if (ParameterSetName == ResourceIdParameterSet) { var resourceIdentifier = new ResourceIdentifier(ResourceId); ResourceGroupName = resourceIdentifier.ResourceGroupName; var parentResources = resourceIdentifier.ParentResource.Split('/'); AccountName = parentResources[1]; Name = resourceIdentifier.ResourceName; } if (ParameterSetName == ParentObjectParameterSet) { ResourceGroupName = AccountObject.ResourceGroupName; Location = AccountObject.Location; var NameParts = AccountObject.Name.Split('/'); AccountName = NameParts[0]; } IDictionary <string, string> tagPairs = null; if (Tag != null) { tagPairs = new Dictionary <string, string>(); foreach (string key in Tag.Keys) { tagPairs.Add(key, Tag[key].ToString()); } } Management.NetApp.Models.BackupPolicy existingBackupPolicy = null; try { existingBackupPolicy = AzureNetAppFilesManagementClient.BackupPolicies.Get(ResourceGroupName, AccountName, Name); } catch { existingBackupPolicy = null; } if (existingBackupPolicy == null) { throw new Exception(string.Format("A Backup Policy with name '{0}' in resource group '{1}' does not exist. Please use New-AzNetAppFilesBackupPolicy to create a new Backup Policy.", this.Name, this.ResourceGroupName)); } var backupPolicyBody = new Management.NetApp.Models.BackupPolicy() { Location = Location, Enabled = Enabled, Tags = tagPairs, DailyBackupsToKeep = DailyBackupsToKeep, WeeklyBackupsToKeep = WeeklyBackupsToKeep, MonthlyBackupsToKeep = MonthlyBackupsToKeep, YearlyBackupsToKeep = YearlyBackupsToKeep }; if (ShouldProcess(Name, string.Format(PowerShell.Cmdlets.NetAppFiles.Properties.Resources.UpdateResourceMessage, ResourceGroupName))) { var anfBackupPolicy = AzureNetAppFilesManagementClient.BackupPolicies.Create(ResourceGroupName, AccountName, backupPolicyName: Name, body: backupPolicyBody); WriteObject(anfBackupPolicy.ConvertToPs()); } }
public static PSNetAppFilesBackupPolicy ConvertToPs(this Management.NetApp.Models.BackupPolicy backupPolicy) { var psBackupPolicy = new PSNetAppFilesBackupPolicy { ResourceGroupName = new ResourceIdentifier(backupPolicy.Id).ResourceGroupName, Location = backupPolicy.Location, Id = backupPolicy.Id, Name = backupPolicy.Name, Type = backupPolicy.Type, Tags = backupPolicy.Tags, ProvisioningState = backupPolicy.ProvisioningState, BackupPolicyId = backupPolicy.Id, DailyBackupsToKeep = backupPolicy.DailyBackupsToKeep, WeeklyBackupsToKeep = backupPolicy.WeeklyBackupsToKeep, MonthlyBackupsToKeep = backupPolicy.MonthlyBackupsToKeep, VolumeBackups = (backupPolicy.VolumeBackups != null) ? backupPolicy.VolumeBackups.ConvertToPS() : null, VolumesAssigned = backupPolicy.VolumesAssigned, Enabled = backupPolicy.Enabled, }; return(psBackupPolicy); }