Как программно удалить папку ресурсов GCP?
Я пытаюсь создать службу cron, которая очищает (удаляет биллинг и удаляет) кучу проектов и папок ресурсов на GCP для команды разработчиков. В идеале я хотел бы использовать облачные функции, чтобы сделать это легковесным, однако я не могу найти никаких клиентских библиотек, которые позволили бы удалить ПАПКУ. Кто-нибудь смог найти для этого какие-нибудь клиентские библиотеки?
Я рассматриваю и другие варианты:
- Чтобы создать службу cron Cloud Run в контейнере, который вызывает команды gcloud (например, https://cloud.google.com/sdk/gcloud/reference/resource-manager/folders/create).
- Вызовите GCP Rest API из облачной функции в APIS диспетчера ресурсов.
1 ответ
Вы можете использовать API обнаружения. Используем в продакшене (только для поиска и потом прикрепляем проект в папку)
Пример нашего кода на Python
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
#Use GCF Service Account credentials for all APIs call
CREDENTIALS = GoogleCredentials.get_application_default()
SERVICE_RESOURCE_MANAGER_FOLDER = discovery.build('cloudresourcemanager', 'v2',
credentials=CREDENTIALS)
# Example for a search
request = SERVICE_RESOURCE_MANAGER_FOLDER.folders().search(body=body)
response = request.execute()
Если хотите, используйте операцию удаления.