gcp_url_map - Create, Update or Destory a Url_Map.¶
New in version 2.4.
Synopsis¶
- Create, Update or Destory a Url_Map. See https://cloud.google.com/compute/docs/load-balancing/http/url-map for an overview. More details on the Url_Map API can be found at https://cloud.google.com/compute/docs/reference/latest/urlMaps#resource.
Requirements¶
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
Parameters¶
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.
|
Examples¶
- 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"
Return Values¶
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
|
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance¶
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.
Author¶
- Tom Melendez (@supertom) <tom@supertom.com>
Hint
If you notice any issues in this documentation you can edit this document to improve it.