gcp_url_map - Create, Update or Destory a Url_Map.
The below requirements are needed on the host that executes this module.
- python >= 2.6
- google-api-python-client >= 1.6.2
- google-auth >= 0.9.0
- google-auth-httplib2 >= 0.0.2
Parameter |
Choices/Defaults |
Comments |
default_service
required |
|
Default Backend Service if no host rules match.
|
host_rules
|
|
The list of HostRules to use against the URL. Contains a list of hosts and an associated path_matcher.
The 'hosts' parameter is a list of host patterns to match. They must be valid hostnames, except * will match any string of ([a-z0-9-.]*). In that case, * must be the first character and must be followed in the pattern by either - or ..
The 'path_matcher' parameter is name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion.
|
path_matchers
|
|
The list of named PathMatchers to use against the URL. Contains path_rules, which is a list of paths and an associated service. A default_service can also be specified for each path_matcher.
The 'name' parameter to which this path_matcher is referred by the host_rule.
The 'default_service' parameter is the name of the BackendService resource. This will be used if none of the path_rules defined by this path_matcher is matched by the URL's path portion.
The 'path_rules' parameter is a list of dictionaries containing a list of paths and a service to direct traffic to. Each path item must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or
|
url_map_name
required |
|
Name of the Url_Map.
|
Note
- Only supports global Backend Services.
- Url_Map tests are not currently supported.
- name: Create Minimal Url_Map
gcp_url_map:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
url_map_name: my-url_map
default_service: my-backend-service
state: present
- name: Create UrlMap with pathmatcher
gcp_url_map:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
url_map_name: my-url-map-pm
default_service: default-backend-service
path_matchers:
- name: 'path-matcher-one'
description: 'path matcher one'
default_service: 'bes-pathmatcher-one-default'
path_rules:
- service: 'my-one-bes'
paths:
- '/data'
- '/aboutus'
host_rules:
- hosts:
- '*.'
path_matcher: 'path-matcher-one'
state: "present"
Common return values are documented here, the following are the fields unique to this module:
Key |
Returned |
Description |
host_rules
dict
|
If specified. |
List of HostRules.
Sample:
[{'path_matcher': 'my-pm', 'hosts': ['*.']}]
|
path_matchers
dict
|
If specified. |
The list of named PathMatchers to use against the URL.
Sample:
[{'name': 'my-pm', 'service': 'my-service', 'path_rules': [{'paths': ['/data']}]}]
|
state
str
|
Always. |
state of the Url_Map
Sample:
present
|
updated_url_map
bool
|
if the url_map has been updated. |
True if the url_map has been updated. Will not appear on initial url_map creation.
Sample:
True
|
url_map
dict
|
Always. Refer to GCP documentation for detailed field descriptions. |
GCP Url_Map dictionary
Sample:
{'pathMatchers': ['...'], 'name': 'my-url-map', 'hostRules': ['...']}
|
url_map_name
str
|
Always |
Name of the Url_Map
Sample:
my-url-map
|
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Hint
If you notice any issues in this documentation you can edit this document to improve it.