cisco.meraki.networks_appliance_vpn_bgp (2.18.0) — module

Resource module for networks _appliance _vpn _bgp

| "added in version" 2.16.0 of cisco.meraki"

Authors: Francisco Munoz (@fmunoz)

This plugin has a corresponding action plugin.

Install collection

Install with ansible-galaxy collection install cisco.meraki:==2.18.0


Add to requirements.yml

  collections:
    - name: cisco.meraki
      version: 2.18.0

Description

Manage operation update of the resource networks _appliance _vpn _bgp.

Update a Hub BGP Configuration.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update all
  cisco.meraki.networks_appliance_vpn_bgp:
    meraki_api_key: "{{meraki_api_key}}"
    meraki_base_url: "{{meraki_base_url}}"
    meraki_single_request_timeout: "{{meraki_single_request_timeout}}"
    meraki_certificate_path: "{{meraki_certificate_path}}"
    meraki_requests_proxy: "{{meraki_requests_proxy}}"
    meraki_wait_on_rate_limit: "{{meraki_wait_on_rate_limit}}"
    meraki_nginx_429_retry_wait_time: "{{meraki_nginx_429_retry_wait_time}}"
    meraki_action_batch_retry_wait_time: "{{meraki_action_batch_retry_wait_time}}"
    meraki_retry_4xx_error: "{{meraki_retry_4xx_error}}"
    meraki_retry_4xx_error_wait_time: "{{meraki_retry_4xx_error_wait_time}}"
    meraki_maximum_retries: "{{meraki_maximum_retries}}"
    meraki_output_log: "{{meraki_output_log}}"
    meraki_log_file_prefix: "{{meraki_log_file_prefix}}"
    meraki_log_path: "{{meraki_log_path}}"
    meraki_print_console: "{{meraki_print_console}}"
    meraki_suppress_logging: "{{meraki_suppress_logging}}"
    meraki_simulate: "{{meraki_simulate}}"
    meraki_be_geo_id: "{{meraki_be_geo_id}}"
    meraki_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
    meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
    state: present
    asNumber: 64515
    enabled: true
    ibgpHoldTimer: 120
    neighbors:
    - allowTransit: true
      ebgpHoldTimer: 180
      ebgpMultihop: 2
      ip: 10.10.10.22
      receiveLimit: 120
      remoteAsNumber: 64343
    networkId: string

Inputs

    
enabled:
    description: Boolean value to enable or disable the BGP configuration. When BGP is
      enabled, the asNumber (ASN) will be autopopulated with the preconfigured ASN at
      other Hubs or a default value if there is no ASN configured.
    type: bool

asNumber:
    description: An Autonomous System Number (ASN) is required if you are to run BGP and
      peer with another BGP Speaker outside of the Auto VPN domain. This ASN will be applied
      to the entire Auto VPN domain. The entire 4-byte ASN range is supported. So, the
      ASN must be an integer between 1 and 4294967295. When absent, this field is not
      updated. If no value exists then it defaults to 64512.
    type: int

neighbors:
    description: List of BGP neighbors. This list replaces the existing set of neighbors.
      When absent, this field is not updated.
    elements: dict
    suboptions:
      allowTransit:
        description: When this feature is on, the Meraki device will advertise routes
          learned from other Autonomous Systems, thereby allowing traffic between Autonomous
          Systems to transit this AS. When absent, it defaults to false.
        type: bool
      authentication:
        description: Authentication settings between BGP peers.
        suboptions:
          password:
            description: Password to configure MD5 authentication between BGP peers.
            type: str
        type: dict
      ebgpHoldTimer:
        description: The eBGP hold timer in seconds for each neighbor. The eBGP hold timer
          must be an integer between 12 and 240.
        type: int
      ebgpMultihop:
        description: Configure this if the neighbor is not adjacent. The eBGP multi-hop
          must be an integer between 1 and 255.
        type: int
      ip:
        description: The IPv4 address of the neighbor.
        type: str
      ipv6:
        description: Information regarding IPv6 address of the neighbor, Required if `ip`
          is not present.
        suboptions:
          address:
            description: The IPv6 address of the neighbor.
            type: str
        type: dict
      nextHopIp:
        description: The IPv4 address of the remote BGP peer that will establish a TCP
          session with the local MX.
        type: str
      receiveLimit:
        description: The receive limit is the maximum number of routes that can be received
          from any BGP peer. The receive limit must be an integer between 0 and 4294967295.
          When absent, it defaults to 0.
        type: int
      remoteAsNumber:
        description: Remote ASN of the neighbor. The remote ASN must be an integer between
          1 and 4294967295.
        type: int
      sourceInterface:
        description: The output interface for peering with the remote BGP peer. Valid
          values are 'wan1', 'wan2' or 'vlan{VLAN ID}'(e.g. 'vlan123').
        type: str
      ttlSecurity:
        description: Settings for BGP TTL security to protect BGP peering sessions from
          forged IP attacks.
        suboptions:
          enabled:
            description: Boolean value to enable or disable BGP TTL security.
            type: bool
        type: dict
    type: list

networkId:
    description: NetworkId path parameter. Network ID.
    type: str

ibgpHoldTimer:
    description: The iBGP holdtimer in seconds. The iBGP holdtimer must be an integer
      between 12 and 240. When absent, this field is not updated. If no value exists then
      it defaults to 240.
    type: int

meraki_caller:
    default: ''
    description:
    - meraki_caller (string), optional identifier for API usage tracking; can also be
      set as an environment variable MERAKI_PYTHON_SDK_CALLER
    type: str

meraki_api_key:
    description:
    - meraki_api_key (string), API key generated in dashboard; can also be set as an environment
      variable MERAKI_DASHBOARD_API_KEY
    required: true
    type: str

meraki_base_url:
    default: https://api.meraki.com/api/v1
    description:
    - meraki_base_url (string), preceding all endpoint resources
    type: str

meraki_log_path:
    default: ''
    description:
    - log_path (string), path to output log; by default, working directory of script if
      not specified
    type: str

meraki_simulate:
    default: false
    description:
    - meraki_simulate (boolean), simulate POST/PUT/DELETE calls to prevent changes?
    type: bool

meraki_be_geo_id:
    default: ''
    description:
    - meraki_be_geo_id (string), optional partner identifier for API usage tracking; can
      also be set as an environment variable BE_GEO_ID
    type: str

meraki_output_log:
    default: true
    description:
    - meraki_output_log (boolean), create an output log file?
    type: bool

meraki_print_console:
    default: true
    description:
    - meraki_print_console (boolean), print logging output to console?
    type: bool

meraki_requests_proxy:
    default: ''
    description:
    - meraki_requests_proxy (string), proxy server and port, if needed, for HTTPS
    type: str

meraki_log_file_prefix:
    default: meraki_api_
    description:
    - meraki_log_file_prefix (string), log file name appended with date and timestamp
    type: str

meraki_maximum_retries:
    default: 2
    description:
    - meraki_maximum_retries (integer), retry up to this many times when encountering
      429s or other server-side errors
    type: int

meraki_retry_4xx_error:
    default: false
    description:
    - meraki_retry_4xx_error (boolean), retry if encountering other 4XX error (besides
      429)?
    type: bool

meraki_certificate_path:
    default: ''
    description:
    - meraki_certificate_path (string), path for TLS/SSL certificate verification if behind
      local proxy
    type: str

meraki_suppress_logging:
    default: false
    description:
    - meraki_suppress_logging (boolean), disable all logging? you're on your own then!
    type: bool

meraki_wait_on_rate_limit:
    default: true
    description:
    - meraki_wait_on_rate_limit (boolean), retry if 429 rate limit error encountered?
    type: bool

meraki_inherit_logging_config:
    default: false
    description:
    - meraki_inherit_logging_config (boolean), Inherits your own logger instance
    type: bool

meraki_single_request_timeout:
    default: 60
    description:
    - meraki_single_request_timeout (integer), maximum number of seconds for each API
      call
    type: int

meraki_nginx_429_retry_wait_time:
    default: 60
    description:
    - meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time
    type: int

meraki_retry_4xx_error_wait_time:
    default: 60
    description:
    - meraki_retry_4xx_error_wait_time (integer), other 4XX error retry wait time
    type: int

meraki_use_iterator_for_get_pages:
    default: false
    description:
    - meraki_use_iterator_for_get_pages (boolean), list* methods will return an iterator
      with each object instead of a complete list with all items
    type: bool

meraki_action_batch_retry_wait_time:
    default: 60
    description:
    - meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry
      wait time
    type: int

Outputs

meraki_response:
  description: A dictionary or list with the response returned by the Cisco Meraki
    Python SDK
  returned: always
  sample: '{}

    '
  type: dict

See also