Spec-Zone.ru › Ansible

Модуль community.aws.api_gateway — управление API AWS API Gateway

Примечание

Этот модуль входит в коллекцию community.aws (версия 10.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.aws.api_gateway.

Добавлено в community.aws 1.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Позволяет управлять API API Gateway.
  • Обычно следует указать api_id, поскольку для API нет другого гарантированно уникального стабильного идентификатора. Если не указать api_id, при каждом запуске будет создаваться новый API.
  • swagger_file и swagger_text без изменений передаются в AWS, а swagger_dict — это словарь Ansible, который преобразуется в JSON перед загрузкой определений API.
  • До выпуска версии 5.0.0 этот модуль назывался community.aws.aws_api_gateway. Использование не изменилось.

Псевдонимы: aws_api_gateway

Требования

На хосте, где выполняется этот модуль, необходимы следующие компоненты.

  • python >= 3.6
  • boto3 >= 1.34.0
  • botocore >= 1.34.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key

строка

Идентификатор ключа доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK.

api_id

строка

Идентификатор API, которым нужно управлять.

aws_ca_bundle

путь

Путь к пакету CA, используемому для проверки SSL-сертификатов.

Также можно использовать переменную среды AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Список параметров приведен в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

cache_enabled

логическое значение

Включить кэширование ответов серверной части в API GW.

Варианты:

  • false ← (по умолчанию)
  • true

cache_size

строка

Размер кэша API GW в ГБ; применяется, если cache_enabled имеет значение true.

Варианты:

  • "0.5" ← (по умолчанию)
  • "1.6"
  • "6.1"
  • "13.5"
  • "28.4"
  • "58.2"
  • "118"
  • "237"

debug_botocore_endpoint_logs

логическое значение

Использовать регистратор botocore.endpoint для разбора уникальных (а не общих) вызовов API "resource:action", выполненных во время задачи, и выводить их набор в ключ resource_actions результатов задачи. Используйте обработчик обратного вызова aws_resource_action, чтобы вывести общий список вызовов, выполненных во время плейбука.

Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

deploy_desc

строка

Описание развертывания.

Сохраняется и отображается в консоли AWS.

По умолчанию: "Automatic deployment by Ansible."

endpoint_type

строка

Тип конфигурации конечной точки.

Используйте EDGE для оптимизированной для периферии конечной точки API, REGIONAL для развертывания только в регионе или PRIVATE для частного API.

Этот параметр используется только при создании новой конфигурации API Gateway, но не при обновлении.

Варианты:

  • "EDGE" ← (по умолчанию)
  • "REGIONAL"
  • "PRIVATE"

endpoint_url

псевдонимы: aws_endpoint_url

строка

URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную среды AWS_URL.

lookup

строка

добавлено в community.aws 6.2.0

Поиск API Gateway по tags (и по name, если он указан) или по api_id.

Если lookup=tag и параметр tags не указан, поиск существующего API Gateway не выполняется и будет создан новый API Gateway.

При использовании lookup=tag обнаружение нескольких совпадений приведет к ошибке, и изменения внесены не будут.

Чтобы изменить теги API Gateway, используйте lookup=id.

Варианты:

  • "tag" ← (по умолчанию)
  • "id"

name

строка

добавлено в community.aws 6.2.0

Имя RestApi.

profile

псевдонимы: aws_profile

строка

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную среды AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token.

purge_tags

логическое значение

Если задано значение purge_tags=true и указан параметр tags, существующие теги ресурса будут удалены, чтобы они точно соответствовали определенным параметром tags.

Если параметр tags не задан, теги не изменяются, даже если задано purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому при обработке параметра purge_tags они игнорируются. Дополнительные сведения см. в документации Amazon: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

region

псевдонимы: aws_region

строка

Регион AWS.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную среды AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

secret_key

псевдонимы: aws_secret_access_key, aws_secret_key

строка

Секретный ключ доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile являются взаимоисключающими.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK.

session_token

псевдонимы: aws_session_token

строка

Токен сеанса AWS STS для использования с временными учетными данными.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменную среды AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

stage

строка

Имя этапа, на который следует развернуть API.

stage_canary_settings

словарь

Параметры canary-развертывания этапа.

Словарь со следующими параметрами:

percentTraffic: процент (0–100) трафика, перенаправляемого на canary-развертывание.

deploymentId: идентификатор canary-развертывания.

stageVariableOverrides: переменные этапа, переопределяемые для canary-развертывания.

useStageCache: логический флаг, указывающий, использует ли canary-развертывание кэш этапа.

См. документацию: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigateway.html#APIGateway.Client.create_stage

По умолчанию: {}

stage_variables

словарь

Переменные среды для этапа. Задайте словарь пар «ключ — значение» для переменных.

По умолчанию: {}

state

строка

Создать или удалить API Gateway.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

swagger_dict

json

Словарь Ansible с определениями Swagger API, который будет преобразован в JSON и загружен.

swagger_file

псевдонимы: src, api_file

путь

Файл JSON или YAML с определениями Swagger для API. Должен быть указан ровно один из параметров: swagger_file, swagger_text или swagger_dict.

swagger_text

строка

Определения Swagger для API в формате JSON или YAML в виде строки, непосредственно заданной в плейбуке.

tags

псевдонимы: resource_tags

словарь

Словарь тегов, которые будут применены к ресурсу.

Если параметр tags не задан, теги не изменяются.

tracing_enabled

логическое значение

Указывает, включена ли активная трассировка X-ray для этапа API GW.

Варианты:

  • false ← (по умолчанию)
  • true

validate_certs

логическое значение

Если задано значение false, SSL-сертификаты при обмене данными с API AWS проверяться не будут.

Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность использования параметра aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Теги используются для уникальной идентификации API Gateway, если параметр api_id не задан. version_added=6.2.0
  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому может потребоваться явно скопировать файлы на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
  • Используемый Ansible AWS SDK (boto3) также может считывать значения учетных данных по умолчанию и другие параметры, например регион, из файлов конфигурации в контексте «хоста» Ansible (обычно ~/.aws/credentials). Дополнительные сведения см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

- name: Setup AWS API Gateway setup on AWS and deploy API definition
  community.aws.api_gateway:
    swagger_file: my_api.yml
    stage: production
    cache_enabled: true
    cache_size: '1.6'
    tracing_enabled: true
    endpoint_type: EDGE
    state: present

- name: Update API definition to deploy new version
  community.aws.api_gateway:
    api_id: 'abc123321cba'
    swagger_file: my_api.yml
    deploy_desc: Make auth fix available.
    cache_enabled: true
    cache_size: '1.6'
    endpoint_type: EDGE
    state: present

- name: Update API definitions and settings and deploy as canary
  community.aws.api_gateway:
    api_id: 'abc123321cba'
    swagger_file: my_api.yml
    cache_enabled: true
    cache_size: '6.1'
    canary_settings:
      percentTraffic: 50.0
      deploymentId: '123'
      useStageCache: true
    state: present

- name: Delete API gateway
  amazon.aws.api_gateway:
    name: ansible-rest-api
    tags:
      automation: ansible
    lookup: tags
    state: absent

Возвращаемые значения

Общие возвращаемые значения описаны здесь; далее перечислены поля, уникальные для этого модуля:

Ключ

Описание

api_id

строка

Идентификатор созданной конечной точки API

Возвращается: при успехе

Пример: "0ln4zq7p86"

configure_response

словарь

Ответ AWS на вызов настройки API

Возвращается: при успехе

Пример: {"api_key_source": "HEADER", "created_at": "2020-01-01T11:37:59+00:00", "id": "0ln4zq7p86"}

deploy_response

словарь

Ответ AWS на вызов развертывания API

Возвращается: при успехе

Пример: {"created_date": "2020-01-01T11:36:59+00:00", "description": "Automatic deployment by Ansible.", "id": "rptv4b"}

resource_actions

список / элементы=строка

Действия, выполненные с помощью API AWS

Возвращается: всегда

Пример: ["apigateway:CreateRestApi", "apigateway:CreateDeployment", "apigateway:PutRestApi"]

Авторы

  • Michael De La Rue (@mikedlr)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/api_gateway_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API