ansible.builtin.bigip_virtual_server (v2.4.6.0-1) — module

Manages F5 BIG-IP LTM virtual servers

| "added in version" 2.1 of ansible.builtin"

Authors: Etienne Carriere (@Etienne-Carriere), Tim Rupp (@caphrim007)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.4.6.0.post1

Description

Manages F5 BIG-IP LTM virtual servers via iControl SOAP API


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add virtual server
  bigip_virtual_server:
      server: lb.mydomain.net
      user: admin
      password: secret
      state: present
      partition: MyPartition
      name: myvirtualserver
      destination: "{{ ansible_default_ipv4['address'] }}"
      port: 443
      pool: "{{ mypool }}"
      snat: Automap
      description: Test Virtual Server
      all_profiles:
          - http
          - clientssl
      enabled_vlans:
          - /Common/vlan2
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify Port of the Virtual Server
  bigip_virtual_server:
      server: lb.mydomain.net
      user: admin
      password: secret
      state: present
      partition: MyPartition
      name: myvirtualserver
      port: 8080
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete virtual server
  bigip_virtual_server:
      server: lb.mydomain.net
      user: admin
      password: secret
      state: absent
      partition: MyPartition
      name: myvirtualserver
  delegate_to: localhost

Inputs

    
name:
    aliases:
    - vs
    description:
    - Virtual server name
    required: true

pool:
    default: None
    description:
    - Default pool for the virtual server
    required: false

port:
    default: None
    description:
    - Port of the virtual server. Required when state=present and vs does not exist. If
      you specify a value for this field, it must be a number between 0 and 65535.
    required: false

snat:
    choices:
    - None
    - Automap
    - Name of a SNAT pool (eg "/Common/snat_pool_name") to enable SNAT with the specific
      pool
    default: None
    description:
    - Source network address policy
    required: false

state:
    aliases: []
    choices:
    - present
    - absent
    - enabled
    - disabled
    default: present
    description:
    - Virtual Server state
    - Absent, delete the VS if present
    - C(present) (and its synonym enabled), create if needed the VS and set state to enabled
    - C(disabled), create if needed the VS and set state to disabled
    required: false

provider:
    description:
    - A dict object containing connection details.
    suboptions:
      auth_provider:
        description:
        - Configures the auth provider for to obtain authentication tokens from the remote
          device.
        - This option is really used when working with BIG-IQ devices.
        type: str
      password:
        aliases:
        - pass
        - pwd
        description:
        - The password for the user account used to connect to the BIG-IP.
        - You may omit this option by setting the environment variable C(F5_PASSWORD).
        required: true
        type: str
      server:
        description:
        - The BIG-IP host.
        - You may omit this option by setting the environment variable C(F5_SERVER).
        required: true
        type: str
      server_port:
        default: 443
        description:
        - The BIG-IP server port.
        - You may omit this option by setting the environment variable C(F5_SERVER_PORT).
        type: int
      ssh_keyfile:
        description:
        - Specifies the SSH keyfile to use to authenticate the connection to the remote
          device.  This argument is only used for I(cli) transports.
        - You may omit this option by setting the environment variable C(ANSIBLE_NET_SSH_KEYFILE).
        type: path
      timeout:
        description:
        - Specifies the timeout in seconds for communicating with the network device for
          either connecting or sending commands.  If the timeout is exceeded before the
          operation is completed, the module will error.
        type: int
      transport:
        choices:
        - cli
        - rest
        default: rest
        description:
        - Configures the transport connection to use when connecting to the remote device.
        type: str
      user:
        description:
        - The username to connect to the BIG-IP with. This user must have administrative
          privileges on the device.
        - You may omit this option by setting the environment variable C(F5_USER).
        required: true
        type: str
      validate_certs:
        default: true
        description:
        - If C(no), SSL certificates are not validated. Use this only on personally controlled
          sites using self-signed certificates.
        - You may omit this option by setting the environment variable C(F5_VALIDATE_CERTS).
        type: bool
    type: dict
    version_added: '2.5'
    version_added_collection: f5networks.f5_modules

all_rules:
    default: None
    description:
    - List of rules to be applied in priority order
    required: false
    version_added: '2.2'
    version_added_collection: ansible.builtin

partition:
    default: Common
    description:
    - Partition
    required: false

description:
    default: None
    description:
    - Virtual server description
    required: false

destination:
    aliases:
    - address
    - ip
    description:
    - Destination IP of the virtual server (only host is currently supported). Required
      when state=present and vs does not exist.
    required: true

all_policies:
    default: None
    description:
    - List of all policies enabled for the virtual server.
    required: false
    version_added: '2.3'
    version_added_collection: ansible.builtin

all_profiles:
    default: None
    description:
    - List of all Profiles (HTTP,ClientSSL,ServerSSL,etc) that must be used by the virtual
      server
    required: false

enabled_vlans:
    default: None
    description:
    - List of vlans to be enabled. When a VLAN named C(ALL) is used, all VLANs will be
      allowed.
    required: false
    version_added: '2.2'
    version_added_collection: ansible.builtin

route_advertisement_state:
    default: disabled
    description:
    - Enable route advertisement for destination
    required: false
    version_added: '2.3'
    version_added_collection: ansible.builtin

default_persistence_profile:
    default: None
    description:
    - Default Profile which manages the session persistence
    required: false

fallback_persistence_profile:
    default: None
    description:
    - Specifies the persistence profile you want the system to use if it cannot use the
      specified default persistence profile.
    required: false
    version_added: '2.3'
    version_added_collection: ansible.builtin

Outputs

deleted:
  description: Name of a virtual server that was deleted
  returned: changed
  sample: my-virtual-server
  type: string