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; } }