ngine_io.cloudstack.cs_network_offering – Manages network offerings on Apache CloudStack based clouds.
Note
This plugin is part of the ngine_io.cloudstack collection (version 1.1.0).
To install it use: ansible-galaxy collection install ngine_io.cloudstack.
To use it in a playbook, specify: ngine_io.cloudstack.cs_network_offering.
New in version 0.1.0: of ngine_io.cloudstack
Synopsis
- Create, update, enable, disable and remove network offerings.
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_METHODenv variable is considered.As the last option, the value is taken from the ini config file, also see the notes. Fallback value is  getif not specified. | 
| api_key  string  | API key of the CloudStack API. If not given, the  CLOUDSTACK_KEYenv 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.inifile.If not given, the  CLOUDSTACK_REGIONenv variable is considered. | 
| api_secret  string  | Secret key of the CloudStack API. If not set, the  CLOUDSTACK_SECRETenv 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_TIMEOUTenv 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_ENDPOINTenv variable is considered.As the last option, the value is taken from the ini config file, also see the notes. | |
| api_verify_ssl_cert  string  | CA authority cert file. If not given, the  CLOUDSTACK_VERIFYenv variable is considered.As the last option, the value is taken from the ini config file, also see the notes. Fallback value is  nullif not specified. | |
| availability  string  | The availability of network offering. Default value is Optional | |
| conserve_mode  boolean  | 
 | Whether the network offering has IP conserve mode enabled. | 
| details  list / elements=dictionary  | Network offering details in key/value pairs. with service provider as a value | |
| display_text  string  | Display text of the network offerings. | |
| egress_default_policy  string  | 
 | Whether the default egress policy is allow or to deny. | 
| for_vpc  boolean  | 
 | Whether the offering is meant to be used for VPC or not. | 
| guest_ip_type  string  | 
 | Guest type of the network offering. | 
| keepalive_enabled  boolean  | 
 | If true keepalive will be turned on in the loadbalancer. At the time of writing this has only an effect on haproxy. the mode http and httpclose options are unset in the haproxy conf file. | 
| max_connections  integer  | Maximum number of concurrent connections supported by the network offering. | |
| name  string / required  | The name of the network offering. | |
| network_rate  integer  | Data transfer rate in megabits per second allowed. | |
| persistent  boolean  | 
 | True if network offering supports persistent networks defaulted to false if not specified | 
| service_capabilities  list / elements=string  | Desired service capabilities as part of network offering. aliases: service_capability | |
| service_offering  string  | The service offering name or ID used by virtual router provider. | |
| service_providers  list / elements=dictionary  | Provider to service mapping. If not specified, the provider for the service will be mapped to the default provider on the physical network. aliases: service_provider | |
| specify_ip_ranges  boolean  | 
 | Whether the network offering supports specifying IP ranges. Defaulted to  noby the API if not specified. | 
| specify_vlan  boolean  | 
 | Whether the network offering supports vlans or not. | 
| state  string  | 
 | State of the network offering. | 
| supported_services  list / elements=string  | 
 | Services supported by the network offering. A list of one or more items from the choice list. aliases: supported_service | 
| traffic_type  string  | Default: "Guest" | The traffic type for the network offering. | 
Notes
Note
- Ansible uses the cslibrary’s configuration method if credentials are not provided by the argumentsapi_url,api_key,api_secret. Configuration is read from several locations, in the following order. TheCLOUDSTACK_ENDPOINT,CLOUDSTACK_KEY,CLOUDSTACK_SECRETandCLOUDSTACK_METHOD.CLOUDSTACK_TIMEOUTenvironment variables. ACLOUDSTACK_CONFIGenvironment variable pointing to an.inifile. Acloudstack.inifile in the current working directory. A.cloudstack.inifile in the users home directory. Optionally multiple credentials and endpoints can be specified using ini sections incloudstack.ini. Use the argumentapi_regionto select the section name, default section iscloudstack. 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: Create a network offering and enable it
  ngine_io.cloudstack.cs_network_offering:
    name: my_network_offering
    display_text: network offering description
    state: enabled
    guest_ip_type: Isolated
    supported_services: [ Dns, PortForwarding, Dhcp, SourceNat, UserData, Firewall, StaticNat, Vpn, Lb ]
    service_providers:
      - { service: 'dns', provider: 'virtualrouter' }
      - { service: 'dhcp', provider: 'virtualrouter' }
- name: Remove a network offering
  ngine_io.cloudstack.cs_network_offering:
    name: my_network_offering
    state: absent
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| availability  string  | success | The availability of network offering. Sample: Optional | 
| display_text  string  | success | The display text of the network offering. Sample: My network offering | 
| egress_default_policy  string  | success | Default egress policy. Sample: allow | 
| for_vpc  boolean  | success | Whether the offering is meant to be used for VPC or not. | 
| guest_ip_type  string  | success | Guest type of the network offering. Sample: Isolated | 
| id  string  | success | UUID of the network offering. Sample: a6f7a5fc-43f8-11e5-a151-feff819cdc9f | 
| is_default  boolean  | success | Whether network offering is the default offering or not. | 
| is_persistent  boolean  | success | Whether persistent networks are supported or not. | 
| max_connections  integer  | success | The maximum number of concurrent connections to be handled by LB. Sample: 300 | 
| name  string  | success | The name of the network offering. Sample: MyCustomNetworkOffering | 
| network_rate  integer  | success | The network traffic transfer ate in Mbit/s. Sample: 200 | 
| service_offering_id  string  | success | The service offering ID. Sample: c5f7a5fc-43f8-11e5-a151-feff819cdc9f | 
| state  string  | success | The state of the network offering. Sample: Enabled | 
| traffic_type  string  | success | The traffic type. Sample: Guest | 
Authors
- David Passante (@dpassante)
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/ngine_io/cloudstack/cs_network_offering_module.html