1f7091a11c
This functionality is pretty neat and used widely if you need to pass specific argument to the unit service, but rest of the parameters can be left intact. Change-Id: I6eb80ac0f9f0257402697a255518bb2c66d0dfd5
40 lines
1.7 KiB
YAML
40 lines
1.7 KiB
YAML
---
|
|
# Copyright 2021, City Network International AB.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# NOTE(noonedeadpunk): If we don't have template_arguments set, we just iterate over list with
|
|
# empty string as element. This won't have any effect on the results, but
|
|
# we reduce code duplication
|
|
- name: "Load service {{ service.service_name | replace(' ', '_') }}"
|
|
systemd:
|
|
name: "{{ service.service_name | replace(' ', '_') }}{{ template_argument }}.service"
|
|
enabled: "{{ service.enabled | default(systemd_service_enabled) }}"
|
|
state: "{{ (service.timer is defined) | ternary(omit, (service.state | default(omit))) }}"
|
|
when:
|
|
- service.load | default(True)
|
|
loop: "{{ service.template_arguments | default(['']) }}"
|
|
loop_control:
|
|
loop_var: template_argument
|
|
|
|
- name: "Load timer {{ service.service_name | replace(' ', '_') }}"
|
|
systemd:
|
|
name: "{{ service.service_name | replace(' ', '_') }}{{ template_argument }}.timer"
|
|
enabled: "{{ service.enabled | default(systemd_service_enabled) }}"
|
|
state: "{{ service.timer.state | default(omit) }}"
|
|
when:
|
|
- service.timer is defined
|
|
with_items: "{{ service.template_arguments | default(['']) }}"
|
|
loop_control:
|
|
loop_var: template_argument
|