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。 返回:始终 示例: |