community / community.general / 8.5.0 / module / one_service Deploy and manage OpenNebula services Authors: Milan Ilic (@ilicmilan)community.general.one_service (8.5.0) — module
Install with ansible-galaxy collection install community.general:==8.5.0
collections: - name: community.general version: 8.5.0
Manage OpenNebula services
- name: Instantiate a new service community.general.one_service: template_id: 90 register: result
- name: Print service properties ansible.builtin.debug: msg: result
- name: Instantiate a new service with specified service_name, service group and mode community.general.one_service: template_name: 'app1_template' service_name: 'app1' group_id: 1 mode: '660'
- name: Instantiate a new service with template_id and pass custom_attrs dict community.general.one_service: template_id: 90 custom_attrs: public_network_id: 21 private_network_id: 26
- name: Instantiate a new service 'foo' if the service doesn't already exist, otherwise do nothing community.general.one_service: template_id: 53 service_name: 'foo' unique: true
- name: Delete a service by ID community.general.one_service: service_id: 153 state: absent
- name: Get service info community.general.one_service: service_id: 153 register: service_info
- name: Change service owner, group and mode community.general.one_service: service_name: 'app2' owner_id: 34 group_id: 113 mode: '600'
- name: Instantiate service and wait for it to become RUNNING community.general.one_service: template_id: 43 service_name: 'foo1'
- name: Wait service to become RUNNING community.general.one_service: service_id: 112 wait: true
- name: Change role cardinality community.general.one_service: service_id: 153 role: bar cardinality: 5
- name: Change role cardinality and wait for it to be applied community.general.one_service: service_id: 112 role: foo cardinality: 7 wait: true
mode: description: - Set permission mode of a service instance in octet format, for example V(0600) to give owner C(use) and C(manage) and nothing to group and others. type: str role: description: - Name of the role whose cardinality should be changed. type: str wait: default: false description: - Wait for the instance to reach RUNNING state after DEPLOYING or COOLDOWN state after SCALING. type: bool force: default: false description: - Force the new cardinality even if it is outside the limits. type: bool state: choices: - present - absent default: present description: - V(present) - instantiate a service from a template specified with O(template_id) or O(template_name). - V(absent) - terminate an instance of a service specified with O(template_id) or O(template_name). type: str unique: default: false description: - Setting O(unique=true) will make sure that there is only one service instance running with a name set with O(service_name) when instantiating a service from a template specified with O(template_id) or O(template_name). Check examples below. type: bool api_url: description: - URL of the OpenNebula OneFlow API server. - It is recommended to use HTTPS so that the username/password are not transferred over the network unencrypted. - If not set then the value of the E(ONEFLOW_URL) environment variable is used. type: str group_id: description: - ID of the group which will be set as the group of the service. type: int owner_id: description: - ID of the user which will be set as the owner of the service. type: int service_id: description: - ID of a service instance that you would like to manage. type: int cardinality: description: - Number of VMs for the specified role. type: int template_id: description: - ID of a service template to use to create a new instance of a service. type: int api_password: description: - Password of the user to login into OpenNebula OneFlow API server. If not set then the value of the E(ONEFLOW_PASSWORD) environment variable is used. type: str api_username: description: - Name of the user to login into the OpenNebula OneFlow API server. If not set then the value of the E(ONEFLOW_USERNAME) environment variable is used. type: str custom_attrs: default: {} description: - Dictionary of key/value custom attributes which will be used when instantiating a new service. type: dict service_name: description: - Name of a service instance that you would like to manage. type: str wait_timeout: default: 300 description: - How long before wait gives up, in seconds. type: int template_name: description: - Name of service template to use to create a new instance of a service. type: str
group_id: description: service's group id returned: success sample: 1 type: int group_name: description: service's group name returned: success sample: one-users type: str mode: description: service's mode returned: success sample: 660 type: int owner_id: description: service's owner id returned: success sample: 143 type: int owner_name: description: service's owner name returned: success sample: ansible-test type: str roles: description: list of dictionaries of roles, each role is described by name, cardinality, state and nodes ids returned: success sample: - cardinality: 1 ids: - 123 - 456 name: foo state: RUNNING - cardinality: 2 ids: - 452 - 567 - 746 name: bar state: RUNNING type: list service_id: description: service id returned: success sample: 153 type: int service_name: description: service name returned: success sample: app1 type: str state: description: state of service instance returned: success sample: RUNNING type: str