<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto
namespace Google\Cloud\RecaptchaEnterprise\V1;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* A FirewallPolicy represents a single matching pattern and resulting actions
* to take.
*
* Generated from protobuf message <code>google.cloud.recaptchaenterprise.v1.FirewallPolicy</code>
*/
class FirewallPolicy extends \Google\Protobuf\Internal\Message
{
/**
* Identifier. The resource name for the FirewallPolicy in the format
* `projects/{project}/firewallpolicies/{firewallpolicy}`.
*
* Generated from protobuf field <code>string name = 1 [(.google.api.field_behavior) = IDENTIFIER];</code>
*/
protected $name = '';
/**
* Optional. A description of what this policy aims to achieve, for
* convenience purposes. The description can at most include 256 UTF-8
* characters.
*
* Generated from protobuf field <code>string description = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
*/
protected $description = '';
/**
* Optional. The path for which this policy applies, specified as a glob
* pattern. For more information on glob, see the [manual
* page](https://man7.org/linux/man-pages/man7/glob.7.html).
* A path has a max length of 200 characters.
*
* Generated from protobuf field <code>string path = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
*/
protected $path = '';
/**
* Optional. A CEL (Common Expression Language) conditional expression that
* specifies if this policy applies to an incoming user request. If this
* condition evaluates to true and the requested path matched the path
* pattern, the associated actions should be executed by the caller. The
* condition string is checked for CEL syntax correctness on creation. For
* more information, see the [CEL spec](https://github.com/google/cel-spec)
* and its [language
* definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md).
* A condition has a max length of 500 characters.
*
* Generated from protobuf field <code>string condition = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
*/
protected $condition = '';
/**
* Optional. The actions that the caller should take regarding user access.
* There should be at most one terminal action. A terminal action is any
* action that forces a response, such as `AllowAction`,
* `BlockAction` or `SubstituteAction`.
* Zero or more non-terminal actions such as `SetHeader` might be
* specified. A single policy can contain up to 16 actions.
*
* Generated from protobuf field <code>repeated .google.cloud.recaptchaenterprise.v1.FirewallAction actions = 6 [(.google.api.field_behavior) = OPTIONAL];</code>
*/
private $actions;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* Identifier. The resource name for the FirewallPolicy in the format
* `projects/{project}/firewallpolicies/{firewallpolicy}`.
* @type string $description
* Optional. A description of what this policy aims to achieve, for
* convenience purposes. The description can at most include 256 UTF-8
* characters.
* @type string $path
* Optional. The path for which this policy applies, specified as a glob
* pattern. For more information on glob, see the [manual
* page](https://man7.org/linux/man-pages/man7/glob.7.html).
* A path has a max length of 200 characters.
* @type string $condition
* Optional. A CEL (Common Expression Language) conditional expression that
* specifies if this policy applies to an incoming user request. If this
* condition evaluates to true and the requested path matched the path
* pattern, the associated actions should be executed by the caller. The
* condition string is checked for CEL syntax correctness on creation. For
* more information, see the [CEL spec](https://github.com/google/cel-spec)
* and its [language
* definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md).
* A condition has a max length of 500 characters.
* @type array<\Google\Cloud\RecaptchaEnterprise\V1\FirewallAction>|\Google\Protobuf\Internal\RepeatedField $actions
* Optional. The actions that the caller should take regarding user access.
* There should be at most one terminal action. A terminal action is any
* action that forces a response, such as `AllowAction`,
* `BlockAction` or `SubstituteAction`.
* Zero or more non-terminal actions such as `SetHeader` might be
* specified. A single policy can contain up to 16 actions.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Cloud\Recaptchaenterprise\V1\Recaptchaenterprise::initOnce();
parent::__construct($data);
}
/**
* Identifier. The resource name for the FirewallPolicy in the format
* `projects/{project}/firewallpolicies/{firewallpolicy}`.
*
* Generated from protobuf field <code>string name = 1 [(.google.api.field_behavior) = IDENTIFIER];</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Identifier. The resource name for the FirewallPolicy in the format
* `projects/{project}/firewallpolicies/{firewallpolicy}`.
*
* Generated from protobuf field <code>string name = 1 [(.google.api.field_behavior) = IDENTIFIER];</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Optional. A description of what this policy aims to achieve, for
* convenience purposes. The description can at most include 256 UTF-8
* characters.
*
* Generated from protobuf field <code>string description = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Optional. A description of what this policy aims to achieve, for
* convenience purposes. The description can at most include 256 UTF-8
* characters.
*
* Generated from protobuf field <code>string description = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
* @param string $var
* @return $this
*/
public function setDescription($var)
{
GPBUtil::checkString($var, True);
$this->description = $var;
return $this;
}
/**
* Optional. The path for which this policy applies, specified as a glob
* pattern. For more information on glob, see the [manual
* page](https://man7.org/linux/man-pages/man7/glob.7.html).
* A path has a max length of 200 characters.
*
* Generated from protobuf field <code>string path = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
* @return string
*/
public function getPath()
{
return $this->path;
}
/**
* Optional. The path for which this policy applies, specified as a glob
* pattern. For more information on glob, see the [manual
* page](https://man7.org/linux/man-pages/man7/glob.7.html).
* A path has a max length of 200 characters.
*
* Generated from protobuf field <code>string path = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
* @param string $var
* @return $this
*/
public function setPath($var)
{
GPBUtil::checkString($var, True);
$this->path = $var;
return $this;
}
/**
* Optional. A CEL (Common Expression Language) conditional expression that
* specifies if this policy applies to an incoming user request. If this
* condition evaluates to true and the requested path matched the path
* pattern, the associated actions should be executed by the caller. The
* condition string is checked for CEL syntax correctness on creation. For
* more information, see the [CEL spec](https://github.com/google/cel-spec)
* and its [language
* definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md).
* A condition has a max length of 500 characters.
*
* Generated from protobuf field <code>string condition = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
* @return string
*/
public function getCondition()
{
return $this->condition;
}
/**
* Optional. A CEL (Common Expression Language) conditional expression that
* specifies if this policy applies to an incoming user request. If this
* condition evaluates to true and the requested path matched the path
* pattern, the associated actions should be executed by the caller. The
* condition string is checked for CEL syntax correctness on creation. For
* more information, see the [CEL spec](https://github.com/google/cel-spec)
* and its [language
* definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md).
* A condition has a max length of 500 characters.
*
* Generated from protobuf field <code>string condition = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
* @param string $var
* @return $this
*/
public function setCondition($var)
{
GPBUtil::checkString($var, True);
$this->condition = $var;
return $this;
}
/**
* Optional. The actions that the caller should take regarding user access.
* There should be at most one terminal action. A terminal action is any
* action that forces a response, such as `AllowAction`,
* `BlockAction` or `SubstituteAction`.
* Zero or more non-terminal actions such as `SetHeader` might be
* specified. A single policy can contain up to 16 actions.
*
* Generated from protobuf field <code>repeated .google.cloud.recaptchaenterprise.v1.FirewallAction actions = 6 [(.google.api.field_behavior) = OPTIONAL];</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getActions()
{
return $this->actions;
}
/**
* Optional. The actions that the caller should take regarding user access.
* There should be at most one terminal action. A terminal action is any
* action that forces a response, such as `AllowAction`,
* `BlockAction` or `SubstituteAction`.
* Zero or more non-terminal actions such as `SetHeader` might be
* specified. A single policy can contain up to 16 actions.
*
* Generated from protobuf field <code>repeated .google.cloud.recaptchaenterprise.v1.FirewallAction actions = 6 [(.google.api.field_behavior) = OPTIONAL];</code>
* @param array<\Google\Cloud\RecaptchaEnterprise\V1\FirewallAction>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setActions($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\RecaptchaEnterprise\V1\FirewallAction::class);
$this->actions = $arr;
return $this;
}
}