// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cynosdb.Outputs
{

    [OutputType]
    public sealed class AuditLogFileFilter
    {
        /// <summary>
        /// Affects the number of rows. Indicates that the audit log whose number of affected rows is greater than this value is filtered.
        /// </summary>
        public readonly int? AffectRows;
        /// <summary>
        /// The name of database.
        /// </summary>
        public readonly ImmutableArray<string> DbNames;
        /// <summary>
        /// Execution time. The unit is: ms. Indicates to filter audit logs whose execution time is greater than this value.
        /// </summary>
        public readonly int? ExecTime;
        /// <summary>
        /// Client host.
        /// </summary>
        public readonly ImmutableArray<string> Hosts;
        /// <summary>
        /// The name of audit policy.
        /// </summary>
        public readonly ImmutableArray<string> PolicyNames;
        /// <summary>
        /// Return the number of rows.
        /// </summary>
        public readonly int? SentRows;
        /// <summary>
        /// SQL statement. Support fuzzy matching.
        /// </summary>
        public readonly string? Sql;
        /// <summary>
        /// SQL type. currently supported: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, SET, REPLACE, EXECUTE.
        /// </summary>
        public readonly string? SqlType;
        /// <summary>
        /// SQL type. Supports simultaneous query of multiple types. currently supported: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, SET, REPLACE, EXECUTE.
        /// </summary>
        public readonly ImmutableArray<string> SqlTypes;
        /// <summary>
        /// SQL statement. Support passing multiple sql statements.
        /// </summary>
        public readonly ImmutableArray<string> Sqls;
        /// <summary>
        /// The name of table.
        /// </summary>
        public readonly ImmutableArray<string> TableNames;
        /// <summary>
        /// The ID of thread.
        /// </summary>
        public readonly ImmutableArray<string> ThreadIds;
        /// <summary>
        /// User name.
        /// </summary>
        public readonly ImmutableArray<string> Users;

        [OutputConstructor]
        private AuditLogFileFilter(
            int? affectRows,

            ImmutableArray<string> dbNames,

            int? execTime,

            ImmutableArray<string> hosts,

            ImmutableArray<string> policyNames,

            int? sentRows,

            string? sql,

            string? sqlType,

            ImmutableArray<string> sqlTypes,

            ImmutableArray<string> sqls,

            ImmutableArray<string> tableNames,

            ImmutableArray<string> threadIds,

            ImmutableArray<string> users)
        {
            AffectRows = affectRows;
            DbNames = dbNames;
            ExecTime = execTime;
            Hosts = hosts;
            PolicyNames = policyNames;
            SentRows = sentRows;
            Sql = sql;
            SqlType = sqlType;
            SqlTypes = sqlTypes;
            Sqls = sqls;
            TableNames = tableNames;
            ThreadIds = threadIds;
            Users = users;
        }
    }
}
