Gerenciar recursos de API com o Apigee Spaces

Confira a documentação da Apigee Edge.

Este tópico descreve como criar e gerenciar recursos de API em um Espaço. É possível criar proxies de API, fluxos compartilhados e produtos de API em um espaço. Os recursos criados no espaço herdam as mesmas permissões que ele.

Criar recursos em um espaço é o mesmo que criar recursos em uma organização da Apigee, mas é possível selecionar um espaço ao criar o recurso. Para a versão em GA particular, é possível criar recursos de API na linha de comando usando as APIs da Apigee ou a Apigee no console do Cloud.

Este guia descreve as etapas necessárias para:

Para uma visão geral do Apigee Spaces, consulte Apigee Spaces.

Para mais informações sobre os tipos de recursos da API Apigee, consulte:

Antes de começar

Antes de começar a criar recursos de API nos espaços da Apigee, conclua as seguintes tarefas:

Papéis e permissões necessárias

Com a introdução do Apigee Spaces, a maneira como o IAM verifica as permissões necessárias para realizar algumas operações em recursos de API mudou. Se o recurso da API existir em um Espaço, o IAM vai verificar as permissões apropriadas no nível do Espaço para o participante que realiza a operação. As permissões necessárias para essas operações em que os recursos da API estão em um Espaço estão descritas abaixo:

Operação Permissão necessária Escopo
Implantar um proxy de API
apigee.deployments.create
E
apigee.proxyrevisions.deploy
Ambiente
 
Proxy de API
Listar todas as implantações de um proxy de API apigee.proxies.get Proxy de API
Listar todas as implantações de uma revisão do proxy de API apigee.proxyrevisions.get Revisão do proxy de API
Listar todas as implantações de um proxy de API em um ambiente
apigee.deployments.list
OU
apigee.proxies.get
Ambiente
 
Proxy de API
Acessar a implantação de uma revisão do proxy de API
apigee.deployments.get
OU
apigee.proxyrevisions.get
Revisão do proxy de API
 
Ambiente
Excluir uma revisão do proxy de API apigee.deployments.delete Revisão do proxy de API E ambiente
Implante um fluxo compartilhado
apigee.deployments.create
E
apigee.sharedflows.deploy
Ambiente
 
Fluxo compartilhado
Listar todas as implantações de um fluxo compartilhado apigee.sharedflows.get Fluxo compartilhado
Listar todas as implantações de uma revisão de fluxo compartilhado apigee.sharedflowrevisions.get Revisão de fluxo compartilhado
Listar todas as implantações de um fluxo compartilhado em um ambiente
apigee.deployments.list
OU
apigee.sharedflows.get
Ambiente
 
Fluxo compartilhado
Acessar a implantação de uma revisão de fluxo compartilhado
apigee.deployments.get
OU
apigee.sharedflowrevisions.get
Revisão do proxy de API
 
Fluxo compartilhado
Excluir um fluxo compartilhado apigee.deployments.delete Fluxo compartilhado E ambiente
Criar uma sessão de depuração para uma revisão do proxy de API apigee.tracesessions.create Revisão do proxy de API E ambiente
Recuperar uma sessão de depuração apigee.tracesessions.get Proxy de API E ambiente
Excluir dados de uma sessão de depuração apigee.tracesessions.delete Proxy da API E ambiente
Listar sessões de depuração ativadas na revisão do proxy de API apigee.tracesessions.list Revisão do ambiente OU proxy da API
Extrair dados de depuração de uma transação apigee.tracesessions.get Revisão do ambiente E do proxy de API
Listar IDs de transação de uma sessão de depuração apigee.tracesessions.get Ambiente E revisão do proxy de API

Atribuir funções e permissões aos participantes do Espaço

As várias permissões descritas estão incluídas no papel apigee.apiAdminV2 ou no apigee.environmentAdmin. Para mais informações, consulte os papéis da Apigee.

Para atribuir essas funções e as permissões a um participante do Espaço, siga uma das seguintes opções:

  • Adicione o papel roles/apiAdminV2 ao espaço usando a API e adicione o papel roles/environmentAdmin ao ambiente de destino usando a API.
  • Adicione as funções ao projeto usando a interface do usuário do IAM.

Para verificar as funções

  1. No console do Google Cloud, abra a página IAM.

    Acessar IAM
  2. Selecione o projeto.
  3. Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.

  4. Em todas as linhas que especificam ou incluem você, verifique a coluna Papel para ver se a lista de papéis inclui os papéis necessários.

Para conceder os papéis

  1. No console do Google Cloud, abra a página IAM.

    Acesse o IAM
  2. Selecione o projeto.
  3. Clique em CONCEDER ACESSO.
  4. No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

  5. Na lista Selecionar um papel, escolha um.
  6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
  7. Clique em Salvar.

Papel necessário para acessar os recursos da API no console do Google Cloud

Para acessar a interface da Apigee no console do Cloud como membro da equipe do Espaço, os usuários precisam receber o papel ApigeeSpaceUser. Para mais informações, consulte Permissões e papéis do IAM.

Gerenciar proxies de API em um espaço

Os membros da organização da Apigee atribuídos a um espaço podem criar, implantar e remover a implantação de proxies de API como recursos do espaço. Os membros atribuídos apenas a outros espaços não poderão acessar nem gerenciar esses proxies.

Criar um proxy de API como um recurso do Space

Crie um proxy de API como um recurso de espaço usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para criar um proxy de API como um recurso do espaço usando a Apigee no console do Cloud:

  1. Siga as etapas descritas em Como criar um proxy de API.
  2. Na Etapa 5, você vai encontrar um campo adicional em Detalhes do proxy onde é possível selecionar um Espaço para o proxy de API. Selecione um espaço na caixa de listagem. Se não quiser atribuir o proxy de API a um espaço, pode pular esse campo.
  3. Clique em Próxima para prosseguir para a etapa de implantação opcional da criação do proxy ou clique em Criar para criar o proxy sem implantá-lo.

API Apigee

Para criar um proxy de API como um recurso de espaço usando as APIs da Apigee, use o seguinte comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/apis?name=PROXY_NAME&space=SPACE_NAME&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data" \
    -F "file=@PROXY_BUNDLE"

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • PROXY_NAME é o nome do proxy da API que você está criando. O nome precisa ser globalmente exclusivo, não apenas no espaço.
  • SPACE_NAME é o nome do espaço em que você está criando o proxy da API.
  • PROXY_BUNDLE é o nome do arquivo do pacote de proxy da API.

Por exemplo, com o comando a seguir, um membro da equipe red cria um proxy de API chamado proxy-1 como recurso do Space red da organização acme usando o arquivo proxy-bundle.zip:

curl "https://apigee.googleapis.com/v1/organizations/acme/apis?name=proxy-1&space=red&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data \
    -F "file=@proxy-bundle.zip"

O exemplo a seguir mostra a resposta ao comando:

{
  "basepaths": ["/proxy-1"],
  "revision": 1,
  "apiProxyId": "proxy-1",
  "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
  "space": "red",
  "createTime": ...,
  "updateTime": ...
}

Implantar um proxy de API como um recurso do Space

Implante um proxy de API como um recurso do Space usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para implantar um proxy de API como um recurso do Space usando a Apigee no console do Cloud, siga as etapas descritas em Como implantar um proxy de API. Nenhuma outra etapa ou campo é necessário.

API Apigee

Para implantar um proxy de API como um recurso do Space usando as APIs da Apigee, use o seguinte comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/ENV_NAME/apis/PROXY_NAME/revisions/REVISION_NUMBER/deployments" \
          -X POST -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: application/json"

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • ENV_NAME é o nome do ambiente em que você está implantando o proxy de API.
  • PROXY_NAME é o nome do proxy da API que você está implantando.
  • REVISION_NUMBER é o número da revisão do proxy de API que você está implantando.

Por exemplo, com o comando a seguir, um membro da equipe red implanta o proxy de API proxy-1, revisão 1, na organização acme para o ambiente prod:

curl "https://apigee.googleapis.com/v1/organizations/acme/environments/prod/apis/proxy-1/revisions/1/deployments" \
          -X POST -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: application/json"

O exemplo a seguir mostra a resposta ao comando:

      {
        "environment": "prod",
        "revision": "1",
        "apiProxy": "proxy-1",
        ...
      }
      

Cancelar a implantação de um proxy de API associado a um espaço

Cancele a implantação de um proxy de API associado a um Space usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para cancelar a implantação de um proxy de API associado a um Space usando a Apigee no console do Cloud, siga as etapas descritas em Como cancelar a implantação de um proxy de API. Nenhuma outra etapa ou campo é necessário.

API Apigee

Para remover a implantação de um proxy de API associado a um Space usando as APIs da Apigee, use o seguinte comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/ENV_NAME/apis/PROXY_NAME/revisions/REVISION_NUMBER/deployments" \
          -X DELETE -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: application/json"

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • ENV_NAME é o nome do ambiente em que você está desimplantando o proxy da API.
  • PROXY_NAME é o nome do proxy da API que você está desimplantando.
  • REVISION_NUMBER é o número da revisão do proxy de API que você está desimplantando.

Por exemplo, com o comando a seguir, um membro da equipe red desimplanta o proxy de API proxy-1, revisão 1, na organização acme do ambiente prod:

curl "https://apigee.googleapis.com/v1/organizations/acme/environments/prod/apis/proxy-1/revisions/1/deployments" \
          -X DELETE -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: application/json"

Gerenciar fluxos compartilhados como recursos do Space

Os participantes atribuídos a um Space também podem criar, implantar e remover a implantação de fluxos compartilhados como recursos do espaço. Os participantes de outros espaços não poderão acessar ou gerenciar esses fluxos compartilhados.

Criar um fluxo compartilhado como um recurso do Space

Crie um fluxo compartilhado como um recurso do Space usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para criar um fluxo compartilhado como um recurso do Space a Apigee no console do Cloud:
  1. siga as etapas descritas em Como criar um fluxo compartilhado na interface da Apigee. para criar um novo fluxo compartilhado do zero ou fazer upload de um pacote de fluxos que já existe.
  2. Na Etapa 4, você vai encontrar um campo extra na caixa de diálogo Criar um fluxo compartilhado em que é possível selecionar um Espaço para o proxy de API. Selecione um Espaço na caixa de listagem. Se não quiser atribuir o proxy de API a um espaço, pode pular esse campo.
  3. Clique em Criar para criar o fluxo compartilhado.

API Apigee

Para criar um fluxo compartilhado como um recurso do Space usando as APIs da Apigee, use o seguinte comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sharedflows?name=FLOW_NAME&space=SPACE_NAME&action=import" \
          -X POST -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: multipart/form-data" \
          -F "file=@SHARED_FLOW_BUNDLE"

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • FLOW_NAME é o nome do fluxo compartilhado que você está criando. O nome precisa ser globalmente exclusivo, não apenas no espaço.
  • SPACE_NAME é o nome do espaço em que você está criando o fluxo compartilhado.
  • SHARED_FLOW_BUNDLE é o nome do arquivo de pacote de fluxo compartilhado.

Por exemplo, com o comando a seguir, um membro da equipe red cria um fluxo compartilhado chamado flow-1 associado ao Space red da organização acme:

curl "https://apigee.googleapis.com/v1/organizations/acme/sharedflows?name=flow-1&space=red&action=import" \
          -X POST -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: multipart/form-data" \
          -F "file=@sharedflow-bundle.zip"

O exemplo a seguir mostra a resposta ao comando:

      {
        "name": "organizations/acme/sharedflows/flow-1",
        "revision": 1,
        "sharedFlowId": "flow-1",
        "space": "red",
        "createTime": ...,
        "updateTime": ...
      }
      

Implantar um fluxo compartilhado como um recurso do Space

Implante um fluxo compartilhado como um recurso do Space usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para implantar um fluxo compartilhado como um recurso do Space usando a Apigee no console do Cloud:

  1. Faça login na interface da Apigee no console do Cloud.
  2. Selecione a organização que contém o fluxo compartilhado. Consulte Como alternar entre suas organizações.
  3. Selecione Desenvolvimento de proxy > Fluxos compartilhados na barra de navegação à esquerda.
  4. Na página de visão geral Fluxos compartilhados, clique no nome do fluxo compartilhado que você quer implantar. A página de detalhes do fluxo compartilhado é exibida.
  5. Clique em Implantar para abrir a caixa de diálogo de implantação.
  6. Digite o seguinte:
    • Revisão: o número da revisão do fluxo compartilhado que você quer implantar.
    • Ambiente: o ambiente em que você quer implantar o fluxo compartilhado.
    • Conta de serviço (opcional): uma conta de serviço para o fluxo compartilhado.
  7. Clique em Implantar.

API Apigee

Para implantar um fluxo compartilhado como um recurso do Space usando as APIs da Apigee, use o seguinte comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/ENV_NAME/sharedflows/FLOW_NAME/revisions/REVISION_NUMBER/deployments" \
          -X POST -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: application/json"

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • ENV_NAME é o nome do ambiente em que você está implantando o fluxo compartilhado.
  • FLOW_NAME é o nome do fluxo compartilhado que você está implantando.
  • REVISION_NUMBER é o número da revisão do fluxo compartilhado que você está implantando.

Por exemplo, com o comando a seguir, um membro da equipe red implanta o fluxo compartilhado flow-1, número de revisão 1, na organização acme para o ambiente prod:

curl "https://apigee.googleapis.com/v1/organizations/acme/environments/prod/sharedflows/flow-1/revisions/1/deployments" \
          -X POST -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: application/json"

O exemplo a seguir mostra a resposta ao comando:

      {
        "environment": "prod",
        "revision": "1",
        "sharedFlow": "flow-1",
        ...
      }
      

Cancelar a implantação de um fluxo compartilhado associado a um Space

Cancele a implantação de um fluxo compartilhado associado a um Space usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para cancelar a implantação de um fluxo compartilhado associado a um Space na Apigee no console do Cloud:

  1. Faça login na interface da Apigee no console do Cloud.
  2. Selecione a organização que contém o fluxo compartilhado. Consulte Como alternar entre suas organizações.
  3. Selecione Desenvolvimento de proxy > Fluxos compartilhados na barra de navegação à esquerda.
  4. Na página de visão geral dos Fluxos compartilhados, clique no nome do fluxo compartilhado que você quer cancelar a implantação. A página de detalhes do fluxo compartilhado é exibida.
  5. Em Implantações, clique em Cancelar a implantação.

API Apigee

Para remover a implantação de um fluxo compartilhado associado a um Space usando as APIs da Apigee, use o seguinte comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/ENV_NAME/sharedflows/FLOW_NAME/revisions/REVISION_NUMBER/deployments" \
          -X DELETE -H "Authorization: Bearer $TOKEN" \
          -H "Content-type: application/json"

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • ENV_NAME é o nome do ambiente em que você está desimplantando o fluxo compartilhado.
  • FLOW_NAME é o nome do fluxo compartilhado que você está cancelando a implantação.
  • REVISION_NUMBER é o número da revisão do fluxo compartilhado que você está cancelando a implantação.

Gerenciar um produto de API como um recurso do Space

Os membros atribuídos a um espaço podem criar um produto de API para agrupar os proxies de API. Ao criar produtos de API, os participantes do espaço podem selecionar qualquer proxy de API acessível a eles, inclusive proxies criados diretamente na organização e em proxies de API criados como recursos nos Space de que participam. Os participantes de outros espaços não poderão acessar nem gerenciar esses produtos de API.

Crie um produto de API como um recurso do Space usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para criar um produto de API como um recurso do Space usando a Apigee no console do Cloud:

  1. Siga as etapas em Como criar um produto de API.
  2. Na Etapa 4, você vai encontrar um campo adicional na página Detalhes do produto, onde pode selecionar um espaço para o produto da API. Selecione um Espaço na caixa de listagem. Se não quiser atribuir o produto de API a um espaço, pode pular esse campo.
  3. Preencha as informações de configuração restantes e clique em Salvar.

API Apigee

Para criar um produto de API como um recurso do Space, use o seguinte comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/apiproducts" \
            -X POST -H "Authorization: Bearer $TOKEN" \
            -H "Content-type: application/json" \
            -d  \
              `{
                "name": "PRODUCT_NAME",
                "displayName": "DISPLAY_NAME",
                "description": "PRODUCT_DESCRIPTION",
                "approvalType": "auto",
                "apiResources": [
                  {
                    "apiproduct": "PRODUCT_NAME",
                    "apiResource": "PROXY_NAME",
                    "operations": [
                      {
                        "method": "GET",
                        "path": "/"
                      }
                    ]
                  }
                ],
                "space": "SPACE_NAME"
              }`

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • PRODUCT_NAME é o nome do produto de API que você está criando. O nome precisa ser globalmente exclusivo, não apenas no espaço.
  • DISPLAY_NAME é o nome do produto de API que você está criando, conforme exibido na interface.
  • PRODUCT_DESCRIPTION é a descrição do produto da API que você está criando.
  • SPACE_NAME é o nome do espaço em que você está criando o produto de API.
  • PROXY_NAME é o nome do proxy da API que você está adicionando ao produto.

Por exemplo, com o comando a seguir, um membro da equipe red cria um produto de API chamado product-1 associado ao Space red da organização acme:

curl "https://apigee.googleapis.com/v1/organizations/acme/apiproducts?name=product-1&space=red&action=import" \
            -X POST -H "Authorization: Bearer $TOKEN" \
            -X "Content-type: application/json" \
            -d  \
              `{
                "name": "product-1",
                "displayName": "product-1",
                "description": "Product 1",
                "apiResources": [
                  {
                    "apiproduct": "product-1",
                    "apiResource": "proxy-1",
                    "operations": [
                      {
                        "method": "GET",
                        "path": "/"
                      }
                    ]
                  }
                ],
                "space": "red"
              }`

O exemplo a seguir mostra a resposta ao comando:

        {
          "name": "organizations/acme/apiproducts/product-1",
          "displayName": "product-1",
          "description": "Product 1",
          "apiResources": [
            {
              "apiproduct": "product-1",
              "apiResource": "proxy-1",
              "operations": [
                {
                  "method": "GET",
                  "path": "/"
                }
              ]
            }
          ],
          "space": "red",
          "createTime": ...,
          "updateTime": ...
        }

Listar todos os recursos da API associados a um Space

Para todas as operações de lista, incluindo ListApiProxies, ListSharedFlows e ListApiProducts, é possível especificar um nome de espaço para listar todos os recursos associados a esse Space. Se você não especificar um nome de espaço, a operação de lista vai retornar todos os recursos na organização que você tem permissão para acessar, estejam eles associados a um Space ou não.

Para executar essa tarefa, é preciso ter a permissão apigee.apiResources.list. Essa permissão está incluída no papel Apigee > Apigee Organization Admin.

Listar recursos de API associados a um Space específico

Liste todos os recursos da API associados a um Space específico na Apigee no console do Cloud ou use a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para listar todos os recursos da API associados a um Space específico na Apigee no console do Cloud, abra a página de visão geral do tipo de recurso relevante (proxies de API, fluxos compartilhados ou produtos de API). Na caixa Filtro, selecione a opção Espaço na lista e insira o nome do espaço. A lista de recursos atribuídos a é exibido. Somente os recursos associados a um Space em que o usuário é membro são exibidos.

API Apigee

Para listar todos os recursos da API associados a um Space especificado, use o seguinte comando:

curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE?space=SPACE_NAME"

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • RESOURCE_TYPE é o tipo de recurso que você está listando. Valores válidos:
    • apis
    • sharedFlows
    • apiProducts
  • SPACE_NAME é o nome do espaço em que você está listando o recurso.

Por exemplo, com o comando a seguir, um membro da equipe red lista todos os proxies de API associads ao Space red na organização acme:

curl -H  "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis?space=red"

O exemplo a seguir mostra a resposta ao comando:

      {
        "proxies": [
          {
            "basepaths": "/proxy-1",
            "revision": "1",
            "apiProxyId": "proxy-1",
            "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
            "space": "red",
            "createTime": ...,
            ....
          }
        ]
      }

Listar recursos da API sem especificar um espaço

Liste todos os recursos da API sem especificar um espaço na Apigee no console do Cloud ou usando a API, conforme descrito nas seções a seguir.

Apigee no console do Cloud

Para conferir uma lista de todos os recursos de API de um determinado tipo na Apigee no console do Cloud, seja qual for a associação do Space, abra a página de visão geral do tipo de recurso relevante (proxies de API, fluxos compartilhados ou produtos de API). Uma lista de todas as instâncias e os recursos exibidos. Apenas os recursos que o usuário tem permissão para visualizar são exibidos. Isso inclui recursos associados a um Space ou Spaces em que o usuário participa ou recursos não associados a um espaço.

API Apigee

Também é possível listar recursos da API sem especificar um espaço usando o seguinte comando:

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

Em que:

  • ORG_NAME é o nome da organização da Apigee;
  • RESOURCE_TYPE é o tipo de recurso que você está listando. Valores válidos:
    • apis
    • sharedFlows
    • apiProducts

Por exemplo, um usuário com acesso de Organization Admin a todos os recursos da organização use o seguinte comando para listar todos os proxies de API na organização acme:

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

Se a organização acme tiver três proxies, o comando vai retornar detalhes sobre todos eles. Exemplo:

      {
        "proxies": [
          {
            "basepaths": "/proxy-1",
            "revision": "1",
            "apiProxyId": "proxy-1",
            "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
            "space": "red",
            "createTime": ...,
            ....
          },
          {
            "basepaths": "/proxy-2",
            "revision": "1",
            "apiProxyId": "proxy-2",
            "resourceName": "organizations/acme/apis/proxy-2/revisions/1",
            "space": "blue",
            "createTime": ...,
            ....
          },
          {
            "basepaths": "/proxy-3",
            "revision": "1",
            "apiProxyId": "proxy-3",
            "resourceName": "organizations/acme/apis/proxy-3/revisions/1",
            "space": "green",
            "createTime": ...,
            ....
          }
        ]
      }

Se outro usuário com apenas acesso apiAdmin aos recursos no espaço red usar o mesmo comando, o comando só vai retornar detalhes sobre o proxy-1. A resposta seria semelhante a esta:

      {
        "proxies": [
          {
            "basepaths": "/proxy-1",
            "revision": "1",
            "apiProxyId": "proxy-1",
            "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
            "space": "red",
            "createTime": ...,
            ....
          }
        ]
      }

A seguir