opentelekomcloud / opentelekomcloud.cloud / 0.14.2 / module / router Create or delete routers from OpenStack Authors: OpenStack Ansible SIGopentelekomcloud.cloud.router (0.14.2) — module
Install with ansible-galaxy collection install opentelekomcloud.cloud:==0.14.2
collections: - name: opentelekomcloud.cloud version: 0.14.2
Create or Delete routers from OpenStack. Although Neutron allows routers to share the same name, this module enforces name uniqueness to be more user friendly.
# Create a simple router, not attached to a gateway or subnets. - opentelekomcloud.cloud.router: cloud: mycloud state: present name: simple_router
# Create a simple router, not attached to a gateway or subnets for a given project. - opentelekomcloud.cloud.router: cloud: mycloud state: present name: simple_router project: myproj
# Creates a router attached to ext_network1 on an IPv4 subnet and one # internal subnet interface. - opentelekomcloud.cloud.router: cloud: mycloud state: present name: router1 network: ext_network1 external_fixed_ips: - subnet: public-subnet ip: 172.24.4.2 interfaces: - private-subnet
# Create another router with two internal subnet interfaces.One with user defined port # ip and another with default gateway. - opentelekomcloud.cloud.router: cloud: mycloud state: present name: router2 network: ext_network1 interfaces: - net: private-net subnet: private-subnet portip: 10.1.1.10 - project-subnet
# Create another router with two internal subnet interface.One with user defined port # ip and and another with default gateway. - opentelekomcloud.cloud.router: cloud: mycloud state: present name: router2 network: ext_network1 interfaces: - net: private-net subnet: private-subnet portip: 10.1.1.10 - project-subnet
# Create another router with two internal subnet interface. one with user defined port # ip and and another with default gateway. - opentelekomcloud.cloud.router: cloud: mycloud state: present name: router2 network: ext_network1 interfaces: - net: private-net subnet: private-subnet portip: 10.1.1.10 - project-subnet
# Update existing router1 external gateway to include the IPv6 subnet. # Note that since 'interfaces' is not provided, any existing internal # interfaces on an existing router will be left intact. - opentelekomcloud.cloud.router: cloud: mycloud state: present name: router1 network: ext_network1 external_fixed_ips: - subnet: public-subnet ip: 172.24.4.2 - subnet: ipv6-public-subnet ip: 2001:db8::3
# Delete router1 - opentelekomcloud.cloud.router: cloud: mycloud state: absent name: router1
auth: description: - Dictionary containing auth information as needed by the cloud's auth plugin strategy. For the default I(password) plugin, this would contain I(auth_url), I(username), I(password), I(project_name) and any information about domains (for example, I(os_user_domain_name) or I(os_project_domain_name)) if the cloud supports them. For other plugins, this param will need to contain whatever parameters that auth plugin requires. This parameter is not needed if a named cloud is provided or OpenStack OS_* environment variables are present. type: dict name: description: - Name to be give to the router required: true type: str wait: default: true description: - Should ansible wait until the requested resource is complete. type: bool cloud: description: - Named cloud or cloud config to operate against. If I(cloud) is a string, it references a named cloud config as defined in an OpenStack clouds.yaml file. Provides default values for I(auth) and I(auth_type). This parameter is not needed if I(auth) is provided or if OpenStack OS_* environment variables are present. If I(cloud) is a dict, it contains a complete cloud configuration like would be in a section of clouds.yaml. type: raw state: choices: - present - absent default: present description: - Indicate desired state of the resource type: str ca_cert: aliases: - cacert description: - A path to a CA Cert bundle that can be used as part of verifying SSL API requests. type: str network: description: - Unique name or ID of the external gateway network. - required I(interfaces) or I(enable_snat) are provided. type: str project: description: - Unique name or ID of the project. type: str timeout: default: 180 description: - How long should ansible wait for the requested resource. type: int auth_type: description: - Name of the auth plugin to use. If the cloud uses something other than password authentication, the name of the plugin should be indicated here and the contents of the I(auth) parameter should be updated accordingly. type: str interface: aliases: - endpoint_type choices: - admin - internal - public default: public description: - Endpoint URL type to fetch from the service catalog. type: str client_key: aliases: - key description: - A path to a client key to use as part of the SSL transaction. type: str interfaces: description: - List of subnets to attach to the router internal interface. Default gateway associated with the subnet will be automatically attached with the router's internal interface. In order to provide an ip address different from the default gateway,parameters are passed as dictionary with keys as network name or ID (I(net)), subnet name or ID (I(subnet)) and the IP of port (I(portip)) from the network. User defined portip is often required when a multiple router need to be connected to a single subnet for which the default gateway has been already used. elements: raw type: list api_timeout: description: - How long should the socket layer wait before timing out for API calls. If this is omitted, nothing will be passed to the requests library. type: int client_cert: aliases: - cert description: - A path to a client certificate to use as part of the SSL transaction. type: str enable_snat: description: - Enable Source NAT (SNAT) attribute. type: bool region_name: description: - Name of the region. type: str sdk_log_path: description: - Path to the logfile of the OpenStackSDK. If empty no log is written type: str sdk_log_level: choices: - ERROR - WARN - INFO - DEBUG default: WARN description: Log level of the OpenStackSDK type: str admin_state_up: default: 'yes' description: - Desired admin state of the created or existing router. type: bool validate_certs: aliases: - verify description: - Whether or not SSL API requests should be verified. - Before Ansible 2.3 this defaulted to C(yes). type: bool
router: contains: admin_state_up: description: Administrative state of the router. sample: true type: bool external_gateway_info: description: The external gateway parameters. sample: enable_snat: true external_fixed_ips: - ip_address: 10.6.6.99 subnet_id: 4272cb52-a456-4c20-8f3c-c26024ecfa81 type: dict id: description: Router ID. sample: 474acfe5-be34-494c-b339-50f06aa143e4 type: str name: description: Router name. sample: router1 type: str routes: description: The extra routes configuration for L3 router. type: list status: description: The router status. sample: ACTIVE type: str tenant_id: description: The tenant ID. sample: 861174b82b43463c9edc5202aadc60ef type: str description: Dictionary describing the router. returned: On success when I(state) is 'present' type: complex