fragmentedpacket.netbox_modules.netbox_vm_interface (0.1.4) — module

Creates or removes interfaces from virtual machines in Netbox

| "added in version" 0.1.0 of fragmentedpacket.netbox_modules"

Authors: Benjamin Vergnaud (@bvergnaud)

preview | supported by community

Install collection

Install with ansible-galaxy collection install fragmentedpacket.netbox_modules:==0.1.4


Add to requirements.yml

  collections:
    - name: fragmentedpacket.netbox_modules
      version: 0.1.4

Description

Creates or removes interfaces from virtual machines in Netbox


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: "Test Netbox interface module"
  connection: local
  hosts: localhost
  gather_facts: False
  tasks:
    - name: Create interface within Netbox with only required information
      netbox_vm_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          virtual_machine: test100
          name: GigabitEthernet1
        state: present

    - name: Delete interface within netbox
      netbox_vm_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          virtual_machine: test100
          name: GigabitEthernet1
        state: absent

    - name: Create interface as a trunk port
      netbox_vm_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          virtual_machine: test100
          name: GigabitEthernet25
          enabled: false
          untagged_vlan:
            name: Wireless
            site: Test Site
          tagged_vlans:
            - name: Data
              site: Test Site
            - name: VoIP
              site: Test Site
          mtu: 1600
          mode: Tagged
        state: present

Inputs

    
data:
    description:
    - Defines the vm interface configuration
    required: true
    suboptions:
      description:
        description:
        - The description of the interface
        type: str
      enabled:
        description:
        - Sets whether interface shows enabled or disabled
        type: bool
      mac_address:
        description:
        - The MAC address of the interface
        type: str
      mode:
        choices:
        - Access
        - Tagged
        - Tagged All
        description:
        - The mode of the interface
        type: str
      mtu:
        description:
        - The MTU of the interface
        type: str
      name:
        description:
        - Name of the interface to be created
        required: true
        type: str
      tagged_vlans:
        description:
        - A list of tagged VLANS to be assigned to interface. Mode must be set to either
          C(Tagged) or C(Tagged All)
        type: list
      tags:
        description:
        - Any tags that the prefix may need to be associated with
        type: list
      untagged_vlan:
        description:
        - The untagged VLAN to be assigned to interface
        type: dict
      virtual_machine:
        description:
        - Name of the virtual machine the interface will be associated with (case-sensitive)
        required: true
        type: str
    type: dict

state:
    choices:
    - absent
    - present
    default: present
    description:
    - Use C(present) or C(absent) for adding or removing.
    type: str

netbox_url:
    description:
    - URL of the Netbox instance resolvable by Ansible control host
    required: true
    type: str

netbox_token:
    description:
    - The token created within Netbox to authorize API access
    required: true
    type: str

validate_certs:
    default: 'yes'
    description:
    - 'If C(no), SSL certificates will not be validated.

      This should only be used on personally controlled sites using self-signed certificates.

      '
    type: bool

Outputs

interface:
  description: Serialized object as created or already existent within Netbox
  returned: on creation
  type: dict
msg:
  description: Message indicating failure or info about what has been achieved
  returned: always
  type: str