Autogenerated update (2020-01-15)

Update:
- cloudidentity_v1
- cloudidentity_v1beta1
- sourcerepo_v1
This commit is contained in:
Google APIs 2020-01-15 00:37:03 +00:00
parent 176ef55bbe
commit 0a5261b583
8 changed files with 312 additions and 206 deletions

View File

@ -25,7 +25,7 @@ module Google
# @see https://cloud.google.com/identity/
module CloudidentityV1
VERSION = 'V1'
REVISION = '20191015'
REVISION = '20200110'
# See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group
AUTH_CLOUD_IDENTITY_GROUPS = 'https://www.googleapis.com/auth/cloud-identity.groups'

View File

@ -141,7 +141,7 @@ module Google
execute_or_queue_command(command, &block)
end
# List groups within a customer or a domain.
# Lists groups within a customer or a domain.
# @param [Fixnum] page_size
# The default page size is 200 (max 1000) for the BASIC view, and 50
# (max 500) for the FULL view.
@ -408,7 +408,7 @@ module Google
execute_or_queue_command(command, &block)
end
# List Memberships within a Group.
# Lists Memberships within a Group.
# @param [String] parent
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Group to list Memberships within.

View File

@ -25,7 +25,7 @@ module Google
# @see https://cloud.google.com/identity/
module CloudidentityV1beta1
VERSION = 'V1beta1'
REVISION = '20191027'
REVISION = '20200110'
# See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group
AUTH_CLOUD_IDENTITY_GROUPS = 'https://www.googleapis.com/auth/cloud-identity.groups'

View File

@ -22,23 +22,29 @@ module Google
module Apis
module CloudidentityV1beta1
# An EntityKey uniquely identifies an Entity. Namespaces are used to provide
# isolation for ids. A single Id can be reused across namespaces but the
# combination of a namespace and an id must be unique.
# A unique identifier for an entity in the Cloud Identity Groups API.
# An entity can represent either a group with an optional `namespace` or a user
# without a `namespace`. The combination of `id` and `namespace` must be
# unique; however, the same `id` can be used with different `namespace`s.
class EntityKey
include Google::Apis::Core::Hashable
# The id of the entity within the given namespace. The id must be unique
# within its namespace.
# The ID of the entity.
# For Google-managed entities, the `id` must be the email address of a group
# or user.
# For external-identity-mapped entities, the `id` must be a string conforming
# to the Identity Source's requirements.
# Must be unique within a `namespace`.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
# Namespaces provide isolation for ids, i.e an id only needs to be unique
# within its namespace.
# Namespaces are currently only created as part of IdentitySource creation
# from Admin Console. A namespace `"identitysources/`identity_source_id`"` is
# created corresponding to every Identity Source `identity_source_id`.
# The namespace in which the entity exists.
# If not specified, the `EntityKey` represents a Google-managed entity such
# as a Google user or a Google Group.
# If specified, the `EntityKey` represents an external-identity-mapped group
# created through Admin Console. Must be of the form
# `identitysources/`identity_source_id`.
# Corresponds to the JSON property `namespace`
# @return [String]
attr_accessor :namespace
@ -54,68 +60,69 @@ module Google
end
end
# Resource representing a Group
# A group within the Cloud Identity Groups API.
# A `Group` is a collection of entities, where each entity is either a user or
# another group.
class Group
include Google::Apis::Core::Hashable
# Optional. Additional entity key aliases for a Group
# Optional. Additional entity key aliases for a Group.
# Corresponds to the JSON property `additionalGroupKeys`
# @return [Array<Google::Apis::CloudidentityV1beta1::EntityKey>]
attr_accessor :additional_group_keys
# Output only. The time when the Group was created.
# Output only
# Output only. The time when the `Group` was created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# An extended description to help users determine the purpose of a Group. For
# example, you can include information about who should join the Group, the
# types of messages to send to the Group, links to FAQs about the Group, or
# related Groups. Maximum length is 4,096 characters.
# An extended description to help users determine the purpose of a `Group`.
# Must not be longer than 4,096 characters.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# The Group's display name.
# The display name of the `Group`.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# An EntityKey uniquely identifies an Entity. Namespaces are used to provide
# isolation for ids. A single Id can be reused across namespaces but the
# combination of a namespace and an id must be unique.
# A unique identifier for an entity in the Cloud Identity Groups API.
# An entity can represent either a group with an optional `namespace` or a user
# without a `namespace`. The combination of `id` and `namespace` must be
# unique; however, the same `id` can be used with different `namespace`s.
# Corresponds to the JSON property `groupKey`
# @return [Google::Apis::CloudidentityV1beta1::EntityKey]
attr_accessor :group_key
# Required. Labels for Group resource.
# Required.
# For creating Groups under a namespace, set label key to
# 'labels/system/groups/external' and label value as empty.
# Required. The labels that apply to the `Group`.
# Must not contain more than one entry. Must contain the entry
# `'system/groups/external': ''` if the `Group` is an
# external-identity-mapped group or
# `'cloudidentity.googleapis.com/groups.discussion_forum': ''` if the `Group`
# is a Google Group.
# Corresponds to the JSON property `labels`
# @return [Hash<String,String>]
attr_accessor :labels
# Output only. [Resource name](https://cloud.google.com/apis/design/
# resource_names) of the
# Group in the format: `groups/`group_id``, where group_id is the unique id
# assigned to the Group.
# Must be left blank while creating a Group
# Output only. The [resource name](https://cloud.google.com/apis/design/
# resource_names) of
# the `Group`.
# Shall be of the form `groups/`group_id``.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Required. Immutable. The entity under which this Group resides in Cloud
# Identity resource
# hierarchy. Must be set when creating a Group, read-only afterwards.
# Currently allowed types: 'identitysources'.
# Required. Immutable. The resource name of the entity under which this `Group`
# resides in the
# Cloud Identity resource hierarchy.
# Must be of the form `identitysources/`identity_source_id`` for external-
# identity-mapped groups or `customers/`customer_id`` for Google Groups.
# Corresponds to the JSON property `parent`
# @return [String]
attr_accessor :parent
# Output only. The time when the Group was last updated.
# Output only
# Output only. The time when the `Group` was last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
@ -138,17 +145,17 @@ module Google
end
end
#
# The response message for MembershipsService.ListMemberships.
class ListMembershipsResponse
include Google::Apis::Core::Hashable
# List of Memberships
# The `Membership`s under the specified `parent`.
# Corresponds to the JSON property `memberships`
# @return [Array<Google::Apis::CloudidentityV1beta1::Membership>]
attr_accessor :memberships
# Token to retrieve the next page of results, or empty if there are no
# more results available for listing.
# A continuation token to retrieve the next page of results, or empty if
# there are no more results available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
@ -164,13 +171,12 @@ module Google
end
end
#
# The response message for GroupsService.LookupGroupName.
class LookupGroupNameResponse
include Google::Apis::Core::Hashable
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Group in the format: `groups/`group_id``, where `group_id` is the unique id
# assigned to the Group.
# The [resource name](https://cloud.google.com/apis/design/resource_names) of
# the looked-up `Group`.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
@ -185,15 +191,13 @@ module Google
end
end
#
# The response message for MembershipsService.LookupMembershipName.
class LookupMembershipNameResponse
include Google::Apis::Core::Hashable
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Membership being looked up.
# Format: `groups/`group_id`/memberships/`member_id``, where `group_id` is
# the unique id assigned to the Group to which Membership belongs to, and
# `member_id` is the unique id assigned to the member.
# The [resource name](https://cloud.google.com/apis/design/resource_names) of
# the looked-up `Membership`.
# Must be of the form `groups/`group_id`/memberships/`membership_id``.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
@ -208,39 +212,41 @@ module Google
end
end
# Resource representing a Membership within a Group
# A membership within the Cloud Identity Groups API.
# A `Membership` defines a relationship between a `Group` and an entity
# belonging to that `Group`, referred to as a "member".
class Membership
include Google::Apis::Core::Hashable
# Output only. Creation timestamp of the Membership.
# Output only. The time when the `Membership` was created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# An EntityKey uniquely identifies an Entity. Namespaces are used to provide
# isolation for ids. A single Id can be reused across namespaces but the
# combination of a namespace and an id must be unique.
# A unique identifier for an entity in the Cloud Identity Groups API.
# An entity can represent either a group with an optional `namespace` or a user
# without a `namespace`. The combination of `id` and `namespace` must be
# unique; however, the same `id` can be used with different `namespace`s.
# Corresponds to the JSON property `memberKey`
# @return [Google::Apis::CloudidentityV1beta1::EntityKey]
attr_accessor :member_key
# Output only. [Resource name](https://cloud.google.com/apis/design/
# resource_names) of the
# Membership in the format: `groups/`group_id`/memberships/`member_id``,
# where group_id is the unique id assigned to the Group to which Membership
# belongs to, and member_id is the unique id assigned to the member
# Must be left blank while creating a Membership.
# Output only. The [resource name](https://cloud.google.com/apis/design/
# resource_names) of
# the `Membership`.
# Shall be of the form `groups/`group_id`/memberships/`membership_id``.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Roles for a member within the Group.
# Currently supported MembershipRoles: `"MEMBER", "OWNER", "MANAGER"`.
# The `MembershipRole`s that apply to the `Membership`.
# If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`.
# Must not contain duplicate `MembershipRole`s with the same `name`.
# Corresponds to the JSON property `roles`
# @return [Array<Google::Apis::CloudidentityV1beta1::MembershipRole>]
attr_accessor :roles
# Output only. Last updated timestamp of the Membership.
# Output only. The time when the `Membership` was last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
@ -259,12 +265,13 @@ module Google
end
end
# Resource representing a role within a Membership.
# A membership role within the Cloud Identity Groups API.
# A `MembershipRole` defines the privileges granted to a `Membership`.
class MembershipRole
include Google::Apis::Core::Hashable
# MembershipRole in string format.
# Currently supported MembershipRoles: `"MEMBER", "OWNER", "MANAGER"`.
# The name of the `MembershipRole`.
# Must be one of `OWNER`, `MANAGER`, `MEMBER`.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
@ -343,17 +350,17 @@ module Google
end
end
#
# The response message for GroupsService.SearchGroups.
class SearchGroupsResponse
include Google::Apis::Core::Hashable
# List of Groups satisfying the search query.
# The `Group`s that match the search query.
# Corresponds to the JSON property `groups`
# @return [Array<Google::Apis::CloudidentityV1beta1::Group>]
attr_accessor :groups
# Token to retrieve the next page of results, or empty if there are no
# more results available for specified query.
# A continuation token to retrieve the next page of results, or empty if
# there are no more results available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token

View File

@ -47,7 +47,7 @@ module Google
@batch_path = 'batch'
end
# Creates a Group.
# Creates a `Group`.
# @param [Google::Apis::CloudidentityV1beta1::Group] group_object
# @param [String] fields
# Selector specifying which fields to include in a partial response.
@ -77,11 +77,11 @@ module Google
execute_or_queue_command(command, &block)
end
# Deletes a Group.
# Deletes a `Group`.
# @param [String] name
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Group in the format: `groups/`group_id``, where `group_id` is the unique id
# assigned to the Group.
# The [resource name](https://cloud.google.com/apis/design/resource_names) of
# the `Group` to retrieve.
# Must be of the form `groups/`group_id``.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -109,11 +109,11 @@ module Google
execute_or_queue_command(command, &block)
end
# Retrieves a Group.
# Retrieves a `Group`.
# @param [String] name
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Group in the format: `groups/`group_id``, where `group_id` is the unique id
# assigned to the Group.
# The [resource name](https://cloud.google.com/apis/design/resource_names) of
# the `Group` to retrieve.
# Must be of the form `groups/`group_id``.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -141,18 +141,23 @@ module Google
execute_or_queue_command(command, &block)
end
# Looks up [resource
# name](https://cloud.google.com/apis/design/resource_names) of a Group by
# its EntityKey.
# Looks up the [resource
# name](https://cloud.google.com/apis/design/resource_names) of a `Group` by
# its `EntityKey`.
# @param [String] group_key_id
# The id of the entity within the given namespace. The id must be unique
# within its namespace.
# The ID of the entity.
# For Google-managed entities, the `id` must be the email address of a group
# or user.
# For external-identity-mapped entities, the `id` must be a string conforming
# to the Identity Source's requirements.
# Must be unique within a `namespace`.
# @param [String] group_key_namespace
# Namespaces provide isolation for ids, i.e an id only needs to be unique
# within its namespace.
# Namespaces are currently only created as part of IdentitySource creation
# from Admin Console. A namespace `"identitysources/`identity_source_id`"` is
# created corresponding to every Identity Source `identity_source_id`.
# The namespace in which the entity exists.
# If not specified, the `EntityKey` represents a Google-managed entity such
# as a Google user or a Google Group.
# If specified, the `EntityKey` represents an external-identity-mapped group
# created through Admin Console. Must be of the form
# `identitysources/`identity_source_id`.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -181,16 +186,16 @@ module Google
execute_or_queue_command(command, &block)
end
# Updates a Group.
# Updates a `Group`.
# @param [String] name
# Output only. [Resource name](https://cloud.google.com/apis/design/
# resource_names) of the
# Group in the format: `groups/`group_id``, where group_id is the unique id
# assigned to the Group.
# Must be left blank while creating a Group
# Output only. The [resource name](https://cloud.google.com/apis/design/
# resource_names) of
# the `Group`.
# Shall be of the form `groups/`group_id``.
# @param [Google::Apis::CloudidentityV1beta1::Group] group_object
# @param [String] update_mask
# Editable fields: `display_name`, `description`
# The fully-qualified names of fields to update.
# May only contain the following fields: `display_name`, `description`.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -221,23 +226,31 @@ module Google
execute_or_queue_command(command, &block)
end
# Searches for Groups.
# Searches for `Group`s matching a specified query.
# @param [Fixnum] page_size
# The default page size is 200 (max 1000) for the BASIC view, and 50
# (max 500) for the FULL view.
# The maximum number of results to return.
# Note that the number of results returned may be less than this value even
# if there are more available results. To fetch all results, clients must
# continue calling this method repeatedly until the response no longer
# contains a `next_page_token`.
# If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for
# `GroupView.FULL`.
# Must not be greater than 1000 for `GroupView.BASIC` or 500 for
# `GroupView.FULL`.
# @param [String] page_token
# The next_page_token value returned from a previous search request, if any.
# The `next_page_token` value returned from a previous search request, if
# any.
# @param [String] query
# Query string for performing search on groups.
# Users can search on namespace and label attributes of groups.
# EXACT match ('=') is supported on namespace, and CONTAINS match (':') is
# supported on labels. This is a `required` field.
# Multiple queries can be combined using `AND` operator. The operator is case
# sensitive.
# An example query would be:
# "namespace=<namespace_value> AND labels:<labels_value>".
# The search query.
# Only queries on the parent and labels of `Group`s are supported.
# Must be specified in [Common Expression
# Language](https://opensource.google/projects/cel). May only contain
# equality operators on the parent (e.g. `parent ==
# 'customers/`customer_id`'`) and inclusion operators on labels (e.g.,
# `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`).
# @param [String] view
# Group resource view to be returned. Defaults to [GroupView.BASIC]().
# The level of detail to be returned.
# If unspecified, defaults to `View.BASIC`.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -268,11 +281,10 @@ module Google
execute_or_queue_command(command, &block)
end
# Creates a Membership.
# Creates a `Membership`.
# @param [String] parent
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Group to create Membership within. Format: `groups/`group_id``, where
# `group_id` is the unique id assigned to the Group.
# The parent `Group` resource under which to create the `Membership`.
# Must be of the form `groups/`group_id``.
# @param [Google::Apis::CloudidentityV1beta1::Membership] membership_object
# @param [String] fields
# Selector specifying which fields to include in a partial response.
@ -303,13 +315,11 @@ module Google
execute_or_queue_command(command, &block)
end
# Deletes a Membership.
# Deletes a `Membership`.
# @param [String] name
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Membership to be deleted.
# Format: `groups/`group_id`/memberships/`member_id``, where `group_id` is
# the unique id assigned to the Group to which Membership belongs to, and
# member_id is the unique id assigned to the member.
# The [resource name](https://cloud.google.com/apis/design/resource_names) of
# the `Membership` to delete.
# Must be of the form `groups/`group_id`/memberships/`membership_id``.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -337,13 +347,11 @@ module Google
execute_or_queue_command(command, &block)
end
# Retrieves a Membership.
# Retrieves a `Membership`.
# @param [String] name
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Membership to be retrieved.
# Format: `groups/`group_id`/memberships/`member_id``, where `group_id` is
# the unique id assigned to the Group to which Membership belongs to, and
# `member_id` is the unique id assigned to the member.
# The [resource name](https://cloud.google.com/apis/design/resource_names) of
# the `Membership` to retrieve.
# Must be of the form `groups/`group_id`/memberships/`membership_id``.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -371,19 +379,26 @@ module Google
execute_or_queue_command(command, &block)
end
# List Memberships within a Group.
# Lists the `Membership`s within a `Group`.
# @param [String] parent
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Group to list Memberships within.
# Format: `groups/`group_id``, where `group_id` is the unique id assigned to
# the Group.
# The parent `Group` resource under which to lookup the `Membership` name.
# Must be of the form `groups/`group_id``.
# @param [Fixnum] page_size
# The default page size is 200 (max 1000) for the BASIC view, and 50
# (max 500) for the FULL view.
# The maximum number of results to return.
# Note that the number of results returned may be less than this value even
# if there are more available results. To fetch all results, clients must
# continue calling this method repeatedly until the response no longer
# contains a `next_page_token`.
# If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for
# `GroupView.FULL`.
# Must not be greater than 1000 for `GroupView.BASIC` or 500 for
# `GroupView.FULL`.
# @param [String] page_token
# The next_page_token value returned from a previous list request, if any
# The `next_page_token` value returned from a previous search request, if
# any.
# @param [String] view
# Membership resource view to be returned. Defaults to MembershipView.BASIC.
# The level of detail to be returned.
# If unspecified, defaults to `MembershipView.BASIC`.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -414,23 +429,26 @@ module Google
execute_or_queue_command(command, &block)
end
# Looks up [resource
# name](https://cloud.google.com/apis/design/resource_names) of a Membership
# within a Group by member's EntityKey.
# Looks up the [resource
# name](https://cloud.google.com/apis/design/resource_names) of a
# `Membership` by its `EntityKey`.
# @param [String] parent
# [Resource name](https://cloud.google.com/apis/design/resource_names) of the
# Group to lookup Membership within.
# Format: `groups/`group_id``, where `group_id` is the unique id assigned to
# the Group.
# The parent `Group` resource under which to lookup the `Membership` name.
# Must be of the form `groups/`group_id``.
# @param [String] member_key_id
# The id of the entity within the given namespace. The id must be unique
# within its namespace.
# The ID of the entity.
# For Google-managed entities, the `id` must be the email address of a group
# or user.
# For external-identity-mapped entities, the `id` must be a string conforming
# to the Identity Source's requirements.
# Must be unique within a `namespace`.
# @param [String] member_key_namespace
# Namespaces provide isolation for ids, i.e an id only needs to be unique
# within its namespace.
# Namespaces are currently only created as part of IdentitySource creation
# from Admin Console. A namespace `"identitysources/`identity_source_id`"` is
# created corresponding to every Identity Source `identity_source_id`.
# The namespace in which the entity exists.
# If not specified, the `EntityKey` represents a Google-managed entity such
# as a Google user or a Google Group.
# If specified, the `EntityKey` represents an external-identity-mapped group
# created through Admin Console. Must be of the form
# `identitysources/`identity_source_id`.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user

View File

@ -25,7 +25,7 @@ module Google
# @see https://cloud.google.com/source-repositories/docs/apis
module SourcerepoV1
VERSION = 'V1'
REVISION = '20190611'
REVISION = '20200102'
# View and manage your data across Google Cloud Platform services
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'

View File

@ -39,7 +39,7 @@ module Google
# `
# "log_type": "DATA_READ",
# "exempted_members": [
# "user:foo@gmail.com"
# "user:jose@example.com"
# ]
# `,
# `
@ -51,7 +51,7 @@ module Google
# ]
# `,
# `
# "service": "fooservice.googleapis.com"
# "service": "sampleservice.googleapis.com"
# "audit_log_configs": [
# `
# "log_type": "DATA_READ",
@ -59,16 +59,16 @@ module Google
# `
# "log_type": "DATA_WRITE",
# "exempted_members": [
# "user:bar@gmail.com"
# "user:aliya@example.com"
# ]
# `
# ]
# `
# ]
# `
# For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
# logging. It also exempts foo@gmail.com from DATA_READ logging, and
# bar@gmail.com from DATA_WRITE logging.
# For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
# logging. It also exempts jose@example.com from DATA_READ logging, and
# aliya@example.com from DATA_WRITE logging.
class AuditConfig
include Google::Apis::Core::Hashable
@ -102,7 +102,7 @@ module Google
# `
# "log_type": "DATA_READ",
# "exempted_members": [
# "user:foo@gmail.com"
# "user:jose@example.com"
# ]
# `,
# `
@ -111,7 +111,7 @@ module Google
# ]
# `
# This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
# foo@gmail.com from DATA_READ logging.
# jose@example.com from DATA_READ logging.
class AuditLogConfig
include Google::Apis::Core::Hashable
@ -157,11 +157,28 @@ module Google
# * `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` .
# 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`
@ -380,43 +397,62 @@ module Google
end
end
# Defines an Identity and Access Management (IAM) policy. It is used to
# specify access control policies for Cloud Platform resources.
# A `Policy` consists of a list of `bindings`. A `binding` binds a list of
# `members` to a `role`, where the members can be user accounts, Google groups,
# Google domains, and service accounts. A `role` is a named list of permissions
# defined by IAM.
# **JSON Example**
# 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; 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/owner",
# "role": "roles/resourcemanager.organizationAdmin",
# "members": [
# "user:mike@example.com",
# "group:admins@example.com",
# "domain:google.com",
# "serviceAccount:my-other-app@appspot.gserviceaccount.com"
# "serviceAccount:my-project-id@appspot.gserviceaccount.com"
# ]
# `,
# `
# "role": "roles/viewer",
# "members": ["user:sean@example.com"]
# "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')
# ",
# `
# ]
# `
# **YAML Example**
# ],
# "etag": "BwWWja0YfJA=",
# "version": 3
# `
# **YAML example:**
# bindings:
# - members:
# - user:mike@example.com
# - group:admins@example.com
# - domain:google.com
# - serviceAccount:my-other-app@appspot.gserviceaccount.com
# role: roles/owner
# - serviceAccount:my-project-id@appspot.gserviceaccount.com
# role: roles/resourcemanager.organizationAdmin
# - members:
# - user:sean@example.com
# role: roles/viewer
# - user:eve@example.com
# 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
@ -425,8 +461,9 @@ module Google
# @return [Array<Google::Apis::SourcerepoV1::AuditConfig>]
attr_accessor :audit_configs
# Associates a list of `members` to a `role`.
# `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::SourcerepoV1::Binding>]
attr_accessor :bindings
@ -438,14 +475,31 @@ module Google
# 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 blindly.
# **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
# Deprecated.
# Specifies the format of the policy.
# 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
@ -586,43 +640,62 @@ module Google
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.
# A `Policy` consists of a list of `bindings`. A `binding` binds a list of
# `members` to a `role`, where the members can be user accounts, Google groups,
# Google domains, and service accounts. A `role` is a named list of permissions
# defined by IAM.
# **JSON Example**
# 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; 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/owner",
# "role": "roles/resourcemanager.organizationAdmin",
# "members": [
# "user:mike@example.com",
# "group:admins@example.com",
# "domain:google.com",
# "serviceAccount:my-other-app@appspot.gserviceaccount.com"
# "serviceAccount:my-project-id@appspot.gserviceaccount.com"
# ]
# `,
# `
# "role": "roles/viewer",
# "members": ["user:sean@example.com"]
# "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')
# ",
# `
# ]
# `
# **YAML Example**
# ],
# "etag": "BwWWja0YfJA=",
# "version": 3
# `
# **YAML example:**
# bindings:
# - members:
# - user:mike@example.com
# - group:admins@example.com
# - domain:google.com
# - serviceAccount:my-other-app@appspot.gserviceaccount.com
# role: roles/owner
# - serviceAccount:my-project-id@appspot.gserviceaccount.com
# role: roles/resourcemanager.organizationAdmin
# - members:
# - user:sean@example.com
# role: roles/viewer
# - user:eve@example.com
# 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::SourcerepoV1::Policy]
attr_accessor :policy

View File

@ -216,6 +216,13 @@ module Google
# @param [String] resource
# REQUIRED: The resource for which the policy is being requested.
# See the operation documentation for the appropriate value for this field.
# @param [Fixnum] options_requested_policy_version
# Optional. The policy format version to be returned.
# Valid values are 0, 1, and 3. Requests specifying an invalid value will be
# rejected.
# Requests for policies with any conditional bindings must specify version 3.
# Policies without any conditional bindings may specify any valid value or
# leave the field unset.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
@ -233,11 +240,12 @@ module Google
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def get_project_repo_iam_policy(resource, fields: nil, quota_user: nil, options: nil, &block)
def get_project_repo_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options)
command.response_representation = Google::Apis::SourcerepoV1::Policy::Representation
command.response_class = Google::Apis::SourcerepoV1::Policy
command.params['resource'] = resource unless resource.nil?
command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)