/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*
 * Do not modify this file. This file is generated from the fsx-2018-03-01.normal.json service model.
 */
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.FSx.Model
{
    /// 
    /// The configuration that Amazon FSx for Windows File Server uses to audit and log user
    /// accesses of files, folders, and file shares on the Amazon FSx for Windows File Server
    /// file system. For more information, see 
    /// File access auditing.
    /// 
    public partial class WindowsAuditLogConfiguration
    {
        private string _auditLogDestination;
        private WindowsAccessAuditLogLevel _fileAccessAuditLogLevel;
        private WindowsAccessAuditLogLevel _fileShareAccessAuditLogLevel;
        /// 
        /// Gets and sets the property AuditLogDestination. 
        /// 
        /// The Amazon Resource Name (ARN) for the destination of the audit logs. The destination
        /// can be any Amazon CloudWatch Logs log group ARN or Amazon Kinesis Data Firehose delivery
        /// stream ARN.
        /// 
        ///  
        /// 
        /// The name of the Amazon CloudWatch Logs log group must begin with the /aws/fsx
        /// prefix. The name of the Amazon Kinesis Data Firehouse delivery stream must begin with
        /// the aws-fsx prefix.
        /// 
        ///  
        /// 
        /// The destination ARN (either CloudWatch Logs log group or Kinesis Data Firehose delivery
        /// stream) must be in the same Amazon Web Services partition, Amazon Web Services Region,
        /// and Amazon Web Services account as your Amazon FSx file system.
        /// 
        /// 
        [AWSProperty(Min=8, Max=1024)]
        public string AuditLogDestination
        {
            get { return this._auditLogDestination; }
            set { this._auditLogDestination = value; }
        }
        // Check to see if AuditLogDestination property is set
        internal bool IsSetAuditLogDestination()
        {
            return this._auditLogDestination != null;
        }
        /// 
        /// Gets and sets the property FileAccessAuditLogLevel. 
        /// 
        /// Sets which attempt type is logged by Amazon FSx for file and folder accesses.
        /// 
        ///   -  
        /// 
        ///  SUCCESS_ONLY- only successful attempts to access files or folders are
        /// logged.
        /// 
        ///
-  
        /// 
        ///  FAILURE_ONLY- only failed attempts to access files or folders are logged.
        /// 
        ///
-  
        /// 
        ///  SUCCESS_AND_FAILURE- both successful attempts and failed attempts to
        /// access files or folders are logged.
        /// 
        ///
-  
        /// 
        ///  DISABLED- access auditing of files and folders is turned off.
        /// 
        ///
/// 
        [AWSProperty(Required=true)]
        public WindowsAccessAuditLogLevel FileAccessAuditLogLevel
        {
            get { return this._fileAccessAuditLogLevel; }
            set { this._fileAccessAuditLogLevel = value; }
        }
        // Check to see if FileAccessAuditLogLevel property is set
        internal bool IsSetFileAccessAuditLogLevel()
        {
            return this._fileAccessAuditLogLevel != null;
        }
        /// 
        /// Gets and sets the property FileShareAccessAuditLogLevel. 
        /// 
        /// Sets which attempt type is logged by Amazon FSx for file share accesses.
        /// 
        /// -  
        /// 
        ///  SUCCESS_ONLY- only successful attempts to access file shares are logged.
        /// 
        ///
-  
        /// 
        ///  FAILURE_ONLY- only failed attempts to access file shares are logged.
        /// 
        ///
-  
        /// 
        ///  SUCCESS_AND_FAILURE- both successful attempts and failed attempts to
        /// access file shares are logged.
        /// 
        ///
-  
        /// 
        ///  DISABLED- access auditing of file shares is turned off.
        /// 
        ///
/// 
        [AWSProperty(Required=true)]
        public WindowsAccessAuditLogLevel FileShareAccessAuditLogLevel
        {
            get { return this._fileShareAccessAuditLogLevel; }
            set { this._fileShareAccessAuditLogLevel = value; }
        }
        // Check to see if FileShareAccessAuditLogLevel property is set
        internal bool IsSetFileShareAccessAuditLogLevel()
        {
            return this._fileShareAccessAuditLogLevel != null;
        }
    }
}