ngine_io.cloudstack.cs_physical_network – Manages physical networks on Apache CloudStack based clouds.
Note
This plugin is part of the ngine_io.cloudstack collection (version 2.2.2).
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_physical_network
.
New in version 0.1.0: of ngine_io.cloudstack
Synopsis
Create, update and remove networks.
Enabled and disabled Network Service Providers
Enables Internal LoadBalancer and VPC/VirtualRouter elements as required
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.6
cs >= 0.9.0
Parameters
Parameter |
Comments |
---|---|
HTTP method used to query the API endpoint. If not given, the Choices:
|
|
API key of the CloudStack API. If not given, the |
|
Secret key of the CloudStack API. If not set, the |
|
HTTP timeout in seconds. If not given, the Default: 10 |
|
URL of the CloudStack API e.g. https://cloud.example.com/client/api. If not given, the |
|
Verify CA authority cert file. If not given, the |
|
broadcast domain range for the physical network[Pod or Zone]. Choices:
|
|
Domain the network is owned by. |
|
Isolation method for the physical network. Choices:
|
|
Name of the physical network. |
|
The speed for the physical network. Choices:
|
|
List of Network Service Providers to disable. |
|
List of Network Service Providers to enable. |
|
Poll async jobs until job has finished. Choices:
|
|
State of the physical network. Choices:
|
|
A tag to identify this network. Physical networks support only one tag. To remove an existing tag pass an empty string. |
|
The VLAN/VNI Ranges of the physical network. |
|
Name of the zone in which the network belongs. |
Notes
Note
A detailed guide about cloudstack modules can be found in the CloudStack Cloud Guide.
This module supports check mode.
Examples
- name: Ensure a network is present
ngine_io.cloudstack.cs_physical_network:
name: net01
zone: zone01
isolation_method: VLAN
broadcast_domain_range: ZONE
- name: Set a tag on a network
ngine_io.cloudstack.cs_physical_network:
name: net01
zone: zone01
tag: overlay
- name: Remove tag on a network
ngine_io.cloudstack.cs_physical_network:
name: net01
zone: zone01
tag: ""
- name: Ensure a network is enabled with specific nsps enabled
ngine_io.cloudstack.cs_physical_network:
name: net01
zone: zone01
isolation_method: VLAN
vlan: 100-200,300-400
broadcast_domain_range: ZONE
state: enabled
nsps_enabled:
- virtualrouter
- internallbvm
- vpcvirtualrouter
- name: Ensure a network is enabled with VXLAN isolation
ngine_io.cloudstack.cs_physical_network:
name: net01
zone: zone01
isolation_method: VXLAN
vlan: 42-8192
broadcast_domain_range: ZONE
state: enabled
- name: Ensure a network is disabled
ngine_io.cloudstack.cs_physical_network:
name: net01
zone: zone01
state: disabled
- name: Ensure a network is enabled
ngine_io.cloudstack.cs_physical_network:
name: net01
zone: zone01
state: enabled
- name: Ensure a network is absent
ngine_io.cloudstack.cs_physical_network:
name: net01
zone: zone01
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
broadcastdomainrange of the network [POD / ZONE]. Returned: success Sample: “ZONE” |
|
Name of domain the network is in. Returned: success Sample: “domain1” |
|
UUID of the network. Returned: success Sample: “3f8f25cd-c498-443f-9058-438cfbcbff50” |
|
isolationmethod of the network [VLAN/VXLAN/GRE/L3]. Returned: success Sample: “VLAN” |
|
Name of the network. Returned: success Sample: “net01” |
|
networkspeed of the network [1G/10G]. Returned: success Sample: “1G” |
|
list of enabled or disabled Network Service Providers Returned: on enabling/disabling of Network Service Providers |
|
list of Network Service Providers that were disabled Returned: on Network Service Provider disabling Sample: [“internallbvm”] |
|
list of Network Service Providers that were enabled Returned: on Network Service Provider enabling Sample: [“virtualrouter”] |
|
State of the network [Enabled/Disabled]. Returned: success Sample: “Enabled” |
|
Name of zone the physical network is in. Returned: success Sample: “ch-gva-2” |
Authors
Netservers Ltd. (@netservers)
Patryk Cichy (@PatTheSilent)