<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1.proto

namespace Keyapis\TelemetryAlerting\V1;

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

/**
 * Триггер
 *
 * Generated from protobuf message <code>keyapis.telemetry_alerting.v1.Trigger</code>
 */
class Trigger extends \Google\Protobuf\Internal\Message
{
    /**
     * Идентификатор
     *
     * Generated from protobuf field <code>int32 id = 1;</code>
     */
    protected $id = 0;
    /**
     * Дата последнего изменения.
     * Заполняется и обновляется сервером.
     * Заполняется при создании и изменении.
     * Является версией объекта
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp changed_at = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $changed_at = null;
    /**
     * Название триггера
     *
     * Generated from protobuf field <code>string title = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $title = '';
    /**
     * Тип критерия триггера
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.CriteriaType criteria_type = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $criteria_type = 0;
    /**
     * Пороговое значение триггера
     *
     * Generated from protobuf field <code>float threshold = 5 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $threshold = 0.0;
    /**
     * Тип периода контроля
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.PeriodType period_type = 8 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $period_type = 0;
    /**
     * Уровень критичности проблемы, которая описана критерием.
     * Задает приоритет оповещения и реагирования
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_type = 9 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $severity_type = 0;
    /**
     * Флаг активности триггера.
     * При погашении триггера гасятся и все его алерты
     *
     * Generated from protobuf field <code>bool is_disabled = 10 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $is_disabled = false;
    /**
     * Краткая инструкция по решению или эскалации проблемы
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue instruction = 11;</code>
     */
    protected $instruction = null;
    /**
     * Фильтрация метрик по типам метрик.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 12;</code>
     */
    private $metric_types;
    /**
     * Фильтрация метрик по значению моделей устройств.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated string device_models = 13;</code>
     */
    private $device_models;
    /**
     * Фильтрация метрик по значению типов устройств.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 14;</code>
     */
    private $device_types;
    /**
     * Тип группировки метрик при вычислении критерия
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_type = 15;</code>
     */
    protected $metric_grouping_type = 0;
    /**
     * Количество отрицательных проверок критерия, после которого сервис отключает
     *
     * Generated from protobuf field <code>int32 success_threshold = 16;</code>
     */
    protected $success_threshold = 0;
    /**
     * Произвольные теги для фильтрации и упорядочивания
     *
     * Generated from protobuf field <code>repeated string tags = 17;</code>
     */
    private $tags;
    /**
     * Флаг невозможности погашения алертов этого триггера
     *
     * Generated from protobuf field <code>bool is_manually_unclosable = 18;</code>
     */
    protected $is_manually_unclosable = false;
    /**
     * Признак контроля триггером временного окна выборки метрик на основе поля индикатора metric_expected_freq.
     * При значении true: поля range.sliding_days, range.fixed_days_range игнорируются при работе триггера.
     * При значении true: временное окно выборки метрик при работе триггера работает как sliding_days=indicator.metric_expected_freq.
     * При значении true: Для случаев indicator.metric_expected_freq=null индикатор игнорируется при работе триггера, алерт по нему не создается.
     * При значении true: Для случаев indicator.metric_expected_freq<=0 индикатор игнорируется при работе триггера, алерт по нему не создается
     *
     * Generated from protobuf field <code>bool is_range_metric_expected_freq = 19;</code>
     */
    protected $is_range_metric_expected_freq = false;
    protected $range;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $id
     *           Идентификатор
     *     @type \Google\Protobuf\Timestamp $changed_at
     *           Дата последнего изменения.
     *           Заполняется и обновляется сервером.
     *           Заполняется при создании и изменении.
     *           Является версией объекта
     *     @type string $title
     *           Название триггера
     *     @type int $criteria_type
     *           Тип критерия триггера
     *     @type float $threshold
     *           Пороговое значение триггера
     *     @type int $sliding_days
     *           Скользящее окно относительно текущего момента.
     *           Начало окна это 00:00:00.000 UTC дня на sliding_days раньше текущего UTC дня.
     *           Конец окна - текущий момент
     *     @type \Keyapis\TelemetryAlerting\V1\Trigger\FixedDaysOfMonth $fixed_days_range
     *           Границы временного окна, в текущем или предыдущем месяце
     *     @type int $period_type
     *           Тип периода контроля
     *     @type int $severity_type
     *           Уровень критичности проблемы, которая описана критерием.
     *           Задает приоритет оповещения и реагирования
     *     @type bool $is_disabled
     *           Флаг активности триггера.
     *           При погашении триггера гасятся и все его алерты
     *     @type \Google\Protobuf\StringValue $instruction
     *           Краткая инструкция по решению или эскалации проблемы
     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $metric_types
     *           Фильтрация метрик по типам метрик.
     *           При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $device_models
     *           Фильтрация метрик по значению моделей устройств.
     *           При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $device_types
     *           Фильтрация метрик по значению типов устройств.
     *           При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *     @type int $metric_grouping_type
     *           Тип группировки метрик при вычислении критерия
     *     @type int $success_threshold
     *           Количество отрицательных проверок критерия, после которого сервис отключает
     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $tags
     *           Произвольные теги для фильтрации и упорядочивания
     *     @type bool $is_manually_unclosable
     *           Флаг невозможности погашения алертов этого триггера
     *     @type bool $is_range_metric_expected_freq
     *           Признак контроля триггером временного окна выборки метрик на основе поля индикатора metric_expected_freq.
     *           При значении true: поля range.sliding_days, range.fixed_days_range игнорируются при работе триггера.
     *           При значении true: временное окно выборки метрик при работе триггера работает как sliding_days=indicator.metric_expected_freq.
     *           При значении true: Для случаев indicator.metric_expected_freq=null индикатор игнорируется при работе триггера, алерт по нему не создается.
     *           При значении true: Для случаев indicator.metric_expected_freq<=0 индикатор игнорируется при работе триггера, алерт по нему не создается
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Keyapis\TelemetryAlerting\V1\KeyapisTelemetryAlertingTriggerV1::initOnce();
        parent::__construct($data);
    }

    /**
     * Идентификатор
     *
     * Generated from protobuf field <code>int32 id = 1;</code>
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Идентификатор
     *
     * Generated from protobuf field <code>int32 id = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setId($var)
    {
        GPBUtil::checkInt32($var);
        $this->id = $var;

        return $this;
    }

    /**
     * Дата последнего изменения.
     * Заполняется и обновляется сервером.
     * Заполняется при создании и изменении.
     * Является версией объекта
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp changed_at = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getChangedAt()
    {
        return $this->changed_at;
    }

    public function hasChangedAt()
    {
        return isset($this->changed_at);
    }

    public function clearChangedAt()
    {
        unset($this->changed_at);
    }

    /**
     * Дата последнего изменения.
     * Заполняется и обновляется сервером.
     * Заполняется при создании и изменении.
     * Является версией объекта
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp changed_at = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setChangedAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->changed_at = $var;

        return $this;
    }

    /**
     * Название триггера
     *
     * Generated from protobuf field <code>string title = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * Название триггера
     *
     * Generated from protobuf field <code>string title = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setTitle($var)
    {
        GPBUtil::checkString($var, True);
        $this->title = $var;

        return $this;
    }

    /**
     * Тип критерия триггера
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.CriteriaType criteria_type = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return int
     */
    public function getCriteriaType()
    {
        return $this->criteria_type;
    }

    /**
     * Тип критерия триггера
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.CriteriaType criteria_type = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param int $var
     * @return $this
     */
    public function setCriteriaType($var)
    {
        GPBUtil::checkEnum($var, \Keyapis\TelemetryAlerting\V1\Trigger\CriteriaType::class);
        $this->criteria_type = $var;

        return $this;
    }

    /**
     * Пороговое значение триггера
     *
     * Generated from protobuf field <code>float threshold = 5 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return float
     */
    public function getThreshold()
    {
        return $this->threshold;
    }

    /**
     * Пороговое значение триггера
     *
     * Generated from protobuf field <code>float threshold = 5 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param float $var
     * @return $this
     */
    public function setThreshold($var)
    {
        GPBUtil::checkFloat($var);
        $this->threshold = $var;

        return $this;
    }

    /**
     * Скользящее окно относительно текущего момента.
     * Начало окна это 00:00:00.000 UTC дня на sliding_days раньше текущего UTC дня.
     * Конец окна - текущий момент
     *
     * Generated from protobuf field <code>int32 sliding_days = 6;</code>
     * @return int
     */
    public function getSlidingDays()
    {
        return $this->readOneof(6);
    }

    public function hasSlidingDays()
    {
        return $this->hasOneof(6);
    }

    /**
     * Скользящее окно относительно текущего момента.
     * Начало окна это 00:00:00.000 UTC дня на sliding_days раньше текущего UTC дня.
     * Конец окна - текущий момент
     *
     * Generated from protobuf field <code>int32 sliding_days = 6;</code>
     * @param int $var
     * @return $this
     */
    public function setSlidingDays($var)
    {
        GPBUtil::checkInt32($var);
        $this->writeOneof(6, $var);

        return $this;
    }

    /**
     * Границы временного окна, в текущем или предыдущем месяце
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth fixed_days_range = 7;</code>
     * @return \Keyapis\TelemetryAlerting\V1\Trigger\FixedDaysOfMonth|null
     */
    public function getFixedDaysRange()
    {
        return $this->readOneof(7);
    }

    public function hasFixedDaysRange()
    {
        return $this->hasOneof(7);
    }

    /**
     * Границы временного окна, в текущем или предыдущем месяце
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth fixed_days_range = 7;</code>
     * @param \Keyapis\TelemetryAlerting\V1\Trigger\FixedDaysOfMonth $var
     * @return $this
     */
    public function setFixedDaysRange($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\TelemetryAlerting\V1\Trigger\FixedDaysOfMonth::class);
        $this->writeOneof(7, $var);

        return $this;
    }

    /**
     * Тип периода контроля
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.PeriodType period_type = 8 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return int
     */
    public function getPeriodType()
    {
        return $this->period_type;
    }

    /**
     * Тип периода контроля
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.PeriodType period_type = 8 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param int $var
     * @return $this
     */
    public function setPeriodType($var)
    {
        GPBUtil::checkEnum($var, \Keyapis\TelemetryAlerting\V1\Trigger\PeriodType::class);
        $this->period_type = $var;

        return $this;
    }

    /**
     * Уровень критичности проблемы, которая описана критерием.
     * Задает приоритет оповещения и реагирования
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_type = 9 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return int
     */
    public function getSeverityType()
    {
        return $this->severity_type;
    }

    /**
     * Уровень критичности проблемы, которая описана критерием.
     * Задает приоритет оповещения и реагирования
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_type = 9 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param int $var
     * @return $this
     */
    public function setSeverityType($var)
    {
        GPBUtil::checkEnum($var, \Keyapis\TelemetryAlerting\V1\Trigger\SeverityType::class);
        $this->severity_type = $var;

        return $this;
    }

    /**
     * Флаг активности триггера.
     * При погашении триггера гасятся и все его алерты
     *
     * Generated from protobuf field <code>bool is_disabled = 10 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return bool
     */
    public function getIsDisabled()
    {
        return $this->is_disabled;
    }

    /**
     * Флаг активности триггера.
     * При погашении триггера гасятся и все его алерты
     *
     * Generated from protobuf field <code>bool is_disabled = 10 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param bool $var
     * @return $this
     */
    public function setIsDisabled($var)
    {
        GPBUtil::checkBool($var);
        $this->is_disabled = $var;

        return $this;
    }

    /**
     * Краткая инструкция по решению или эскалации проблемы
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue instruction = 11;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getInstruction()
    {
        return $this->instruction;
    }

    public function hasInstruction()
    {
        return isset($this->instruction);
    }

    public function clearInstruction()
    {
        unset($this->instruction);
    }

    /**
     * Returns the unboxed value from <code>getInstruction()</code>

     * Краткая инструкция по решению или эскалации проблемы
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue instruction = 11;</code>
     * @return string|null
     */
    public function getInstructionUnwrapped()
    {
        return $this->readWrapperValue("instruction");
    }

    /**
     * Краткая инструкция по решению или эскалации проблемы
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue instruction = 11;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setInstruction($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->instruction = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Краткая инструкция по решению или эскалации проблемы
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue instruction = 11;</code>
     * @param string|null $var
     * @return $this
     */
    public function setInstructionUnwrapped($var)
    {
        $this->writeWrapperValue("instruction", $var);
        return $this;}

    /**
     * Фильтрация метрик по типам метрик.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 12;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getMetricTypes()
    {
        return $this->metric_types;
    }

    /**
     * Фильтрация метрик по типам метрик.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 12;</code>
     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setMetricTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Keyapis\TelemetryAlerting\V1\Trigger\MetricType::class);
        $this->metric_types = $arr;

        return $this;
    }

    /**
     * Фильтрация метрик по значению моделей устройств.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated string device_models = 13;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getDeviceModels()
    {
        return $this->device_models;
    }

    /**
     * Фильтрация метрик по значению моделей устройств.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated string device_models = 13;</code>
     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setDeviceModels($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
        $this->device_models = $arr;

        return $this;
    }

    /**
     * Фильтрация метрик по значению типов устройств.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 14;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getDeviceTypes()
    {
        return $this->device_types;
    }

    /**
     * Фильтрация метрик по значению типов устройств.
     * При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
     *
     * Generated from protobuf field <code>repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 14;</code>
     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setDeviceTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Keyapis\TelemetryAlerting\V1\Trigger\DeviceType::class);
        $this->device_types = $arr;

        return $this;
    }

    /**
     * Тип группировки метрик при вычислении критерия
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_type = 15;</code>
     * @return int
     */
    public function getMetricGroupingType()
    {
        return $this->metric_grouping_type;
    }

    /**
     * Тип группировки метрик при вычислении критерия
     *
     * Generated from protobuf field <code>.keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_type = 15;</code>
     * @param int $var
     * @return $this
     */
    public function setMetricGroupingType($var)
    {
        GPBUtil::checkEnum($var, \Keyapis\TelemetryAlerting\V1\Trigger\MetricGroupingType::class);
        $this->metric_grouping_type = $var;

        return $this;
    }

    /**
     * Количество отрицательных проверок критерия, после которого сервис отключает
     *
     * Generated from protobuf field <code>int32 success_threshold = 16;</code>
     * @return int
     */
    public function getSuccessThreshold()
    {
        return $this->success_threshold;
    }

    /**
     * Количество отрицательных проверок критерия, после которого сервис отключает
     *
     * Generated from protobuf field <code>int32 success_threshold = 16;</code>
     * @param int $var
     * @return $this
     */
    public function setSuccessThreshold($var)
    {
        GPBUtil::checkInt32($var);
        $this->success_threshold = $var;

        return $this;
    }

    /**
     * Произвольные теги для фильтрации и упорядочивания
     *
     * Generated from protobuf field <code>repeated string tags = 17;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getTags()
    {
        return $this->tags;
    }

    /**
     * Произвольные теги для фильтрации и упорядочивания
     *
     * Generated from protobuf field <code>repeated string tags = 17;</code>
     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setTags($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
        $this->tags = $arr;

        return $this;
    }

    /**
     * Флаг невозможности погашения алертов этого триггера
     *
     * Generated from protobuf field <code>bool is_manually_unclosable = 18;</code>
     * @return bool
     */
    public function getIsManuallyUnclosable()
    {
        return $this->is_manually_unclosable;
    }

    /**
     * Флаг невозможности погашения алертов этого триггера
     *
     * Generated from protobuf field <code>bool is_manually_unclosable = 18;</code>
     * @param bool $var
     * @return $this
     */
    public function setIsManuallyUnclosable($var)
    {
        GPBUtil::checkBool($var);
        $this->is_manually_unclosable = $var;

        return $this;
    }

    /**
     * Признак контроля триггером временного окна выборки метрик на основе поля индикатора metric_expected_freq.
     * При значении true: поля range.sliding_days, range.fixed_days_range игнорируются при работе триггера.
     * При значении true: временное окно выборки метрик при работе триггера работает как sliding_days=indicator.metric_expected_freq.
     * При значении true: Для случаев indicator.metric_expected_freq=null индикатор игнорируется при работе триггера, алерт по нему не создается.
     * При значении true: Для случаев indicator.metric_expected_freq<=0 индикатор игнорируется при работе триггера, алерт по нему не создается
     *
     * Generated from protobuf field <code>bool is_range_metric_expected_freq = 19;</code>
     * @return bool
     */
    public function getIsRangeMetricExpectedFreq()
    {
        return $this->is_range_metric_expected_freq;
    }

    /**
     * Признак контроля триггером временного окна выборки метрик на основе поля индикатора metric_expected_freq.
     * При значении true: поля range.sliding_days, range.fixed_days_range игнорируются при работе триггера.
     * При значении true: временное окно выборки метрик при работе триггера работает как sliding_days=indicator.metric_expected_freq.
     * При значении true: Для случаев indicator.metric_expected_freq=null индикатор игнорируется при работе триггера, алерт по нему не создается.
     * При значении true: Для случаев indicator.metric_expected_freq<=0 индикатор игнорируется при работе триггера, алерт по нему не создается
     *
     * Generated from protobuf field <code>bool is_range_metric_expected_freq = 19;</code>
     * @param bool $var
     * @return $this
     */
    public function setIsRangeMetricExpectedFreq($var)
    {
        GPBUtil::checkBool($var);
        $this->is_range_metric_expected_freq = $var;

        return $this;
    }

    /**
     * @return string
     */
    public function getRange()
    {
        return $this->whichOneof("range");
    }

}

