Cómo crear y actualizar un grupo dinámico

En esta página, se explica cómo crear y actualizar un grupo dinámico.

Antes de comenzar

Realiza las siguientes tareas antes de continuar con la información de esta página:

Crear un grupo dinámico

El siguiente es un ejemplo de cómo crear un grupo dinámico:

REST

Para crear un grupo dinámico, llama a groups.create() con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata con la consulta que se usó para propagar el grupo.

Python

Para crear un grupo dinámico, llama al método service.groups().create con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata con la consulta que se usó para propagar el grupo. En el siguiente ejemplo, se muestra cómo crear un grupo dinámico que contenga todos los usuarios existentes en el departamento de Ingeniería:

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

Cómo actualizar un grupo dinámico

El siguiente es un ejemplo de la actualización de un grupo dinámico:

REST

Para actualizar un grupo dinámico, llama a groups.patch() con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata con la consulta nueva que se usó para propagar el grupo.

Python

Para actualizar un grupo dinámico, llama al método service.groups().patch con el nombre del grupo que quieres actualizar y una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata con la consulta que se usó para propagar el grupo. En el siguiente ejemplo, se muestra cómo actualizar un grupo dinámico que contenga todos los usuarios de un motor que contenga a todos los usuarios de los departamentos de Ingeniería o Finanzas:

# 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

¿Qué sigue?

Una vez que exista el grupo dinámico, podrás recuperarlo y enumerar sus membresías. Para obtener más información, consulta Recupera un grupo dinámico y enumera miembros.