google.iam.v1.Binding
*/
class Binding extends \Google\Protobuf\Internal\Message
{
/**
* Role that is assigned to `members`.
* For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
* Required
*
* Generated from protobuf field string role = 1;
*/
private $role = '';
/**
* Specifies the identities requesting access for a Cloud Platform resource.
* `members` can have the following values:
* * `allUsers`: A special identifier that represents anyone who is
* on the internet; with or without a Google account.
* * `allAuthenticatedUsers`: A special identifier that represents anyone
* who is authenticated with a Google account or a service account.
* * `user:{emailid}`: An email address that represents a specific Google
* account. For example, `alice@gmail.com` or `joe@example.com`.
* * `serviceAccount:{emailid}`: An email address that represents a service
* account. For example, `my-other-app@appspot.gserviceaccount.com`.
* * `group:{emailid}`: An email address that represents a Google group.
* For example, `admins@example.com`.
* * `domain:{domain}`: A Google Apps domain name that represents all the
* users of that domain. For example, `google.com` or `example.com`.
*
* Generated from protobuf field repeated string members = 2;
*/
private $members;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $role
* Role that is assigned to `members`.
* For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
* Required
* @type string[]|\Google\Protobuf\Internal\RepeatedField $members
* Specifies the identities requesting access for a Cloud Platform resource.
* `members` can have the following values:
* * `allUsers`: A special identifier that represents anyone who is
* on the internet; with or without a Google account.
* * `allAuthenticatedUsers`: A special identifier that represents anyone
* who is authenticated with a Google account or a service account.
* * `user:{emailid}`: An email address that represents a specific Google
* account. For example, `alice@gmail.com` or `joe@example.com`.
* * `serviceAccount:{emailid}`: An email address that represents a service
* account. For example, `my-other-app@appspot.gserviceaccount.com`.
* * `group:{emailid}`: An email address that represents a Google group.
* For example, `admins@example.com`.
* * `domain:{domain}`: A Google Apps domain name that represents all the
* users of that domain. For example, `google.com` or `example.com`.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Iam\V1\Policy::initOnce();
parent::__construct($data);
}
/**
* Role that is assigned to `members`.
* For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
* Required
*
* Generated from protobuf field string role = 1;
* @return string
*/
public function getRole()
{
return $this->role;
}
/**
* Role that is assigned to `members`.
* For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
* Required
*
* Generated from protobuf field string role = 1;
* @param string $var
* @return $this
*/
public function setRole($var)
{
GPBUtil::checkString($var, True);
$this->role = $var;
return $this;
}
/**
* Specifies the identities requesting access for a Cloud Platform resource.
* `members` can have the following values:
* * `allUsers`: A special identifier that represents anyone who is
* on the internet; with or without a Google account.
* * `allAuthenticatedUsers`: A special identifier that represents anyone
* who is authenticated with a Google account or a service account.
* * `user:{emailid}`: An email address that represents a specific Google
* account. For example, `alice@gmail.com` or `joe@example.com`.
* * `serviceAccount:{emailid}`: An email address that represents a service
* account. For example, `my-other-app@appspot.gserviceaccount.com`.
* * `group:{emailid}`: An email address that represents a Google group.
* For example, `admins@example.com`.
* * `domain:{domain}`: A Google Apps domain name that represents all the
* users of that domain. For example, `google.com` or `example.com`.
*
* Generated from protobuf field repeated string members = 2;
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getMembers()
{
return $this->members;
}
/**
* Specifies the identities requesting access for a Cloud Platform resource.
* `members` can have the following values:
* * `allUsers`: A special identifier that represents anyone who is
* on the internet; with or without a Google account.
* * `allAuthenticatedUsers`: A special identifier that represents anyone
* who is authenticated with a Google account or a service account.
* * `user:{emailid}`: An email address that represents a specific Google
* account. For example, `alice@gmail.com` or `joe@example.com`.
* * `serviceAccount:{emailid}`: An email address that represents a service
* account. For example, `my-other-app@appspot.gserviceaccount.com`.
* * `group:{emailid}`: An email address that represents a Google group.
* For example, `admins@example.com`.
* * `domain:{domain}`: A Google Apps domain name that represents all the
* users of that domain. For example, `google.com` or `example.com`.
*
* Generated from protobuf field repeated string members = 2;
* @param string[]|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setMembers($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
$this->members = $arr;
return $this;
}
}