ngine_io.cloudstack.cs_instance_nic module – Manages NICs of an instance on Apache CloudStack based clouds.

Note

This module is part of the ngine_io.cloudstack collection (version 2.2.4).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install ngine_io.cloudstack.

To use it in a playbook, specify: ngine_io.cloudstack.cs_instance_nic.

New in version 0.1.0: of ngine_io.cloudstack

Synopsis

  • Add and remove nic to and from network

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

  • cs >= 0.9.0

Parameters

Parameter

Comments

account

string

Account the instance is related to.

api_http_method

string

HTTP method used to query the API endpoint.

If not given, the CLOUDSTACK_METHOD env variable is considered.

Choices:

  • get ← (default)

  • post

api_key

string / required

API key of the CloudStack API.

If not given, the CLOUDSTACK_KEY env variable is considered.

api_secret

string / required

Secret key of the CloudStack API.

If not set, the CLOUDSTACK_SECRET env variable is considered.

api_timeout

integer

HTTP timeout in seconds.

If not given, the CLOUDSTACK_TIMEOUT env variable is considered.

Default: 10

api_url

string / required

URL of the CloudStack API e.g. https://cloud.example.com/client/api.

If not given, the CLOUDSTACK_ENDPOINT env variable is considered.

api_verify_ssl_cert

string

Verify CA authority cert file.

If not given, the CLOUDSTACK_VERIFY env variable is considered.

domain

string

Domain the instance is related to.

ip_address

string

IP address to be used for the nic.

network

string / required

Name of the network.

poll_async

boolean

Poll async jobs until job has finished.

Choices:

  • no

  • yes ← (default)

project

string

Name of the project the instance is deployed in.

state

string

State of the nic.

Choices:

  • present ← (default)

  • absent

vm

aliases: name

string / required

Name of instance.

vpc

string

Name of the VPC the vm is related to.

zone

string / required

Name of the zone in which the instance is deployed in.

Notes

Note

  • A detailed guide about cloudstack modules can be found in the CloudStack Cloud Guide.

  • This module supports check mode.

Examples

- name: Add a nic on another network
  ngine_io.cloudstack.cs_instance_nic:
    vm: privnet
    network: privNetForBasicZone
    zone: zone01

- name: Ensure IP address on a nic
  ngine_io.cloudstack.cs_instance_nic:
    vm: privnet
    ip_address: 10.10.11.32
    network: privNetForBasicZone
    zone: zone01

- name: Remove a secondary nic
  ngine_io.cloudstack.cs_instance_nic:
    vm: privnet
    state: absent
    network: privNetForBasicZone
    zone: zone01

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

account

string

Account the VM is related to.

Returned: success

Sample: “example account”

domain

string

Domain the VM is related to.

Returned: success

Sample: “example domain”

id

string

UUID of the nic.

Returned: success

Sample: “87b1e0ce-4e01-11e4-bb66-0050569e64b8”

ip_address

string

Primary IP of the NIC.

Returned: success

Sample: “10.10.10.10”

mac_address

string

MAC address of the NIC.

Returned: success

Sample: “02:00:33:31:00:e4”

netmask

string

Netmask of the NIC.

Returned: success

Sample: “255.255.255.0”

network

string

Name of the network if not default.

Returned: success

Sample: “sync network”

project

string

Name of project the VM is related to.

Returned: success

Sample: “Production”

vm

string

Name of the VM.

Returned: success

Sample: “web-01”

Authors

  • Marc-Aurèle Brothier (@marcaurele)

  • René Moser (@resmo)