Spec-Zone.ru › Ansible

azure.azcollection.azure_rm_webapp модуль — Управление экземплярами веб-приложений

Примечание

Этот модуль является частью коллекции azure.azcollection (версия 2.7.0).

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

Для её установки используйте: ansible-galaxy collection install azure.azcollection. Для использования этого модуля необходимы дополнительные требования, подробности см. в разделе Требования.

Для использования в книге задач укажите: azure.azcollection.azure_rm_webapp.

Новая функция в azure.azcollection 0.1.2

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Обзор

  • Создание, обновление и удаление экземпляра веб-приложения.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 2.7
  • На хосте, выполняющем этот модуль, должна быть установлена коллекция azure.azcollection через galaxy
  • Все пакеты Python, перечисленные в файле requirements.txt коллекции, должны быть установлены через pip на хосте, на котором выполняются модули из azure.azcollection
  • Полные инструкции по установке можно найти по адресу https://galaxy.ansible.com/azure/azcollection

Параметры

Параметр

Комментарии

ad_user

string

Имя пользователя Active Directory. Используйте при аутентификации с помощью пользователя Active Directory, а не субъекта безопасности.

adfs_authority_url

string

added in azure.azcollection 0.0.1

URL-адрес узла Azure AD. Используйте при аутентификации с помощью имени пользователя/пароля и имеете собственный узел ADFS.

always_on

boolean

Поддерживает приложение загруженным, даже если нет трафика.

Варианты:

  • false
  • true

api_profile

string

added in azure.azcollection 0.0.1

Выбирает профиль API для использования при взаимодействии с службами Azure. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать с Azure Stack.

По умолчанию: "latest"

app_settings

dictionary

Настройка параметров приложения веб-приложения. Дополнительные параметры находятся в формате пар «ключ-значение».

app_state

string

Запуск/остановка/перезапуск веб-приложения.

Варианты:

  • "started" ← (default)
  • "stopped"
  • "restarted"

append_tags

boolean

Используется для управления тем, является ли поле тегов каноническим или просто добавляется к существующим тегам.

Если канонический, любые теги, не найденные в параметре тегов, будут удалены из метаданных объекта.

Варианты:

  • false
  • true ← (default)

auth_source

string

added in azure.azcollection 0.0.1

Управляет источником учетных данных, используемых для аутентификации.

Может быть также установлен через переменную среды ANSIBLE_AZURE_AUTH_SOURCE.

При установке в auto (по умолчанию) приоритет имеет параметры модуля -> env -> credential_file -> cli.

При установке в env учетные данные будут считываться из переменных среды

При установке в credential_file он будет считывать профиль из ~/.azure/credentials.

При установке в cli учетные данные будут получены из профиля Azure CLI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для идентификации идентификатора подписки, если присутствует более одного, в противном случае используется подписка az cli по умолчанию.

При установке в msi хост-машина должна быть ресурсом Azure с включенным расширением MSI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для идентификации идентификатора подписки, если ресурсу предоставлен доступ к более чем одной подписке, в противном случае выбирается первая подписка.

msi был добавлен в Ansible 2.6.

Варианты:

  • "auto" ← (default)
  • "cli"
  • "credential_file"
  • "env"
  • "msi"

cert_validation_mode

string

added in azure.azcollection 0.0.1

Управляет поведением проверки сертификата для конечных точек Azure. По умолчанию все модули будут проверять серверный сертификат, но при использовании прокси-сервера HTTPS или в Azure Stack может потребоваться отключить это поведение, передав ignore. Может быть также установлен через профиль файла учетных данных или переменную среды AZURE_CERT_VALIDATION.

Варианты:

  • "ignore"
  • "validate"

client_affinity_enabled

boolean

Отправлять ли файлы cookie с привязкой сеанса, которые направляют запросы клиента в одном сеансе на тот же экземпляр.

Варианты:

  • false
  • true ← (default)

client_id

string

Идентификатор клиента Azure. Используйте при аутентификации с помощью субъекта безопасности или управляемой идентичности (msi).

Может быть также установлен через переменную среды AZURE_CLIENT_ID.

cloud_environment

string

added in azure.azcollection 0.0.1

Для облачных сред, отличных от общедоступного облака США, имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес конечной точки обнаружения метаданных (требуется для Azure Stack). Может быть также установлен через профиль файла учетных данных или переменную среды AZURE_CLOUD_ENVIRONMENT.

По умолчанию: "AzureCloud"

container_settings

dictionary

Параметры контейнера веб-приложения.

name

string / required

Имя контейнера, например imagename:tag.

Для создания многоконтейнерного приложения имя должно начинаться с «COMPOSE|» или «KUBE|» с последующей кодировкой base64 конфигурации.

registry_server_password

string

Пароль сервера реестра контейнеров.

registry_server_url

string

URL-адрес сервера реестра контейнеров, например mydockerregistry.io.

registry_server_user

string

Имя пользователя сервера реестра контейнеров.

deployment_source

dictionary

Источник развертывания для Git.

branch

string

Имя ветки репозитория.

url

string

URL репозитория источника развертывания.

disable_instance_discovery

boolean

добавлен в azure.azcollection 2.3.0

Определяет, будет ли выполнено обнаружение экземпляра при попытке аутентификации. Установка в значение true полностью отключит как обнаружение экземпляра, так и валидацию полномочий. Эта функция предназначена для использования в сценариях, где метаданные не могут быть достигнуты, например, в частных облаках или Azure Stack. Процесс обнаружения экземпляра подразумевает получение метаданных полномочий с https://login.microsoft.com/ для проверки полномочий. Установив это значение в **True**, отключается проверка полномочий. Поэтому крайне важно убедиться, что хост настроенных полномочий действителен и заслуживает доверия.

Устанавливается через профиль файла учетных данных или переменную среды AZURE_DISABLE_INSTANCE_DISCOVERY.

Варианты:

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

frameworks

list / elements=dictionary

Набор параметров настроек среды выполнения фреймворка. Каждая настройка — это словарь.

Дополнительную информацию см. на https://docs.microsoft.com/en-us/azure/app-service/app-service-web-overview.

name

string / обязательно

Имя фреймворка.

Список поддерживаемых фреймворков для веб-приложений Windows и Linux отличается.

Веб-приложения Windows поддерживают java, net_framework, php, python и node с июня 2018 года.

Веб-приложения Windows поддерживают несколько фреймворков одновременно.

Веб-приложения Linux поддерживают java, ruby, php, python, dotnetcore и node с июня 2018 года.

Веб-приложения Linux поддерживают только один фреймворк.

Фреймворк Java взаимоисключает другие.

Варианты:

  • "java"
  • "net_framework"
  • "php"
  • "python"
  • "ruby"
  • "dotnetcore"
  • "node"

settings

dictionary

Список настроек фреймворка.

java_container

string / обязательно

Имя контейнера Java.

Поддерживается только при frameworks=java. Примеры значений Tomcat, JavaSE, RedHat.

java_container_version

string / обязательно

Версия контейнера Java.

Поддерживается только при frameworks=java.

Примеры значений для Tomcat, 8.5, 9.0, 10.0, 10.1.

version

string / обязательно

Версия фреймворка. Для веб-приложений Linux, см. https://aka.ms/linux-stacks для получения дополнительной информации.

Примеры поддерживаемых значений для net_framework, v4.8 для .NET 4.8 и v3.5 для .NET 3.5.

Примеры поддерживаемых значений для php, 8.1, 8.2.

Примеры поддерживаемых значений для python, 3.8, 3.9, 3.10, 3.11, 3.12.

Примеры поддерживаемых значений для node, 18, 20.

Примеры поддерживаемых значений для dotnetcore, 8, 7, 6.

Примеры поддерживаемых значений для ruby, 2.3.

Примеры поддерживаемых значений для java, 21, 17, 11 и 8.

ftps_state

string

Состояние службы FTP/FTPS.

Варианты:

  • "AllAllowed"
  • "FtpsOnly"
  • "Disabled"

http20_enabled

boolean

Настройка веб-сайта для подключения клиентов через HTTP 2.0.

Варианты:

  • false
  • true

https_only

boolean

Настройка веб-сайта для приема только запросов HTTPS.

Варианты:

  • false
  • true

identity

dictionary

добавлен в azure.azcollection 2.5.0

Идентификатор для веб-приложения.

type

string

Тип управляемой учетной записи.

Варианты:

  • "SystemAssigned"
  • "UserAssigned"
  • "SystemAssigned, UserAssigned"
  • "None" ← (по умолчанию)

user_assigned_identities

dictionary

Назначенные управляемые идентификаторы пользователя и их параметры

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

append

boolean

Если список идентификаторов должен быть добавлен к текущим идентификаторам (true), или заменить текущие идентификаторы (false)

Варианты:

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

id

list / elements=string

Список идентификаторов назначенных управляемых идентификаторов пользователей, связанных с веб-приложением

По умолчанию: []

location

string

Расположение ресурса. Если не задано, используется расположение из группы ресурсов по умолчанию.

log_mode

string

Родительский аргумент.

log_path

string

Родительский аргумент.

min_tls_version

string

Минимальная версия TLS шифрования, требуемая для приложения.

Варианты:

  • "1.0"
  • "1.1"
  • "1.2"

name

string / обязательно

Уникальное имя приложения для создания или обновления. Для создания или обновления слота развертывания используйте параметр {slot}.

password

string

Пароль пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory вместо служебного принципала.

plan

any

План службы приложений. Требуется для создания.

Может быть именем существующего плана службы приложений в той же группе ресурсов, что и веб-приложение.

Может быть идентификатором ресурса существующего плана службы приложений. Например, /subscriptions/<subs_id>/resourceGroups/<resource_group>/providers/Microsoft.Web/serverFarms/<plan_name>.

Может быть словарем, содержащим пять параметров, определенных ниже.

name, имя плана службы приложений.

resource_group, группа ресурсов плана службы приложений.

sku, SKU плана службы приложений, разрешенные значения указаны на https://azure.microsoft.com/en-us/pricing/details/app-service/linux/.

is_linux, является ли план службы приложений Linux. По умолчанию False.

number_of_workers, количество рабочих процессов для плана службы приложений.

profile

string

Профиль безопасности, найденный в файле ~/.azure/credentials.

purge_app_settings

boolean

Очистить все существующие параметры приложения. Заменить параметры веб-приложения параметрами app_settings.

Варианты:

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

resource_group

string / обязательно

Имя группы ресурсов, к которой относится ресурс.

scm_type

string

Тип хранилища для источника развертывания, например LocalGit, GitHub.

Список поддерживаемых значений находится по адресу https://docs.microsoft.com/en-us/rest/api/appservice/webapps/createorupdate#scmtype.

secret

string

Секрет клиента Azure. Используйте при аутентификации с помощью служебного принципала.

site_auth_settings

dictionary

Параметры конфигурации для функции аутентификации/авторизации Azure App Service.

aad_claims_authorization

string

Получает строку JSON, содержащую параметры Azure AD Acl.

additional_login_params

string

Параметры входа, которые нужно отправить в конечную точку авторизации OpenID Connect при входе пользователя.

Каждый параметр должен быть в формате «ключ=значение».

allowed_audiences

list / elements=string

Разрешенные значения аудитории, которые нужно учитывать при проверке JWT, выпущенных Azure Active Directory.

allowed_external_redirect_urls

list / elements=string

Внешние URL-адреса, на которые можно перенаправить при входе или выходе из приложения.

Обратите внимание, что часть запроса URL игнорируется.

auth_file_path

string

Путь к конфигурационному файлу, содержащему параметры авторизации.

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

client_id

string

Идентификатор клиента этого приложения, выступающего в качестве доверенной стороны, известный как client_id.

client_secret

string

Секретный ключ клиента этого приложения (в Azure Active Directory это также называется ключом).

client_secret_certificate_thumbprint

string

Альтернатива секретному ключу клиента, то есть отпечаток сертификата, используемого для подписи.

Это свойство заменяет секретный ключ клиента. Оно также является необязательным.

client_secret_setting_name

string

Имя параметра приложения, содержащего секретный ключ клиента доверенного приложения.

config_version

string

Версия конфигурации функции аутентификации / авторизации, используемой для текущего приложения.

Настройка в этом значении может управлять поведением плоскости управления для аутентификации / авторизации.

default_provider

string

Поставщик аутентификации по умолчанию, используемый при настройке нескольких поставщиков.

Варианты:

  • "AzureActiveDirectory"
  • "Facebook"
  • "Google"
  • "MicrosoftAccount"
  • "Twitter"
  • "Github"

enabled

boolean

Включить или отключить функцию аутентификации / авторизации для текущего приложения.

Варианты:

  • false
  • true

facebook_app_id

string

Идентификатор приложения Facebook, используемого для входа.

facebook_app_secret

string

Секретный ключ приложения Facebook, используемого для входа через Facebook.

facebook_app_secret_setting_name

string

Имя параметра приложения, содержащего секретный ключ, используемый для входа через Facebook.

facebook_o_auth_scopes

list / elements=string

Области OAuth 2.0, которые будут запрошены как часть входа через Facebook.

git_hub_client_id

string

Идентификатор клиента приложения GitHub, используемого для входа.

git_hub_client_secret

string

Секретный ключ клиента приложения GitHub, используемого для входа через Github.

git_hub_client_secret_setting_name

string

Имя параметра приложения, содержащего секретный ключ клиента приложения Github, используемого для входа через GitHub.

git_hub_o_auth_scopes

list / elements=string

Области OAuth 2.0, которые будут запрошены как часть аутентификации входа через GitHub.

Эта настройка является необязательной.

google_client_id

string

Идентификатор клиента OpenID Connect для веб-приложения Google.

google_client_secret

string

Секретный ключ клиента, связанный с веб-приложением Google.

google_client_secret_setting_name

string

Имя параметра приложения, содержащего секретный ключ, связанный с веб-приложением Google.

google_o_auth_scopes

list / elements=string

Области OAuth 2.0, которые будут запрошены как часть аутентификации входа через Google.

Эта настройка является необязательной. Если не указано, «openid», «profile» и «email» используются в качестве областей по умолчанию.

is_auth_from_file

string

Если is_auth_from_file=true, параметры конфигурации авторизации должны считываться из файла.

Варианты:

  • "true"
  • "false"

issuer

string

URI издателя OpenID Connect, представляющий сущность, которая выдает токены доступа для этого приложения.

kind

string

Тип ресурса.

microsoft_account_client_id

string

Идентификатор клиента OAuth 2.0, созданный для приложения, используемого для аутентификации.

Это значение требуется для включения аутентификации через Microsoft Account.

microsoft_account_client_secret

string

Секретный ключ клиента OAuth 2.0, созданный для приложения, используемого для аутентификации.

microsoft_account_client_secret_setting_name

string

Имя параметра приложения, содержащего секретный ключ клиента OAuth 2.0, созданный для приложения, используемого для аутентификации.

microsoft_account_o_auth_scopes

list / elements=string

Области OAuth 2.0, которые будут запрошены в рамках аутентификации через Microsoft Account.

runtime_version

string

RuntimeVersion функционала аутентификации/авторизации, используемого для текущего приложения.

token_refresh_extension_hours

float

Количество часов после истечения срока действия токена сессии, в течение которых токен сессии можно использовать для вызова API обновления токена.

token_store_enabled

boolean

Использовать ли хранилище токенов App Service.

Варианты:

  • false
  • true

twitter_consumer_key

string

Ключ потребителя OAuth 1.0a приложения Twitter, используемого для входа.

twitter_consumer_secret

string

Секретный ключ потребителя OAuth 1.0a приложения Twitter, используемого для входа.

Это значение требуется для включения входа через Twitter.

twitter_consumer_secret_setting_name

string

Имя параметра приложения, содержащего секретный ключ потребителя OAuth 1.0a приложения Twitter, используемого для входа.

unauthenticated_client_action

string

Действие, которое следует предпринять, когда неаутентифицированный клиент пытается получить доступ к приложению.

Варианты:

  • "RedirectToLoginPage"
  • "AllowAnonymous"

startup_file

string

Файл запуска веб-приложения.

Используется только для веб-приложений Linux.

state

string

Состояние веб-приложения.

Используйте present для создания или обновления веб-приложения и absent для его удаления.

Варианты:

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

subscription_id

string

Идентификатор вашей подписки Azure.

tags

dictionary

Словарь пар «строка:строка» для назначения метаданных объекту.

Метаданные теги объекта будут обновлены с любыми предоставленными значениями.

Для удаления тегов установите параметр append_tags в значение false.

В настоящее время зоны Azure DNS и службы Traffic Manager также не позволяют использовать пробелы в теге.

Azure Front Door не поддерживает использование

Azure Automation и Azure CDN поддерживают только 15 тегов для ресурсов.

tenant

string

Идентификатор Azure-аренды. Используется при аутентификации с помощью сервисного принципала.

thumbprint

string

добавлен в azure.azcollection 1.14.0

Отпечаток цифровой подписи открытого ключа, указанного в x509_certificate_path.

Используется при аутентификации с помощью сервисного принципала.

Требуется, если определен параметр x509_certificate_path.

x509_certificate_path

path

добавлен в azure.azcollection 1.14.0

Путь к сертификату X509, используемому для создания сервисного принципала в формате PEM.

Сертификат должен быть присоединен к закрытому ключу.

Используется при аутентификации с помощью сервисного принципала.

Примечания

Примечание

  • Для аутентификации с Azure вы можете передать параметры, установить переменные окружения, использовать профиль, сохранённый в ~/.azure/credentials, или войти перед выполнением задач или плейбука с az login.
  • Аутентификация также возможна с помощью служебного принципала или пользователя Active Directory.
  • Для аутентификации через служебного принципала передайте subscription_id, client_id, secret и tenant или установите переменные окружения AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET и AZURE_TENANT.
  • Для аутентификации через пользователя Active Directory передайте ad_user и password или установите AZURE_AD_USER и AZURE_PASSWORD в среде.
  • В качестве альтернативы данные об авторизации можно сохранить в ~/.azure/credentials. Это файл ini, содержащий раздел [default] и следующие ключи: subscription_id, client_id, secret и tenant или subscription_id, ad_user и password. Также возможно добавление дополнительных профилей. Укажите профиль, передав profile или установив AZURE_PROFILE в среде.

См. также

См. также

Вход в Azure CLI

Как выполнить аутентификацию с использованием команды az login.

Примеры

- name: Create a windows web app with non-exist app service plan
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myWinWebapp
    plan:
      resource_group: myAppServicePlan_rg
      name: myAppServicePlan
      is_linux: false
      sku: S1

- name: Create a docker web app with some app settings, with docker image
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myDockerWebapp
    plan:
      resource_group: myAppServicePlan_rg
      name: myAppServicePlan
      is_linux: true
      sku: S1
      number_of_workers: 2
    app_settings:
      testkey: testvalue
      testkey2: testvalue2
    container_settings:
      name: ansible/ansible:ubuntu1404

- name: Create a docker web app with private acr registry
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myDockerWebapp
    plan: myAppServicePlan
    app_settings:
      testkey: testvalue
    container_settings:
      name: ansible/ubuntu1404
      registry_server_url: myregistry.io
      registry_server_user: user
      registry_server_password: pass

- name: Create a multi-container web app
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myMultiContainerWebapp
    plan: myAppServicePlan
    app_settings:
      testkey: testvalue
    container_settings:
      name: "COMPOSE|{{ lookup('file', 'docker-compose.yml') | b64encode }}"

- name: Create a linux web app with Node 6.6 framework
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myLinuxWebapp
    plan:
      resource_group: myAppServicePlan_rg
      name: myAppServicePlan
    app_settings:
      testkey: testvalue
    frameworks:
      - name: "node"
        version: "18"

- name: Create a windows web app with node, php
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myWinWebapp
    plan:
      resource_group: myAppServicePlan_rg
      name: myAppServicePlan
    app_settings:
      testkey: testvalue
    frameworks:
      - name: "node"
        version: 18
      - name: "php"
        version: 8.2

- name: Create a stage deployment slot for an existing web app
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myWebapp/slots/stage
    plan:
      resource_group: myAppServicePlan_rg
      name: myAppServicePlan
    app_settings:
      testkey:testvalue

- name: Create a linux web app with java framework
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myLinuxWebapp
    plan:
      resource_group: myAppServicePlan_rg
      name: myAppServicePlan
    app_settings:
      testkey: testvalue
    frameworks:
      - name: "java"
        version: "8"
        settings:
          java_container: "Tomcat"
          java_container_version: "8.5"

- name: Create a windows web app with site_auth_settings
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myWindowWebapp
    site_auth_settings:
      client_id: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
      default_provider: 'MicrosoftAccount'
      runtime_version: '-2'
      token_refresh_extension_hours: 120
      unauthenticated_client_action: 'RedirectToLoginPage'
      client_secret: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
      token_store_enabled: false
      enabled: true
      is_auth_from_file: false
    plan:
      resource_group: myResourceGroup
      name: myLinuxwebapp
      is_linux: false
      sku: S1

- name: Create a linux web app with python framework
  azure_rm_webapp:
    resource_group: myResourceGroup
    name: myLinuxWebapp
    plan:
      resource_group: myAppServicePlan_rg
      name: myAppServicePlan
    app_settings:
      testkey: testvalue
    frameworks:
      - name: "python"
        version: "3.10"

Значения возврата

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

Ключ

Описание

id

строка

ID текущего веб-приложения.

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

Пример: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp"

Авторы

  • Yunge Zhu (@yungezz)

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

  • Система отслеживания задач
  • Главная страница
  • Репозиторий (источники)

© 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/azure/azcollection/azure_rm_webapp_module.html

Spec-Zone.ru

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