diff --git a/api_names_out.yaml b/api_names_out.yaml index fc2a49435..8ba7e0c6a 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -23386,6 +23386,8 @@ "/cloudidentity:v1/CancelWipeDeviceResponse/device": device "/cloudidentity:v1/CancelWipeDeviceUserResponse": cancel_wipe_device_user_response "/cloudidentity:v1/CancelWipeDeviceUserResponse/deviceUser": device_user +"/cloudidentity:v1/CheckTransitiveMembershipResponse": check_transitive_membership_response +"/cloudidentity:v1/CheckTransitiveMembershipResponse/hasMembership": has_membership "/cloudidentity:v1/ClientState": client_state "/cloudidentity:v1/ClientState/assetTags": asset_tags "/cloudidentity:v1/ClientState/assetTags/asset_tag": asset_tag @@ -23450,6 +23452,11 @@ "/cloudidentity:v1/EntityKey": entity_key "/cloudidentity:v1/EntityKey/id": id "/cloudidentity:v1/EntityKey/namespace": namespace +"/cloudidentity:v1/GetMembershipGraphResponse": get_membership_graph_response +"/cloudidentity:v1/GetMembershipGraphResponse/adjacencyList": adjacency_list +"/cloudidentity:v1/GetMembershipGraphResponse/adjacencyList/adjacency_list": adjacency_list +"/cloudidentity:v1/GetMembershipGraphResponse/groups": groups +"/cloudidentity:v1/GetMembershipGraphResponse/groups/group": group "/cloudidentity:v1/GoogleAppsCloudidentityDevicesV1AndroidAttributes": google_apps_cloudidentity_devices_v1_android_attributes "/cloudidentity:v1/GoogleAppsCloudidentityDevicesV1AndroidAttributes/enabledUnknownSources": enabled_unknown_sources "/cloudidentity:v1/GoogleAppsCloudidentityDevicesV1AndroidAttributes/ownerProfileAccount": owner_profile_account @@ -23567,6 +23574,15 @@ "/cloudidentity:v1/Group/name": name "/cloudidentity:v1/Group/parent": parent "/cloudidentity:v1/Group/updateTime": update_time +"/cloudidentity:v1/GroupRelation": group_relation +"/cloudidentity:v1/GroupRelation/displayName": display_name +"/cloudidentity:v1/GroupRelation/group": group +"/cloudidentity:v1/GroupRelation/groupKey": group_key +"/cloudidentity:v1/GroupRelation/labels": labels +"/cloudidentity:v1/GroupRelation/labels/label": label +"/cloudidentity:v1/GroupRelation/relationType": relation_type +"/cloudidentity:v1/GroupRelation/roles": roles +"/cloudidentity:v1/GroupRelation/roles/role": role "/cloudidentity:v1/ListGroupsResponse": list_groups_response "/cloudidentity:v1/ListGroupsResponse/groups": groups "/cloudidentity:v1/ListGroupsResponse/groups/group": group @@ -23579,6 +23595,13 @@ "/cloudidentity:v1/LookupGroupNameResponse/name": name "/cloudidentity:v1/LookupMembershipNameResponse": lookup_membership_name_response "/cloudidentity:v1/LookupMembershipNameResponse/name": name +"/cloudidentity:v1/MemberRelation": member_relation +"/cloudidentity:v1/MemberRelation/member": member +"/cloudidentity:v1/MemberRelation/preferredMemberKey": preferred_member_key +"/cloudidentity:v1/MemberRelation/preferredMemberKey/preferred_member_key": preferred_member_key +"/cloudidentity:v1/MemberRelation/relationType": relation_type +"/cloudidentity:v1/MemberRelation/roles": roles +"/cloudidentity:v1/MemberRelation/roles/role": role "/cloudidentity:v1/Membership": membership "/cloudidentity:v1/Membership/createTime": create_time "/cloudidentity:v1/Membership/name": name @@ -23587,6 +23610,10 @@ "/cloudidentity:v1/Membership/roles/role": role "/cloudidentity:v1/Membership/type": type "/cloudidentity:v1/Membership/updateTime": update_time +"/cloudidentity:v1/MembershipAdjacencyList": membership_adjacency_list +"/cloudidentity:v1/MembershipAdjacencyList/edges": edges +"/cloudidentity:v1/MembershipAdjacencyList/edges/edge": edge +"/cloudidentity:v1/MembershipAdjacencyList/group": group "/cloudidentity:v1/MembershipRole": membership_role "/cloudidentity:v1/MembershipRole/name": name "/cloudidentity:v1/ModifyMembershipRolesRequest": modify_membership_roles_request @@ -23610,12 +23637,22 @@ "/cloudidentity:v1/SearchGroupsResponse/groups": groups "/cloudidentity:v1/SearchGroupsResponse/groups/group": group "/cloudidentity:v1/SearchGroupsResponse/nextPageToken": next_page_token +"/cloudidentity:v1/SearchTransitiveGroupsResponse": search_transitive_groups_response +"/cloudidentity:v1/SearchTransitiveGroupsResponse/memberships": memberships +"/cloudidentity:v1/SearchTransitiveGroupsResponse/memberships/membership": membership +"/cloudidentity:v1/SearchTransitiveGroupsResponse/nextPageToken": next_page_token +"/cloudidentity:v1/SearchTransitiveMembershipsResponse": search_transitive_memberships_response +"/cloudidentity:v1/SearchTransitiveMembershipsResponse/memberships": memberships +"/cloudidentity:v1/SearchTransitiveMembershipsResponse/memberships/membership": membership +"/cloudidentity:v1/SearchTransitiveMembershipsResponse/nextPageToken": next_page_token "/cloudidentity:v1/Status": status "/cloudidentity:v1/Status/code": code "/cloudidentity:v1/Status/details": details "/cloudidentity:v1/Status/details/detail": detail "/cloudidentity:v1/Status/details/detail/detail": detail "/cloudidentity:v1/Status/message": message +"/cloudidentity:v1/TransitiveMembershipRole": transitive_membership_role +"/cloudidentity:v1/TransitiveMembershipRole/role": role "/cloudidentity:v1/UpdateMembershipRolesParams": update_membership_roles_params "/cloudidentity:v1/UpdateMembershipRolesParams/fieldMask": field_mask "/cloudidentity:v1/UpdateMembershipRolesParams/membershipRole": membership_role @@ -23697,12 +23734,18 @@ "/cloudidentity:v1/cloudidentity.groups.lookup": lookup_group "/cloudidentity:v1/cloudidentity.groups.lookup/groupKey.id": group_key_id "/cloudidentity:v1/cloudidentity.groups.lookup/groupKey.namespace": group_key_namespace +"/cloudidentity:v1/cloudidentity.groups.memberships.checkTransitiveMembership": check_group_membership_transitive_membership +"/cloudidentity:v1/cloudidentity.groups.memberships.checkTransitiveMembership/parent": parent +"/cloudidentity:v1/cloudidentity.groups.memberships.checkTransitiveMembership/query": query "/cloudidentity:v1/cloudidentity.groups.memberships.create": create_group_membership "/cloudidentity:v1/cloudidentity.groups.memberships.create/parent": parent "/cloudidentity:v1/cloudidentity.groups.memberships.delete": delete_group_membership "/cloudidentity:v1/cloudidentity.groups.memberships.delete/name": name "/cloudidentity:v1/cloudidentity.groups.memberships.get": get_group_membership "/cloudidentity:v1/cloudidentity.groups.memberships.get/name": name +"/cloudidentity:v1/cloudidentity.groups.memberships.getMembershipGraph": get_group_membership_membership_graph +"/cloudidentity:v1/cloudidentity.groups.memberships.getMembershipGraph/parent": parent +"/cloudidentity:v1/cloudidentity.groups.memberships.getMembershipGraph/query": query "/cloudidentity:v1/cloudidentity.groups.memberships.list": list_group_memberships "/cloudidentity:v1/cloudidentity.groups.memberships.list/pageSize": page_size "/cloudidentity:v1/cloudidentity.groups.memberships.list/pageToken": page_token @@ -23714,6 +23757,15 @@ "/cloudidentity:v1/cloudidentity.groups.memberships.lookup/parent": parent "/cloudidentity:v1/cloudidentity.groups.memberships.modifyMembershipRoles": modify_membership_roles "/cloudidentity:v1/cloudidentity.groups.memberships.modifyMembershipRoles/name": name +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveGroups": search_group_membership_transitive_groups +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveGroups/pageSize": page_size +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveGroups/pageToken": page_token +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveGroups/parent": parent +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveGroups/query": query +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveMemberships": search_group_membership_transitive_memberships +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveMemberships/pageSize": page_size +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveMemberships/pageToken": page_token +"/cloudidentity:v1/cloudidentity.groups.memberships.searchTransitiveMemberships/parent": parent "/cloudidentity:v1/cloudidentity.groups.patch": patch_group "/cloudidentity:v1/cloudidentity.groups.patch/name": name "/cloudidentity:v1/cloudidentity.groups.patch/updateMask": update_mask diff --git a/generated/google/apis/cloudidentity_v1.rb b/generated/google/apis/cloudidentity_v1.rb index e93ddc0ad..b83ddcdb5 100644 --- a/generated/google/apis/cloudidentity_v1.rb +++ b/generated/google/apis/cloudidentity_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/identity/ module CloudidentityV1 VERSION = 'V1' - REVISION = '20201117' + REVISION = '20201208' # See your device details AUTH_CLOUD_IDENTITY_DEVICES_LOOKUP = 'https://www.googleapis.com/auth/cloud-identity.devices.lookup' diff --git a/generated/google/apis/cloudidentity_v1/classes.rb b/generated/google/apis/cloudidentity_v1/classes.rb index 6f70d3e76..f6d02d417 100644 --- a/generated/google/apis/cloudidentity_v1/classes.rb +++ b/generated/google/apis/cloudidentity_v1/classes.rb @@ -22,6 +22,29 @@ module Google module Apis module CloudidentityV1 + # The response message for MembershipsService.CheckTransitiveMembership. + class CheckTransitiveMembershipResponse + include Google::Apis::Core::Hashable + + # Response does not include the possible roles of a member since the behavior of + # this rpc is not all-or-nothing unlike the other rpcs. So, it may not be + # possible to list all the roles definitively, due to possible lack of + # authorization in some of the paths. + # Corresponds to the JSON property `hasMembership` + # @return [Boolean] + attr_accessor :has_membership + alias_method :has_membership?, :has_membership + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @has_membership = args[:has_membership] if args.key?(:has_membership) + end + end + # 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, @@ -57,6 +80,33 @@ module Google end end + # The response message for MembershipsService.GetMembershipGraph. + class GetMembershipGraphResponse + include Google::Apis::Core::Hashable + + # The membership graph's path information represented as an adjacency list. + # Corresponds to the JSON property `adjacencyList` + # @return [Array] + attr_accessor :adjacency_list + + # The resources representing each group in the adjacency list. Each group in + # this list can be correlated to a 'group' of the MembershipAdjacencyList using + # the 'name' of the Group resource. + # Corresponds to the JSON property `groups` + # @return [Array] + attr_accessor :groups + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @adjacency_list = args[:adjacency_list] if args.key?(:adjacency_list) + @groups = args[:groups] if args.key?(:groups) + end + end + # Resource representing the Android specific attributes of a Device. class GoogleAppsCloudidentityDevicesV1AndroidAttributes include Google::Apis::Core::Hashable @@ -960,6 +1010,58 @@ module Google end end + # Message representing a transitive group of a user or a group. + class GroupRelation + include Google::Apis::Core::Hashable + + # Display name for this group. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Resource name for this group. + # Corresponds to the JSON property `group` + # @return [String] + attr_accessor :group + + # 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::CloudidentityV1::EntityKey] + attr_accessor :group_key + + # Labels for Group resource. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The relation between the member and the transitive group. + # Corresponds to the JSON property `relationType` + # @return [String] + attr_accessor :relation_type + + # Membership roles of the member for the group. + # Corresponds to the JSON property `roles` + # @return [Array] + attr_accessor :roles + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_name = args[:display_name] if args.key?(:display_name) + @group = args[:group] if args.key?(:group) + @group_key = args[:group_key] if args.key?(:group_key) + @labels = args[:labels] if args.key?(:labels) + @relation_type = args[:relation_type] if args.key?(:relation_type) + @roles = args[:roles] if args.key?(:roles) + end + end + # Response message for ListGroups operation. class ListGroupsResponse include Google::Apis::Core::Hashable @@ -1053,6 +1155,44 @@ module Google end end + # Message representing a transitive membership of a group. + class MemberRelation + include Google::Apis::Core::Hashable + + # Resource name for this member if member is a GROUP, otherwise it is empty. + # Corresponds to the JSON property `member` + # @return [String] + attr_accessor :member + + # Entity key has an id and a namespace. In case of discussion forums, the id + # will be an email address without a namespace. + # Corresponds to the JSON property `preferredMemberKey` + # @return [Array] + attr_accessor :preferred_member_key + + # The relation between the group and the transitive member. + # Corresponds to the JSON property `relationType` + # @return [String] + attr_accessor :relation_type + + # The membership role details (i.e name of role and expiry time). + # Corresponds to the JSON property `roles` + # @return [Array] + attr_accessor :roles + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @member = args[:member] if args.key?(:member) + @preferred_member_key = args[:preferred_member_key] if args.key?(:preferred_member_key) + @relation_type = args[:relation_type] if args.key?(:relation_type) + @roles = args[:roles] if args.key?(:roles) + end + end + # 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". @@ -1111,6 +1251,34 @@ module Google end end + # Membership graph's path information as an adjacency list. + class MembershipAdjacencyList + include Google::Apis::Core::Hashable + + # Each edge contains information about the member that belongs to this group. + # Note: Fields returned here will help identify the specific Membership resource + # (e.g name, preferred_member_key and role), but may not be a comprehensive list + # of all fields. + # Corresponds to the JSON property `edges` + # @return [Array] + attr_accessor :edges + + # Resource name of the group that the members belong to. + # Corresponds to the JSON property `group` + # @return [String] + attr_accessor :group + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @edges = args[:edges] if args.key?(:edges) + @group = args[:group] if args.key?(:group) + end + end + # A membership role within the Cloud Identity Groups API. A `MembershipRole` # defines the privileges granted to a `Membership`. class MembershipRole @@ -1271,6 +1439,58 @@ module Google end end + # The response message for MembershipsService.SearchTransitiveGroups. + class SearchTransitiveGroupsResponse + include Google::Apis::Core::Hashable + + # List of transitive groups satisfying the query. + # Corresponds to the JSON property `memberships` + # @return [Array] + attr_accessor :memberships + + # Token to retrieve the next page of results, or empty if there are no more + # results available for listing. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @memberships = args[:memberships] if args.key?(:memberships) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # The response message for MembershipsService.SearchTransitiveMemberships. + class SearchTransitiveMembershipsResponse + include Google::Apis::Core::Hashable + + # List of transitive members satisfying the query. + # Corresponds to the JSON property `memberships` + # @return [Array] + attr_accessor :memberships + + # Token to retrieve the next page of results, or empty if there are no more + # results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @memberships = args[:memberships] if args.key?(:memberships) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + # The `Status` type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by [ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of @@ -1309,6 +1529,26 @@ module Google @message = args[:message] if args.key?(:message) end end + + # Message representing the role of a TransitiveMembership. + class TransitiveMembershipRole + include Google::Apis::Core::Hashable + + # TransitiveMembershipRole in string format. Currently supported + # TransitiveMembershipRoles: `"MEMBER"`, `"OWNER"`, and `"MANAGER"`. + # Corresponds to the JSON property `role` + # @return [String] + attr_accessor :role + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @role = args[:role] if args.key?(:role) + end + end end end end diff --git a/generated/google/apis/cloudidentity_v1/representations.rb b/generated/google/apis/cloudidentity_v1/representations.rb index a7cb854c1..79c9bb3be 100644 --- a/generated/google/apis/cloudidentity_v1/representations.rb +++ b/generated/google/apis/cloudidentity_v1/representations.rb @@ -22,12 +22,24 @@ module Google module Apis module CloudidentityV1 + class CheckTransitiveMembershipResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class EntityKey class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class GetMembershipGraphResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class GoogleAppsCloudidentityDevicesV1AndroidAttributes class Representation < Google::Apis::Core::JsonRepresentation; end @@ -160,6 +172,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class GroupRelation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ListGroupsResponse class Representation < Google::Apis::Core::JsonRepresentation; end @@ -184,12 +202,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class MemberRelation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Membership class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class MembershipAdjacencyList + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class MembershipRole class Representation < Google::Apis::Core::JsonRepresentation; end @@ -220,12 +250,37 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class SearchTransitiveGroupsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SearchTransitiveMembershipsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Status class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class TransitiveMembershipRole + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CheckTransitiveMembershipResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :has_membership, as: 'hasMembership' + end + end + class EntityKey # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -234,6 +289,16 @@ module Google end end + class GetMembershipGraphResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :adjacency_list, as: 'adjacencyList', class: Google::Apis::CloudidentityV1::MembershipAdjacencyList, decorator: Google::Apis::CloudidentityV1::MembershipAdjacencyList::Representation + + collection :groups, as: 'groups', class: Google::Apis::CloudidentityV1::Group, decorator: Google::Apis::CloudidentityV1::Group::Representation + + end + end + class GoogleAppsCloudidentityDevicesV1AndroidAttributes # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -464,6 +529,20 @@ module Google end end + class GroupRelation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_name, as: 'displayName' + property :group, as: 'group' + property :group_key, as: 'groupKey', class: Google::Apis::CloudidentityV1::EntityKey, decorator: Google::Apis::CloudidentityV1::EntityKey::Representation + + hash :labels, as: 'labels' + property :relation_type, as: 'relationType' + collection :roles, as: 'roles', class: Google::Apis::CloudidentityV1::TransitiveMembershipRole, decorator: Google::Apis::CloudidentityV1::TransitiveMembershipRole::Representation + + end + end + class ListGroupsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -496,6 +575,18 @@ module Google end end + class MemberRelation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :member, as: 'member' + collection :preferred_member_key, as: 'preferredMemberKey', class: Google::Apis::CloudidentityV1::EntityKey, decorator: Google::Apis::CloudidentityV1::EntityKey::Representation + + property :relation_type, as: 'relationType' + collection :roles, as: 'roles', class: Google::Apis::CloudidentityV1::TransitiveMembershipRole, decorator: Google::Apis::CloudidentityV1::TransitiveMembershipRole::Representation + + end + end + class Membership # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -510,6 +601,15 @@ module Google end end + class MembershipAdjacencyList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :edges, as: 'edges', class: Google::Apis::CloudidentityV1::Membership, decorator: Google::Apis::CloudidentityV1::Membership::Representation + + property :group, as: 'group' + end + end + class MembershipRole # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -555,6 +655,24 @@ module Google end end + class SearchTransitiveGroupsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :memberships, as: 'memberships', class: Google::Apis::CloudidentityV1::GroupRelation, decorator: Google::Apis::CloudidentityV1::GroupRelation::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class SearchTransitiveMembershipsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :memberships, as: 'memberships', class: Google::Apis::CloudidentityV1::MemberRelation, decorator: Google::Apis::CloudidentityV1::MemberRelation::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + class Status # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -563,6 +681,13 @@ module Google property :message, as: 'message' end end + + class TransitiveMembershipRole + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :role, as: 'role' + end + end end end end diff --git a/generated/google/apis/cloudidentity_v1/service.rb b/generated/google/apis/cloudidentity_v1/service.rb index d947d0beb..18d1f2719 100644 --- a/generated/google/apis/cloudidentity_v1/service.rb +++ b/generated/google/apis/cloudidentity_v1/service.rb @@ -87,7 +87,10 @@ module Google execute_or_queue_command(command, &block) end - # Creates a device. Only company-owned device may be created. + # Creates a device. Only company-owned device may be created. **Note**: This + # method is available only to customers who have one of the following SKUs: + # Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud + # Identity Premium # @param [Google::Apis::CloudidentityV1::GoogleAppsCloudidentityDevicesV1Device] google_apps_cloudidentity_devices_v1_device_object # @param [String] customer # Required. [Resource name](https://cloud.google.com/apis/design/resource_names) @@ -757,7 +760,10 @@ module Google execute_or_queue_command(command, &block) end - # Updates the client state for the device user + # Updates the client state for the device user **Note**: This method is + # available only to customers who have one of the following SKUs: Enterprise + # Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity + # Premium # @param [String] name # Output only. [Resource name](https://cloud.google.com/apis/design/ # resource_names) of the ClientState in format: `devices/`device_id`/deviceUsers/ @@ -1084,6 +1090,53 @@ module Google execute_or_queue_command(command, &block) end + # Check a potential member for membership in a group. **Note:** This feature is + # only available to Google Workspace Enterprise Standard, Enterprise Plus, and + # Enterprise for Education; and Cloud Identity Premium accounts. If the account + # of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code + # will be returned. A member has membership to a group as long as there is a + # single viewable transitive membership between the group and the member. The + # actor must have view permissions to at least one transitive membership between + # the member and group. + # @param [String] parent + # [Resource name](https://cloud.google.com/apis/design/resource_names) of the + # group to check the transitive membership in. Format: `groups/`group_id``, + # where `group_id` is the unique id assigned to the Group to which the + # Membership belongs to. + # @param [String] query + # Required. A CEL expression that MUST include member specification. This is a ` + # required` field. Certain groups are uniquely identified by both a ' + # member_key_id' and a 'member_key_namespace', which requires an additional + # query input: 'member_key_namespace'. Example query: `member_key_id == ' + # member_key_id_value'` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::CloudidentityV1::CheckTransitiveMembershipResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::CloudidentityV1::CheckTransitiveMembershipResponse] + # + # @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 check_group_membership_transitive_membership(parent, query: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/memberships:checkTransitiveMembership', options) + command.response_representation = Google::Apis::CloudidentityV1::CheckTransitiveMembershipResponse::Representation + command.response_class = Google::Apis::CloudidentityV1::CheckTransitiveMembershipResponse + command.params['parent'] = parent unless parent.nil? + command.query['query'] = query unless query.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + # Creates a `Membership`. # @param [String] parent # Required. The parent `Group` resource under which to create the `Membership`. @@ -1182,6 +1235,57 @@ module Google execute_or_queue_command(command, &block) end + # Get a membership graph of just a member or both a member and a group. **Note:** + # This feature is only available to Google Workspace Enterprise Standard, + # Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium + # accounts. If the account of the member is not one of these, a 403 ( + # PERMISSION_DENIED) HTTP status code will be returned. Given a member, the + # response will contain all membership paths from the member. Given both a group + # and a member, the response will contain all membership paths between the group + # and the member. + # @param [String] parent + # Required. [Resource name](https://cloud.google.com/apis/design/resource_names) + # of the group to search transitive memberships in. Format: `groups/`group_id``, + # where `group_id` is the unique ID assigned to the Group to which the + # Membership belongs to. group_id can be a wildcard collection id "-". When a + # group_id is specified, the membership graph will be constrained to paths + # between the member (defined in the query) and the parent. If a wildcard + # collection is provided, all membership paths connected to the member will be + # returned. + # @param [String] query + # Required. A CEL expression that MUST include member specification AND label(s). + # Certain groups are uniquely identified by both a 'member_key_id' and a ' + # member_key_namespace', which requires an additional query input: ' + # member_key_namespace'. Example query: `member_key_id == 'member_key_id_value' & + # & in labels` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::CloudidentityV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::CloudidentityV1::Operation] + # + # @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_group_membership_membership_graph(parent, query: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/memberships:getMembershipGraph', options) + command.response_representation = Google::Apis::CloudidentityV1::Operation::Representation + command.response_class = Google::Apis::CloudidentityV1::Operation + command.params['parent'] = parent unless parent.nil? + command.query['query'] = query unless query.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + # Lists the `Membership`s within a `Group`. # @param [String] parent # Required. The parent `Group` resource under which to lookup the `Membership` @@ -1306,6 +1410,102 @@ module Google command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end + + # Search transitive groups of a member. **Note:** This feature is only available + # to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for + # Education; and Cloud Identity Premium accounts. If the account of the member + # is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be + # returned. A transitive group is any group that has a direct or indirect + # membership to the member. Actor must have view permissions all transitive + # groups. + # @param [String] parent + # [Resource name](https://cloud.google.com/apis/design/resource_names) of the + # group to search transitive memberships in. Format: `groups/`group_id``, where ` + # group_id` is always '-' as this API will search across all groups for a given + # member. + # @param [Fixnum] page_size + # The default page size is 200 (max 1000). + # @param [String] page_token + # The next_page_token value returned from a previous list request, if any. + # @param [String] query + # Required. A CEL expression that MUST include member specification AND label(s). + # This is a `required` field. Users can search on label attributes of groups. + # CONTAINS match ('in') is supported on labels. Certain groups are uniquely + # identified by both a 'member_key_id' and a 'member_key_namespace', which + # requires an additional query input: 'member_key_namespace'. Example query: ` + # member_key_id == 'member_key_id_value' && in labels` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::CloudidentityV1::SearchTransitiveGroupsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::CloudidentityV1::SearchTransitiveGroupsResponse] + # + # @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 search_group_membership_transitive_groups(parent, page_size: nil, page_token: nil, query: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/memberships:searchTransitiveGroups', options) + command.response_representation = Google::Apis::CloudidentityV1::SearchTransitiveGroupsResponse::Representation + command.response_class = Google::Apis::CloudidentityV1::SearchTransitiveGroupsResponse + command.params['parent'] = parent unless parent.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['query'] = query unless query.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Search transitive memberships of a group. **Note:** This feature is only + # available to Google Workspace Enterprise Standard, Enterprise Plus, and + # Enterprise for Education; and Cloud Identity Premium accounts. If the account + # of the group is not one of these, a 403 (PERMISSION_DENIED) HTTP status code + # will be returned. A transitive membership is any direct or indirect membership + # of a group. Actor must have view permissions to all transitive memberships. + # @param [String] parent + # [Resource name](https://cloud.google.com/apis/design/resource_names) of the + # group to search transitive memberships in. Format: `groups/`group_id``, where ` + # group_id` is the unique ID assigned to the Group. + # @param [Fixnum] page_size + # The default page size is 200 (max 1000). + # @param [String] page_token + # The next_page_token value returned from a previous list request, if any. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::CloudidentityV1::SearchTransitiveMembershipsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::CloudidentityV1::SearchTransitiveMembershipsResponse] + # + # @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 search_group_membership_transitive_memberships(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/memberships:searchTransitiveMemberships', options) + command.response_representation = Google::Apis::CloudidentityV1::SearchTransitiveMembershipsResponse::Representation + command.response_class = Google::Apis::CloudidentityV1::SearchTransitiveMembershipsResponse + command.params['parent'] = parent unless parent.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end protected diff --git a/generated/google/apis/cloudidentity_v1/synth.metadata b/generated/google/apis/cloudidentity_v1/synth.metadata index 672348888..05b42c93d 100644 --- a/generated/google/apis/cloudidentity_v1/synth.metadata +++ b/generated/google/apis/cloudidentity_v1/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/google-api-ruby-client.git", - "sha": "38c28923af3813a16e99cc039066af42d71fab48" + "sha": "800e822b5eb5ee610179aa0f8646db4870e635f8" } } ]