azure.azcollection.azure_rm_appgateway 模块 – 管理应用程序网关实例
注意
此模块是 azure.azcollection 集合 (版本 3.1.0) 的一部分。
如果您正在使用 ansible
包,则您可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install azure.azcollection
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:azure.azcollection.azure_rm_appgateway
。
azure.azcollection 0.1.2 中的新增功能
概要
创建、更新和删除应用程序网关实例。
要求
执行此模块的主机需要以下要求。
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 配置文件。 默认值: |
|
用于控制标签字段是规范的还是只是追加到现有标签。 如果为规范,则在 tags 参数中找不到的任何标签都将从对象的元数据中删除。 选项
|
|
控制用于身份验证的凭据来源。 也可以通过 设置为 设置为 设置为 设置为 设置为 Ansible 2.6 中添加了 选项
|
|
应用程序网关资源的身份验证证书。 |
|
证书公钥数据 - base64 编码的 pfx。 |
|
在资源组内唯一的资源名称。此名称可用于访问资源。 |
|
应用程序网关资源的自动缩放配置。 |
|
应用程序网关容量上限。 |
|
应用程序网关容量下限。 |
|
应用程序网关资源的后端地址池列表。 |
|
后端地址列表。 |
|
完全限定域名 (FQDN)。 |
|
IP 地址。 |
|
资源组内唯一的资源。此名称可用于访问资源。 |
|
应用程序网关资源的后端 HTTP 设置。 |
|
用于关联 Cookie 的 Cookie 名称。 |
|
应用程序网关身份验证证书的引用列表。 仅当 |
|
资源 ID。 |
|
后端 HTTP 设置资源的连接排空。 |
|
连接排空处于活动状态的秒数。可接受的值范围为 1 秒到 3600 秒。 |
|
连接排空是否启用。 选项
|
|
基于 Cookie 的关联性。 选项
|
|
要发送到后端服务器的主机标头。 |
|
在资源组内唯一的资源名称。此名称可用于访问资源。 |
|
用作所有 空表示不添加路径前缀。默认值为 null。 |
|
主机标头是否应从后端服务器的主机名中选择。默认值为 false。 选项
|
|
后端的目标端口。 |
|
应用程序网关的探测资源。 |
|
用于与后端通信的协议。 选项
|
|
请求超时(秒)。 如果在 RequestTimeout 内未收到响应,应用程序网关将使请求失败。 可接受的值范围为 1 秒到 86400 秒。 |
|
应用程序网关受信任根证书的引用数组。 可以是受信任根证书的名称或完整资源 ID。 |
|
控制 Azure 端点的证书验证行为。默认情况下,所有模块都将验证服务器证书,但在使用 HTTPS 代理或针对 Azure Stack 时,可能需要通过传递 选项
|
|
Azure 客户端 ID。使用服务主体或托管身份 (msi) 进行身份验证时使用。 也可以通过 |
|
对于美国公共云以外的云环境,环境名称(由 Azure Python SDK 定义,例如 默认值: |
|
确定尝试进行身份验证时是否执行实例发现。将其设置为 true 将完全禁用实例发现和权限验证。此功能旨在用于无法访问元数据端点的场景,例如私有云或 Azure Stack。实例发现过程需要从 https://login.microsoft.com/ 检索权限元数据以验证权限。通过将其设置为 **True**,将禁用权限的验证。因此,务必确保配置的权限主机有效且值得信赖。 通过凭据文件配置文件或 选项
|
|
应用程序网关资源上是否启用 HTTP2。 选项
|
|
应用程序网关资源的前端 IP 地址。 |
|
在资源组内唯一的资源名称。此名称可用于访问资源。 |
|
网络接口 IP 配置的 PrivateIPAddress。 |
|
PrivateIP 分配方法。 选项
|
|
PublicIP 资源的引用。 |
|
子网资源的引用。 |
|
子网资源的完整 ID。如果未提供 *name* 和 *virtual_network_name*,则需要此项。 |
|
子网名称。仅当也提供了 *virtual_network_name* 时才使用。 |
|
虚拟网络名称。仅当也提供了 *name* 时才使用。 |
|
应用程序网关资源的前端端口列表。 |
|
在资源组内唯一的资源名称。此名称可用于访问资源。 |
|
前端端口。 |
|
应用程序网关使用的子网列表。 |
|
在资源组内唯一的资源名称。此名称可用于访问资源。 |
|
子网资源的引用。应用程序网关从中获取其私有地址的子网。 |
|
子网资源的完整 ID。如果未提供 *name* 和 *virtual_network_name*,则需要此项。 |
|
子网名称。仅当也提供了 *virtual_network_name* 时才使用。 |
|
虚拟网络名称。仅当也提供了 *name* 时才使用。 |
|
启动或停止应用程序网关。指定此项后,将不会对网关进行任何更新。 选项
|
|
应用程序网关资源的 HTTP 侦听器列表。 |
|
应用程序网关的前端 IP 配置资源。 |
|
应用程序网关的前端端口资源。 |
|
http 侦听器的主机名。 |
|
在资源组内唯一的资源名称。此名称可用于访问资源。 |
|
http 侦听器的协议。 选项
|
|
仅当 *protocol* 为 选项
|
|
应用程序网关的 SSL 证书资源。 |
|
对象的标识 |
|
托管身份的类型 选项
|
|
用户分配的托管身份及其选项 默认值: |
|
如果身份列表需要附加到当前身份 (true),或者需要替换当前身份 (false) 选项
|
|
与对象关联的用户分配身份 ID 列表 默认值: |
|
资源位置。如果未设置,则将使用资源组中的位置作为默认值。 |
|
父参数。 |
|
父参数。 |
|
应用程序网关的名称。 |
|
Active Directory 用户密码。使用 Active Directory 用户而不是服务主体进行身份验证时使用。 |
|
应用程序网关可用的探测。 |
|
要向其发送 *probe* 的主机名。 |
|
探测间隔(秒)。 这是两次连续探测之间的时间间隔。 可接受的值范围为 1 秒到 86400 秒。 |
|
对健康探测响应进行分类的标准。 |
|
允许的健康状态代码范围。 健康状态代码的默认范围是 200-399。 |
|
*probe* 的名称,在应用程序网关内唯一。 |
|
*probe* 的相对路径。 有效的路径从“/”开始。 探测发送到 <Protocol>://<host>:<port><path>。 |
|
主机标头是否应从后端 HTTP 设置的主机名中选择。默认值为 false。 选项
|
|
将用于探测后端服务器的自定义端口。 有效值范围为 1 到 65535。 如果未设置,将使用 http 设置中的端口。 此属性仅对 |
|
用于 *probe* 的协议。 选项
|
|
探测超时(秒)。 如果在此超时期间未收到有效响应,则探测标记为失败。 可接受的值范围为 1 秒到 86400 秒。 |
|
*probe* 重试计数。 连续探测失败计数达到 UnhealthyThreshold 后,后端服务器将标记为关闭。 可接受的值范围为 1 秒到 20。 |
|
在 ~/.azure/credentials 文件中找到的安全配置文件。 |
|
应用程序网关资源的重定向配置。 |
|
在重定向的 url 中包含路径。 选项
|
|
在重定向的 url 中包含查询字符串。 选项
|
|
资源组内唯一的资源名称。 |
|
重定向绑定的 c(path_based_routing) 规则内的 URL 路径规则列表。 |
|
URL 规则的名称。 |
|
URL 路径映射的名称。 |
|
重定向类型。 选项
|
|
重定向绑定的应用程序网关内的 c(basic) 请求路由规则名称列表。 |
|
对要将请求重定向到的侦听器的引用。 |
|
重定向绑定的应用程序网关内的 URL 路径映射名称列表 (c(path_based_routing) 规则)。 |
|
应用程序网关资源的请求路由规则列表。 |
|
应用程序网关的后端地址池资源。如果 *rule_type* 为 |
|
应用程序网关的后端 |
|
应用程序网关的 HTTP 侦听器资源。 |
|
在资源组内唯一的资源名称。此名称可用于访问资源。 |
|
请求路由规则的优先级。 |
|
应用程序网关的重定向配置资源。 |
|
路径映射的重写规则集。 可以是重写规则集的名称或完整的资源 ID。 |
|
规则类型。 选项
|
|
应用程序网关的 URL 路径映射资源。如果rule_type 为 |
|
资源组的名称。 |
|
应用程序网关资源的重写配置列表。 |
|
重写规则集的名称。 |
|
重写规则列表。 |
|
作为重写规则一部分要执行的一组操作。 |
|
要对请求标头执行的操作列表。 默认值: |
|
标头的名称。 |
|
标头的值。 保留参数未设置以删除标头。 默认值: |
|
要对响应标头执行的操作列表。 默认值: |
|
标头的名称。 |
|
标头的值。 保留参数未设置以删除标头。 默认值: |
|
要对 URL 执行的操作。 |
|
将 URL 路径重写到的值。 保留参数未设置以保留原始 URL 路径。 |
|
将 URL 查询字符串重写到的值。 保留参数未设置以保留原始 URL 查询字符串。 |
|
如果设置为 true,则将使用修改后的路径重新评估基于路径的请求路由规则中提供的路径映射。 选项
|
|
基于这些条件将评估操作集的执行。 默认值: |
|
将此值设置为 true 将强制模式进行不区分大小写的比较。 选项
|
|
将此值设置为 true 将强制检查用户提供的条件的反义。 选项
|
|
评估条件真假的模式,可以是固定字符串或正则表达式。 |
|
条件的参数。 |
|
重写规则的名称。 |
|
规则的序列,确定集合内执行的顺序。 |
|
Azure 客户机密钥。使用服务主体进行身份验证时使用。 |
|
应用程序网关资源的 SKU。 |
|
应用程序网关的容量(实例数)。 |
|
应用程序网关 SKU 的名称。 选项
|
|
应用程序网关的分层。 选项
|
|
应用程序网关资源的 SSL 证书。 |
|
Base-64 编码的 pfx 证书。 仅适用于 PUT 请求。 |
|
在资源组内唯一的资源名称。此名称可用于访问资源。 |
|
在data中指定的 pfx 文件的密码。 仅适用于 PUT 请求。 |
|
应用程序网关资源的 SSL 策略。 |
|
要按指定顺序启用到应用程序网关的 SSL 密码套件列表。 选项
|
|
要在应用程序网关上禁用的 SSL 协议列表。 选项
|
|
要在应用程序网关上支持的 SSL 协议的最低版本。 选项
|
|
Ssl 选项
|
|
SSL 策略的类型。 选项
|
|
声明应用程序网关的状态。使用 选项
|
|
您的 Azure 订阅 ID。 |
|
字符串:字符串对的字典,作为元数据分配给对象。 对象上的元数据标签将使用任何提供的数值进行更新。 要删除标签,请将 append_tags 选项设置为 false。 目前,Azure DNS 区域和流量管理器服务也不允许在标签中使用空格。 Azure 前端门户不支持使用 Azure 自动化和 Azure CDN 资源上只支持 15 个标签。 |
|
Azure 租户 ID。使用服务主体进行身份验证时使用。 |
|
在x509_certificate_path中指定的私钥的指纹。 使用服务主体进行身份验证时使用。 如果定义了x509_certificate_path,则必需。 |
|
应用程序网关资源的可信根证书。 |
|
证书公共数据。 |
|
存储在 KeyVault 中的 (Base-64 编码的未加密 pfx)“密钥”或“证书”对象的密钥 ID。 默认值: |
|
在应用程序网关内唯一的可信根证书的名称。 |
|
应用程序网关资源的 URL 路径映射列表。 |
|
如果没有任何路径匹配,则将使用的应用程序网关的后端地址池资源。 与default_redirect_configuration互斥。 |
|
应用程序网关的后端 HTTP 设置资源;与default_backend_address_pool一起使用。 |
|
如果没有任何路径匹配,则将使用的应用程序网关的重定向配置资源的名称。 与default_backend_address_pool互斥。 |
|
路径映射的默认重写规则集。 可以是重写规则集的名称或完整的资源 ID。 |
|
在应用程序网关内唯一的资源名称。此名称可用于访问资源。 |
|
URL 路径规则列表。 |
|
如果路径匹配,则将使用的应用程序网关的后端地址池资源。 与redirect_configuration互斥。 |
|
应用程序网关的后端 HTTP 设置资源;用于路径的backend_address_pool。 |
|
在路径映射内唯一的资源名称。 |
|
路径列表。 |
|
如果路径匹配,则将使用的应用程序网关的重定向配置资源的名称。 与backend_address_pool互斥。 |
|
路径映射的重写规则集。 可以是重写规则集的名称或完整的资源 ID。 |
|
应用程序网关资源的 Web 应用程序防火墙配置。 |
|
禁用的规则组。 默认值: |
|
将被禁用的规则组的名称。 |
|
将被禁用的规则列表。如果为 null,则将禁用规则组的所有规则。 默认值: |
|
Web 应用程序防火墙是否启用。 选项
|
|
排除列表。 默认值: |
|
要排除的变量。 |
|
当 match_variable 是一个集合时,用于指定此排除适用于集合中哪些元素的操作符。 |
|
当 match_variable 是一个集合时,对选择器进行操作以指定此排除适用于集合中哪些元素。 |
|
WAF 的最大文件上传大小(以 MB 为单位)。 |
|
Web 应用程序防火墙模式。 选项
|
|
WAF 的最大请求正文大小。 |
|
WAF 的最大请求正文大小(以 KB 为单位)。 |
|
是否允许 WAF 检查请求正文。 选项
|
|
Web 应用程序防火墙规则集的类型。 可能的值为“OWASP”。 选项
|
|
规则集类型的版本。 |
|
用于创建 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 instance of Application Gateway
azure_rm_appgateway:
resource_group: myResourceGroup
name: myAppGateway
sku:
name: standard_small
tier: standard
capacity: 2
gateway_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: app_gateway_ip_config
frontend_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: sample_gateway_frontend_ip_config
frontend_ports:
- port: 90
name: ag_frontend_port
backend_address_pools:
- backend_addresses:
- ip_address: 10.0.0.4
name: test_backend_address_pool
backend_http_settings_collection:
- port: 80
protocol: http
cookie_based_affinity: enabled
connection_draining:
drain_timeout_in_sec: 60
enabled: true
name: sample_appgateway_http_settings
http_listeners:
- frontend_ip_configuration: sample_gateway_frontend_ip_config
frontend_port: ag_frontend_port
name: sample_http_listener
request_routing_rules:
- rule_type: basic
backend_address_pool: test_backend_address_pool
backend_http_settings: sample_appgateway_http_settings
http_listener: sample_http_listener
name: rule1
priority: 100
- name: Create instance of Application Gateway with custom trusted root certificate
azure_rm_appgateway:
resource_group: myResourceGroup
name: myAppGateway
sku:
name: standard_small
tier: standard
capacity: 2
gateway_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: app_gateway_ip_config
frontend_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: sample_gateway_frontend_ip_config
frontend_ports:
- port: 90
name: ag_frontend_port
trusted_root_certificates:
- name: "root_cert"
key_vault_secret_id: "https://kv/secret"
backend_address_pools:
- backend_addresses:
- ip_address: 10.0.0.4
name: test_backend_address_pool
backend_http_settings_collection:
- port: 80
protocol: http
cookie_based_affinity: enabled
connection_draining:
drain_timeout_in_sec: 60
enabled: true
name: sample_appgateway_http_settings
trusted_root_certificates:
- "root_cert"
http_listeners:
- frontend_ip_configuration: sample_gateway_frontend_ip_config
frontend_port: ag_frontend_port
name: sample_http_listener
request_routing_rules:
- rule_type: basic
priority: 100
backend_address_pool: test_backend_address_pool
backend_http_settings: sample_appgateway_http_settings
http_listener: sample_http_listener
name: rule1
- name: Create instance of Application Gateway by looking up virtual network and subnet
azure_rm_appgateway:
resource_group: myResourceGroup
name: myAppGateway
sku:
name: standard_small
tier: standard
capacity: 2
gateway_ip_configurations:
- subnet:
name: default
virtual_network_name: my-vnet
name: app_gateway_ip_config
frontend_ip_configurations:
- subnet:
name: default
virtual_network_name: my-vnet
name: sample_gateway_frontend_ip_config
frontend_ports:
- port: 90
name: ag_frontend_port
backend_address_pools:
- backend_addresses:
- ip_address: 10.0.0.4
name: test_backend_address_pool
backend_http_settings_collection:
- port: 80
protocol: http
cookie_based_affinity: enabled
name: sample_appgateway_http_settings
http_listeners:
- frontend_ip_configuration: sample_gateway_frontend_ip_config
frontend_port: ag_frontend_port
name: sample_http_listener
request_routing_rules:
- rule_type: basic
priority: 100
backend_address_pool: test_backend_address_pool
backend_http_settings: sample_appgateway_http_settings
http_listener: sample_http_listener
name: rule1
- name: Create instance of Application Gateway with path based rules
azure_rm_appgateway:
resource_group: myResourceGroup
name: myAppGateway
sku:
name: standard_small
tier: standard
capacity: 2
gateway_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: app_gateway_ip_config
frontend_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: sample_gateway_frontend_ip_config
frontend_ports:
- port: 90
name: ag_frontend_port
backend_address_pools:
- backend_addresses:
- ip_address: 10.0.0.4
name: test_backend_address_pool
backend_http_settings_collection:
- port: 80
protocol: http
cookie_based_affinity: enabled
name: sample_appgateway_http_settings
http_listeners:
- frontend_ip_configuration: sample_gateway_frontend_ip_config
frontend_port: ag_frontend_port
name: sample_http_listener
request_routing_rules:
- rule_type: path_based_routing
priority: 100
http_listener: sample_http_listener
name: rule1
url_path_map: path_mappings
url_path_maps:
- name: path_mappings
default_backend_address_pool: test_backend_address_pool
default_backend_http_settings: sample_appgateway_http_settings
path_rules:
- name: path_rules
backend_address_pool: test_backend_address_pool
backend_http_settings: sample_appgateway_http_settings
paths:
- "/abc"
- "/123/*"
- name: Create instance of Application Gateway with complex routing and redirect rules
azure_rm_appgateway:
resource_group: myResourceGroup
name: myComplexAppGateway
sku:
name: standard_small
tier: standard
capacity: 2
ssl_policy:
policy_type: "predefined"
policy_name: "ssl_policy20170401_s"
ssl_certificates:
- name: ssl_cert
password: "{{ password }}"
data: "{{ lookup('file', 'certfile') }}"
gateway_ip_configurations:
- subnet:
id: "{{ subnet_output.state.id }}"
name: app_gateway_ip_config
frontend_ip_configurations:
- subnet:
id: "{{ subnet_output.state.id }}"
name: sample_gateway_frontend_ip_config
frontend_ports:
- name: "inbound-http"
port: 80
- name: "inbound-https"
port: 443
backend_address_pools:
- name: test_backend_address_pool1
backend_addresses:
- ip_address: 10.0.0.1
- name: test_backend_address_pool2
backend_addresses:
- ip_address: 10.0.0.2
backend_http_settings_collection:
- name: "http-profile1"
port: 443
protocol: https
pick_host_name_from_backend_address: true
probe: "http-probe1"
cookie_based_affinity: "Disabled"
- name: "http-profile2"
port: 8080
protocol: http
pick_host_name_from_backend_address: true
probe: "http-probe2"
cookie_based_affinity: "Disabled"
http_listeners:
- name: "inbound-http"
protocol: "http"
frontend_ip_configuration: "sample_gateway_frontend_ip_config"
frontend_port: "inbound-http"
- name: "inbound-traffic1"
protocol: "https"
frontend_ip_configuration: "sample_gateway_frontend_ip_config"
frontend_port: "inbound-https"
host_name: "traffic1.example.com"
require_server_name_indication: true
ssl_certificate: "ssl_cert"
- name: "inbound-traffic2"
protocol: "https"
frontend_ip_configuration: "sample_gateway_frontend_ip_config"
frontend_port: "inbound-https"
host_name: "traffic2.example.com"
require_server_name_indication: true
ssl_certificate: "ssl_cert"
url_path_maps:
- name: "path_mappings"
default_redirect_configuration: "redirect-traffic1"
path_rules:
- name: "path_rules"
backend_address_pool: "test_backend_address_pool1"
backend_http_settings: "http-profile1"
paths:
- "/abc"
- "/123/*"
request_routing_rules:
- name: "app-routing1"
rule_type: "basic"
priority: 100
http_listener: "inbound-traffic1"
backend_address_pool: "test_backend_address_pool2"
backend_http_settings: "http-profile1"
- name: "app-routing2"
rule_type: "path_based_routing"
priority: 101
http_listener: "inbound-traffic2"
url_path_map: "path_mappings"
- name: "redirect-routing"
rule_type: "basic"
priority: 102
http_listener: "inbound-http"
redirect_configuration: "redirect-http"
probes:
- name: "http-probe1"
interval: 30
path: "/abc"
protocol: "https"
pick_host_name_from_backend_http_settings: true
timeout: 30
unhealthy_threshold: 2
- name: "http-probe2"
interval: 30
path: "/xyz"
protocol: "http"
pick_host_name_from_backend_http_settings: true
timeout: 30
unhealthy_threshold: 2
redirect_configurations:
- name: "redirect-http"
redirect_type: "permanent"
target_listener: "inbound-traffic1"
include_path: true
include_query_string: true
request_routing_rules:
- "redirect-routing"
- name: "redirect-traffic1"
redirect_type: "found"
target_listener: "inbound-traffic1"
include_path: true
include_query_string: true
url_path_maps:
- "path_mappings"
- name: Create v2 instance of Application Gateway with rewrite rules
azure_rm_appgateway:
resource_group: myResourceGroup
name: myV2AppGateway
sku:
name: standard_v2
tier: standard_v2
capacity: 2
ssl_policy:
policy_type: predefined
policy_name: ssl_policy20170401_s
ssl_certificates:
- name: ssl_cert
password: "{{ password }}"
data: "{{ lookup('file', ssl_cert) }}"
gateway_ip_configurations:
- subnet:
id: "{{ subnet_output.state.id }}"
name: app_gateway_ip_config
frontend_ip_configurations:
- name: "public-inbound-ip"
public_ip_address: my-appgw-pip
frontend_ports:
- name: "inbound-http"
port: 80
- name: "inbound-https"
port: 443
backend_address_pools:
- name: test_backend_address_pool1
backend_addresses:
- ip_address: 10.0.0.1
- name: test_backend_address_pool2
backend_addresses:
- ip_address: 10.0.0.2
backend_http_settings_collection:
- name: "http-profile1"
port: 443
protocol: https
pick_host_name_from_backend_address: true
probe: "http-probe1"
cookie_based_affinity: "Disabled"
- name: "http-profile2"
port: 8080
protocol: http
pick_host_name_from_backend_address: true
probe: "http-probe2"
cookie_based_affinity: "Disabled"
http_listeners:
- name: "inbound-http"
protocol: "http"
frontend_ip_configuration: "public-inbound-ip"
frontend_port: "inbound-http"
- name: "inbound-traffic1"
protocol: "https"
frontend_ip_configuration: "public-inbound-ip"
frontend_port: "inbound-https"
host_name: "traffic1.example.com"
require_server_name_indication: true
ssl_certificate: "ssl_cert"
- name: "inbound-traffic2"
protocol: "https"
frontend_ip_configuration: "public-inbound-ip"
frontend_port: "inbound-https"
host_name: "traffic2.example.com"
require_server_name_indication: true
ssl_certificate: "ssl_cert"
url_path_maps:
- name: "path_mappings"
default_redirect_configuration: "redirect-traffic1"
default_rewrite_rule_set: "configure-headers"
path_rules:
- name: "path_rules"
backend_address_pool: "test_backend_address_pool1"
backend_http_settings: "http-profile1"
paths:
- "/abc"
- "/123/*"
request_routing_rules:
- name: "app-routing1"
rule_type: "basic"
priority: 100
http_listener: "inbound-traffic1"
backend_address_pool: "test_backend_address_pool2"
backend_http_settings: "http-profile1"
rewrite_rule_set: "configure-headers"
- name: "app-routing2"
rule_type: "path_based_routing"
priority: 101
http_listener: "inbound-traffic2"
url_path_map: "path_mappings"
- name: "redirect-routing"
rule_type: "basic"
priority: 102
http_listener: "inbound-http"
redirect_configuration: "redirect-http"
rewrite_rule_sets:
- name: "configure-headers"
rewrite_rules:
- name: "add-security-response-header"
rule_sequence: 1
action_set:
response_header_configurations:
- header_name: "Strict-Transport-Security"
header_value: "max-age=31536000"
- name: "remove-backend-response-headers"
rule_sequence: 2
action_set:
response_header_configurations:
- header_name: "Server"
- header_name: "X-Powered-By"
- name: "set-custom-header-condition"
rule_sequence: 3
conditions:
- variable: "var_client_ip"
pattern: "1.1.1.1"
- variable: "http_req_Authorization"
pattern: "12345"
ignore_case: false
action_set:
request_header_configurations:
- header_name: "Foo"
header_value: "Bar"
probes:
- name: "http-probe1"
interval: 30
path: "/abc"
protocol: "https"
pick_host_name_from_backend_http_settings: true
timeout: 30
unhealthy_threshold: 2
- name: "http-probe2"
interval: 30
path: "/xyz"
protocol: "http"
pick_host_name_from_backend_http_settings: true
timeout: 30
unhealthy_threshold: 2
redirect_configurations:
- name: "redirect-http"
redirect_type: "permanent"
target_listener: "inbound-traffic1"
include_path: true
include_query_string: true
request_routing_rules:
- "redirect-routing"
- name: "redirect-traffic1"
redirect_type: "found"
target_listener: "inbound-traffic1"
include_path: true
include_query_string: true
url_path_maps:
- "path_mappings"
- name: Create instance of Application Gateway with autoscale configuration
azure_rm_appgateway:
resource_group: myResourceGroup
name: myAppGateway
sku:
name: standard_small
tier: standard
autoscale_configuration:
max_capacity: 2
min_capacity: 1
gateway_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: app_gateway_ip_config
frontend_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: sample_gateway_frontend_ip_config
frontend_ports:
- port: 90
name: ag_frontend_port
backend_address_pools:
- backend_addresses:
- ip_address: 10.0.0.4
name: test_backend_address_pool
backend_http_settings_collection:
- port: 80
protocol: http
cookie_based_affinity: enabled
name: sample_appgateway_http_settings
http_listeners:
- frontend_ip_configuration: sample_gateway_frontend_ip_config
frontend_port: ag_frontend_port
name: sample_http_listener
request_routing_rules:
- rule_type: basic
priority: 100
backend_address_pool: test_backend_address_pool
backend_http_settings: sample_appgateway_http_settings
http_listener: sample_http_listener
name: rule1
- name: Create instance of Application Gateway waf_v2 with waf configuration
azure_rm_appgateway:
resource_group: myResourceGroup
name: myAppGateway
sku:
name: waf_v2
tier: waf_v2
capacity: 2
gateway_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: app_gateway_ip_config
frontend_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: sample_gateway_frontend_ip_config
frontend_ports:
- port: 90
name: ag_frontend_port
backend_address_pools:
- backend_addresses:
- ip_address: 10.0.0.4
name: test_backend_address_pool
backend_http_settings_collection:
- port: 80
protocol: http
cookie_based_affinity: enabled
name: sample_appgateway_http_settings
http_listeners:
- frontend_ip_configuration: sample_gateway_frontend_ip_config
frontend_port: ag_frontend_port
name: sample_http_listener
request_routing_rules:
- rule_type: basic
priority: 100
backend_address_pool: test_backend_address_pool
backend_http_settings: sample_appgateway_http_settings
http_listener: sample_http_listener
name: rule1
web_application_firewall_configuration:
- enabled: true
firewall_mode: Detection
rule_set_type: OWASP
rule_set_version: 3.0
request_body_check: true
max_request_body_size_in_kb: 128
file_upload_limit_in_mb: 100
- name: Create application gateway with multi parameters
azure_rm_appgateway:
resource_group: myResourceGroup
name: myappgateway
sku:
name: standard_v2
tier: standard_v2
capacity: 2
gateway_ip_configurations:
- subnet:
id: "{{ subnet_id }}"
name: app_gateway_ip_config
frontend_ip_configurations:
- name: sample_gateway_frontend_ip_config
public_ip_address: "pip{{ rpfx }}"
frontend_ports:
- port: 80
name: http_frontend_port
backend_address_pools:
- name: test_backend_address_pool # empty pool which will receive attachment to NIC.
backend_http_settings_collection:
- port: 80
protocol: http
cookie_based_affinity: enabled
name: sample_appgateway_http_settings
http_listeners:
- frontend_ip_configuration: sample_gateway_frontend_ip_config
frontend_port: http_frontend_port
protocol: http
name: http_listener
probes:
- name: testprobes01
protocol: http
path: '/'
timeout: 30
host: testazure
interval: 90
port: 80
match:
status_codes:
- 200
request_routing_rules:
- rule_type: basic
priority: 100
backend_address_pool: test_backend_address_pool
backend_http_settings: sample_appgateway_http_settings
http_listener: http_listener
name: rule1
- name: Stop an Application Gateway instance
azure_rm_appgateway:
resource_group: myResourceGroup
name: myAppGateway
gateway_state: stopped
- name: Start an Application Gateway instance
azure_rm_appgateway:
resource_group: myResourceGroup
name: myAppGateway
gateway_state: started
返回值
常用的返回值已在此处记录,以下是此模块特有的字段
键 |
描述 |
---|---|
应用程序网关资源 ID。 返回:始终 示例: |
|
应用网关位置。 返回:始终 示例: |
|
应用网关名称。 返回:始终 示例: |
|
应用网关的运行状态。 返回:始终 示例: |
|
应用网关的配置状态。 返回:始终 示例: |
|
资源组名称。 返回:始终 示例: |