/// <summary> /// Transforms the given server policy object to its cmdlet model representation /// </summary> private void ModelizeServerAuditPolicy(Management.Sql.Models.ExtendedServerBlobAuditingPolicy policy, ServerBlobAuditingSettingsModel serverPolicyModel) { serverPolicyModel.AuditState = ModelizeAuditState(policy.State.ToString()); ModelizeStorageInfo(serverPolicyModel, policy.StorageEndpoint, policy.IsStorageSecondaryKeyInUse, policy.StorageAccountSubscriptionId); ModelizeAuditActionGroups(serverPolicyModel, policy.AuditActionsAndGroups); ModelizeRetentionInfo(serverPolicyModel, policy.RetentionDays); serverPolicyModel.PredicateExpression = policy.PredicateExpression; }
/// <summary> /// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint /// </summary> public void SetServerAuditingPolicy(ServerBlobAuditingSettingsModel model, string storageEndpointSuffix) { if (string.IsNullOrEmpty(model.PredicateExpression)) { var policy = new Management.Sql.Models.ServerBlobAuditingPolicy(); PolicizeBlobAuditingModel(model, storageEndpointSuffix, policy); Communicator.SetServerAuditingPolicy(model.ResourceGroupName, model.ServerName, policy); } else { var policy = new Management.Sql.Models.ExtendedServerBlobAuditingPolicy { PredicateExpression = model.PredicateExpression }; PolicizeBlobAuditingModel(model, storageEndpointSuffix, policy); Communicator.SetExtendedServerAuditingPolicy(model.ResourceGroupName, model.ServerName, policy); } }