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:

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 dele. A instância do grupo precisa conter o dynamicGroupMetadata com a consulta usada para preencher o grupo. A amostra a seguir mostra como atualizar um grupo dinâmico que contém todos os usuários em Engenharia para um grupo que contém todos os usuários dos departamentos 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.