internal void DisableManagedDatabaseSensitivityRecommendations(ManagedDatabaseSensitivityClassificationModel model)
 {
     ModifySensitivityLabels(model, sensitivityLabelModel => Communicator.DisableManagedDatabaseSensitivityRecommendation(
                                 model.ResourceGroupName,
                                 model.InstanceName,
                                 model.DatabaseName,
                                 sensitivityLabelModel.SchemaName,
                                 sensitivityLabelModel.TableName,
                                 sensitivityLabelModel.ColumnName));
 }
 internal void SetSensitivityLabels(ManagedDatabaseSensitivityClassificationModel model)
 {
     ModifySensitivityLabels(model, sensitivityLabelModel => Communicator.SetManagedDatabaseSensitivityLabel(
                                 model.ResourceGroupName,
                                 model.InstanceName,
                                 model.DatabaseName,
                                 sensitivityLabelModel.SchemaName,
                                 sensitivityLabelModel.TableName,
                                 sensitivityLabelModel.ColumnName,
                                 ToSensitivityLabel(sensitivityLabelModel)));
 }
 internal void RemoveSensitivityLabels(ManagedDatabaseSensitivityClassificationModel model)
 {
     SplitSensitivityLabelsIntoListsAndPatch(model.SensitivityLabels,
                                             list => Communicator.PatchManagedDatabaseSensitivityLabels(
                                                 model.ResourceGroupName,
                                                 model.InstanceName,
                                                 model.DatabaseName,
                                                 new PatchOperations
     {
         Operations = list.Select(sensitivityLabelModel => new PatchOperation
         {
             OperationKind = PatchOperationKind.Remove,
             Schema        = sensitivityLabelModel.SchemaName,
             Table         = sensitivityLabelModel.TableName,
             Column        = sensitivityLabelModel.ColumnName,
         }).ToList()
     }));
 }
示例#4
0
 protected override ManagedDatabaseSensitivityClassificationModel PersistChanges(ManagedDatabaseSensitivityClassificationModel entity)
 {
     ModelAdapter.RemoveSensitivityLabels(entity);
     return(null);
 }
 protected override ManagedDatabaseSensitivityClassificationModel PersistChanges(ManagedDatabaseSensitivityClassificationModel entity)
 {
     ModelAdapter.EnableManagedDatabaseSensitivityRecommendations(entity);
     return(null);
 }
        protected override ManagedDatabaseSensitivityClassificationModel ApplyUserInputToModel(ManagedDatabaseSensitivityClassificationModel model)
        {
            InformationProtectionPolicy informationProtectionPolicy = ModelAdapter.RetrieveInformationProtectionPolicyAsync().Result;

            if (ParameterSetName == DataClassificationCommon.ColumnParameterSet ||
                ParameterSetName == DataClassificationCommon.DatabaseObjectColumnParameterSet)
            {
                SensitivityLabelModel sensitivityLabelModel = model.SensitivityLabels.FirstOrDefault();
                if (sensitivityLabelModel == null)
                {
                    sensitivityLabelModel = new SensitivityLabelModel
                    {
                        SchemaName = SchemaName,
                        TableName  = TableName,
                        ColumnName = ColumnName,
                    };

                    model.SensitivityLabels.Add(sensitivityLabelModel);
                }

                sensitivityLabelModel.ApplyInput(InformationType, SensitivityLabel, informationProtectionPolicy);
            }
            else
            {
                model.ApplyModel(ClassificationObject, informationProtectionPolicy);
            }

            return(model);
        }