# cs_traffic_type – Manages traffic types on CloudStack Physical Networks

New in version 2.8.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Add, remove, update Traffic Types associated with CloudStack Physical Networks.

## Requirements

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

- python >= 2.6
- cs >= 0.6.10

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

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.
As the last option, the value is taken from the ini config file, also see the notes.
Fallback value is `get` if not specified.

api_key string |  | API key of the CloudStack API. If not given, the `CLOUDSTACK_KEY` env variable is considered. As the last option, the value is taken from the ini config file, also see the notes.
api_region string | Default: "cloudstack" | Name of the ini section in the `cloustack.ini` file. If not given, the `CLOUDSTACK_REGION` env variable is considered.
api_secret string |  | Secret key of the CloudStack API. If not set, the `CLOUDSTACK_SECRET` env variable is considered. As the last option, the value is taken from the ini config file, also see the notes.
api_timeout integer |  | HTTP timeout in seconds. If not given, the `CLOUDSTACK_TIMEOUT` env variable is considered. As the last option, the value is taken from the ini config file, also see the notes. Fallback value is 10 seconds if not specified.
api_url string |  | URL of the CloudStack API e.g. https://cloud.example.com/client/api. If not given, the `CLOUDSTACK_ENDPOINT` env variable is considered. As the last option, the value is taken from the ini config file, also see the notes.
hyperv_networklabel string |  | The network name label of the physical device dedicated to this traffic on a HyperV host.

isolation_method
string

Choices:
- vlan
- vxlan

Use if the physical network has multiple isolation types and traffic type is public.

kvm_networklabel string |  | The network name label of the physical device dedicated to this traffic on a KVM host.
ovm3_networklabel string |  | The network name of the physical device dedicated to this traffic on an OVM3 host.
physical_network string / required |  | the name of the Physical Network

poll_async
boolean

Choices:
- no
- yes ←

Poll async jobs until job has finished.

state
string

Choices:
- present ←
- absent

State of the traffic type

traffic_type
string / required

Choices:
- Management
- Guest
- Public
- Storage

the trafficType to be added to the physical network.

vlan string |  | The VLAN id to be used for Management traffic by VMware host.
vmware_networklabel string |  | The network name label of the physical device dedicated to this traffic on a VMware host.
xen_networklabel string |  | The network name label of the physical device dedicated to this traffic on a XenServer host.
zone string |  | Name of the zone with the physical network. Default zone will be used if this is empty.

## Notes

Note

- Ansible uses the `cs` library’s configuration method if credentials are not provided by the arguments `api_url`, `api_key`, `api_secret`. Configuration is read from several locations, in the following order. The `CLOUDSTACK_ENDPOINT`, `CLOUDSTACK_KEY`, `CLOUDSTACK_SECRET` and `CLOUDSTACK_METHOD`. `CLOUDSTACK_TIMEOUT` environment variables. A `CLOUDSTACK_CONFIG` environment variable pointing to an `.ini` file. A `cloudstack.ini` file in the current working directory. A `.cloudstack.ini` file in the users home directory. Optionally multiple credentials and endpoints can be specified using ini sections in `cloudstack.ini`. Use the argument `api_region` to select the section name, default section is `cloudstack`. See https://github.com/exoscale/cs for more information.
- A detailed guide about cloudstack modules can be found in the CloudStack Cloud Guide.
- This module supports check mode.

## Examples

    - name: add a traffic type
      cs_traffic_type:
        physical_network: public-network
        traffic_type: Guest
        zone: test-zone
      delegate_to: localhost

    - name: update traffic type
      cs_traffic_type:
        physical_network: public-network
        traffic_type: Guest
        kvm_networklabel: cloudbr0
        zone: test-zone
      delegate_to: localhost

    - name: remove traffic type
      cs_traffic_type:
        physical_network: public-network
        traffic_type: Public
        state: absent
        zone: test-zone
      delegate_to: localhost

## Return Values

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

Key | Returned | Description
--- | --- | ---
hyperv_networklabel string | success | The network name label of the physical device dedicated to this traffic on a HyperV host Sample: HyperV Internal Switch
id string | success | ID of the network provider Sample: 659c1840-9374-440d-a412-55ca360c9d3c
kvm_networklabel string | success | The network name label of the physical device dedicated to this traffic on a KVM host Sample: cloudbr0
ovm3_networklabel string | success | The network name of the physical device dedicated to this traffic on an OVM3 host Sample: cloudbr0
physical_network string | success | the physical network this belongs to Sample: 28ed70b7-9a1f-41bf-94c3-53a9f22da8b6
traffic_type string | success | the trafficType that was added to the physical network Sample: Public
vmware_networklabel string | success | The network name label of the physical device dedicated to this traffic on a VMware host Sample: Management Network
xen_networklabel string | success | The network name label of the physical device dedicated to this traffic on a XenServer host Sample: xenbr0
zone string | success | Name of zone the physical network is in. Sample: ch-gva-2

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Patryk Cichy (@PatTheSilent)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.