示例#1
0
        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);
        }