<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/privacy/dlp/v2beta1/dlp.proto

namespace Google\Cloud\Dlp\V2beta1;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Configuration description of the scanning process.
 * When used with redactContent only info_types and min_likelihood are currently
 * used.
 *
 * Generated from protobuf message <code>google.privacy.dlp.v2beta1.InspectConfig</code>
 */
class InspectConfig extends \Google\Protobuf\Internal\Message
{
    /**
     * Restricts what info_types to look for. The values must correspond to
     * InfoType values returned by ListInfoTypes or found in documentation.
     * Empty info_types runs all enabled detectors.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.InfoType info_types = 1;</code>
     */
    private $info_types;
    /**
     * Only returns findings equal or above this threshold.
     *
     * Generated from protobuf field <code>.google.privacy.dlp.v2beta1.Likelihood min_likelihood = 2;</code>
     */
    private $min_likelihood = 0;
    /**
     * Limits the number of findings per content item or long running operation.
     *
     * Generated from protobuf field <code>int32 max_findings = 3;</code>
     */
    private $max_findings = 0;
    /**
     * When true, a contextual quote from the data that triggered a finding is
     * included in the response; see Finding.quote.
     *
     * Generated from protobuf field <code>bool include_quote = 4;</code>
     */
    private $include_quote = false;
    /**
     * When true, excludes type information of the findings.
     *
     * Generated from protobuf field <code>bool exclude_types = 6;</code>
     */
    private $exclude_types = false;
    /**
     * Configuration of findings limit given for specified info types.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.InspectConfig.InfoTypeLimit info_type_limits = 7;</code>
     */
    private $info_type_limits;
    /**
     * Custom info types provided by the user.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.CustomInfoType custom_info_types = 8;</code>
     */
    private $custom_info_types;

    public function __construct() {
        \GPBMetadata\Google\Privacy\Dlp\V2Beta1\Dlp::initOnce();
        parent::__construct();
    }

    /**
     * Restricts what info_types to look for. The values must correspond to
     * InfoType values returned by ListInfoTypes or found in documentation.
     * Empty info_types runs all enabled detectors.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.InfoType info_types = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getInfoTypes()
    {
        return $this->info_types;
    }

    /**
     * Restricts what info_types to look for. The values must correspond to
     * InfoType values returned by ListInfoTypes or found in documentation.
     * Empty info_types runs all enabled detectors.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.InfoType info_types = 1;</code>
     * @param \Google\Cloud\Dlp\V2beta1\InfoType[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setInfoTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dlp\V2beta1\InfoType::class);
        $this->info_types = $arr;

        return $this;
    }

    /**
     * Only returns findings equal or above this threshold.
     *
     * Generated from protobuf field <code>.google.privacy.dlp.v2beta1.Likelihood min_likelihood = 2;</code>
     * @return int
     */
    public function getMinLikelihood()
    {
        return $this->min_likelihood;
    }

    /**
     * Only returns findings equal or above this threshold.
     *
     * Generated from protobuf field <code>.google.privacy.dlp.v2beta1.Likelihood min_likelihood = 2;</code>
     * @param int $var
     * @return $this
     */
    public function setMinLikelihood($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Dlp\V2beta1\Likelihood::class);
        $this->min_likelihood = $var;

        return $this;
    }

    /**
     * Limits the number of findings per content item or long running operation.
     *
     * Generated from protobuf field <code>int32 max_findings = 3;</code>
     * @return int
     */
    public function getMaxFindings()
    {
        return $this->max_findings;
    }

    /**
     * Limits the number of findings per content item or long running operation.
     *
     * Generated from protobuf field <code>int32 max_findings = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setMaxFindings($var)
    {
        GPBUtil::checkInt32($var);
        $this->max_findings = $var;

        return $this;
    }

    /**
     * When true, a contextual quote from the data that triggered a finding is
     * included in the response; see Finding.quote.
     *
     * Generated from protobuf field <code>bool include_quote = 4;</code>
     * @return bool
     */
    public function getIncludeQuote()
    {
        return $this->include_quote;
    }

    /**
     * When true, a contextual quote from the data that triggered a finding is
     * included in the response; see Finding.quote.
     *
     * Generated from protobuf field <code>bool include_quote = 4;</code>
     * @param bool $var
     * @return $this
     */
    public function setIncludeQuote($var)
    {
        GPBUtil::checkBool($var);
        $this->include_quote = $var;

        return $this;
    }

    /**
     * When true, excludes type information of the findings.
     *
     * Generated from protobuf field <code>bool exclude_types = 6;</code>
     * @return bool
     */
    public function getExcludeTypes()
    {
        return $this->exclude_types;
    }

    /**
     * When true, excludes type information of the findings.
     *
     * Generated from protobuf field <code>bool exclude_types = 6;</code>
     * @param bool $var
     * @return $this
     */
    public function setExcludeTypes($var)
    {
        GPBUtil::checkBool($var);
        $this->exclude_types = $var;

        return $this;
    }

    /**
     * Configuration of findings limit given for specified info types.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.InspectConfig.InfoTypeLimit info_type_limits = 7;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getInfoTypeLimits()
    {
        return $this->info_type_limits;
    }

    /**
     * Configuration of findings limit given for specified info types.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.InspectConfig.InfoTypeLimit info_type_limits = 7;</code>
     * @param \Google\Cloud\Dlp\V2beta1\InspectConfig_InfoTypeLimit[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setInfoTypeLimits($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dlp\V2beta1\InspectConfig_InfoTypeLimit::class);
        $this->info_type_limits = $arr;

        return $this;
    }

    /**
     * Custom info types provided by the user.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.CustomInfoType custom_info_types = 8;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getCustomInfoTypes()
    {
        return $this->custom_info_types;
    }

    /**
     * Custom info types provided by the user.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2beta1.CustomInfoType custom_info_types = 8;</code>
     * @param \Google\Cloud\Dlp\V2beta1\CustomInfoType[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setCustomInfoTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dlp\V2beta1\CustomInfoType::class);
        $this->custom_info_types = $arr;

        return $this;
    }

}

