google.cloud.gcp_cloudfunctions_cloud_function – Создаёт GCP CloudFunction
Примечание
Этот плагин входит в состав коллекции google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в книге задач укажите: google.cloud.gcp_cloudfunctions_cloud_function.
Обзор
- Функция Cloud Function, содержащая пользовательские вычисления, выполняемые в ответ на событие.
Требования
Ниже приведены требования, необходимые на хосте, который выполняет данный модуль.
- 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 Function. | ||
| location строка / обязательно | Расположение cloud функции. | ||
| 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 для запуска этой функции. | |
Примеры
- name: create a cloud function
google.cloud.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 строка | успех | Расположение этой облачной функции. | |
| 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. Каждая попытка развёртывания приводит к созданию новой версии функции. | |
Авторы
- 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.10/collections/google/cloud/gcp_cloudfunctions_cloud_function_module.html