condition = $condition; } /** * @return Expr */ public function getCondition() { return $this->condition; } /** * Specifies the principals requesting access for a Google Cloud 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. * Does not include identities that come from external identity providers * (IdPs) through identity federation. * `user:{emailid}`: An email address * that represents a specific Google account. For example, `alice@example.com` * . * `serviceAccount:{emailid}`: An email address that represents a Google * service account. For example, `my-other-app@appspot.gserviceaccount.com`. * * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An * identifier for a [Kubernetes service * account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes- * service-accounts). For example, `my-project.svc.id.goog[my-namespace/my- * kubernetes-sa]`. * `group:{emailid}`: An email address that represents a * Google group. For example, `admins@example.com`. * `domain:{domain}`: The G * Suite domain (primary) that represents all the users of that domain. For * example, `google.com` or `example.com`. * `principal://iam.googleapis.com/l * ocations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}` * : A single identity in a workforce identity pool. * `principalSet://iam.goo * gleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: * All workforce identities in a group. * `principalSet://iam.googleapis.com/l * ocations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attrib * ute_value}`: All workforce identities with a specific attribute value. * `p * rincipalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}` * : All identities in a workforce identity pool. * `principal://iam.googleapi * s.com/projects/{project_number}/locations/global/workloadIdentityPools/{poo * l_id}/subject/{subject_attribute_value}`: A single identity in a workload * identity pool. * `principalSet://iam.googleapis.com/projects/{project_numbe * r}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A * workload identity pool group. * `principalSet://iam.googleapis.com/projects * /{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribut * e.{attribute_name}/{attribute_value}`: All identities in a workload * identity pool with a certain attribute. * `principalSet://iam.googleapis.co * m/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id * }`: All identities in a workload identity pool. * * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique * identifier) representing a user that has been recently deleted. For * example, `alice@example.com?uid=123456789012345678901`. If the user is * recovered, this value reverts to `user:{emailid}` and the recovered user * retains the role in the binding. * * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus * unique identifier) representing a service account that has been recently * deleted. For example, `my-other- * app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service * account is undeleted, this value reverts to `serviceAccount:{emailid}` and * the undeleted service account retains the role in the binding. * * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique * identifier) representing a Google group that has been recently deleted. For * example, `admins@example.com?uid=123456789012345678901`. If the group is * recovered, this value reverts to `group:{emailid}` and the recovered group * retains the role in the binding. * `deleted:principal://iam.googleapis.com/ * locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value} * `: Deleted single identity in a workforce identity pool. For example, * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my- * pool-id/subject/my-subject-attribute-value`. * * @param string[] $members */ public function setMembers($members) { $this->members = $members; } /** * @return string[] */ public function getMembers() { return $this->members; } /** * Role that is assigned to the list of `members`, or principals. For example, * `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the * IAM roles and permissions, see the [IAM * documentation](https://cloud.google.com/iam/docs/roles-overview). For a * list of the available pre-defined roles, see * [here](https://cloud.google.com/iam/docs/understanding-roles). * * @param string $role */ public function setRole($role) { $this->role = $role; } /** * @return string */ public function getRole() { return $this->role; } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(Binding::class, 'Google_Service_CloudTasks_Binding');