protected override ServerBlobAuditingSettingsModel GetEntity()
        {
            ServerBlobAuditingSettingsModel model = null;

            if (ParameterSetName == DefinitionsCommon.BlobStorageParameterSetName ||
                ParameterSetName == DefinitionsCommon.StorageAccountSubscriptionIdParameterSetName ||
                ParameterSetName == DefinitionsCommon.BlobStorageByParentResourceParameterSetName ||
                ParameterSetName == DefinitionsCommon.StorageAccountSubscriptionIdByParentResourceParameterSetName)
            {
                if (BlobStorage.IsPresent == false)
                {
                    WriteWarning(DefinitionsCommon.AuditLogsDestinationWasNotSpecifiedWarning);
                }

                model = new ServerBlobAuditingSettingsModel();
            }
            else if (ParameterSetName == DefinitionsCommon.EventHubParameterSetName ||
                     ParameterSetName == DefinitionsCommon.EventHubByParentResourceParameterSetName)
            {
                model = new ServerEventHubAuditingSettingsModel();
            }
            else if (ParameterSetName == DefinitionsCommon.LogAnalyticsParameterSetName ||
                     ParameterSetName == DefinitionsCommon.LogAnalyticsByParentResourceParameterSetName)
            {
                model = new ServerLogAnalyticsAuditingSettingsModel();
            }

            if (InputObject == null)
            {
                model.ResourceGroupName = ResourceGroupName;
                model.ServerName        = ServerName;
            }
            else
            {
                model.ResourceGroupName = InputObject.ResourceGroupName;
                model.ServerName        = InputObject.ServerName;
            }

            ModelAdapter.GetAuditingSettings(model.ResourceGroupName, model.ServerName, model);
            return(model);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Updates the given model element with the cmdlet specific operation
        /// </summary>
        /// <param name="model">A model object</param>
        protected override ServerBlobAuditingSettingsModel ApplyUserInputToModel(ServerBlobAuditingSettingsModel model)
        {
            base.ApplyUserInputToModel(model);
            model.AuditState = State == SecurityConstants.Enabled ? AuditStateType.Enabled : AuditStateType.Disabled;

            if (AuditActionGroup != null)
            {
                model.AuditActionGroup = AuditActionGroup;
            }

            if (PredicateExpression != null)
            {
                model.PredicateExpression = PredicateExpression = PredicateExpression;
            }

            if (ParameterSetName == DefinitionsCommon.BlobStorageParameterSetName ||
                ParameterSetName == DefinitionsCommon.StorageAccountSubscriptionIdParameterSetName ||
                ParameterSetName == DefinitionsCommon.BlobStorageByParentResourceParameterSetName ||
                ParameterSetName == DefinitionsCommon.StorageAccountSubscriptionIdByParentResourceParameterSetName)
            {
                if (RetentionInDays != null)
                {
                    model.RetentionInDays = RetentionInDays;
                }

                if (StorageAccountName != null)
                {
                    model.StorageAccountName = StorageAccountName;
                }

                if (MyInvocation.BoundParameters.ContainsKey(SecurityConstants.StorageKeyType)) // the user enter a key type - we use it (and running over the previously defined key type)
                {
                    model.StorageKeyType = (StorageKeyType == SecurityConstants.Primary) ? StorageKeyKind.Primary : StorageKeyKind.Secondary;
                }

                if (!StorageAccountSubscriptionId.Equals(Guid.Empty))
                {
                    model.StorageAccountSubscriptionId = StorageAccountSubscriptionId;
                }
                else if (StorageAccountName != null)
                {
                    model.StorageAccountSubscriptionId = Guid.Parse(DefaultProfile.DefaultContext.Subscription.Id);
                }
            }
            else if (ParameterSetName == DefinitionsCommon.EventHubParameterSetName ||
                     ParameterSetName == DefinitionsCommon.EventHubByParentResourceParameterSetName)
            {
                ServerEventHubAuditingSettingsModel eventHubModel = model as ServerEventHubAuditingSettingsModel;
                if (EventHubName != null)
                {
                    eventHubModel.EventHubName = EventHubName;
                }

                if (EventHubAuthorizationRuleResourceId != null)
                {
                    eventHubModel.EventHubAuthorizationRuleResourceId = EventHubAuthorizationRuleResourceId;
                }
            }
            else if (ParameterSetName == DefinitionsCommon.LogAnalyticsParameterSetName ||
                     ParameterSetName == DefinitionsCommon.LogAnalyticsByParentResourceParameterSetName)
            {
                ServerLogAnalyticsAuditingSettingsModel logAnalyticsModel = model as ServerLogAnalyticsAuditingSettingsModel;
                if (WorkspaceResourceId != null)
                {
                    logAnalyticsModel.WorkspaceResourceId = WorkspaceResourceId;
                }
            }

            return(model);
        }