nvidia.nvue.interface (1.1.7) — module

This is the Cumulus Linux interface module

| "added in version" 1.0.0 of nvidia.nvue"

Authors: Nvidia NBU Team (@nvidia-nbu), Krishna Vasudevan (@krisvasudevan)

Install collection

Install with ansible-galaxy collection install nvidia.nvue:==1.1.7


Add to requirements.yml

  collections:
    - name: nvidia.nvue
      version: 1.1.7

Description

This is a Cumulus Linux module to interact with the interfaces object and the properties associated with an interface.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Pass in a message
- name: Display all the interfaces in the environment
  nvidia.nvue.interface:
    state: gathered
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add IP address to an interface
  nvidia.nvue.interface:
    state: merged
    force: yes
    wait: 15
    data:
        - id: lo
          ip:
            address:
                - id: '10.10.10.1/32'
          type: 'loopback'

Inputs

    
data:
    description: Provided configuration
    elements: dict
    suboptions:
      base_interface:
        description: Base interface.
        required: false
        type: str
      bond:
        description: Bond configuration on the interface.
        required: false
        suboptions:
          lacp_bypass:
            choices:
            - 'on'
            - 'off'
            default: 'off'
            description: Turn the feature 'on' or 'off'.
            required: false
            type: str
          member:
            description: Bond member interface
            elements: dict
            required: false
            suboptions:
              id:
                description: interface
                required: false
                type: str
            type: list
          mlag:
            description: Bond MLAG config
            required: false
            suboptions:
              enable:
                choices:
                - 'on'
                - 'off'
                default: 'off'
                description: Turn the feature 'on' or 'off'.
                required: false
                type: str
              id:
                description: MLAG ID
                required: false
                type: int
            type: dict
          mode:
            choices:
            - lacp
            - static
            default: lacp
            description: Bond mode.
            required: false
            type: str
        type: dict
      bridge:
        description: Bridge configuration on the interface.
        required: false
        suboptions:
          domain:
            description: Bridge domain.
            elements: dict
            required: false
            suboptions:
              access:
                description: Access.
                required: false
                type: int
              id:
                description: Bridge domain identifier.
                required: false
                type: str
              stp:
                description: Bridge STP config.
                required: false
                suboptions:
                  admin_edge:
                    choices:
                    - 'on'
                    - 'off'
                    description: Admin Edge.
                    required: false
                    type: str
                  auto_edge:
                    choices:
                    - 'on'
                    - 'off'
                    description: Auto Edge.
                    required: false
                    type: str
                  bpdu_guard:
                    choices:
                    - 'on'
                    - 'off'
                    description: BPDU Guard.
                    required: false
                    type: str
                type: dict
              untagged:
                description: Untagged packets ingressing on the interface will be put
                  in this vlan. Egress packets are always tagged. If none, then untagged
                  packets will be dropped. If auto, inherit from bridge domain.
                required: false
                type: int
              vlan:
                description: Set of allowed vlans for this bridge domain on this interface.
                  If "all", inherit all vlans from the bridge domain, if appropriate.
                  This is the default.
                elements: dict
                required: false
                suboptions:
                  id:
                    description: VLAN tag identifier.
                    required: false
                    type: str
                type: list
            type: list
        type: dict
      description:
        description: Details about the interface.
        required: false
        type: str
      evpn:
        description: EVPN control plane config and info for VRF.
        required: false
        suboptions:
          multihoming:
            description: Multihoming interface configuration parameters.
            required: false
            suboptions:
              segment:
                description: Multihoming interface segment.
                required: false
                suboptions:
                  df_preference:
                    description: Designated forwarder preference value for this ethernet
                      segment. If 'auto', the global evpn multihoming preference will
                      be used. This is the default.
                    required: false
                    type: int
                  enable:
                    choices:
                    - 'on'
                    - 'off'
                    default: 'off'
                    description: Turn the feature 'on' or 'off'.
                    required: false
                    type: str
                  identifier:
                    description: Ethernet segment identifier. This must be unique for
                      each segment and match other bonds in the segment.
                    required: false
                    type: str
                  local_id:
                    description: Ethernet segment local-id. If provided, it will be combined
                      with the global multihoming mac-address to create the ethernet segment
                      identifier, which must be unique for each segment and match other
                      bonds in the segment.
                    required: false
                    type: int
                  mac_address:
                    default: auto
                    description: MAC address for this ethernet segment. If 'auto', the
                      global evpn multihoming mac-address will be used. This is the default.
                    required: false
                    type: str
                type: dict
              uplink:
                choices:
                - 'on'
                - 'off'
                default: 'off'
                description: Enable evpn multihoming tracking to prevent traffic loss
                  due to NVE connectivity loss, uplink's operational state is tracked
                  when enabled.
                required: false
                type: str
            type: dict
        type: dict
      id:
        description: Interface name.
        required: true
        type: str
      ip:
        description: IP configuration on the interface.
        required: false
        suboptions:
          address:
            description: IPv4 and IPv6 address.
            elements: dict
            required: false
            suboptions:
              id:
                description: An IP address with prefix.
                required: false
                type: str
            type: list
          gateway:
            description: Default IPv4 and IPv6 gateways.
            elements: dict
            required: false
            suboptions:
              id:
                description: An IP address.
                required: false
                type: str
            type: list
          igmp:
            description: Configuration for IGMP.
            required: false
            suboptions:
              enable:
                choices:
                - 'on'
                - 'off'
                default: 'off'
                description: Turn the feature 'on' or 'off'.
                required: false
                type: str
            type: dict
          vrf:
            default: default
            description: Virtual routing and forwarding.
            required: false
            type: str
          vrr:
            description: VRR
            required: false
            suboptions:
              address:
                description: VRR address on the interface.
                elements: dict
                required: false
                suboptions:
                  id:
                    description: VRR address.
                    required: false
                    type: str
                type: list
              enable:
                choices:
                - 'on'
                - 'off'
                default: 'off'
                description: Turn the feature 'on' or 'off'.
                required: false
                type: str
              mac_address:
                description: MAC Address.
                required: false
                type: str
              state:
                description: VRR state
                elements: dict
                required: false
                suboptions:
                  id:
                    description: Up/Down
                    required: false
                    type: str
                type: list
            type: dict
        type: dict
      link:
        description: Link configuration on the interface.
        required: false
        suboptions:
          breakout:
            description: sub-divide or disable ports (only valid on plug interfaces).
            elements: dict
            required: false
            suboptions:
              id:
                choices:
                - 1x
                - 2x
                - 4x
                - 8x
                - disabled
                - loopback
                description: A breakout mode.
                required: false
                type: str
              lanes_per_port:
                choices:
                - '1'
                - '2'
                - '4'
                - '8'
                description: Number of serdes lanes to be mapped/enabled for a split-port.
                required: false
                type: str
            type: list
          mtu:
            description: MTU size.
            required: false
            type: int
          state:
            description: Link state
            elements: dict
            required: false
            suboptions:
              id:
                description: Up/Down
                required: false
                type: str
            type: list
        type: dict
      router:
        description: Interface router.
        required: false
        suboptions:
          ospf:
            description: OSPF interface configuration.
            required: false
            suboptions:
              area:
                description: Area number for enabling ospf on this interface.
                required: false
                type: str
              enable:
                choices:
                - 'on'
                - 'off'
                default: 'off'
                description: Turn the feature 'on' or 'off'.
                required: false
                type: str
              network_type:
                choices:
                - broadcast
                - non-broadcast
                - point-to-point
                - point-to-multipoint
                default: broadcast
                description: Network type.
                required: false
                type: str
              passive:
                choices:
                - 'on'
                - 'off'
                description: Stops the creation of peers on this interface.
                required: false
                type: str
              timers:
                description: Timers configuration.
                required: false
                suboptions:
                  dead_interval:
                    description: Length of time, in seconds, without a hello before declaring
                      the neighbor dead. If minimal, hello-multiplier must be set.
                    required: false
                    type: str
                  hello_interval:
                    description: How often to transmit a hello packet, in seconds. Only
                      valid if dead-interval is not minimal.
                    required: false
                    type: int
                  hello_multiplier:
                    description: Required and only valid if dead-interval is minimal.
                    required: false
                    type: int
                type: dict
            type: dict
          pim:
            description: PIM interface configuration.
            required: false
            suboptions:
              address_family:
                description: Address family specific configuration.
                required: false
                suboptions:
                  ipv4_unicast:
                    description: IPv4 unicast address family.
                    required: false
                    suboptions:
                      use_source:
                        description: Use unique source address in PIM Hello source field.
                        required: false
                        type: str
                    type: dict
                type: dict
              enable:
                choices:
                - 'on'
                - 'off'
                default: 'off'
                description: Turn the feature 'on' or 'off'.
                required: false
                type: str
            type: dict
        type: dict
      tunnel:
        description: The state of the interface.
        required: false
        suboptions:
          dest_ip:
            description: Destination underlay IP address.
            required: false
            type: str
          interface:
            description: Physical underlay interface to used for Tunnel packets.
            required: false
            type: str
          mode:
            default: gre
            description: Tunnel mode.
            required: false
            type: str
          source_ip:
            description: Source underlay IP address.
            required: false
            type: str
          ttl:
            default: 64
            description: Time to live.
            required: false
            type: int
        type: dict
      type:
        choices:
        - swp
        - eth
        - bond
        - loopback
        - svi
        - sub
        - peerlink
        - tunnel
        description: Type of interface.
        required: false
        type: str
      vlan:
        description: VLAN ID.
        required: false
        type: int
    type: list

wait:
    default: 0
    description: How long to poll for "merged/deleted" operation results.
    required: false
    type: int

force:
    default: false
    description: When true, replies "yes" to NVUE prompts.
    required: false
    type: bool

revid:
    description: Revision ID to query/to apply config to.
    required: false
    type: str

state:
    choices:
    - gathered
    - deleted
    - merged
    description: Defines the action to be taken.
    required: true
    type: str

filters:
    description: Filters used while fetching information about router
    suboptions:
      include:
        description: Only include JSON properties matched by an include pattern in the
          response.
        elements: str
        required: false
        type: list
      omit:
        description: Drop any JSON properties matched by an omit pattern from the response.
        elements: str
        required: false
        type: list
      rev:
        default: operational
        description: The default is to query the operational state. However, this parameter
          can be used to query desired state on configuration branches, such as startup
          and applied. This could be a branch name, tag name or specific commit.
        required: false
        type: str
    type: dict

interfaceid:
    description: Specific interface to query/modify.
    required: false
    type: str

Outputs

changed:
  description: whether a configuration was changed
  returned: always
  sample: true
  type: bool
message:
  description: details of the interface (for gathered) or whether the change was applied
    (for merged)
  returned: always
  sample:
  - eth0:
      acl: {}
      ip:
        address:
          dhcp: {}
        gateway: {}
        ipv4:
          forward: false
        ipv6:
          enable: true
          forward: false
        vrf: mgmt
      link:
        auto-negotiate: true
        duplex: full
        fec: auto
        mtu: 9216
        speed: auto
        state:
          up: {}
      type: eth
  - message: Config update by cumulus
    state: applied
    transition:
      issue: {}
      progress: ''
  type: dict