ngine_io / ngine_io.cloudstack / 2.3.0 / module / cs_portforward Manages port forwarding rules on Apache CloudStack based clouds. | "added in version" 0.1.0 of ngine_io.cloudstack" Authors: René Moser (@resmo)ngine_io.cloudstack.cs_portforward (2.3.0) — module
Install with ansible-galaxy collection install ngine_io.cloudstack:==2.3.0
collections: - name: ngine_io.cloudstack version: 2.3.0
Create, update and remove port forwarding rules.
- name: 1.2.3.4:80 -> web01:8080 ngine_io.cloudstack.cs_portforward: ip_address: 1.2.3.4 zone: zone01 vm: web01 public_port: 80 private_port: 8080
- name: forward SSH and open firewall ngine_io.cloudstack.cs_portforward: ip_address: '{{ public_ip }}' zone: zone01 vm: '{{ inventory_hostname }}' public_port: '{{ ansible_ssh_port }}' private_port: 22 open_firewall: true
- name: forward DNS traffic, but do not open firewall ngine_io.cloudstack.cs_portforward: ip_address: 1.2.3.4 zone: zone01 vm: '{{ inventory_hostname }}' public_port: 53 private_port: 53 protocol: udp
- name: remove ssh port forwarding ngine_io.cloudstack.cs_portforward: ip_address: 1.2.3.4 zone: zone01 public_port: 22 private_port: 22 state: absent
- name: forward SSH in backend tier of VPC ngine_io.cloudstack.cs_portforward: ip_address: '{{ public_ip }}' zone: zone01 vm: '{{ inventory_hostname }}' public_port: '{{ ansible_ssh_port }}' private_port: 22 vpc: myVPC network: backend
vm: description: - Name of virtual machine which we make the port forwarding rule for. - Required if I(state=present). type: str vpc: description: - Name of the VPC. type: str tags: aliases: - tag description: - List of tags. Tags are a list of dictionaries having keys I(key) and I(value). - 'To delete all tags, set a empty list e.g. I(tags: []).' elements: dict type: list zone: description: - Name of the zone in which the virtual machine is in. required: true type: str state: choices: - present - absent default: present description: - State of the port forwarding rule. type: str domain: description: - Domain the I(vm) is related to. type: str account: description: - Account the I(vm) is related to. type: str api_key: description: - API key of the CloudStack API. - If not given, the C(CLOUDSTACK_KEY) env variable is considered. required: true type: str api_url: description: - URL of the CloudStack API e.g. https://cloud.example.com/client/api. - If not given, the C(CLOUDSTACK_ENDPOINT) env variable is considered. required: true type: str network: description: - Name of the network. Required when forwarding ports in a VPC. type: str project: description: - Name of the project the I(vm) is located in. type: str protocol: choices: - tcp - udp default: tcp description: - Protocol of the port forwarding rule. type: str api_secret: description: - Secret key of the CloudStack API. - If not set, the C(CLOUDSTACK_SECRET) env variable is considered. required: true type: str ip_address: description: - Public IP address the rule is assigned to. required: true type: str poll_async: default: true description: - Poll async jobs until job has finished. type: bool api_timeout: default: 10 description: - HTTP timeout in seconds. - If not given, the C(CLOUDSTACK_TIMEOUT) env variable is considered. type: int public_port: description: - Start public port for this rule. required: true type: int vm_guest_ip: description: - VM guest NIC secondary IP address for the port forwarding rule. type: str private_port: description: - Start private port for this rule. required: true type: int open_firewall: default: false description: - Whether the firewall rule for public port should be created, while creating the new rule. - Not supported when forwarding ports in a VPC. - Use M(ngine_io.cloudstack.cs_firewall) for managing firewall rules. type: bool api_http_method: choices: - get - post default: get description: - HTTP method used to query the API endpoint. - If not given, the C(CLOUDSTACK_METHOD) env variable is considered. type: str public_end_port: description: - End public port for this rule. - If not specified equal I(public_port). type: int private_end_port: description: - End private port for this rule. - If not specified equal I(private_port). type: int api_verify_ssl_cert: description: - Verify CA authority cert file. - If not given, the C(CLOUDSTACK_VERIFY) env variable is considered. type: str
id: description: UUID of the public IP address. returned: success sample: a6f7a5fc-43f8-11e5-a151-feff819cdc9f type: str ip_address: description: Public IP address. returned: success sample: 1.2.3.4 type: str network: description: Name of the network. returned: success sample: dmz type: str private_end_port: description: End port on the virtual machine's IP address. returned: success sample: 80 type: int private_port: description: Start port on the virtual machine's IP address. returned: success sample: 80 type: int protocol: description: Protocol. returned: success sample: tcp type: str public_end_port: description: End port on the public IP address. returned: success sample: 80 type: int public_port: description: Start port on the public IP address. returned: success sample: 80 type: int tags: description: Tags related to the port forwarding. returned: success sample: [] type: list vm_display_name: description: Display name of the virtual machine. returned: success sample: web-01 type: str vm_guest_ip: description: IP of the virtual machine. returned: success sample: 10.101.65.152 type: str vm_name: description: Name of the virtual machine. returned: success sample: web-01 type: str vpc: description: Name of the VPC. returned: success sample: my_vpc type: str