<reponame>zscaler/pulumi-zia<gh_stars>0// *** 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 zscaler.PulumiPackage.Zia.DLP
{
    public static class GetDLPDictionaries
    {
        /// <summary>
        /// Use the **zia_dlp_dictionaries** data source to get information about a DLP dictionary option available in the Zscaler Internet Access.
        /// 
        /// ```csharp
        /// using System.Collections.Generic;
        /// using Pulumi;
        /// using Zia = Pulumi.Zia;
        /// 
        /// return await Deployment.RunAsync(() =&gt; 
        /// {
        ///     var example = Zia.DLP.GetDLPDictionaries.Invoke(new()
        ///     {
        ///         Name = "SALESFORCE_REPORT_LEAKAGE",
        ///     });
        /// 
        /// });
        /// ```
        /// </summary>
        public static Task<GetDLPDictionariesResult> InvokeAsync(GetDLPDictionariesArgs? args = null, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.InvokeAsync<GetDLPDictionariesResult>("zia:DLP/getDLPDictionaries:getDLPDictionaries", args ?? new GetDLPDictionariesArgs(), options.WithDefaults());

        /// <summary>
        /// Use the **zia_dlp_dictionaries** data source to get information about a DLP dictionary option available in the Zscaler Internet Access.
        /// 
        /// ```csharp
        /// using System.Collections.Generic;
        /// using Pulumi;
        /// using Zia = Pulumi.Zia;
        /// 
        /// return await Deployment.RunAsync(() =&gt; 
        /// {
        ///     var example = Zia.DLP.GetDLPDictionaries.Invoke(new()
        ///     {
        ///         Name = "SALESFORCE_REPORT_LEAKAGE",
        ///     });
        /// 
        /// });
        /// ```
        /// </summary>
        public static Output<GetDLPDictionariesResult> Invoke(GetDLPDictionariesInvokeArgs? args = null, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.Invoke<GetDLPDictionariesResult>("zia:DLP/getDLPDictionaries:getDLPDictionaries", args ?? new GetDLPDictionariesInvokeArgs(), options.WithDefaults());
    }


    public sealed class GetDLPDictionariesArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Unique identifier for the DLP dictionary
        /// </summary>
        [Input("id")]
        public int? Id { get; set; }

        /// <summary>
        /// DLP dictionary name
        /// </summary>
        [Input("name")]
        public string? Name { get; set; }

        public GetDLPDictionariesArgs()
        {
        }
        public static new GetDLPDictionariesArgs Empty => new GetDLPDictionariesArgs();
    }

    public sealed class GetDLPDictionariesInvokeArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Unique identifier for the DLP dictionary
        /// </summary>
        [Input("id")]
        public Input<int>? Id { get; set; }

        /// <summary>
        /// DLP dictionary name
        /// </summary>
        [Input("name")]
        public Input<string>? Name { get; set; }

        public GetDLPDictionariesInvokeArgs()
        {
        }
        public static new GetDLPDictionariesInvokeArgs Empty => new GetDLPDictionariesInvokeArgs();
    }


    [OutputType]
    public sealed class GetDLPDictionariesResult
    {
        /// <summary>
        /// (String) he DLP confidence threshold. [`CONFIDENCE_LEVEL_LOW`, `CONFIDENCE_LEVEL_MEDIUM` `CONFIDENCE_LEVEL_HIGH` ]
        /// </summary>
        public readonly string ConfidenceThreshold;
        /// <summary>
        /// (String) The DLP custom phrase match type. [ `MATCH_ALL_CUSTOM_PHRASE_PATTERN_DICTIONARY`, `MATCH_ANY_CUSTOM_PHRASE_PATTERN_DICTIONARY` ]
        /// </summary>
        public readonly string CustomPhraseMatchType;
        public readonly string Description;
        /// <summary>
        /// (String) The DLP dictionary type. The cloud service API only supports custom DLP dictionaries that are using the `PATTERNS_AND_PHRASES` type.
        /// </summary>
        public readonly string DictionaryType;
        public readonly ImmutableArray<Outputs.GetDLPDictionariesExactDataMatchDetailResult> ExactDataMatchDetails;
        public readonly int Id;
        public readonly ImmutableArray<Outputs.GetDLPDictionariesIdmProfileMatchAccuracyResult> IdmProfileMatchAccuracies;
        public readonly string Name;
        /// <summary>
        /// (Boolean) Indicates whether the name is localized or not. This is always set to True for predefined DLP dictionaries.
        /// </summary>
        public readonly bool NameL10nTag;
        public readonly ImmutableArray<Outputs.GetDLPDictionariesPatternResult> Patterns;
        public readonly ImmutableArray<Outputs.GetDLPDictionariesPhraseResult> Phrases;
        public readonly int Proximity;
        public readonly string ThresholdType;

        [OutputConstructor]
        private GetDLPDictionariesResult(
            string confidenceThreshold,

            string customPhraseMatchType,

            string description,

            string dictionaryType,

            ImmutableArray<Outputs.GetDLPDictionariesExactDataMatchDetailResult> exactDataMatchDetails,

            int id,

            ImmutableArray<Outputs.GetDLPDictionariesIdmProfileMatchAccuracyResult> idmProfileMatchAccuracies,

            string name,

            bool nameL10nTag,

            ImmutableArray<Outputs.GetDLPDictionariesPatternResult> patterns,

            ImmutableArray<Outputs.GetDLPDictionariesPhraseResult> phrases,

            int proximity,

            string thresholdType)
        {
            ConfidenceThreshold = confidenceThreshold;
            CustomPhraseMatchType = customPhraseMatchType;
            Description = description;
            DictionaryType = dictionaryType;
            ExactDataMatchDetails = exactDataMatchDetails;
            Id = id;
            IdmProfileMatchAccuracies = idmProfileMatchAccuracies;
            Name = name;
            NameL10nTag = nameL10nTag;
            Patterns = patterns;
            Phrases = phrases;
            Proximity = proximity;
            ThresholdType = thresholdType;
        }
    }
}
