Модуль 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 и profile являются взаимоисключающими. Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK. |
api_id строка | Идентификатор API, которым нужно управлять. |
aws_ca_bundle путь | Путь к пакету CA, используемому для проверки SSL-сертификатов. Также можно использовать переменную среды |
aws_config словарь | Словарь для изменения конфигурации botocore. Список параметров приведен в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
cache_enabled логическое значение | Включить кэширование ответов серверной части в API GW. Варианты:
|
cache_size строка | Размер кэша API GW в ГБ; применяется, если cache_enabled имеет значение true. Варианты:
|
debug_botocore_endpoint_logs логическое значение | Использовать регистратор Также можно использовать переменную среды Варианты:
|
deploy_desc строка | Описание развертывания. Сохраняется и отображается в консоли AWS. По умолчанию: |
endpoint_type строка | Тип конфигурации конечной точки. Используйте Этот параметр используется только при создании новой конфигурации API Gateway, но не при обновлении. Варианты:
|
endpoint_url псевдонимы: aws_endpoint_url строка | URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную среды |
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. Варианты:
|
name строка добавлено в community.aws 6.2.0 | Имя RestApi. |
profile псевдонимы: aws_profile строка | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token. |
purge_tags логическое значение | Если задано значение Если параметр Ключи тегов, начинающиеся с Варианты:
|
region псевдонимы: aws_region строка | Регион AWS. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр 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. Также можно использовать переменные среды Параметры 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. Также можно использовать переменную среды Параметры session_token и profile являются взаимоисключающими. |
stage строка | Имя этапа, на который следует развернуть API. |
stage_canary_settings словарь | Параметры canary-развертывания этапа. Словарь со следующими параметрами:
См. документацию: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigateway.html#APIGateway.Client.create_stage По умолчанию: |
stage_variables словарь | Переменные среды для этапа. Задайте словарь пар «ключ — значение» для переменных. По умолчанию: |
state строка | Создать или удалить API Gateway. Варианты:
|
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 словарь | Словарь тегов, которые будут применены к ресурсу. Если параметр |
tracing_enabled логическое значение | Указывает, включена ли активная трассировка X-ray для этапа API GW. Варианты:
|
validate_certs логическое значение | Если задано значение Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность использования параметра aws_ca_bundle. Варианты:
|
Примечания
Примечание
- Теги используются для уникальной идентификации 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 Возвращается: при успехе Пример: |
configure_response словарь | Ответ AWS на вызов настройки API Возвращается: при успехе Пример: |
deploy_response словарь | Ответ AWS на вызов развертывания API Возвращается: при успехе Пример: |
resource_actions список / элементы=строка | Действия, выполненные с помощью API AWS Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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