<filename>sdk/dotnet/Outputs/SecurityRoleIndex.cs// *** 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;

namespace Pulumi.Elasticstack.Outputs
{

    [OutputType]
    public sealed class SecurityRoleIndex
    {
        /// <summary>
        /// Include matching restricted indices in names parameter. Usage is strongly discouraged as it can grant unrestricted operations on critical data, make the entire system unstable or leak sensitive information.
        /// </summary>
        public readonly bool? AllowRestrictedIndices;
        /// <summary>
        /// The document fields that the owners of the role have read access to.
        /// </summary>
        public readonly Outputs.SecurityRoleIndexFieldSecurity? FieldSecurity;
        /// <summary>
        /// A list of indices (or index name patterns) to which the permissions in this entry apply.
        /// </summary>
        public readonly ImmutableArray<string> Names;
        /// <summary>
        /// The index level privileges that the owners of the role have on the specified indices.
        /// </summary>
        public readonly ImmutableArray<string> Privileges;
        /// <summary>
        /// A search query that defines the documents the owners of the role have read access to.
        /// </summary>
        public readonly string? Query;

        [OutputConstructor]
        private SecurityRoleIndex(
            bool? allowRestrictedIndices,

            Outputs.SecurityRoleIndexFieldSecurity? fieldSecurity,

            ImmutableArray<string> names,

            ImmutableArray<string> privileges,

            string? query)
        {
            AllowRestrictedIndices = allowRestrictedIndices;
            FieldSecurity = fieldSecurity;
            Names = names;
            Privileges = privileges;
            Query = query;
        }
    }
}
