Spec-Zone.ru › Ansible

community.aws.api_gateway модуль — Управление API шлюзом AWS API Gateway

Примечание

Этот модуль является частью коллекции community.aws (версия 8.0.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.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_access_key, ec2_access_key

string

Идентификатор ключа доступа 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 или EC2_ACCESS_KEY также могут использоваться в порядке убывания предпочтения.

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

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

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

api_id

string

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

aws_ca_bundle

path

Расположение пакета CA, используемого при проверке SSL-сертификатов.

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

aws_config

dictionary

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

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

cache_enabled

boolean

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

Варианты:

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

cache_size

string

Размер кэша API GW в ГБ, становится эффективным, когда cache_enabled имеет значение true.

Варианты:

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

debug_botocore_endpoint_logs

boolean

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

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

Варианты:

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

deploy_desc

string

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

Записывается и отображается в консоли AWS.

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

endpoint_type

string

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

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

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

Варианты:

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

endpoint_url

aliases: ec2_url, aws_endpoint_url, s3_url

string

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

Переменные среды AWS_URL или EC2_URL также могут использоваться в порядке убывания предпочтения.

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной среды EC2_URL устарела и будет удалена в релизе после 2024-12-01.

lookup

string

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

Поиск API Gateway по тегам (и имени, если указано) или по api_id.

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

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

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

Варианты:

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

name

string

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

Имя RestApi.

profile

aliases: aws_profile

string

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

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

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

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

purge_tags

boolean

Если 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, ec2_region

string

Регион AWS для использования.

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

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

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

Алиас ec2_region устарел и будет удален в релизе после 2024-12-01

Поддержка переменной среды EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

secret_key

алиасы: aws_secret_access_key, aws_secret_key, ec2_secret_key

string

Секретный ключ доступа 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 или EC2_SECRET_KEY в порядке убывания предпочтения.

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

Алиас aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

Алиас ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_SECRET_KEY устарела и будет удалена в релизе после 2024-12-01.

session_token

алиасы: aws_session_token, security_token, aws_security_token, access_token

string

Сеансовый токен 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, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания предпочтения.

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

Алиасы aws_session_token и session_token были добавлены в релизе 3.2.0, при этом параметр был переименован из security_token в session_token в релизе 6.0.0.

Алиасы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

stage

string

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

stage_canary_settings

dictionary

Параметры Canary для развертывания этапа.

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

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

deploymentId: ID развертывания Canary.

stageVariableOverrides: Переопределенные переменные этапа для развертывания выпуска Canary.

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

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

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

stage_variables

dictionary

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

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

state

string

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

Варианты:

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

swagger_dict

json

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

swagger_file

алиасы: src, api_file

path

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

swagger_text

string

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

tags

алиасы: resource_tags

dictionary

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

Если параметр tags не задан, теги не будут изменены.

tracing_enabled

boolean

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

Варианты:

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

validate_certs

boolean

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

Настройка validate_certs=false крайне не рекомендуется; в качестве альтернативы, рассмотрите настройку aws_ca_bundle вместо этого.

Варианты:

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

Примечания

Примечание

  • Теги используются для уникальной идентификации шлюза API, когда api_id не указан. version_added=6.2.0
  • Внимание: Для модулей переменные окружения и конфигурационные файлы читаются из контекста Ansible «хост», а не из контекста «контроллер». Следовательно, файлы могут потребоваться скопировать в контекст «хост». Для плагинов поиска и подключения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер», а не из контекста «хост».
  • AWS SDK (boto3), который используется Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих конфигурационных файлов в контексте 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 созданного API-эндпоинта

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

Пример: "0ln4zq7p86"

configure_response

словарь

Ответ AWS от вызова API configure

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

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

deploy_response

словарь

Ответ AWS от вызова API deploy

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

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

resource_actions

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

Выполненные действия над AWS API

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

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

Авторы

  • Michael De La Rue (@mikedlr)

Ссылки на сборку

  • Трекер задач
  • Репозиторий (источники)
  • Общение

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

Spec-Zone.ru

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