cs_network_acl_rule - Manages network access control list (ACL) rules on Apache CloudStack based clouds.
New in version 2.4.
Synopsis
- Add, update and remove network ACL rules.
Requirements (on host that executes module)
- python >= 2.6
- cs >= 0.6.10
Options
parameter | required | default | choices | comments |
---|---|---|---|---|
account | no | Account the VPC is related to. | ||
action_policy | no | ingress |
| Action policy of the rule. aliases: action |
api_http_method | no | get |
| HTTP method used. |
api_key | no | API key of the CloudStack API. | ||
api_region | no | cloudstack | Name of the ini section in the cloustack.ini file. | |
api_secret | no | Secret key of the CloudStack API. | ||
api_timeout | no | 10 | HTTP timeout. | |
api_url | no | URL of the CloudStack API e.g. https://cloud.example.com/client/api. | ||
cidr | no | 0.0.0.0/0 | CIDR of the rule. | |
domain | no | Domain the VPC is related to. | ||
end_port | no | End port for this rule. Considered if protocol=tcp or protocol=udp .If not specified, equal start_port . | ||
icmp_code | no | Error code for this icmp message. Considered if protocol=icmp . | ||
icmp_type | no | Type of the icmp message being sent. Considered if protocol=icmp . | ||
network_acl | yes | Name of the network ACL. aliases: acl | ||
poll_async | no | True | Poll async jobs until job has finished. | |
project | no | Name of the project the VPC is related to. | ||
protocol | no | tcp |
| Protocol of the rule |
protocol_number | no | Protocol number from 1 to 256 required if protocol=by_number . | ||
rule_position | yes | CIDR of the rule. aliases: number | ||
start_port | no | Start port for this rule. Considered if protocol=tcp or protocol=udp .aliases: port | ||
state | no | present |
| State of the network ACL rule. |
tags | no | List of tags. Tags are a list of dictionaries having keys key and value .If you want to delete all tags, set a empty list e.g. tags: [] .aliases: tag | ||
traffic_type | no | ingress |
| Traffic type of the rule. aliases: type |
vpc | yes | VPC the network ACL is related to. | ||
zone | no | Name of the zone the VPC related to. If not set, default zone is used. |
Examples
# create a network ACL rule, allow port 80 ingress local_action: module: cs_network_acl_rule network_acl: web rule_position: 1 vpc: my vpc traffic_type: ingress action_policy: allow port: 80 cidr: 0.0.0.0/0 # create a network ACL rule, deny port range 8000-9000 ingress for 10.20.0.0/16 local_action: module: cs_network_acl_rule network_acl: web rule_position: 1 vpc: my vpc traffic_type: ingress action_policy: deny start_port: 8000 end_port: 8000 cidr: 10.20.0.0/16 # create a network ACL rule local_action: module: cs_network_acl_rule network_acl: web rule_position: 1 vpc: my vpc traffic_type: ingress action_policy: deny start_port: 8000 end_port: 8000 cidr: 10.20.0.0/16 # remove a network ACL rule local_action: module: cs_network_acl_rule network_acl: web rule_position: 1 vpc: my vpc state: absent
Return Values
Common return values are documented here Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
account | Account the network ACL rule is related to. | success | string | example account |
action_policy | Action policy of the network ACL rule. | success | string | deny |
cidr | CIDR of the network ACL rule. | success | string | 0.0.0.0/0 |
domain | Domain the network ACL rule is related to. | success | string | example domain |
end_port | End port of the network ACL rule. | success | int | 80 |
icmp_code | ICMP code of the network ACL rule. | success | int | 8 |
icmp_type | ICMP type of the network ACL rule. | success | int | 0 |
network_acl | Name of the network ACL. | success | string | customer acl |
project | Name of project the network ACL rule is related to. | success | string | Production |
protocol | Protocol of the network ACL rule. | success | string | tcp |
protocol_number | Protocol number in case protocol is by number. | success | int | 8 |
rule_position | Position of the network ACL rule. | success | int | 1 |
start_port | Start port of the network ACL rule. | success | int | 80 |
state | State of the network ACL rule. | success | string | Active |
tags | List of resource tags associated with the network ACL rule. | success | dict | [ { "key": "foo", "value": "bar" } ] |
traffic_type | Traffic type of the network ACL rule. | success | string | ingress |
vpc | VPC of the network ACL. | success | string | customer vpc |
zone | Zone the VPC is related to. | success | string | ch-gva-2 |
Notes
Note
- Ansible uses the
cs
library’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_SECRET
andCLOUDSTACK_METHOD
.CLOUDSTACK_TIMEOUT
environment variables. - ACLOUDSTACK_CONFIG
environment variable pointing to an.ini
file, - Acloudstack.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 incloudstack.ini
. Use the argumentapi_region
to 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 on http://docs.ansible.com/ansible/guide_cloudstack.html
- This module supports check mode.
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/cs_network_acl_rule_module.html