ngine_io.cloudstack.cs_router – Manages routers on Apache CloudStack based clouds.

Note

This plugin is part of the ngine_io.cloudstack collection (version 2.1.0).

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

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

New in version 0.1.0: of ngine_io.cloudstack

Synopsis

  • Start, restart, stop and destroy routers.

  • state=present is not able to create routers, use cs_network instead.

Requirements

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

  • python >= 2.6

  • cs >= 0.9.0

Parameters

Parameter Choices/Defaults Comments
account
string
Account the router is related to.
api_http_method
string
    Choices:
  • get ←
  • post
HTTP method used to query the API endpoint.
If not given, the CLOUDSTACK_METHOD env variable is considered.
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
Default:
10
HTTP timeout in seconds.
If not given, the CLOUDSTACK_TIMEOUT env variable is considered.
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 router is related to.
name
string / required
Name of the router.
poll_async
boolean
    Choices:
  • no
  • yes ←
Poll async jobs until job has finished.
project
string
Name of the project the router is related to.
service_offering
string
Name or id of the service offering of the router.
state
string
    Choices:
  • present ←
  • absent
  • started
  • stopped
  • restarted
State of the router.
zone
string
Name of the zone the router is deployed in.
If not set, all zones are used.

Notes

Note

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

  • This module supports check mode.

Examples

# Ensure the router has the desired service offering, no matter if
# the router is running or not.
- name: Present router
  ngine_io.cloudstack.cs_router:
    name: r-40-VM
    service_offering: System Offering for Software Router

- name: Ensure started
  ngine_io.cloudstack.cs_router:
    name: r-40-VM
    state: started

# Ensure started with desired service offering.
# If the service offerings changes, router will be rebooted.
- name: Ensure started with desired service offering
  ngine_io.cloudstack.cs_router:
    name: r-40-VM
    service_offering: System Offering for Software Router
    state: started

- name: Ensure stopped
  ngine_io.cloudstack.cs_router:
    name: r-40-VM
    state: stopped

- name: Remove a router
  ngine_io.cloudstack.cs_router:
    name: r-40-VM
    state: absent

Return Values

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

Key Returned Description
account
string
success
Account the router is related to.

Sample:
admin
created
string
success
Date of the router was created.

Sample:
2014-12-01T14:57:57+0100
domain
string
success
Domain the router is related to.

Sample:
ROOT
id
string
success
UUID of the router.

Sample:
04589590-ac63-4ffc-93f5-b698b8ac38b6
name
string
success
Name of the router.

Sample:
r-40-VM
redundant_state
string
success
Redundant state of the router.

Sample:
UNKNOWN
requires_upgrade
boolean
success
Whether the router needs to be upgraded to the new template.

role
string
success
Role of the router.

Sample:
VIRTUAL_ROUTER
service_offering
string
success
Name of the service offering the router has.

Sample:
System Offering For Software Router
state
string
success
State of the router.

Sample:
Active
template_version
string
success
Version of the system VM template.

Sample:
4.5.1
zone
string
success
Name of zone the router is in.

Sample:
ch-gva-2


Authors

  • René Moser (@resmo)