On this page
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 | Choices/Defaults | Comments |
---|---|---|
api_http_method
string
|
|
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.
|
|
broadcast_domain_range
string
|
|
broadcast domain range for the physical network[Pod or Zone].
|
domain
string
|
Domain the network is owned by.
|
|
isolation_method
string
|
|
Isolation method for the physical network.
|
name
string / required
|
Name of the physical network.
aliases: physical_network |
|
network_speed
string
|
|
The speed for the physical network.
|
nsps_disabled
list / elements=string
|
List of Network Service Providers to disable.
|
|
nsps_enabled
list / elements=string
|
List of Network Service Providers to enable.
|
|
poll_async
boolean
|
|
Poll async jobs until job has finished.
|
state
string
|
|
State of the physical network.
|
tags
string
|
A tag to identify this network.
Physical networks support only one tag.
To remove an existing tag pass an empty string.
aliases: tag |
|
vlan
string
|
The VLAN/VNI Ranges of the physical network.
|
|
zone
string / required
|
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 | Returned | Description | |
---|---|---|---|
broadcast_domain_range
string
|
success |
broadcastdomainrange of the network [POD / ZONE].
Sample:
ZONE
|
|
domain
string
|
success |
Name of domain the network is in.
Sample:
domain1
|
|
id
string
|
success |
UUID of the network.
Sample:
3f8f25cd-c498-443f-9058-438cfbcbff50
|
|
isolation_method
string
|
success |
isolationmethod of the network [VLAN/VXLAN/GRE/L3].
Sample:
VLAN
|
|
name
string
|
success |
Name of the network.
Sample:
net01
|
|
network_speed
string
|
success |
networkspeed of the network [1G/10G].
Sample:
1G
|
|
nsps
complex
|
on enabling/disabling of Network Service Providers |
list of enabled or disabled Network Service Providers
|
|
disabled
list / elements=string
|
on Network Service Provider disabling |
list of Network Service Providers that were disabled
Sample:
['internallbvm']
|
|
enabled
list / elements=string
|
on Network Service Provider enabling |
list of Network Service Providers that were enabled
Sample:
['virtualrouter']
|
|
state
string
|
success |
State of the network [Enabled/Disabled].
Sample:
Enabled
|
|
zone
string
|
success |
Name of zone the physical network is in.
Sample:
ch-gva-2
|
Authors
- Netservers Ltd. (@netservers)
- Patryk Cichy (@PatTheSilent)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/ngine_io/cloudstack/cs_physical_network_module.html