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