Paso 4: Crear una organización

Ya creaste una cuenta y un proyecto de Google Cloud y habilitaste las API. Ahora puedes crear tu organización.

Requisitos

Para crear una organización, debes cumplir con una de las siguientes condiciones:

  • Tener una cuenta de evaluación. Las cuentas de evaluación vencen después de 60 días. En ese momento, se borrará la organización.
  • Tener una cuenta paga

Si ninguna de estas afirmaciones es verdadera, debes comunicarte con el equipo de ventas de Apigee para poder continuar.

Para crear una organización nueva y aprovisionarla, haz lo siguiente:

  1. En la línea de comandos, obtén tus credenciales de autenticación de gcloud, como se muestra en el siguiente ejemplo:

    TOKEN=$(gcloud auth print-access-token)

    Para verificar que tu token se haya propagado, usa echo, como se muestra en el siguiente ejemplo:

    echo $TOKEN

    Se debería mostrar tu token como una string codificada.

    Para obtener más información, consulta la descripción general de la herramienta de línea de comandos de gcloud.

  2. Envía una solicitud POST autenticada a Crea una API de la organización.

    En el siguiente ejemplo, se muestra la estructura de la solicitud que crea una organización:

    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
      -d '{
        "name":"org_name",
        "displayName":"display_name",
        "description":"organization_description",
        "runtimeType":"runtime_type",
        "analyticsRegion":"analytics_region"
      }' \
      "https://apigee.googleapis.com/v1/organizations?parent=projects/project_ID"

    Estos son los parámetros:

    • (Obligatorio) org_name es el ID programático que deseas para tu organización habilitada para entornos híbridos. El ID de la organización debe coincidir con el ID del proyecto de Google Cloud que creaste en el Paso 2: Crea un proyecto de Google Cloud. Por ejemplo, hybrid-42.
    • (Obligatorio) runtime_type es el tipo de entorno de ejecución de la organización de Apigee, en la que HÍBRIDO es el entorno de ejecución de Apigee Hybrid administrado por el usuario.
    • (Obligatorio) analytics_region es la región principal para el almacenamiento de los datos de estadísticas. Elige una de las siguientes opciones:
      asia-northeast1 australia-southeast1 us-west1
      us-central1 us-east1 europe-west1
      europe-west2

      Proporcionamos esta opción para que puedas elegir una región que esté geográficamente cerca o en caso de que tu organización tenga otros requisitos de almacenamiento.

    • (Obligatorio) project_ID es el proyecto de Google Cloud que deseas vincular a tu nueva organización con entornos híbridos habilitados. Este es el ID que Google generó para ti en el Paso 2: Crea un proyecto de Google Cloud.
    • (Opcional) display_name es el nombre descriptivo de tu organización. No es necesario que este valor sea único y puede incluir espacios y caracteres especiales. Por ejemplo, “Mi organización híbrida”.
    • (Opcional) organization_description es información acerca de la organización que deseas usar como recordatorio de este propósito. Por ejemplo, “Mi primera organización”.

    En una solicitud de creación exitosa, la API de organizaciones debe responder con un mensaje similar al siguiente:

    {
      "name": "organizations/organization_ID/operations/long_running_operation_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/organization_ID",
        "state": "IN_PROGRESS"
      }
    }

    Estos son los parámetros:

    • long_running_operation_ID es el UUID de una operación de larga duración asíncrona. Puedes usar este ID para verificar el estado de la solicitud de creación de la organización (que se describe más adelante).
    • organization_ID es el ID de la organización nueva que se está creando actualmente.

    Como lo indica la propiedad state en la respuesta, Apigee comenzó a crear la organización nueva, por lo que su estado es IN_PROGRESS. Este proceso puede tardar varios minutos.

    Si recibes un error, consulta Solucionar los problemas de la creación de organizaciones.

  3. Puedes verificar el estado de la operación de larga duración cuyo ID mostró Apigee en la solicitud de creación inicial. Para ello, usa la API de operaciones, como se muestra en el siguiente ejemplo:
    curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/organization_ID/operations/long_running_operation_ID"

    En los siguientes ejemplos, se muestran posibles respuestas a esta solicitud:

    FINISHED

    Cuando se haya aprovisionado la organización, el estado de la operación de larga duración será FINISHED, como se muestra en el siguiente ejemplo:

    {
        "operations": [
          {
            "name": "organizations/organization_ID/operations/long_running_operation_ID",
            "metadata": {
              "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
              "operationType": "INSERT",
              "targetResourceName": "organizations/organization_ID",
              "state": "FINISHED"
            },
            "done": true,
            "response": {
              "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization",
              "name": "organization_ID",
              "createdAt": "1572550611",
              "lastModifiedAt": "1572550611",
              "displayName": "display_name"
              "description": "description"
              "properties": {
                "property": [
                  {
                    "name": "features.hybrid.enabled",
                    "value": "true"
                  }
                ]
              },
              "analyticsRegion": "us-east1"
              "runtimeType": "HYBRID",
            }
          }
        ]
      }

    Si no ingresaste una descripción, ese campo no aparecerá en la respuesta.

    ¡Felicitaciones! Creaste una organización nueva y está lista para que la uses. Puedes continuar con el Paso 5: Agrega un entorno.

    IN_PROGRESS

    Si Apigee aún está creando la organización, Apigee responde con un estado de IN_PROGRESS, como se muestra en el siguiente ejemplo:

    {
        "name": "organizations/organization_ID/operations/long_running_operation_ID",
        "metadata": {
          "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
          "operationType": "INSERT",
          "targetResourceName": "organizations/organization_ID",
          "state": "IN_PROGRESS"
        }
      }

    Debes esperar un poco más de tiempo antes de intentar verificar que se haya completado el proceso de creación.

Soluciona los problemas de la creación de organizaciones

Cuando creas una organización con la API de creación de organizaciones, es posible que recibas una respuesta de error. Las respuestas se ven de la siguiente manera:

{
  "error": {
    "code": HTTP_error_code,
    "message": "short_error_message",
    "status": "high_level_error_type",
    "details": [
      {
        "@type": "specific_error_type",
        "detail": "expanded_error_description"
      }
    ]
  }
}

En el siguiente ejemplo, se muestra una respuesta a un error común: el ID de la organización contiene caracteres no permitidos (los caracteres en mayúsculas no están permitidos en los ID de la organización):

{
  "error": {
    "code": 400,
    "message": "invalid Organization ID \"MY-ORG\": \"MY-ORG\" is an invalid Organization ID",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.DebugInfo",
        "detail": "[ORIGINAL ERROR] generic::invalid_argument: invalid Organization ID \"MY-ORG\":
          \"My-ORG\" is an invalid Organization ID [google.rpc.error_details_ext]
          { message: \"invalid Organization ID \\\"MY-ORG\\\": \\\"MY-ORG\\\" is an invalid
          Organization ID\" }"
      }
    ]
  }
}

En este caso, puedes cambiar el nombre de la organización con letras en minúscula y reenviar la solicitud.

En la siguiente tabla, se enumeran los errores que puedes recibir y las posibles soluciones cuando intentas crear una organización nueva:

Código de error HTTP Error HTTP Descripción
400 Invalid JSON payload received La estructura de los datos en tu solicitud contiene un error de sintaxis o la ruta de acceso al extremo es incorrecta.
400 Invalid organization ID El ID de la organización que solicitas no puede contener letras en mayúscula ni caracteres especiales que no sean guiones. Solo debe contener letras en minúscula, números o guiones. Puede tener hasta 32 caracteres de longitud.
400 Unsupported analytics region No especificaste el valor de analyticsRegion en el cuerpo de tu solicitud o el valor que especificaste no es una de las opciones válidas.
400 Does not have an Apigee entitlement El proyecto de Google Cloud (que creaste en el Paso 2: Crea un proyecto de Google Cloud) aún no está habilitado para un entorno híbrido. Esto podría indicar un problema con tu facturación o algún otro error relacionado con tu cuenta de Google Cloud. Para obtener más información, comunícate con Ventas de Apigee.
401 Request had invalid authentication credentials Tu token de autenticación de gcloud es incorrecto o está desactualizado, o no incluiste uno en la solicitud. Genera un token nuevo y vuelve a enviar la dirección.
403 Permission denied on resource project project_ID Es posible que hayas enviado una solicitud que contenía una ruta o un ID del proyecto incorrectos.
403 Unable to retrieve project information La organización aún no se creó ni aprovisionó. Puedes enviar una solicitud a la API de operaciones para verificar el estado de la operación de larga duración, como se describe en el procedimiento anterior.
409 Organization already exists Intentaste crear más de una organización para el proyecto de Google Cloud. Solo se puede crear una organización por proyecto.
409 Org proposed_organization_ID already exists Intentaste crear una organización que tiene el mismo ID que una que ya existe. Los ID de las organizaciones deben ser únicos para todos los clientes híbridos. Vuelve a enviarla con un nuevo ID de organización propuesto. Por ejemplo, agrega un valor numérico al final del ID que intentaste antes.

Obtén información sobre la organización

Puedes obtener una lista de todas las organizaciones a las que tu cuenta tiene acceso, o puedes obtener detalles sobre una organización específica a través de su ID. Para realizar estas acciones, debes usar la API de organizaciones.

Enumera organizaciones

Para obtener una lista de todas las organizaciones, haz lo siguiente:

Envía una solicitud GET (sin cuerpo) al siguiente extremo de la API de enumeración de organizaciones:

https://apigee.googleapis.com/v1/organizations

Por ejemplo:

curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations"

La respuesta a tu solicitud contiene un arreglo de todas las organizaciones habilitadas para la nube híbrida a las que tienes acceso, en formato JSON.

En el siguiente ejemplo, se muestra una respuesta con una sola organización, “my-org-42”:

{
  "organizations": [
    {
      "organization": "my-org-42",
      "projectIds": [
        "my-project"
      ]
    }
  ]
}

Obtén información detallada

Para obtener detalles sobre una sola organización, haz lo siguiente:

Envía una solicitud GET (sin cuerpo) al siguiente extremo de la API de obtención de organizaciones:

https://apigee.googleapis.com/v1/organizations/organization_ID

En el siguiente ejemplo, se obtienen detalles sobre la organización “my-org-42”:

curl -H "Authorization: Bearer $TOKEN"
  "https://apigee.googleapis.com/v1/organizations/my-org-42"

La respuesta a tu solicitud contiene detalles sobre la organización especificada en formato JSON.

En el siguiente ejemplo, se muestra una respuesta con detalles sobre la organización “my-org-42”:

{
  "name": "my-org-42",
  "createdAt": "1572550611",
  "lastModifiedAt": "1572550611",
  "environments": [
    "my-environment"
  ],
  "analyticsRegion": "us-east1"
}
1 2 3 4 (SIGUIENTE) Paso 5: Agrega un entorno