コード例 #1
0
        /// <summary>
        /// Provides a database Vulnerability Assessment Rule Baseline model for the given database
        /// </summary>
        public DatabaseVulnerabilityAssessmentRuleBaselineModel GetDatabaseVulnerabilityAssessmentRuleBaseline(string resourceGroup, string serverName,
                                                                                                               string databaseName, string ruleId, bool ruleAppliesToMaster)
        {
            var vulnerabilityAssessmentRuleBaseline = VulnerabilityAssessmentCommunicator.GetDatabaseVulnerabilityAssessmentRuleBaseline(resourceGroup,
                                                                                                                                         serverName, databaseName, ruleId, ruleAppliesToMaster);

            var ruleBaselineModel = new DatabaseVulnerabilityAssessmentRuleBaselineModel()
            {
                ResourceGroupName   = resourceGroup,
                ServerName          = serverName,
                DatabaseName        = databaseName,
                RuleId              = ruleId,
                RuleAppliesToMaster = ruleAppliesToMaster
            };

            ruleBaselineModel.BaselineResult = new List <DatabaseVulnerabilityAssessmentRuleBaselineRowModel>();

            foreach (var baselineResult in vulnerabilityAssessmentRuleBaseline.BaselineResults)
            {
                var ruleBaselineItem = new DatabaseVulnerabilityAssessmentRuleBaselineRowModel()
                {
                    Result = baselineResult.Result
                };

                ruleBaselineModel.BaselineResult.Add(ruleBaselineItem);
            }

            return(ruleBaselineModel);
        }
コード例 #2
0
        protected override string GetDatabaseName()
        {
            if (string.Equals(this.ParameterSetName, SetByInputObjectParameterSet, StringComparison.OrdinalIgnoreCase))
            {
                DatabaseVulnerabilityAssessmentRuleBaselineModel databaseInputObject = InputObject as DatabaseVulnerabilityAssessmentRuleBaselineModel;

                if (databaseInputObject == null)
                {
                    throw new Exception(Properties.Resources.VulnerabilityAssessmentWrongParameterType);
                }

                return(databaseInputObject.DatabaseName);
            }

            return(DatabaseName);
        }
コード例 #3
0
        /// <summary>
        /// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint
        /// </summary>
        public void SetDatabaseVulnerabilityAssessmentRuleBaseline(DatabaseVulnerabilityAssessmentRuleBaselineModel model)
        {
            var ruleBaseline = new DatabaseVulnerabilityAssessmentRuleBaseline()
            {
                BaselineResults = new List <DatabaseVulnerabilityAssessmentRuleBaselineItem>()
            };

            foreach (var baselineResult in model.BaselineResult)
            {
                var ruleBaselineItem = new DatabaseVulnerabilityAssessmentRuleBaselineItem()
                {
                    Result = baselineResult.Result
                };

                ruleBaseline.BaselineResults.Add(ruleBaselineItem);
            }

            VulnerabilityAssessmentCommunicator.SetDatabaseVulnerabilityAssessmentRuleBaseline(model.ResourceGroupName, model.ServerName,
                                                                                               model.DatabaseName, model.RuleId, model.RuleAppliesToMaster, ruleBaseline);
        }
コード例 #4
0
 /// <summary>
 /// No sending is needed as this is a Get cmdlet
 /// </summary>
 /// <param name="model">The model object with the data to be sent to the REST endpoints</param>
 protected override DatabaseVulnerabilityAssessmentRuleBaselineModel PersistChanges(DatabaseVulnerabilityAssessmentRuleBaselineModel model)
 {
     ModelAdapter.ClearDatabaseVulnerabilityAssessmentRuleBaseline(model);
     return(model);
 }
コード例 #5
0
        /// <summary>
        /// Updates the given model element with the cmdlet specific operation
        /// </summary>
        /// <param name="model">A model object</param>
        protected override DatabaseVulnerabilityAssessmentRuleBaselineModel ApplyUserInputToModel(DatabaseVulnerabilityAssessmentRuleBaselineModel model)
        {
            base.ApplyUserInputToModel(model);

            if (string.Equals(this.ParameterSetName, SetByInputObjectParameterSet, StringComparison.OrdinalIgnoreCase))
            {
                model.BaselineResult = InputObject.BaselineResult;
                model.RuleId         = InputObject.RuleId;
                return(model);
            }

            model.BaselineResult = new List <DatabaseVulnerabilityAssessmentRuleBaselineRowModel>();
            foreach (var baselineResult in BaselineResult)
            {
                var ruleBaselineItem = new DatabaseVulnerabilityAssessmentRuleBaselineRowModel()
                {
                    Result = baselineResult
                };

                model.BaselineResult.Add(ruleBaselineItem);
            }

            model.RuleId = RuleId;
            model.RuleAppliesToMaster = RuleAppliesToMaster.IsPresent;
            return(model);
        }
コード例 #6
0
 /// <summary>
 /// Remove the Vulnerability Assessment Rule Baseline
 /// </summary>
 public void ClearDatabaseVulnerabilityAssessmentRuleBaseline(DatabaseVulnerabilityAssessmentRuleBaselineModel model)
 {
     VulnerabilityAssessmentCommunicator.ClearDatabaseVulnerabilityAssessmentRuleBaseline(model.ResourceGroupName, model.ServerName,
                                                                                          model.DatabaseName, model.RuleId, model.RuleAppliesToMaster);
 }