Como criar e atualizar um grupo dinâmico
Esta página explica como criar e atualizar um grupo dinâmico.
Antes de começar
Execute as seguintes tarefas antes de continuar com as informações desta página:
Leia a visão geral da API Groups.
Leia a visão geral dos grupos dinâmicos.
(Opcional) Formule e teste uma consulta de assinatura.
Como criar um grupo dinâmico
Veja a seguir um exemplo de criação de um grupo dinâmico:
REST
Para criar um grupo dinâmico, chame
groups.create()
com uma instância do grupo. A instância do grupo precisa conter o
dynamicGroupMetadata
com a consulta usada para preencher o grupo.
Python
Para criar um grupo dinâmico, chame o método service.groups().create
com
uma instância do grupo. A instância do grupo precisa conter o
dynamicGroupMetadata
com a consulta usada para preencher o grupo. O
exemplo a seguir mostra como criar um grupo dinâmico que contém todos os usuários
existentes no departamento de engenharia:
def create_dynamic_group(customer_id, email, query):
service = build_service()
groupDef = {
"parent": "customerId/{}".format(customer_id),
"groupKey": {"id": email},
"labels": {"cloudidentity.googleapis.com/groups.discussion_forum": ""},
"dynamicGroupMetadata": {
"queries": [
{
"resourceType": "USER",
"query": "user.organizations.exists(org, org.department=='engineering')"
}
]
}
}
request = service.groups().create(body=groupDef)
request.uri += "&initialGroupConfig=EMPTY"
response = request.execute()
return response
Como atualizar um grupo dinâmico
Veja a seguir um exemplo de atualização de um grupo dinâmico:
REST
Para atualizar um grupo dinâmico, chame groups.patch()
com uma instância do grupo. A instância do grupo precisa conter o
dynamicGroupMetadata
com a nova consulta usada para preencher o grupo.
Python
Para atualizar um grupo dinâmico, chame o método service.groups().patch
com
o nome do grupo a ser atualizado e uma instância do grupo. A instância
do grupo precisa conter o
dynamicGroupMetadata
com a consulta usada para preencher o grupo. O
exemplo a seguir mostra como atualizar um grupo dinâmico que contém todos os usuários no
Engenharia para um grupo que contém todos os usuários nos departamentos de engenharia
ou finanças:
# name (i.e. groups/01234abcdeef) uniquely identifies the group
def update_dynamic_group(name, query):
service = build_service()
groupDef = {
"dynamicGroupMetadata": {
"queries": [
{
"resourceType": "USER",
"query": "user.organizations.exists(org, org.department=='engineering' || org.department=='finance')"
}
]
}
}
request = service.groups().patch(name=name, body=groupDef)
request.uri += "&updateMask=dynamicGroupMetadata"
response = request.execute()
return response
A seguir
Depois que o grupo dinâmico existir, será possível recuperá-lo e listar as assinaturas. Para mais informações, consulte Como recuperar um grupo dinâmico e listar membros.