Ver, atualizar e excluir pastas

É possível ver detalhes de pastas, atualizar nomes de exibição, mover pastas e excluir pastas desnecessárias usando o console do Google Cloud , a Google Cloud CLI ou a API Cloud Resource Manager. O gerenciamento de pastas permite organizar seus recursos e manter a hierarquia de recursos do Google Cloud à medida que os projetos e as equipes evoluem.

Listar pastas e ver detalhes delas

Para listar pastas ou ver metadados de uma pasta específica, como o nome de exibição, o ID pai e o estado do ciclo de vida, é preciso ter o papel de Leitor de pastas (roles/resourcemanager.folderViewer) ou de Leitor da organização (roles/resourcemanager.organizationViewer).

Console

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

    Abrir a página "Gerenciar recursos"

  2. A lista de recursos mostra sua hierarquia como uma tabela. Selecione o recurso da sua organização.

  3. Clique na seta ao lado do nome da organização para expandir a visualização em árvore e ver as pastas filhas.

  4. Para realizar ações, como mover, excluir ou visualizar configurações, clique em Ações no final da linha do recurso específico.

  5. Use a barra Filtro na parte de cima da lista de recursos para pesquisar recursos por nome, ID ou rótulo.

Como usar o seletor de projetos

O seletor de projetos está localizado na barra de navegação e não faz parte da interface principal da página do Resource Manager. Use-o para alternar o contexto global ativo para um projeto ou uma pasta específica.

  1. Clique no seletor de projetos. Na caixa de diálogo que aparece, selecione sua organização no menu suspenso para filtrar os resultados.

  2. Navegue pela hierarquia ou pesquise o projeto ou a pasta que você quer acessar. Clicar em um recurso nesse seletor altera o contexto global, afetando quais recursos ficam visíveis em outras páginas de serviço (como o Compute Engine ou o Cloud Storage).

gcloud

Para ver os detalhes de uma pasta, use o comando resource-manager folders describe.

gcloud resource-manager folders describe FOLDER_ID

Substitua FOLDER_ID pelo ID da pasta que você quer visualizar.

Para listar as pastas filhas de um recurso de organização, use o comando resource-manager folders list.

gcloud resource-manager folders list \
    --organization ORGANIZATION_ID

Substitua ORGANIZATION_ID pelo ID do recurso da organização em que você quer ver uma lista de pastas filhas.

Para listar as pastas filhas de um recurso de pasta, use o comando resource-manager folders list.

gcloud resource-manager folders list \
    --folder FOLDER_ID

Substitua FOLDER_ID pelo ID do recurso de pasta em que você quer ver uma lista de pastas filhas.

Para listar os projetos em um recurso de organização ou pasta, use o comando projects list com o argumento filter.

gcloud projects list \
    --filter=" parent.id: 'RESOURCE_ID' "

Substitua RESOURCE_ID pelo ID do recurso de organização ou pasta em que você quer ver uma lista de projetos filhos.

REST

A solicitação curl para receber pastas:

curl -X GET -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${bearer_token}" \
  https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID

Substitua FOLDER_NAME pelo nome da pasta, como folders/123.

A solicitação curl para listar pastas:

curl -X GET -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${bearer_token}" \
  https://cloudresourcemanager.googleapis.com/v3/folders?parent=PARENT_NAME

Substitua PARENT_NAME pelo nome do recurso pai em que você está criando a pasta, como organizations/123 ou folders/123.

Atualizar pastas

Para atualizar o nome de exibição de uma pasta, é preciso ter o papel de Editor de pastas (roles/resourcemanager.folderEditor) ou de Administrador de pastas (roles/resourcemanager.folderAdmin) nela.

Console

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

    Abrir a página "Gerenciar recursos"

  2. Clique na seta ao lado do nome da organização para expandir a visualização em árvore e ver as pastas filhas.

  3. Na linha da pasta que você quer atualizar, clique no menu Ações no final da linha e em Configurações.

  4. Digite o novo nome da pasta e clique em Salvar.

gcloud

Para atualizar o nome de exibição de uma pasta:

gcloud resource-manager folders update FOLDER_ID --display-name="NEW_DISPLAY_NAME"

Substitua:

  • FOLDER_ID: o ID da pasta que você quer atualizar.
  • NEW_DISPLAY_NAME: o novo nome de exibição da pasta.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • FOLDER_ID: o ID da pasta do Google Cloud
  • NEW_DISPLAY_NAME: o novo nome de exibição da pasta.

Método HTTP e URL:

PATCH https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName

Corpo JSON da solicitação:

{
  "displayName": "NEW_DISPLAY_NAME"
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "operations/fc.1234567890abcdef",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperationMetadata",
    "displayName": "NEW_DISPLAY_NAME",
    "operationType": "UPDATE",
    "resourceName": "folders/FOLDER_ID"
  },
  "done": false
}

Mover uma pasta para outra pasta

Para mover uma pasta para outra, é necessário ter a permissão resourcemanager.folders.move para as pastas de origem e de destino.

Console

O processo de transferência de uma pasta para outra no console é semelhante ao de transferência de projetos.

  1. No console do Google Cloud , abra a página "Gerenciar recursos".

    Abrir o console do Google Cloud

  2. Selecione o recurso da organização no menu suspenso Organização no canto superior esquerdo da página.
  3. Clique na linha da pasta para selecioná-la na lista de projetos e pastas.
  4. Clique no menu "opções" (as reticências verticais) na linha e em Mover.
  5. Clique em Procurar para selecionar a pasta para que você quer mover a pasta.
  6. Clique em Mover.

gcloud

Para mover uma pasta no recurso da organização, execute o seguinte comando na Google Cloud CLI:

gcloud resource-manager folders move FOLDER_ID \
    --organization=PARENT_ID

Substitua:

  • FOLDER_ID: o ID da pasta que você quer mover.
  • PARENT_ID: o ID do recurso da organização pai.

Para mover uma pasta para outra pasta:

gcloud resource-manager folders move FOLDER_ID \
    --folder=PARENT_ID

Substitua:

  • FOLDER_ID: o ID da pasta que você quer mover.
  • PARENT_ID: o ID do recurso ou da pasta da organização pai.

REST

A solicitação JSON:

request_json= '{
   destinationParent: "folders/DESTINATION_FOLDER_ID"
}'

A solicitação curl Mover pasta:

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token} \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders/DISPLAY_NAME:move

Substitua:

  • DESTINATION_FOLDER_ID: o ID da pasta em que você está movendo outra pasta, por exemplo, 98765.
  • DISPLAY_NAME: o nome de exibição da pasta que está sendo movida, por exemplo, "Minha pasta incrível".

A resposta Mover pasta:

{
  "name": "operations/fm.1234567890",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "MOVE"
  }
}

A solicitação curl Receber operação:

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fm.1234567890

A resposta Receber operação:

{
  "name": "operations/fm.1234567890",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "MOVE"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
    "name": "folders/12345",
    "parent": "folders/98765",
    "displayName": "DISPLAY_NAME",
    "lifecycleState": "ACTIVE",
    "createTime": "2017-07-19T23:29:26.018Z",
    "updateTime": "2017-07-20T00:54:44.295Z"
  }
}

Excluir pastas

Para excluir uma pasta, é preciso ter o papel de Editor de pastas (roles/resourcemanager.folderEditor) ou de Administrador de pastas (roles/resourcemanager.folderAdmin) nela.

Console

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

    Abrir a página "Gerenciar recursos"

    No console do Google Cloud , acesse a página "Gerenciar recursos".

  2. Clique na seta ao lado do nome da organização para expandir a visualização em árvore e ver as pastas filhas.

  3. Na linha da pasta que você quer excluir, clique no menu Ações no final da linha e clique em Excluir.

  4. Na caixa de diálogo de confirmação, digite o ID ou o nome da pasta para confirmar e clique em Excluir.

gcloud

Para excluir uma pasta, execute o seguinte comando:

gcloud resource-manager folders delete FOLDER_ID

Substitua:

  • FOLDER_ID: o ID da pasta que você quer excluir.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • FOLDER_ID: o ID da pasta do Google Cloud

Método HTTP e URL:

DELETE https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID

Para enviar a solicitação, escolha uma destas opções:

curl

Execute o seguinte comando:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID"

PowerShell

Execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "operations/fc.1234567890abcdef",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperationMetadata",
    "operationType": "DELETE",
    "resourceName": "folders/FOLDER_ID"
  },
  "done": false
}

Informações adicionais

Quando você exclui uma pasta, ela entra em um estado de exclusão reversível por um período de retenção de 30 dias antes de ser excluída permanentemente.

Estado de exclusão reversível: durante o período de armazenamento de 30 dias, a pasta é marcada para exclusão e não fica mais ativa. Não é possível criar novos projetos ou subpastas em uma pasta excluída de maneira reversível.

Estado de exclusão permanente: após 30 dias, o Google Cloud remove permanentemente a pasta e os metadados dela. Essa ação é irreversível.

Cancelar exclusão: se você excluir uma pasta por engano, poderá restaurá-la em até 30 dias usando o comando gcloud resource-manager folders undelete ou a API.

Pré-requisitos e restrições

  • A pasta precisa estar vazia: não é possível excluir uma pasta que ainda contenha projetos ou subpastas ativos. Primeiro, mova ou exclua todos os recursos filhos.
  • Permissões necessárias: para excluir ou cancelar a exclusão de uma pasta, é preciso ter o papel de Editor de pastas (roles/resourcemanager.folderEditor) ou Administrador de pastas (roles/resourcemanager.folderAdmin).

Para pesquisar pastas que correspondam à consulta especificada, use gcloud alpha resource-manager folders search, transmitindo a condição na flag --query. O escopo da pesquisa são todas as pastas para as quais o usuário tem permissão de visualização.

gcloud alpha resource-manager folders search --query="name:vij*"
<table output showing the folders with names starting from vij eg. vijeta, vijay-folder>

gcloud alpha resource-manager folders search --query="state:DELETE_REQUESTED"
<table output showing folders for which delete has been requested>

Todas as pastas para as quais o usuário tem permissão de visualização podem ser mostradas usando o comando gcloud folders search.

gcloud folders search
<table output showing all viewable folders>

A seguir