gcp_url_map – Create, Update or Destory a Url_Map.

From Get docs
Ansible/docs/2.7/modules/gcp url map module


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

dictionary

If specified.

List of HostRules.


Sample:

[{'hosts': ['*.'], 'path_matcher': 'my-pm'}]

path_matchers

dictionary

If specified.

The list of named PathMatchers to use against the URL.


Sample:

[{'name': 'my-pm', 'path_rules': [{'paths': ['/data']}], 'service': 'my-service'}]

state

string

Always.

state of the Url_Map


Sample:

present

updated_url_map

boolean

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

dictionary

Always. Refer to GCP documentation for detailed field descriptions.

GCP Url_Map dictionary


Sample:

{'name': 'my-url-map', 'hostRules': ['...'], 'pathMatchers': ['...']}

url_map_name

string

Always

Name of the Url_Map


Sample:

my-url-map




Status

Authors

Hint

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


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/gcp_url_map_module.html