-
Notifications
You must be signed in to change notification settings - Fork 0
/
argument_specs.yml
181 lines (181 loc) · 6.44 KB
/
argument_specs.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
# Copyright 2019-2024 Chris Croome
#
# This file is part of the Webarchitects Ansible role.
#
# The Webarchitects Ansible role is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
#
# The Webarchitects Ansible role is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with the Webarchitects Ansible role. If not, see <https://www.gnu.org/licenses/>.
---
argument_specs:
main:
author: Chris Croome
description: An Ansible role for installing Ansible.
short_description: The main entry point for the Ansible role.
options:
ans:
description: Run the tasks in this role.
required: true
type: bool
ans_cols:
description: Ansible collections to install.
elements: dict
options:
name:
description: The name of the Ansible collection to install.
required: true
type: str
url:
description: The URL of the Ansible collection to install.
required: true
type: str
version:
description: The version of the Ansible collection to install.
required: true
type: str
required: false
type: list
ans_distros:
choices:
- bookworm
- bullseye
- jammy
- noble
- trixie
description: Internal list of Debian and Ubuntu distos generated from the ans_pkgs list.
elements: str
required: true
type: list
ans_distro_check:
description: Enable or disable the ansible_facts.distribution and ansible_facts.distribution_release check.
required: true
type: bool
ans_downgrade:
description: Enable or disable the installing of older versions of packages than the system packages.
required: true
type: bool
ans_env:
description: An internal dictionary of environment variables to use when running ansible.
required: true
type: dict
ans_jpq:
description: A dictionary of JMESPath queries for use with the community.general.json_query module.
required: true
type: dict
ans_pipx_cmd:
description: Force the use of command rather than community.general.pipx for installing packages using pipx, this is sometimes needed on older servers.
required: true
type: bool
ans_pipx_package_version:
description: The version of the pipx package.
required: false
type: str
ans_pipx_path:
description: The path to pipx for community.general.pipx_info.
required: true
type: str
ans_pipx_root_env:
description: The pipx environment variables for the root user.
options:
PIPX_BIN_DIR:
description: The PIPX_BIN_DIR environment variable value for pipx when run as root.
required: false
type: str
PIPX_HOME:
description: The PIPX_HOME environment variable value for pipx when run as root.
required: false
type: str
required: false
type: dict
ans_pipx_user_env:
description: The pipx environment variables for a regular user.
options:
PIPX_BIN_DIR:
description: The PIPX_BIN_DIR environment variable value for pipx when run as a regular user.
required: false
type: str
PIPX_HOME:
description: The PIPX_HOME environment variable value for pipx when run as a regular user.
required: false
type: str
required: false
type: dict
ans_pkgs:
type: list
required: true
description: A list of distributions and packages required.
options:
name:
type: str
required: true
description: The Debian / Ubuntu version, ansible_facts.distribution_release.
choices:
- bookworm
- bullseye
- jammy
- noble
- trixie
pkgs_absent:
type: list
required: false
description: A list of deb packages that should be absent for this version of Debian / Ubuntu.
pkgs_present:
type: list
required: false
description: A list of deb packages that should be present for this version of Debian / Ubuntu.
ans_pypi_pkgs:
description: A list of PyPI, Python Package Index packages to install.
elements: dict
options:
extras:
description: A list of extras, optional variants of a package, which may include additional dependencies.
elements: str
required: false
type: list
name:
description: The name of the PyPI package.
required: true
type: str
state:
choices:
- absent
- forcereinstall
- present
description: The state to pass to the ansible.builtin.pip module.
required: false
type: str
type:
choices:
- app
- lib
description: The type of the PyPI package.
required: false
type: str
url:
description: The URL of the PyPI package.
required: false
type: str
venv:
description: The pipx venv to inject the package into, if it exists and pip is not being used.
required: false
type: str
version:
description: The version of PyPI package.
required: false
type: str
required: true
type: list
ans_python_path:
description: The path to the system python3 binary.
required: true
type: str
ans_user_bin:
description: The non-root user bin dir.
required: false
type: str
ans_verify:
description: Verify the ans_ variables usng the arg spec.
required: true
type: bool
...