azure.azcollection.azure_rm_webapp 模块 – 管理 Web 应用实例
注意
此模块是 azure.azcollection 集合 (版本 3.1.0) 的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用: ansible-galaxy collection install azure.azcollection。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定: azure.azcollection.azure_rm_webapp。
azure.azcollection 0.1.2 中的新增功能
概要
- 创建、更新和删除 Web 应用实例。 
要求
在执行此模块的主机上需要以下要求。
- python >= 2.7 
- 执行此模块的主机必须通过 galaxy 安装 azure.azcollection 集合 
- 集合的 requirements.txt 中列出的所有 python 包必须通过 pip 安装在执行 azure.azcollection 中模块的主机上 
- 完整的安装说明可在 https://galaxy.ansible.com/azure/azcollection 找到 
参数
| 参数 | 注释 | 
|---|---|
| Active Directory 用户名。使用 Active Directory 用户而不是服务主体进行身份验证时使用。 | |
| Azure AD 授权 URL。使用用户名/密码进行身份验证时使用,并具有您自己的 ADFS 授权。 | |
| 即使没有流量,也能使应用程序保持加载状态。 选项 
 | |
| 选择与 Azure 服务通信时要使用的 API 配置文件。 默认值:  | |
| 配置 Web 应用应用程序设置。子选项采用键值对格式。 | |
| 启动/停止/重启 Web 应用。 选项 
 | |
| 用于控制标签字段是规范的还是只是附加到现有标签。 如果是规范的,则在 tags 参数中找不到的任何标签都将从对象的元数据中删除。 选项 
 | |
| 控制用于身份验证的凭据来源。 也可以通过  当设置为  当设置为  当设置为  当设置为  当设置为  Ansible 2.6 中添加了  选项 
 | |
| 控制 Azure 端点的证书验证行为。默认情况下,所有模块都将验证服务器证书,但在使用 HTTPS 代理或针对 Azure Stack 时,可能需要通过传递  选项 
 | |
| 是否发送会话关联 Cookie,这些 Cookie 将同一会话中的客户端请求路由到同一实例。 选项 
 | |
| Azure 客户端 ID。使用服务主体或托管身份 (msi) 进行身份验证时使用。 也可以通过  | |
| 对于美国公共云以外的云环境,环境名称(由 Azure Python SDK 定义,例如  默认值:  | |
| Web 应用容器设置。 | |
| 容器的名称,例如  要创建多容器应用程序,名称应为“COMPOSE|”或“KUBE|”,后跟 base64 编码的配置。 | |
| 容器注册表服务器密码。 | |
| 容器注册表服务器 URL,例如  | |
| 容器注册表服务器用户名。 | |
| Git 的部署源。 | |
| 存储库的分支名称。 | |
| 部署源的仓库 URL。 | |
| 确定在尝试身份验证时是否执行实例发现。将其设置为 true 将完全禁用实例发现和权限验证。此功能旨在用于无法访问元数据终结点的情况,例如私有云或 Azure Stack。实例发现过程需要从https://login.microsoft.com/检索权限元数据以验证权限。将其设置为**True**将禁用权限验证。因此,务必确保配置的权限主机有效且值得信赖。 通过凭据文件配置文件或 选项 
 | |
| 运行时框架设置集。每个设置都是一个字典。 更多信息,请参见https://docs.microsoft.com/en-us/azure/app-service/app-service-web-overview。 | |
| 框架名称。 Windows Web 应用和 Linux Web 应用支持的框架列表不同。 从 2018 年 6 月起,Windows Web 应用支持 Windows Web 应用同时支持多个框架。 从 2018 年 6 月起,Linux Web 应用支持 Linux Web 应用仅支持一个框架。 Java 框架与其他框架互斥。 选项 
 | |
| 框架设置列表。 | |
| Java 容器名称。 仅在frameworks=java时支持。示例值 | |
| Java 容器版本。 仅在frameworks=java时支持。 针对 | |
| 框架版本。有关 Linux Web 应用支持的值,请参阅https://aka.ms/linux-stacks了解更多信息。 
 
 
 
 
 
 
 | |
| FTP/FTPS 服务的状态。 选项 
 | |
| 配置网站以允许客户端通过 HTTP 2.0 连接。 选项 
 | |
| 配置网站仅接受 https 请求。 选项 
 | |
| 对象的标识 | |
| 托管标识的类型 选项 
 | |
| 用户分配的托管标识及其选项 默认值:  | |
| 标识列表是否要添加到当前标识 (true) 还是替换当前标识 (false) 选项 
 | |
| 与对象关联的用户分配的标识 ID 列表 默认值:  | |
| 资源位置。如果未设置,则使用资源组中的位置作为默认值。 | |
| 父参数。 | |
| 父参数。 | |
| 应用程序所需的最低 TLS 加密版本。 选项 
 | |
| 要创建或更新的应用程序的唯一名称。要创建或更新部署槽,请使用 {slot} 参数。 | |
| Active Directory 用户密码。使用 Active Directory 用户而不是服务主体进行身份验证时使用。 | |
| 应用服务计划。创建时需要。 可以是与 Web 应用位于同一资源组中的现有应用服务计划的名称。 可以是现有应用服务计划的资源 ID。例如 /subscriptions/ 可以是包含以下五个参数的字典。 
 
 
 
 
 | |
| 在 ~/.azure/credentials 文件中找到的安全配置文件。 | |
| 清除所有现有应用程序设置。使用 app_settings 替换 Web 应用应用程序设置。 选项 
 | |
| 资源所属资源组的名称。 | |
| 部署源的仓库类型,例如 支持的值列表维护在https://docs.microsoft.com/en-us/rest/api/appservice/webapps/createorupdate#scmtype。 | |
| Azure 客户端密钥。使用服务主体进行身份验证时使用。 | |
| Azure 应用服务身份验证/授权功能的配置设置。 | |
| 获取包含 Azure AD ACL 设置的 JSON 字符串。 | |
| 用户登录时发送到 OpenID Connect 授权终结点的登录参数。 每个参数必须采用“键=值”的形式。 | |
| 验证 Azure Active Directory 发出的 JWT 时要考虑的允许的受众值。 | |
| 可以重定向到的外部 URL,作为登录或注销应用程序的一部分。 请注意,URL 的查询字符串部分将被忽略。 | |
| 包含身份验证设置的配置文件的路径。 如果路径是相对路径,则基路径将是站点的根目录。 | |
| 此依赖方应用程序的客户端 ID,称为 client_id。 | |
| 此依赖方应用程序的客户端密钥(在 Azure Active Directory 中,这也称为密钥)。 | |
| 客户端密钥的替代项,即用于签名目的的证书的指纹。 此属性充当客户端密钥的替代项。它也是可选的。 | |
| 包含依赖方应用程序客户端密钥的应用设置名称。 | |
| 当前应用程序中使用的身份验证/授权功能的 ConfigVersion。 此值中的设置可以控制身份验证/授权的控制平面的行为。 | |
| 配置多个提供程序时要使用的默认身份验证提供程序。 选项 
 | |
| 是否为当前应用程序启用或禁用身份验证/授权功能。 选项 
 | |
| 用于登录的 Facebook 应用的应用 ID。 | |
| 用于 Facebook 登录的 Facebook 应用的应用密钥。 | |
| 包含用于 Facebook 登录的应用密钥的应用设置名称。 | |
| 作为 Facebook 登录一部分将请求的 OAuth 2.0 范围。 | |
| 用于登录的 GitHub 应用的客户端 ID。 | |
| 用于 GitHub 登录的 GitHub 应用的客户端密钥。 | |
| 包含用于 GitHub 登录的 GitHub 应用客户端密钥的应用设置名称。 | |
| 作为 GitHub 登录身份验证一部分将请求的 OAuth 2.0 范围。 此设置可选。 | |
| Google Web 应用的 OpenID Connect 客户端 ID。 | |
| 与 Google Web 应用关联的客户端密钥。 | |
| 包含与 Google Web 应用关联的客户端密钥的应用设置名称。 | |
| 作为 Google 登录身份验证的一部分将请求的 OAuth 2.0 范围。 此设置可选。如果未指定,“openid”、“profile”和“email”将用作默认范围。 | |
| 如果is_auth_from_file=true,则应从文件中读取身份验证配置设置。 选项 
 | |
| 代表为该应用程序颁发访问令牌的实体的 OpenID Connect 发行者 URI。 | |
| 资源类型。 | |
| 为用于身份验证的应用程序创建的 OAuth 2.0 客户端 ID。 启用 Microsoft 帐户身份验证需要此设置。 | |
| 为用于身份验证的应用程序创建的 OAuth 2.0 客户端密钥。 | |
| 包含为用于身份验证的应用程序创建的 OAuth 2.0 客户端密钥的应用设置名称。 | |
| 作为 Microsoft 帐户身份验证的一部分将请求的 OAuth 2.0 范围。 | |
| 当前应用程序中使用的身份验证/授权功能的 RuntimeVersion。 | |
| 会话令牌过期后,可以使用会话令牌调用令牌刷新 API 的小时数。 | |
| 是否使用 App Service 令牌存储。 选项 
 | |
| 用于登录的 Twitter 应用程序的 OAuth 1.0a 密钥。 | |
| 用于登录的 Twitter 应用程序的 OAuth 1.0a 密钥秘密。 启用 Twitter 登录需要此设置。 | |
| 包含用于登录的 Twitter 应用程序的 OAuth 1.0a 密钥秘密的应用设置名称。 | |
| 未经身份验证的客户端尝试访问应用程序时要采取的操作。 选项 
 | |
| Web 应用的启动文件。 仅用于 Linux Web 应用。 | |
| Web 应用的状态。 使用  选项 
 | |
| 您的 Azure 订阅 ID。 | |
| 作为元数据分配给对象的字符串:字符串对的字典。 对象的元数据标签将使用任何提供的数值进行更新。 要删除标签,请将 append_tags 选项设置为 false。 目前,Azure DNS 区域和流量管理器服务也不允许在标签中使用空格。 Azure 前端门户不支持使用 Azure 自动化和 Azure CDN 仅支持资源上的 15 个标签。 | |
| Azure 租户 ID。使用服务主体进行身份验证时使用。 | |
| 在x509_certificate_path中指定的私钥的指纹。 使用服务主体进行身份验证时使用。 如果定义了x509_certificate_path,则需要此项。 | |
| PEM 格式下用于创建服务主体的 X509 证书的路径。 证书必须附加到私钥。 使用服务主体进行身份验证时使用。 | 
备注
注意
- 对于使用 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 中。这是一个包含 [default] 部分和以下键的 ini 文件: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: "{{ password }}"
- 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"
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 当前 Web 应用的 ID。 返回:始终 示例:  | 
