gcp_cloudfunctions_cloud_function – Создаёт GCP CloudФункцию
Новая в версии 2.9.
Обзор
- Облачная функция, содержащая пользовательские вычисления, выполняемые в ответ на событие.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| available_memory_mb целое число | Объём памяти в МБ, доступный для функции. | ||
| description строка | Описание функции, предоставленное пользователем. | ||
| entry_point строка | Имя функции (как определено в исходном коде), которая будет выполняться. По умолчанию соответствует суффиксу имени ресурса, если не указано. Для обратной совместимости, если функция с данным именем не найдена, система попытается использовать функцию с именем "function". Для Node.js это имя функции, экспортированной модулем, указанным в source_location. | ||
| env_type строка | Указывает, в какой среде Ansible выполняется данный модуль. Не следует устанавливать, если вы не знаете, что делаете. Изменяет только строку User Agent для всех запросов к API. | ||
| environment_variables словарь | Переменные среды, которые должны быть доступны во время выполнения функции. | ||
| event_trigger словарь | Тип источника типа HTTPS-точек входа, который может вызываться через URL. | ||
| event_type строка / обязательно | Тип события для наблюдения. Например: `providers/cloud.storage/eventTypes/object.change` и `providers/cloud.pubsub/eventTypes/topic.publish`. | ||
| resource строка / обязательно | Ресурсы(ы) для наблюдения за событиями, например, `projects/_/buckets/myBucket.` . | ||
| service строка | Имя хоста службы, за которой следует наблюдать. | ||
| https_trigger словарь | Тип источника типа HTTPS-точек входа, который может вызываться через URL. | ||
| labels словарь | Набор пар ключ/значение меток, связанных с этой Cloud Функцией. | ||
| location строка / обязательно | Расположение этой облачной функции. | ||
| name строка / обязательно | Определённое пользователем имя функции. Имена функций должны быть уникальными во всём проекте и соответствовать шаблону `projects/*/locations/*/functions/*`. | ||
| project строка | Проект Google Cloud Platform, который необходимо использовать. | ||
| runtime строка | Среда выполнения, в которой будет выполняться функция. Если пусто, по умолчанию используется Node.js 6. | ||
| scopes список | Массив используемых областей. | ||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, которая его представляет. | ||
| service_account_email строка | Дополнительный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | ||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount. | ||
| source_archive_url строка | URL Google Cloud Storage, начинающийся с gs://, указывающий на zip-архив, содержащий функцию. | ||
| source_repository словарь | Репозиторий исходного кода, где размещена функция. | ||
| url строка | URL, указывающий на размещённый репозиторий, где определена функция. | ||
| source_upload_url строка | Подписанный URL Google Cloud Storage, используемый для загрузки исходного кода. | ||
| state строка |
| Требуется ли существование данного объекта в GCP | |
| timeout строка | Тайм-аут выполнения функции. Выполнение считается неудачным и может быть прервано, если функция не завершена к концу периода тайм-аута. По умолчанию 60 секунд. | ||
| trigger_http логическое |
| Использовать HTTP для запуска этой функции. | |
Примечания
Примечание
- для аутентификации можно установить service_account_file с помощью переменной среды c(gcp_service_account_file).
- для аутентификации можно установить service_account_contents с помощью переменной среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
- для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - для аутентификации можно установить auth_kind с помощью переменной среды
GCP_AUTH_KIND. - для аутентификации можно установить scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не установлены.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a cloud function
gcp_cloudfunctions_cloud_function:
name: test_object
location: us-central1
entry_point: helloGET
source_archive_url: gs://ansible-cloudfunctions-bucket/function.zip
trigger_http: 'true'
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| availableMemoryMb целое число | успех | Объем памяти в МБ, доступный для функции. | |
| description строка | успех | Описание функции, предоставленное пользователем. | |
| entryPoint строка | успех | Имя функции (как определено в исходном коде), которая будет выполнена. По умолчанию совпадает с суффиксом имени ресурса, если не указано иное. Для обеспечения обратной совместимости, если функция с заданным именем не найдена, система попытается использовать функцию с именем "function". Для Node.js это имя функции, экспортируемой модулем, указанным в source_location. | |
| environmentVariables словарь | успех | Переменные окружения, которые должны быть доступны во время выполнения функции. | |
| eventTrigger сложное | успех | Источник типа HTTPS-точек входа, который можно запустить через URL. | |
| eventType строка | успех | Тип события, которое следует наблюдать. Например: `providers/cloud.storage/eventTypes/object.change` и `providers/cloud.pubsub/eventTypes/topic.publish`. | |
| resource строка | успех | Ресурс(ы) для наблюдения за событиями, например, `projects/_/buckets/myBucket.`. | |
| service строка | успех | Имя хоста службы, которую следует наблюдать. | |
| httpsTrigger сложное | успех | Источник типа HTTPS-точек входа, который можно запустить через URL. | |
| url строка | успех | Развернутый URL функции. | |
| labels словарь | успех | Набор пар ключ/значение меток, связанных с этой функцией Cloud Function. | |
| location строка | успех | Расположение этой функции cloud. | |
| name строка | успех | Пользовательское имя функции. Имена функций должны быть уникальными в глобальном масштабе и соответствовать шаблону `projects/*/locations/*/functions/*`. | |
| runtime строка | успех | Средства выполнения, в котором будет выполняться функция. Если пусто, по умолчанию используется Node.js 6. | |
| serviceAccountEmail строка | успех | Электронная почта учетной записи службы для этой функции. | |
| sourceArchiveUrl строка | успех | URL Google Cloud Storage, начинающийся с gs://, указывающий на zip-архив, содержащий функцию. | |
| sourceRepository сложное | успех | Репозиторий исходного кода, где размещена функция. | |
| deployedUrl строка | успех | URL, указывающий на размещенный репозиторий, где функция была определена во время развертывания. | |
| url строка | успех | URL, указывающий на размещенный репозиторий, где определена функция. | |
| sourceUploadUrl строка | успех | Подписанный URL Google Cloud Storage, используемый для загрузки исходного кода. | |
| status строка | успех | Статус развертывания функции. | |
| timeout строка | успех | Таймаут выполнения функции. Выполнение считается неудачным и может быть прекращено, если функция не завершится к концу периода таймаута. По умолчанию 60 секунд. | |
| trigger_http логический | успех | Использовать HTTP для запуска этой функции. | |
| updateTime строка | успех | Последняя метка времени обновления функции Cloud Function. | |
| versionId строка | успех | Идентификатор версии функции Cloud Function. Каждая попытка развертывания приводит к созданию новой версии функции. | |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Google Inc. (@googlecloudplatform)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/gcp_cloudfunctions_cloud_function_module.html