Documentation

gcp_url_map - Create, Update or Destory a Url_Map.

New in version 2.4.

Synopsis

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.

Notes

Note

  • Only supports global Backend Services.
  • Url_Map tests are not currently supported.

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

Hint

If you notice any issues in this documentation you can edit this document to improve it.