generated/google/apis/cloudfunctions_v1/classes.rb in google-api-client-0.36.0 vs generated/google/apis/cloudfunctions_v1/classes.rb in google-api-client-0.36.1
- old
+ new
@@ -160,10 +160,27 @@
# account. For example, `alice@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`.
+ # * `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.
# * `domain:`domain``: The G Suite domain (primary) that represents all the
# users of that domain. For example, `google.com` or `example.com`.
# Corresponds to the JSON property `members`
# @return [Array<String>]
attr_accessor :members
@@ -926,20 +943,22 @@
@update_time = args[:update_time] if args.key?(:update_time)
@version_id = args[:version_id] if args.key?(:version_id)
end
end
- # Defines an Identity and Access Management (IAM) policy. It is used to
- # specify access control policies for Cloud Platform resources.
+ # An Identity and Access Management (IAM) policy, which specifies access
+ # controls for Google Cloud resources.
# A `Policy` is a collection of `bindings`. A `binding` binds one or more
# `members` to a single `role`. Members can be user accounts, service accounts,
# Google groups, and domains (such as G Suite). A `role` is a named list of
- # permissions (defined by IAM or configured by users). A `binding` can
- # optionally specify a `condition`, which is a logic expression that further
- # constrains the role binding based on attributes about the request and/or
- # target resource.
- # **JSON Example**
+ # permissions; each `role` can be an IAM predefined role or a user-created
+ # custom role.
+ # Optionally, a `binding` can specify a `condition`, which is a logical
+ # expression that allows access to a resource only if the expression evaluates
+ # to `true`. A condition can add constraints based on attributes of the
+ # request, the resource, or both.
+ # **JSON example:**
# `
# "bindings": [
# `
# "role": "roles/resourcemanager.organizationAdmin",
# "members": [
@@ -953,17 +972,19 @@
# "role": "roles/resourcemanager.organizationViewer",
# "members": ["user:eve@example.com"],
# "condition": `
# "title": "expirable access",
# "description": "Does not grant access after Sep 2020",
- # "expression": "request.time <
- # timestamp('2020-10-01T00:00:00.000Z')",
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
+ # ",
# `
# `
- # ]
+ # ],
+ # "etag": "BwWWja0YfJA=",
+ # "version": 3
# `
- # **YAML Example**
+ # **YAML example:**
# bindings:
# - members:
# - user:mike@example.com
# - group:admins@example.com
# - domain:google.com
@@ -974,23 +995,25 @@
# role: roles/resourcemanager.organizationViewer
# condition:
# title: expirable access
# description: Does not grant access after Sep 2020
# expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
+ # - etag: BwWWja0YfJA=
+ # - version: 3
# For a description of IAM and its features, see the
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
class Policy
include Google::Apis::Core::Hashable
# Specifies cloud audit logging configuration for this policy.
# Corresponds to the JSON property `auditConfigs`
# @return [Array<Google::Apis::CloudfunctionsV1::AuditConfig>]
attr_accessor :audit_configs
- # Associates a list of `members` to a `role`. Optionally may specify a
- # `condition` that determines when binding is in effect.
- # `bindings` with no members will result in an error.
+ # Associates a list of `members` to a `role`. Optionally, may specify a
+ # `condition` that determines how and when the `bindings` are applied. Each
+ # of the `bindings` must contain at least one member.
# Corresponds to the JSON property `bindings`
# @return [Array<Google::Apis::CloudfunctionsV1::Binding>]
attr_accessor :bindings
# `etag` is used for optimistic concurrency control as a way to help
@@ -998,30 +1021,35 @@
# It is strongly suggested that systems make use of the `etag` in the
# read-modify-write cycle to perform policy updates in order to avoid race
# conditions: An `etag` is returned in the response to `getIamPolicy`, and
# systems are expected to put that etag in the request to `setIamPolicy` to
# ensure that their change will be applied to the same version of the policy.
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
- # 'setIamPolicy' will not fail even if the incoming policy version does not
- # meet the requirements for modifying the stored policy.
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
+ # the conditions in the version `3` policy are lost.
# Corresponds to the JSON property `etag`
# NOTE: Values are automatically base64 encoded/decoded in the client library.
# @return [String]
attr_accessor :etag
# Specifies the format of the policy.
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
- # rejected.
- # Operations affecting conditional bindings must specify version 3. This can
- # be either setting a conditional policy, modifying a conditional binding,
- # or removing a binding (conditional or unconditional) from the stored
- # conditional policy.
- # Operations on non-conditional policies may specify any valid value or
- # leave the field unset.
- # If no etag is provided in the call to `setIamPolicy`, version compliance
- # checks against the stored policy is skipped.
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+ # are rejected.
+ # Any operation that affects conditional role bindings must specify version
+ # `3`. This requirement applies to the following operations:
+ # * Getting a policy that includes a conditional role binding
+ # * Adding a conditional role binding to a policy
+ # * Changing a conditional role binding in a policy
+ # * Removing any role binding, with or without a condition, from a policy
+ # that includes conditions
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
+ # the conditions in the version `3` policy are lost.
+ # If a policy does not include any conditions, operations on that policy may
+ # specify any valid version or leave the field unset.
# Corresponds to the JSON property `version`
# @return [Fixnum]
attr_accessor :version
def initialize(**args)
@@ -1056,20 +1084,22 @@
# Request message for `SetIamPolicy` method.
class SetIamPolicyRequest
include Google::Apis::Core::Hashable
- # Defines an Identity and Access Management (IAM) policy. It is used to
- # specify access control policies for Cloud Platform resources.
+ # An Identity and Access Management (IAM) policy, which specifies access
+ # controls for Google Cloud resources.
# A `Policy` is a collection of `bindings`. A `binding` binds one or more
# `members` to a single `role`. Members can be user accounts, service accounts,
# Google groups, and domains (such as G Suite). A `role` is a named list of
- # permissions (defined by IAM or configured by users). A `binding` can
- # optionally specify a `condition`, which is a logic expression that further
- # constrains the role binding based on attributes about the request and/or
- # target resource.
- # **JSON Example**
+ # permissions; each `role` can be an IAM predefined role or a user-created
+ # custom role.
+ # Optionally, a `binding` can specify a `condition`, which is a logical
+ # expression that allows access to a resource only if the expression evaluates
+ # to `true`. A condition can add constraints based on attributes of the
+ # request, the resource, or both.
+ # **JSON example:**
# `
# "bindings": [
# `
# "role": "roles/resourcemanager.organizationAdmin",
# "members": [
@@ -1083,17 +1113,19 @@
# "role": "roles/resourcemanager.organizationViewer",
# "members": ["user:eve@example.com"],
# "condition": `
# "title": "expirable access",
# "description": "Does not grant access after Sep 2020",
- # "expression": "request.time <
- # timestamp('2020-10-01T00:00:00.000Z')",
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
+ # ",
# `
# `
- # ]
+ # ],
+ # "etag": "BwWWja0YfJA=",
+ # "version": 3
# `
- # **YAML Example**
+ # **YAML example:**
# bindings:
# - members:
# - user:mike@example.com
# - group:admins@example.com
# - domain:google.com
@@ -1104,11 +1136,13 @@
# role: roles/resourcemanager.organizationViewer
# condition:
# title: expirable access
# description: Does not grant access after Sep 2020
# expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
+ # - etag: BwWWja0YfJA=
+ # - version: 3
# For a description of IAM and its features, see the
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
# Corresponds to the JSON property `policy`
# @return [Google::Apis::CloudfunctionsV1::Policy]
attr_accessor :policy
# OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only