/// <summary> /// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint /// </summary> public void SetVulnerabilityAssessmentRuleBaseline(VulnerabilityAssessmentRuleBaselineModel model, string serverName, string databaseName, ApplyToType applyToType) { 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); } if (applyToType == ApplyToType.Database) { VulnerabilityAssessmentCommunicator.SetDatabaseVulnerabilityAssessmentRuleBaseline(model.ResourceGroupName, serverName, databaseName, model.RuleId, model.RuleAppliesToMaster, ruleBaseline); } else { VulnerabilityAssessmentCommunicator.SetManagedDatabaseVulnerabilityAssessmentRuleBaseline(model.ResourceGroupName, serverName, databaseName, model.RuleId, model.RuleAppliesToMaster, ruleBaseline); } }
/// <summary> /// Provides a database Vulnerability Assessment Rule Baseline model for the given database /// </summary> public VulnerabilityAssessmentRuleBaselineModel GetVulnerabilityAssessmentRuleBaseline(string resourceGroup, string serverName, string databaseName, string ruleId, bool ruleAppliesToMaster, ApplyToType applyToType) { var vulnerabilityAssessmentRuleBaseline = (applyToType == ApplyToType.Database) ? VulnerabilityAssessmentCommunicator.GetDatabaseVulnerabilityAssessmentRuleBaseline(resourceGroup, serverName, databaseName, ruleId, ruleAppliesToMaster) : VulnerabilityAssessmentCommunicator.GetManagedDatabaseVulnerabilityAssessmentRuleBaseline(resourceGroup, serverName, databaseName, ruleId, ruleAppliesToMaster); var ruleBaselineModel = new VulnerabilityAssessmentRuleBaselineModel() { ResourceGroupName = resourceGroup, RuleId = ruleId, RuleAppliesToMaster = ruleAppliesToMaster }; ruleBaselineModel.BaselineResult = new List <VulnerabilityAssessmentRuleBaselineRowModel>(); foreach (var baselineResult in vulnerabilityAssessmentRuleBaseline.BaselineResults) { var ruleBaselineItem = new VulnerabilityAssessmentRuleBaselineRowModel() { Result = baselineResult.Result }; ruleBaselineModel.BaselineResult.Add(ruleBaselineItem); } return(ruleBaselineModel); }
public ManagedDatabaseVulnerabilityAssessmentRuleBaselineModel(VulnerabilityAssessmentRuleBaselineModel model, string instanceName, string databaseName) { ResourceGroupName = model.ResourceGroupName; RuleId = model.RuleId; RuleAppliesToMaster = model.RuleAppliesToMaster; BaselineResult = model.BaselineResult; InstanceName = instanceName; DatabaseName = databaseName; }
public SqlPoolVulnerabilityAssessmentRuleBaselineModel(VulnerabilityAssessmentRuleBaselineModel model, string workspaceName, string sqlPoolName) { ResourceGroupName = model.ResourceGroupName; RuleId = model.RuleId; RuleAppliesToMaster = model.RuleAppliesToMaster; BaselineResult = model.BaselineResult; WorkspaceName = workspaceName; SqlPoolName = sqlPoolName; }
public DatabaseVulnerabilityAssessmentRuleBaselineModel(VulnerabilityAssessmentRuleBaselineModel model, string serverName, string databaseName) { ResourceGroupName = model.ResourceGroupName; RuleId = model.RuleId; RuleAppliesToMaster = model.RuleAppliesToMaster; BaselineResult = model.BaselineResult; ServerName = serverName; DatabaseName = databaseName; }
/// <summary> /// Remove the Vulnerability Assessment Rule Baseline /// </summary> public void ClearVulnerabilityAssessmentRuleBaseline(VulnerabilityAssessmentRuleBaselineModel model, string serverName, string databaseName, ApplyToType applyToType) { if (applyToType == ApplyToType.Database) { VulnerabilityAssessmentCommunicator.ClearDatabaseVulnerabilityAssessmentRuleBaseline(model.ResourceGroupName, serverName, databaseName, model.RuleId, model.RuleAppliesToMaster); } else { VulnerabilityAssessmentCommunicator.ClearManagedDatabaseVulnerabilityAssessmentRuleBaseline(model.ResourceGroupName, serverName, databaseName, model.RuleId, model.RuleAppliesToMaster); } }
/// <summary> /// Transforms the given model object to be an object that is written out /// </summary> /// <param name="model">The about to be written model object</param> /// <returns>The prepared object to be written out</returns> protected override object TransformModelToOutputObject(VulnerabilityAssessmentRuleBaselineModel model) { return(new ManagedDatabaseVulnerabilityAssessmentRuleBaselineModel(model, GetServerName(), GetDatabaseName())); }
/// <summary> /// Updates the given model element with the cmdlet specific operation /// </summary> /// <param name="model">A model object</param> protected override VulnerabilityAssessmentRuleBaselineModel ApplyUserInputToModel(VulnerabilityAssessmentRuleBaselineModel 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 <VulnerabilityAssessmentRuleBaselineRowModel>(); foreach (var baselineResult in BaselineResult) { var ruleBaselineItem = new VulnerabilityAssessmentRuleBaselineRowModel() { Result = baselineResult }; model.BaselineResult.Add(ruleBaselineItem); } model.RuleId = RuleId; model.RuleAppliesToMaster = RuleAppliesToMaster.IsPresent; return(model); }
/// <summary> /// This method is responsible to call the right API in the communication layer that will eventually send the information in the /// object to the REST endpoint /// </summary> /// <param name="model">The model object with the data to be sent to the REST endpoints</param> protected override VulnerabilityAssessmentRuleBaselineModel PersistChanges(VulnerabilityAssessmentRuleBaselineModel model) { ModelAdapter.SetVulnerabilityAssessmentRuleBaseline(model, GetServerName(), GetDatabaseName(), GetResourceTypeVaAppliesTo()); return(model); }
/// <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 VulnerabilityAssessmentRuleBaselineModel PersistChanges(VulnerabilityAssessmentRuleBaselineModel model) { ModelAdapter.ClearVulnerabilityAssessmentRuleBaseline(model, GetWorkspaceName(), GetSqlPoolName(), GetResourceTypeVaAppliesTo()); return(model); }
/// <summary> /// Transforms the given model object to be an object that is written out /// </summary> /// <param name="model">The about to be written model object</param> /// <returns>The prepared object to be written out</returns> protected override object TransformModelToOutputObject(VulnerabilityAssessmentRuleBaselineModel model) { return(new SqlPoolVulnerabilityAssessmentRuleBaselineModel(model, GetWorkspaceName(), GetSqlPoolName())); }
/// <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 VulnerabilityAssessmentRuleBaselineModel PersistChanges(VulnerabilityAssessmentRuleBaselineModel model) { return(model); }