delowan.googlecloud.gcp_compute_router (1.0.2) — module

Creates a GCP Router

Authors: Google Inc. (@googlecloudplatform)

preview | supported by community

Install collection

Install with ansible-galaxy collection install delowan.googlecloud:==1.0.2


Add to requirements.yml

  collections:
    - name: delowan.googlecloud
      version: 1.0.2

Description

Represents a Router resource.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a network
  google.cloud.gcp_compute_network:
    name: network-router
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: network
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a router
  google.cloud.gcp_compute_router:
    name: test_object
    network: "{{ network }}"
    bgp:
      asn: 64514
      advertise_mode: CUSTOM
      advertised_groups:
      - ALL_SUBNETS
      advertised_ip_ranges:
      - range: 1.2.3.4
      - range: 6.7.0.0/16
    region: us-central1
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Inputs

    
bgp:
    description:
    - BGP information specific to this router.
    required: false
    suboptions:
      advertise_mode:
        default: DEFAULT
        description:
        - User-specified flag to indicate which mode to use for advertisement.
        - 'Some valid choices include: "DEFAULT", "CUSTOM"'
        required: false
        type: str
      advertised_groups:
        description:
        - User-specified list of prefix groups to advertise in custom mode.
        - This field can only be populated if advertiseMode is CUSTOM and is advertised
          to all peers of the router. These groups will be advertised in addition to any
          specified prefixes. Leave this field blank to advertise no custom groups.
        - 'This enum field has the one valid value: ALL_SUBNETS .'
        elements: str
        required: false
        type: list
      advertised_ip_ranges:
        description:
        - User-specified list of individual IP ranges to advertise in custom mode. This
          field can only be populated if advertiseMode is CUSTOM and is advertised to
          all peers of the router. These IP ranges will be advertised in addition to any
          specified groups.
        - Leave this field blank to advertise no custom IP ranges.
        elements: dict
        required: false
        suboptions:
          description:
            description:
            - User-specified description for the IP range.
            required: false
            type: str
          range:
            description:
            - The IP range to advertise. The value must be a CIDR-formatted string.
            required: true
            type: str
        type: list
      asn:
        description:
        - Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either
          16-bit or 32-bit. The value will be fixed for this router resource. All VPN
          tunnels that link to this router will have the same local ASN.
        required: true
        type: int
    type: dict

name:
    description:
    - Name of the resource. The name must be 1-63 characters long, and comply with RFC1035.
      Specifically, the name must be 1-63 characters long and match the regular expression
      `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase
      letter, and all following characters must be a dash, lowercase letter, or digit,
      except the last character, which cannot be a dash.
    required: true
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Whether the given object should exist in GCP
    type: str

region:
    description:
    - Region where the router resides.
    required: true
    type: str

scopes:
    description:
    - Array of scopes to be used
    elements: str
    type: list

network:
    description:
    - A reference to the network to which this router belongs.
    - 'This field represents a link to a Network resource in GCP. It can be specified
      in two ways. First, you can place a dictionary with key ''selfLink'' and value of
      your resource''s selfLink Alternatively, you can add `register: name-of-resource`
      to a gcp_compute_network task and then set this network field to "{{ name-of-resource
      }}"'
    required: true
    type: dict

project:
    description:
    - The Google Cloud Platform project to use.
    type: str

env_type:
    description:
    - Specifies which Ansible environment you're running this module within.
    - This should not be set unless you know what you're doing.
    - This only alters the User Agent string for any API requests.
    type: str

auth_kind:
    choices:
    - application
    - machineaccount
    - serviceaccount
    description:
    - The type of credential used.
    required: true
    type: str

description:
    description:
    - An optional description of this resource.
    required: false
    type: str

service_account_file:
    description:
    - The path of a Service Account JSON file if serviceaccount is selected as type.
    type: path

service_account_email:
    description:
    - An optional service account email address if machineaccount is selected and the
      user does not wish to use the default email.
    type: str

service_account_contents:
    description:
    - The contents of a Service Account JSON file, either in a dictionary or as a JSON
      string that represents it.
    type: jsonarg

Outputs

bgp:
  contains:
    advertiseMode:
      description:
      - User-specified flag to indicate which mode to use for advertisement.
      returned: success
      type: str
    advertisedGroups:
      description:
      - User-specified list of prefix groups to advertise in custom mode.
      - This field can only be populated if advertiseMode is CUSTOM and is advertised
        to all peers of the router. These groups will be advertised in addition to
        any specified prefixes. Leave this field blank to advertise no custom groups.
      - 'This enum field has the one valid value: ALL_SUBNETS .'
      returned: success
      type: list
    advertisedIpRanges:
      contains:
        description:
          description:
          - User-specified description for the IP range.
          returned: success
          type: str
        range:
          description:
          - The IP range to advertise. The value must be a CIDR-formatted string.
          returned: success
          type: str
      description:
      - User-specified list of individual IP ranges to advertise in custom mode. This
        field can only be populated if advertiseMode is CUSTOM and is advertised to
        all peers of the router. These IP ranges will be advertised in addition to
        any specified groups.
      - Leave this field blank to advertise no custom IP ranges.
      returned: success
      type: complex
    asn:
      description:
      - Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN,
        either 16-bit or 32-bit. The value will be fixed for this router resource.
        All VPN tunnels that link to this router will have the same local ASN.
      returned: success
      type: int
  description:
  - BGP information specific to this router.
  returned: success
  type: complex
creationTimestamp:
  description:
  - Creation timestamp in RFC3339 text format.
  returned: success
  type: str
description:
  description:
  - An optional description of this resource.
  returned: success
  type: str
id:
  description:
  - The unique identifier for the resource.
  returned: success
  type: int
name:
  description:
  - Name of the resource. The name must be 1-63 characters long, and comply with RFC1035.
    Specifically, the name must be 1-63 characters long and match the regular expression
    `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase
    letter, and all following characters must be a dash, lowercase letter, or digit,
    except the last character, which cannot be a dash.
  returned: success
  type: str
network:
  description:
  - A reference to the network to which this router belongs.
  returned: success
  type: dict
region:
  description:
  - Region where the router resides.
  returned: success
  type: str