Как мы можем создать проект в облаке google с помощью клиента python api

Я работаю над проектом по автоматизации настройки облака Google, есть ли способ создать проект облачной платформы Google с помощью Google-Api-Client для python?

Помоги мне, пожалуйста! Заранее спасибо!

Вот что я пробовал:

Из views.py

from google.cloud import resource_manager
...

    client = resource_manager.Client()
         # List down all gcp projects
         for project in client.list_projects():
            print(project)
         new_project = client.new_project('project11-372', name='My new project')
         new_project.create()

Он перечисляет все мои проекты gcp, но не создает новый проект.

Вот полученная мной ошибка:

Файл "/Users/abdul/Documents/IGui/rest/views.py", строка 60, в сообщении new_project.create () Файл "/Users/abdul/IstioVirEnv/lib/python3.6/site-packages/google/cloud /resource_manager/project.py ", строка 138, в create data = data) File" /Users/abdul/IstioVirEnv/lib/python3.6/site-packages/google/cloud/_http.py ", строка 293, в api_request поднять исключения.from_http_response (ответ) google.cloud.exceptions.Forbidden: 403 POST https://cloudresourcemanager.googleapis.com/v1beta1/projects: у вызывающего абонента нет разрешения.
[20 / авг / 2017 05:55:02] «POST / user / deployment / create / new HTTP / 1.1» 500 14960


person Abdul Rehman    schedule 13.07.2017    source источник


Ответы (1)


Я успешно создал облачный проект Google с помощью клиента Python для облачного API Google.

Шаги

  • запустите команду gcloud beta auth application-default login, чтобы получить учетные данные приложения по умолчанию при входе в браузер
  • Включить API диспетчера ресурсов на моей консоли gcp

Вот рабочий код Python:

from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
...


credentials = GoogleCredentials.get_application_default()
    service = discovery.build('cloudresourcemanager', 'v1', credentials=credentials)
            project_body = {
                'name': 'Api Project',
                'projectId': 'api-9837'
            }
            request = service.projects().create(body=project_body)
            request.execute()
            pprint(request)
person Abdul Rehman    schedule 21.08.2017