File: //snap/google-cloud-cli/current/lib/surface/identity/groups/update.yaml
# Copyright 2020 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- release_tracks: [ALPHA, BETA, GA]
help_text:
brief: Update a group.
description: Update a group.
GA:
examples: |
To update a group:
$ {command} eng-discuss@foo.com \
--display-name="New Engineer Discuss" \
--description="Group for engineering discussions"
BETA:
examples: |
To update a group:
$ {command} eng-discuss@foo.com \
--display-name="New Engineer Discuss" \
--description="Group for engineering discussions"
To remove POSIX information from a Google Group:
$ {command} eng-discuss@foo.com \
--remove-posix-groups=eng
ALPHA:
examples: |
To update a group:
$ {command} eng-discuss@foo.com \
--display-name="New Engineer Discuss" \
--description="Group for engineering discussions"
To remove POSIX information from a Google Group:
$ {command} eng-discuss@foo.com \
--remove-posix-groups=eng
arguments:
params:
- arg_name: email
is_positional: true
required: true
help_text: |
The email address of the group to be updated.
- group:
mutex: true
params:
- arg_name: display-name
api_field: group.displayName
help_text: |
Replace existing display name on group being updated.
- arg_name: clear-display-name
type: bool
help_text: |
Clear existing display name on group being updated.
- group:
mutex: true
params:
- arg_name: description
api_field: group.description
help_text: Replace existing description on group being updated.
- arg_name: clear-description
type: bool
help_text: Clear existing description on group being updated.
- group:
release_tracks: [ALPHA, BETA]
mutex: true
params:
- arg_name: add-posix-group
api_field: group.posixGroups
hidden: true
type:
arg_dict:
flatten: false
spec:
- api_field: gid
arg_name: gid
type: int
- api_field: name
arg_name: name
type: str
help_text: |
Group id (gid) and a name for a POSIX group that you want to add
to the specified Cloud Identity group. You can specify multiple
POSIX groups to add with multiple instances of this flag.
For example, use '--add-posix-group=gid=1005,name=eng'
to add a single group, or '--add-posix-group=gid=1005,name=eng
--add-posix-group=gid=1006,name=docs' to add multiple groups.
Caution: POSIX groups are deprecated. As of September 26, 2024, you
can no longer create new POSIX groups. For more information, see
[POSIX groups
deprecation](https://cloud.google.com/identity/docs/deprecations/posix-groups).
- arg_name: remove-posix-groups
type: "googlecloudsdk.calliope.arg_parsers:ArgList:"
metavar: POSIX_GROUP
help_text: |
Remove POSIX groups from the specified Cloud Identity group.
You can specify multiple POSIX groups by either name or gid by
using a comma-separated list.
For example, use '--remove-posix-groups=1005,1006' to remove POSIX
groups with group ids '1005' and '1006', or use
'--remove-posix-groups=eng,docs' to remove POSIX groups named 'eng'
and 'docs'.
- arg_name: clear-posix-groups
type: bool
help_text: |
Clear all POSIX groups from the specified Cloud Identity
group.
- arg_name: labels
release_tracks: [BETA, GA]
ALPHA:
hidden: true
type: str
help_text: |
One or more label entries that apply to the group. Currently supported labels contain a key
with an empty value.
Google Groups are the default type of group and have a label with a key of
'cloudidentity.googleapis.com/groups.discussion_forum' and an empty value.
Existing Google Groups can have an additional label with a key of
'cloudidentity.googleapis.com/groups.security' and an empty value added to them.
*This is an immutable change and the security label cannot be removed once added.*
Dynamic groups have a label with a key of 'cloudidentity.googleapis.com/groups.dynamic'.
Identity-mapped groups for Cloud Search have a label with a key of 'system/groups/external'
and an empty value.
Examples: {"cloudidentity.googleapis.com/groups.discussion_forum": ""} or
{"system/groups/external": ""}.
- arg_name: dynamic-user-query
type: str
help_text: |
Query that determines the memberships of the dynamic group.
Example of a query:
`--dynamic-user-query="user.organizations.exists(org,org.title=='SWE')"`
request:
collection: cloudidentity.groups
disable_resource_check: true
method: patch
ALPHA:
api_version: v1alpha1
modify_request_hooks:
- googlecloudsdk.command_lib.identity.groups.hooks:SetResourceName
- googlecloudsdk.command_lib.identity.groups.hooks:SetGroupUpdateMask
- googlecloudsdk.command_lib.identity.groups.hooks:UpdatePosixGroups
- googlecloudsdk.command_lib.identity.groups.hooks:SetDynamicUserQuery
BETA:
api_version: v1beta1
modify_request_hooks:
- googlecloudsdk.command_lib.identity.groups.hooks:SetResourceName
- googlecloudsdk.command_lib.identity.groups.hooks:SetGroupUpdateMask
- googlecloudsdk.command_lib.identity.groups.hooks:SetLabels
- googlecloudsdk.command_lib.identity.groups.hooks:UpdatePosixGroups
- googlecloudsdk.command_lib.identity.groups.hooks:SetDynamicUserQuery
GA:
api_version: v1
modify_request_hooks:
- googlecloudsdk.command_lib.identity.groups.hooks:SetResourceName
- googlecloudsdk.command_lib.identity.groups.hooks:SetGroupUpdateMask
- googlecloudsdk.command_lib.identity.groups.hooks:SetLabels
- googlecloudsdk.command_lib.identity.groups.hooks:SetDynamicUserQuery
response:
result_attribute: response