ACIL FM
Dark
Refresh
Current DIR:
/usr/lib/python3.9/site-packages/ansible/plugins/action
/
usr
lib
python3.9
site-packages
ansible
plugins
action
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
__pycache__
-
chmod
Open
Rename
Delete
add_host.py
3.58 MB
chmod
View
DL
Edit
Rename
Delete
assemble.py
6.42 MB
chmod
View
DL
Edit
Rename
Delete
assert.py
5.03 MB
chmod
View
DL
Edit
Rename
Delete
async_status.py
1.78 MB
chmod
View
DL
Edit
Rename
Delete
command.py
1.13 MB
chmod
View
DL
Edit
Rename
Delete
copy.py
26.72 MB
chmod
View
DL
Edit
Rename
Delete
debug.py
3.28 MB
chmod
View
DL
Edit
Rename
Delete
fail.py
1.44 MB
chmod
View
DL
Edit
Rename
Delete
fetch.py
9.64 MB
chmod
View
DL
Edit
Rename
Delete
gather_facts.py
6.55 MB
chmod
View
DL
Edit
Rename
Delete
group_by.py
1.87 MB
chmod
View
DL
Edit
Rename
Delete
include_vars.py
11.19 MB
chmod
View
DL
Edit
Rename
Delete
normal.py
2.39 MB
chmod
View
DL
Edit
Rename
Delete
package.py
4.13 MB
chmod
View
DL
Edit
Rename
Delete
pause.py
11.31 MB
chmod
View
DL
Edit
Rename
Delete
raw.py
1.78 MB
chmod
View
DL
Edit
Rename
Delete
reboot.py
20.59 MB
chmod
View
DL
Edit
Rename
Delete
script.py
7.8 MB
chmod
View
DL
Edit
Rename
Delete
service.py
4.51 MB
chmod
View
DL
Edit
Rename
Delete
set_fact.py
2.75 MB
chmod
View
DL
Edit
Rename
Delete
set_stats.py
2.82 MB
chmod
View
DL
Edit
Rename
Delete
shell.py
1.22 MB
chmod
View
DL
Edit
Rename
Delete
template.py
9.74 MB
chmod
View
DL
Edit
Rename
Delete
unarchive.py
4.78 MB
chmod
View
DL
Edit
Rename
Delete
uri.py
3.96 MB
chmod
View
DL
Edit
Rename
Delete
validate_argument_spec.py
3.98 MB
chmod
View
DL
Edit
Rename
Delete
wait_for_connection.py
4.47 MB
chmod
View
DL
Edit
Rename
Delete
yum.py
4.6 MB
chmod
View
DL
Edit
Rename
Delete
__init__.py
67.24 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/lib/python3.9/site-packages/ansible/plugins/action/assert.py
# Copyright 2012, Dag Wieers <dag@wieers.com> # # This file is part of Ansible # # Ansible 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. # # Ansible 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 Ansible. If not, see <http://www.gnu.org/licenses/>. from __future__ import (absolute_import, division, print_function) __metaclass__ = type from ansible.errors import AnsibleError from ansible.playbook.conditional import Conditional from ansible.plugins.action import ActionBase from ansible.module_utils.six import string_types from ansible.module_utils.parsing.convert_bool import boolean class ActionModule(ActionBase): ''' Fail with custom message ''' TRANSFERS_FILES = False _VALID_ARGS = frozenset(('fail_msg', 'msg', 'quiet', 'success_msg', 'that')) def run(self, tmp=None, task_vars=None): if task_vars is None: task_vars = dict() result = super(ActionModule, self).run(tmp, task_vars) del tmp # tmp no longer has any effect if 'that' not in self._task.args: raise AnsibleError('conditional required in "that" string') fail_msg = None success_msg = None fail_msg = self._task.args.get('fail_msg', self._task.args.get('msg')) if fail_msg is None: fail_msg = 'Assertion failed' elif isinstance(fail_msg, list): if not all(isinstance(x, string_types) for x in fail_msg): raise AnsibleError('Type of one of the elements in fail_msg or msg list is not string type') elif not isinstance(fail_msg, (string_types, list)): raise AnsibleError('Incorrect type for fail_msg or msg, expected a string or list and got %s' % type(fail_msg)) success_msg = self._task.args.get('success_msg') if success_msg is None: success_msg = 'All assertions passed' elif isinstance(success_msg, list): if not all(isinstance(x, string_types) for x in success_msg): raise AnsibleError('Type of one of the elements in success_msg list is not string type') elif not isinstance(success_msg, (string_types, list)): raise AnsibleError('Incorrect type for success_msg, expected a string or list and got %s' % type(success_msg)) quiet = boolean(self._task.args.get('quiet', False), strict=False) # directly access 'that' via untemplated args from the task so we can intelligently trust embedded # templates and preserve the original inputs/locations for better messaging on assert failures and # errors. # FIXME: even in devel, things like `that: item` don't always work properly (truthy string value # is not really an embedded expression) # we could fix that by doing direct var lookups on the inputs # FIXME: some form of this code should probably be shared between debug, assert, and # Task.post_validate, since they # have a lot of overlapping needs try: thats = self._task.untemplated_args['that'] except KeyError: # in the case of "we got our entire args dict from a template", we can just consult the # post-templated dict (the damage has likely already been done for embedded templates anyway) thats = self._task.args['that'] # FIXME: this is a case where we only want to resolve indirections, NOT recurse containers # (and even then, the leaf-most expression being wrapped is at least suboptimal # (since its expression will be "eaten"). if isinstance(thats, str): thats = self._templar.template(thats) # make sure the 'that' items are a list if not isinstance(thats, list): thats = [thats] # Now we iterate over the that items, temporarily assigning them # to the task's when value so we can evaluate the conditional using # the built in evaluate function. The when has already been evaluated # by this point, and is not used again, so we don't care about mangling # that value now cond = Conditional(loader=self._loader) if not quiet: result['_ansible_verbose_always'] = True for that in thats: cond.when = [that] test_result = cond.evaluate_conditional(templar=self._templar, all_vars=task_vars) if not test_result: result['failed'] = True result['evaluated_to'] = test_result result['assertion'] = that result['msg'] = fail_msg return result result['changed'] = False result['msg'] = success_msg return result
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply