Las carpetas son nodos en la jerarquía de recursos de Cloud Platform. Una carpeta puede contener proyectos, otras carpetas o una combinación de ambos. Los recursos de la organización pueden usar carpetas para agrupar proyectos en el nodo del recurso de la organización en una jerarquía. Por ejemplo, el recurso de la organización puede contener varios departamentos, cada uno con su propio conjunto de recursos de Google Cloud. Las carpetas te permiten agrupar estos recursos por departamento. Estas carpetas se usan para agrupar los recursos que comparten políticas de IAM. Mientras que una carpeta puede contener varias carpetas o recursos, una carpeta o recurso determinados pueden tener solo un superior.
En el siguiente diagrama, el recurso de la organización, “Company” (Empresa), tiene carpetas que representan dos departamentos, “Departamento X” y “Departamento Y” y una carpeta, “Infraestructura compartida”, para elementos que pueden ser comunes a ambos departamentos. En el “Departamento Y” (Dept Y), se organizaron en dos equipos y, dentro de las carpetas de los equipos, se organizaron por productos. La carpeta del “Producto 1” contiene, además, tres proyectos, cada uno con los recursos necesarios para el proyecto. Esto les proporciona un alto grado de flexibilidad en la asignación de políticas de IAM y de la organización en el nivel de detalle correcto.
Puedes usar las políticas de IAM a nivel de la carpeta para controlar el acceso a los recursos que contiene la carpeta. Por ejemplo, si a un usuario se le otorga la función Administrador de instancias de procesamiento en una carpeta, ese usuario tiene la función Administrador de instancias de Compute en todos los proyectos de la carpeta.
Antes de comenzar
La funcionalidad de la carpeta solo está disponible para los clientes Google Workspace y Cloud Identity que tengan un recurso de la organización. Para obtener más información sobre la adquisición de recursos de una organización, consulta la página cómo crear y administrar organizaciones.
Si exploras cómo usar mejor las carpetas, te recomendamos que sigas estos pasos:
- Revisa el control de acceso de las carpetas que usan IAM. El tema describe cómo puedes controlar quién tiene acceso a las carpetas y los recursos que contienen.
- Obtén información sobre cómo configurar permisos de carpeta. Las carpetas admiten varias funciones de IAM. Si deseas configurar en general permisos para que los usuarios puedan ver la estructura de sus proyectos, otorga a todo el dominio las funciones Visualizador de organizaciones y Visualizador de carpetas a nivel de recursos de la organización. Para restringir la visibilidad de las ramas de la jerarquía de carpetas, otorga la función Visualizador de carpetas en la carpeta o carpetas que deseas que vean los usuarios.
- Crea carpetas. Cuando planifiques cómo organizar los recursos de Cloud, te recomendamos que comiences con una sola carpeta como zona de pruebas en la que puedas experimentar con la jerarquía que sea más adecuada para el recurso de la organización. Piensa en las carpetas en términos de los límites de aislamiento entre los recursos y los puntos de vinculación de las políticas de acceso y configuración. Puedes optar por crear carpetas que contengan los recursos que pertenecen a distintos departamentos y asignar las funciones de administrador en las carpetas para delegar privilegios de administrador. Las carpetas también se pueden usar para agrupar recursos que pertenezcan a aplicaciones o entornos diferentes, como el desarrollo, la producción o la prueba. Usa carpetas anidadas para modelar estos diferentes casos.
Un caso común es crear carpetas que, a su vez, contengan carpetas o proyectos adicionales, como se muestra en la imagen anterior. Esta estructura se denomina jerarquía de carpetas. Cuando creas una jerarquía de carpetas, ten en cuenta lo siguiente:
- Puedes anidar carpetas de hasta 10 (diez) niveles de profundidad.
- Una carpeta superior no puede contener más de 300 carpetas. Esto se refiere solo a carpetas secundarias directas. Esas carpetas secundarias pueden, a su vez, contener carpetas o proyectos adicionales.
- Los nombres de visualización de la carpeta deben ser únicos dentro del mismo nivel de la jerarquía.
Establece permisos para administrar carpetas
Para acceder a las carpetas y administrarlas, debes asignarles funciones de IAM específicas de las carpetas a grupos de usuarios específicos. Para obtener más información sobre estas funciones, consulta el control de acceso a las carpetas que usan IAM. También te recomendamos que revises nuestras prácticas recomendadas a fin de ayudarte a identificar la configuración óptima para los permisos de tu carpeta.
En un principio, solo el administrador de la organización puede asignar la función de administrador de carpetas para el recurso de la organización. Las cuentas posteriores a las que se les asigna esta función pueden otorgárselo a otras cuentas.
Para configurar los permisos de la carpeta, sigue estos pasos:
Console
- En la consola de Google Cloud, abre la página Administrar recursos.
Haz clic en la lista desplegable Organización en la esquina superior izquierda y, luego, selecciona tu organización en la lista de recursos.
En el cuadro de texto Agregar miembros que se encuentra a la derecha, ingresa tu dirección de correo electrónico.
En el cuadro de lista desplegable Seleccionar una función, ve a la categoría Administrador de recursos y selecciona la función Administrador de carpetas.
Haz clic en Agregar para otorgar la función nueva.
gcloud
Las carpetas se pueden crear de manera programática mediante Google Cloud CLI. Para ello, ejecuta el siguiente comando:
gcloud organizations add-iam-policy-binding [ORGANIZATION_ID] \
--member=user:[USER_ID] \
--role=roles/resourcemanager.folderAdmin
API
El JSON de la solicitud luce así:
request_json= '{ policy: { version: "1", bindings: [ { role: "roles/folderAdmin",
members: [ "user:admin@myorganization.com", ] }, { role: "roles/folderCreator",
members: [ "user:admin@myorganization.com", ] } , { role: "roles/folderMover",
members: [ "user:admin@myorganization.com", ] } , ] } }'
La solicitud curl luce así:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/[ORGANIZATION_NAME]:setIamPolicy
Aquí:
- [ORGANIZATION_NAME] es el nombre de la organización de la que se establece la política de IAM, por ejemplo,
organizations/123
.
Crea carpetas
Para crear carpetas, debes tener la función Administrador de carpetas o Creador de carpetas a nivel del superior. Por ejemplo, para crear carpetas a nivel de la organización, debes tener una de estas funciones a nivel de la organización.
Como parte de la creación de una carpeta, debes asignarle un nombre. Los nombres de las carpetas deben cumplir los siguientes requisitos:
- El nombre puede contener letras, dígitos, espacios, guiones y guiones bajos.
- El nombre visible de la carpeta debe comenzar y terminar con una letra o un dígito.
- El nombre debe tener entre 3 y 30 caracteres.
- El nombre debe ser distinto al de todas las demás carpetas que comparten el superior.
Para crear una carpeta, haz lo siguiente:
Consola
Las carpetas se pueden crear en la IU a través de la sección “Administra proyectos y carpetas”.
Ve a la página Administrar recursos en Google Cloud Console:
Asegúrate de que el nombre de recurso de tu organización esté seleccionado en la lista desplegable de la parte superior de la página.
Haz clic en Crear carpeta.
En el cuadro Nombre de la carpeta, ingresa el nombre de la carpeta nueva.
En Destino, haz clic en Explorar y, luego, selecciona el recurso o la carpeta de la organización en la que deseas crear la carpeta nueva.
- Haz clic en Crear.
gcloud
Las carpetas se pueden crear de manera programática mediante Google Cloud CLI.
Para crear una carpeta en el recurso de la organización con la herramienta de línea de comandos de gcloud
, ejecuta el siguiente comando.
gcloud resource-manager folders create \
--display-name=[DISPLAY_NAME] \
--organization=[ORGANIZATION_ID]
Para crear una carpeta cuya carpeta superior sea otra, sigue estos pasos:
gcloud resource-manager folders create \
--display-name=[DISPLAY_NAME] \
--folder=[FOLDER_ID]
Aquí:
[DISPLAY_NAME]
es el nombre visible de la carpeta. Dos carpetas con la misma carpeta superior no pueden compartir un nombre visible. El nombre visible debe comenzar y terminar con una letra o un dígito, puede contener letras, dígitos, espacios, guiones y guiones bajos, y no puede tener más de 30 caracteres.[ORGANIZATION_ID]
es el ID del recurso de la organización superior si el superior es un recurso de la organización.[FOLDER_ID]
es el ID de la carpeta superior, si el superior es una carpeta.
API
Se pueden crear carpetas con una solicitud a la API.
El JSON de la solicitud luce así:
request_json= '{
display_name: "[DISPLAY_NAME]"
}'
La solicitud de curl para crear carpetas luce así:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders?parent=[ORGANIZATION_NAME]
Aquí:
[DISPLAY_NAME]
es el nombre visible de la carpeta nueva, por ejemplo, “Mi carpeta genial”.[ORGANIZATION_NAME]
es el nombre del recurso de la organización en el que creas la carpeta, por ejemplo,organizations/123
.
La respuesta para crear carpetas luce así:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "[DISPLAY_NAME]",
"operationType": "CREATE"
}
}
La solicitud de curl para obtener operaciones luce así:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789
La respuesta para obtener operaciones luce así:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "[DISPLAY_NAME]",
"operationType": "CREATE"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
"name": "folders/12345",
"parent": "organizations/123",
"displayName": "[DISPLAY_NAME]",
"lifecycleState": "ACTIVE",
"createTime": "2017-07-19T23:29:26.018Z",
"updateTime": "2017-07-19T23:29:26.046Z"
}
}
Configura el acceso a las carpetas
Para configurar el acceso a las carpetas, debes tener la función Administrador de carpetas de IAM o Administrador de carpetas a nivel del superior.
Consola
En la consola de Google Cloud, abre la página Administrar recursos.
Haz clic en la lista desplegable Organización en la esquina superior izquierda y, luego, selecciona el recurso de tu organización.
Selecciona la casilla de verificación junto al proyecto para el que deseas cambiar los permisos.
En el Panel de información del lado derecho, en Permisos, ingresa las direcciones de correo electrónico de los miembros que deseas agregar.
En la lista desplegable Seleccionar una función, selecciona la función que deseas otorgar a esos miembros.
Haga clic en Agregar. Aparecerá una notificación para confirmar que se agregó o actualizó la función nueva de los miembros.
gcloud
Puedes configurar el acceso a las carpetas de manera programática con Google Cloud CLI o la API.
gcloud resource-manager folders \
add-iam-policy-binding [FOLDER_ID] \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
add-iam-policy-binding [FOLDER_ID] \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderViewer
O, como alternativa:
gcloud resource-manager folders \
set-iam-policy [FOLDER_ID] [POLICY_FILE]
Aquí:
[FOLDER_ID]
es el ID de la carpeta nueva.[POLICY_FILE]
es la ruta a un archivo de la política de la carpeta.
API
El método setIamPolicy
establece la política de control de acceso en una carpeta y reemplaza cualquier política existente. El campo resource
debe ser el nombre del recurso de la carpeta, por ejemplo, folders/1234
.
request_json= '{
policy: {
version: "1",
bindings: [
{
role: "roles/resourcemanager.folderEditor",
members: [
"user:email1@example.com",
"user:email2@example.com",
]
}
]
}
}'
La solicitud curl luce así:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/[FOLDER_NAME]:setIamPolicy
Aquí:
[FOLDER_NAME]
es el nombre de la carpeta de la que configuras la política de IAM, por ejemplo, carpetas/123.
Crea un proyecto en una carpeta
Para crear un proyecto en una carpeta, debes tener la función creador de proyectos (roles/resourcemanager.projectCreator
) en la carpeta. Esta función se puede heredar de una carpeta superior.
Console
- En la consola de Google Cloud, abre la página Administrar recursos.
- Ve a la página Administrar recursos.
- Selecciona el recurso de tu organización en el menú desplegable Organización en la parte superior izquierda de la página.
- Haz clic en Crear proyecto.
- Ingresa un Nombre de proyecto (Project name).
En el cuadro Destino, haz clic en Explorar para seleccionar la carpeta en la que deseas crear el proyecto.
Haz clic en Crear.
gcloud
gcloud projects create [PROJECT_ID]
--folder [FOLDER_ID]
Aquí:
- [PROJECT_ID] es el ID del proyecto que se creará.
- [FOLDER_ID] es el ID de la carpeta en la que se debe crear el proyecto.
API
El JSON de la solicitud luce así:
request_json= ‘{
name: “[DISPLAY_NAME]”, projectId: “[PROJECT_ID]”, parent: {id: [PARENT_ID], type: [PARENT_TYPE] }
}’
La solicitud curl luce así:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/projects
Aquí:
- [PROJECT_ID] es el ID del proyecto que se crea, por ejemplo, mi-proy-genial-123.
- [DISPLAY_NAME] es el nombre visible del proyecto que se crea.
- [PARENT_ID] es el ID del superior en el que se crea el proyecto, por ejemplo,123.
- [PARENT_TYPE] es el tipo de superior, como “organización” o “carpeta”
No incluyas información sensible en el nombre de tu carpeta ni en otros nombres de recursos. Cualquier referencia a la carpeta o a los recursos relacionados expone el nombre de la carpeta y el nombre del recurso.
Mueve un proyecto a una carpeta
Debes considerar cuidadosamente cualquier implicación de política antes de mover un proyecto a una carpeta o fuera de ella. Las políticas de Identity and Access Management que definas a nivel de proyecto se moverán con el proyecto, pero las políticas heredadas de un recurso superior no lo harán.
Cuando muevas un proyecto, también se trasladarán las políticas de Identity and Access Management o las políticas de la organización que estén directamente vinculadas. Sin embargo, las políticas que hereda de los recursos superiores también afectan a un proyecto de la jerarquía de recursos. Si un proyecto hereda un rol de IAM que otorga permiso a los usuarios para usar un servicio en particular, los usuarios no tendrán acceso a ese servicio en el destino, a menos que también lo hereden en el destino.
Por ejemplo, considera que una cuenta de servicio tiene la función Creador de objetos de almacenamiento vinculada a un usuario de la Carpeta A. La cuenta de servicio tiene permisos para subir datos a Cloud Storage en cualquier proyecto de la carpeta A. Si migraste uno de estos proyectos a la carpeta B, que no tiene los mismos permisos heredados, la cuenta de servicio de ese proyecto perderá la capacidad de subir datos, lo que generará una interrupción del servicio.
Estas mismas consideraciones se aplican si las políticas de la organización se definen en las carpetas de origen y destino. Al igual que las políticas de IAM, las políticas de la organización se heredan. Por lo tanto, debes asegurarte de que las políticas de la organización sean coherentes entre las carpetas de origen y de destino.
Para obtener más información sobre las políticas de la organización, consulta Introducción al servicio de las políticas de la organización.
Para mover un proyecto, necesitas la función de IAM del Migrador de proyectos (roles/resourcemanager.projectMover
) en la carpeta de origen y la de destino. Si el recurso no está en una carpeta, necesitas esta función en el recurso de la organización.
Estos roles te otorgan los siguientes permisos obligatorios:
resourcemanager.projects.update
en el proyecto- Si el recurso está en una carpeta:
resourcemanager.projects.move
en la carpeta de origen y en el destino - Si el recurso no está en una carpeta,
resourcemanager.projects.move
en el recurso de la organización.
También puedes obtener estos permisos con funciones personalizadas o con otras funciones predefinidas.
Consola
Para mover un proyecto, haz lo siguiente:
En la consola de Google Cloud, ve a la página Administrar recursos.
Selecciona tu organización en el menú desplegable Organización en la parte superior izquierda de la página.
Haz clic en la fila de tu proyecto para seleccionarlo de la lista de recursos. Ten en cuenta que no debes hacer clic en el nombre del proyecto, que te lleva a la página de IAM del proyecto.
Haz clic en el menú de opciones (los puntos suspensivos verticales) de la fila y haz clic en Mover.
Haz clic en Explorar para seleccionar la carpeta a la que deseas mover el proyecto.
Haz clic en Mover.
gcloud
Para mover un proyecto, ejecuta el comando gcloud beta projects move
:
gcloud beta projects move PROJECT_ID \ --DESTINATION_TYPE DESTINATION_ID
Aquí:
PROJECT_ID es el ID o el número del proyecto que deseas mover.
DESTINATION_TYPE es
organization
ofolder
.DESTINATION_ID es el ID del recurso o la carpeta de la organización al que deseas mover el proyecto. Solo puedes especificar un destino.
API
Puedes usar el método projects.move
v3 para mover un proyecto.
Solicitud:
POST https://cloudresourcemanager.googleapis.com/v3/{name=PROJECT_NAME}:move { "destinationParent": DESTINATION_PARENT }
Aquí:
PROJECT_NAME
es el nombre del proyecto que deseas actualizar. Por ejemplo,projects/415104041262
DESTINATION_PARENT
es el nuevo recurso o carpeta de organización superior al que deseas mover el proyecto. Por ejemplo:organizations/12345678901
Si se completa correctamente, la solicitud mostrará una Operation que puede usarse para realizar un seguimiento del movimiento del proyecto.
Mueve una carpeta a otra
A fin de mover una carpeta a otra, debes tener el permiso resourcemanager.folders.move para las carpetas de origen y de destino.
Console
El proceso de mover carpetas a otras carpetas en Console es similar al de mover proyectos.
- En la consola de Google Cloud, abre la página Administrar recursos.
- Selecciona el recurso de tu organización en el menú desplegable Organización en la parte superior izquierda de la página.
- Haz clic en la fila de tu carpeta para seleccionarla en la lista de proyectos y carpetas.
- Haz clic en el menú de opciones (los puntos suspensivos verticales) de la fila y haz clic en Mover.
- Haz clic en Explorar para seleccionar la carpeta a la que deseas moverla.
- Haz clic en Mover.
gcloud
Para mover una carpeta dentro del recurso de la organización, ejecuta el siguiente comando en Google Cloud CLI:
gcloud resource-manager folders move [FOLDER_ID] \
--organization=[PARENT_ID]
Para mover una carpeta dentro de otra carpeta, ejecuta el siguiente comando:
gcloud resource-manager folders move [FOLDER_ID] \
--folder=[PARENT_ID]
Aquí:
[FOLDER_ID]
es el ID de la carpeta que deseas mover.[PARENT_ID]
es el ID de recurso de la organización o el ID de la carpeta o el recurso de organización superior.
API
El JSON de la solicitud luce así:
request_json= '{
destinationParent: "folders/[DESTINATION_FOLDER_ID]"
}'
La solicitud de curl para mover carpetas:
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
Aquí:
[DESTINATION_FOLDER_ID]
es el ID de la carpeta dentro de la que moverás otra carpeta, por ejemplo,98765
.[DISPLAY_NAME]
es el nombre visible de la carpeta que mueves, por ejemplo, “Mi carpeta genial”.
La respuesta para mover carpetas luce así:
{
"name": "operations/fm.1234567890",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "[DISPLAY_NAME]",
"operationType": "MOVE"
}
}
La solicitud de curl para obtener operaciones luce así:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fm.1234567890
La respuesta para obtener operaciones luce así:
{
"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"
}
}
Ve o enumera carpetas y proyectos
Para ver o enumerar carpetas, debes tener las funciones Visualizador de organizaciones y Visualizador de carpetas.
Para ver o enumerar carpetas y proyectos, sigue estos pasos:
Console
En la consola de Google Cloud, abre la página Administrar recursos.
En el selector de proyectos de la parte superior de la página, selecciona el recurso de la organización. Se deben crear carpetas para que aparezcan en la lista.
Selecciona cualquier fila del árbol para realizar operaciones específicas de la carpeta o el proyecto.
Ingresa el nombre o el ID de la carpeta o del proyecto en la búsqueda para filtrar la lista.
gcloud
Para ver una carpeta, usa el comando describe
.
gcloud resource-manager folders describe [FOLDER_ID]
name: folders/245321 \
parent: organizations/2518 \
display_name: Super Fantastic Folder \
lifecycle_state: ACTIVE \
create_time: <timestamp info …> \
update_time: <timestamp info …> \
Aquí:
[FOLDER_ID]
es el ID de la carpeta que deseas ver.Para enumerar las carpetas en un recurso de la organización, usa el comando
list
.gcloud resource-manager folders list
--organization [ORGANIZATION_ID]Aquí:
[ORGANIZATION_ID]
es el ID del recurso de la organización del que deseas ver una lista de las carpetas secundarias.El comando genera una tabla en la que se muestran las carpetas secundarias del ID de recursos de la organización que especificaste.
Con el comando
list
, también se pueden enumerar las carpetas dentro de otra carpeta, a través de la marca--folder
.gcloud resource-manager folders list
--folder [FOLDER_ID]Aquí:
[FOLDER_ID]
es el ID de la carpeta de la que deseas ver una lista de las carpetas secundarias.Para enumerar los proyectos bajo una carpeta o un recurso de la organización, usa el comando
projects list
y el argumentofilter
.gcloud projects list
--filter=" parent.id: '[FOLDER_OR_ORGANIZATION_ID]' "Aquí:
[FOLDER_OR_ORGANIZATION_ID]
es el ID de la carpeta o el recurso de la organización del que deseas ver una lista de los proyectos secundarios.
API
La solicitud de curl para obtener carpetas:
curl -X GET -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/[FOLDER_NAME]
Aquí:
- [FOLDER_NAME] es el nombre de la carpeta, por ejemplo,
folders/123
.
La solicitud de curl para enumerar carpetas:
curl -X GET -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/folders?parent=[PARENT_NAME]
Aquí:
- [PARENT_NAME] es el nombre del recurso superior en el que creas la carpeta, como
organizations/123
ofolders/123
.
Usa Google Cloud CLI
Los comandos para interactuar con la API de las carpetas mediante la herramienta de línea de comandos de gcloud
están disponibles en el grupo de comandos gcloud resource-manager folders
.
Crear
Para crear una carpeta nueva, usa gcloud resource-manager folders create
con marcas que configuren el nombre de la carpeta y el ID de la carpeta o el recurso de la organización en la que deseas que se cree.
gcloud resource-manager folders create \
--display-name="Super Fantastic Folder" \
--organization=2518
Created Folder 245321.
Ver
Para ver una carpeta, usa gcloud resource-manager folders describe
con el ID de la carpeta que deseas ver.
gcloud resource-manager folders describe 245321
name: folders/245321
parent: organizations/2518
display_name: Super Fantastic Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <timestamp info …>
Enumera
Para enumerar las carpetas dentro de una carpeta, usa gcloud resource-manager
folders list
y pasa el ID de la carpeta en la marca --folder
. También puedes enumerar las carpetas de nivel superior dentro de un recurso de organización mediante la marca --organization
.
gcloud resource-manager folders list --folder 245321
<table output showing the folders underneath the folder with the specified ID>
gcloud resource-manager folders list --organization 2518
<table output showing folders in this Organization but not in any folder>
Para incluir carpetas para las que se solicite una eliminación en la lista, agrega la marca --show-delete.
gcloud beta resource-manager folders list --folder 245321 --show-deleted
<table output showing all the folders including the delete requested ones underneath the folder with the specified ID>
Puedes enumerar los proyectos con el comando gcloud projects list
y pasar el ID de recurso de la organización o la carpeta superior en la marca --filter
.
gcloud projects list --filter=" parent.id: '245321' "
<table output showing the projects underneath the resource with the specified ID>
Para obtener más información sobre cómo los permisos y los filtros interactúan con los comandos de la lista, consulta la página Enumera todos los recursos en tu jerarquía.
Buscar
Para buscar carpetas que coincidan con la consulta especificada, usa gcloud alpha resource-manager
folders search
y pasa la condición en la marca --query
. El alcance de la búsqueda son todas las carpetas para las que el usuario tiene permiso de lectura.
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>
Se pueden mostrar todas las carpetas para las que el usuario tiene permiso de lectura con el comando gcloud folders search
.
gcloud folders search
<table output showing all viewable folders>
Actualizar
Las carpetas se pueden actualizar con el comando gcloud resource-manager folders update
. En la actualidad, solo se puede actualizar el campo display_name
de una carpeta.
gcloud resource-manager folders update \
--display-name="Mega Incredible Folder" 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <recent timestamp info …>
Borrar
Las carpetas se pueden borrar y recuperar desde la línea de comandos. Un usuario debe contar con la función de administrador o editor de carpetas si desea tener permiso para borrar una carpeta. Solo se puede borrar una carpeta si está vacía.
gcloud resource-manager folders delete 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: DELETE_REQUESTED
create_time: <timestamp info …>
update_time: <recent timestamp info …>
gcloud resource-manager folders undelete 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <recent timestamp info …>
Mueve proyectos
Los proyectos se pueden crear en carpetas y mover a carpetas con los comandos gcloud projects create
y gcloud projects move
existentes. Las carpetas también se pueden mover con gcloud resource-manager folders move.
gcloud projects create --folder=245321 fancy-folder-project
project_id: fancy-folder-project
project_number: 905283
parent:
type: "folder"
id: 245321
other fields …
gcloud projects move --folder=245321 soon-to-be-fancy-project
project_id: soon-to-be-fancy-project
project_number: 428714
parent:
type: "folder"
id: 245321
other fields …
Operaciones de larga duración
Algunas operaciones de carpetas, como la creación, pueden tomar mucho tiempo. Para facilitar la realización de varias tareas, algunos comandos de carpetas te permiten realizarlas de forma asíncrona. Estos comandos admiten una marca --async
que habilite el comportamiento asíncrono, lo que hace que muestren una operación de larga duración de forma inmediata, en lugar de esperar a que la operación se complete. Puedes sondear esta operación con el comando gcloud beta resource-manager operations describe
. En la actualidad, solo los comandos folders create
y folders move
permiten el uso asíncrono.
gcloud resource-manager folders create \
--display-name="Awe-Inspiring Async Folder" \
--organization=2518 \
--async
name: operations/fc.8572
metadata:
operation_type: CREATE
display_name: Awe-Inspiring Async Folder
destination_parent: organizations/2518
done: false
[wait for some time …]
gcloud beta resource-manager operations describe fc.8572
name: operations/fc.8572
metadata:
operation_type: CREATE
display_name: Awe-Inspiring Async Folder
destination_parent: organizations/2518
done: true
response:
name: folders/6428
parent: organizations/2518
display_name: Awe-Inspiring Async Folder
lifecycle_state: ACTIVE
create_time: <recent timestamp info …>
update_time: <recent timestamp info …>