You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/argspec/tasks/main.yml

824 lines
26 KiB
YAML

- argspec:
required: value
required_one_of_one: value
- argspec:
required_one_of_one: value
register: argspec_required_fail
ignore_errors: true
- argspec:
required:
required_one_of_one: value
register: argspec_required_fail_none
- argspec:
required: value
required_one_of_two: value
- argspec:
required: value
# Explicit None is allowed for 'required_one_of_three'
required_one_of_three:
register: argspec_required_one_of_explicitly_allowed
- argspec:
required: value
# Explicit None is not allowed for 'required_one_of_four'
required_one_of_four:
register: argspec_required_one_of_explicitly_disallowed
ignore_errors: true
- argspec:
required: value
register: argspec_required_one_of_fail
ignore_errors: true
- argspec:
required: value
required_one_of_one:
register: argspec_required_one_of_fail_none
ignore_errors: true
- argspec:
required: value
required_one_of_two: value
required_by_one: value
required_by_two: value
required_by_three: value
- argspec:
required: value
required_one_of_two: value
required_by_one: value
required_by_two: value
register: argspec_required_by_fail
ignore_errors: true
- argspec:
required: value
required_one_of_two: value
required_by_one:
required_by_two:
required_by_three: value
register: argspec_required_by_fail_none_1
ignore_errors: true
- argspec:
required: value
required_one_of_two: value
required_by_one: value
required_by_two:
required_by_three: value
register: argspec_required_by_fail_none_2
ignore_errors: true
- argspec:
required: value
required_one_of_two: value
required_by_one:
required_by_two:
required_by_three: value
register: argspec_required_by_fail_none_3
ignore_errors: true
- argspec:
state: absent
required: value
required_one_of_one: value
- argspec:
state: present
required: value
required_one_of_one: value
register: argspec_required_if_fail
ignore_errors: true
- argspec:
state: present
path:
required: value
required_one_of_one: value
register: argspec_required_if_fail_none
ignore_errors: true
- argspec:
state: present
path: foo
required: value
required_one_of_one: value
- argspec:
state: present
content: foo
required: value
required_one_of_one: value
- argspec:
state: present
content: foo
path: foo
required: value
required_one_of_one: value
register: argspec_mutually_exclusive_fail
ignore_errors: true
- argspec:
state: present
content: foo
path:
required: value
required_one_of_one: value
register: argspec_mutually_exclusive_fail_none
ignore_errors: true
- argspec:
mapping:
foo: bar
required: value
required_one_of_one: value
register: argspec_good_mapping
- argspec:
mapping: foo=bar
required: value
required_one_of_one: value
register: argspec_good_mapping_kv
- argspec:
mapping: !!str '{"foo": "bar"}'
required: value
required_one_of_one: value
register: argspec_good_mapping_json
- argspec:
mapping: !!str '{"foo": False}'
required: value
required_one_of_one: value
register: argspec_good_mapping_dict_repr
- argspec:
mapping: foo
required: value
required_one_of_one: value
register: argspec_bad_mapping_string
ignore_errors: true
- argspec:
mapping: 1
required: value
required_one_of_one: value
register: argspec_bad_mapping_int
ignore_errors: true
- argspec:
mapping:
- foo
- bar
required: value
required_one_of_one: value
register: argspec_bad_mapping_list
ignore_errors: true
- argspec:
required_together:
- thing: foo
other: bar
another: baz
required: value
required_one_of_one: value
- argspec:
required_together:
- another: baz
required: value
required_one_of_one: value
- argspec:
required_together:
- thing: foo
required: value
required_one_of_one: value
register: argspec_required_together_fail
ignore_errors: true
- argspec:
required_together:
- thing: foo
other:
required: value
required_one_of_one: value
register: argspec_required_together_fail_none
ignore_errors: true
- argspec:
required_together:
- thing: foo
other: bar
required: value
required_one_of_one: value
- argspec:
required_if:
- thing: bar
required: value
required_one_of_one: value
- argspec:
required_if:
- thing: foo
other: bar
required: value
required_one_of_one: value
- argspec:
required_if:
- thing: foo
required: value
required_one_of_one: value
register: argspec_required_if_fail_2
ignore_errors: true
- argspec:
required_if:
- thing: foo
other:
required: value
required_one_of_one: value
register: argspec_required_if_fail_2_none
ignore_errors: true
- argspec:
required_one_of:
- thing: foo
other: bar
required: value
required_one_of_one: value
- argspec:
required_one_of:
- {}
required: value
required_one_of_one: value
register: argspec_required_one_of_fail_2
ignore_errors: true
- argspec:
required_one_of:
- thing:
required: value
required_one_of_one: value
register: argspec_required_one_of_fail_2_none
ignore_errors: true
- argspec:
required_by:
- thing: foo
other: bar
required: value
required_one_of_one: value
- argspec:
required_by:
- thing: foo
required: value
required_one_of_one: value
register: argspec_required_by_fail_2
ignore_errors: true
- argspec:
required_by:
- thing: foo
other:
required: value
required_one_of_one: value
register: argspec_required_by_fail_2_none_1
ignore_errors: true
- argspec:
required_by:
- thing:
other: bar
required: value
required_one_of_one: value
register: argspec_required_by_fail_2_none_2
ignore_errors: true
- argspec:
required_by:
- thing:
other:
required: value
required_one_of_one: value
register: argspec_required_by_fail_2_none_3
ignore_errors: true
- argspec:
json: !!str '{"foo": "bar"}'
required: value
required_one_of_one: value
register: argspec_good_json_string
- argspec:
json:
foo: bar
required: value
required_one_of_one: value
register: argspec_good_json_dict
- argspec:
json: 1
required: value
required_one_of_one: value
register: argspec_bad_json
ignore_errors: true
- argspec:
fail_on_missing_params:
- needed_param
needed_param: whatever
required: value
required_one_of_one: value
- argspec:
fail_on_missing_params:
- needed_param
required: value
required_one_of_one: value
register: argspec_fail_on_missing_params_bad
ignore_errors: true
- argspec:
required_together_one: foo
required_together_two: bar
required: value
required_one_of_one: value
- argspec:
required_together_one: foo
required: value
required_one_of_one: value
register: argspec_fail_required_together_2
ignore_errors: true
- argspec:
required_together_one: foo
required_together_two:
required: value
required_one_of_one: value
register: argspec_fail_required_together_2_none
ignore_errors: true
- argspec:
suboptions_list_no_elements:
- thing: foo
required: value
required_one_of_one: value
register: argspec_suboptions_list_no_elements
- argspec:
choices_with_strings_like_bools: on
required: value
required_one_of_one: value
register: argspec_choices_with_strings_like_bools_true
- argspec:
choices_with_strings_like_bools: 'on'
required: value
required_one_of_one: value
register: argspec_choices_with_strings_like_bools_true_bool
- argspec:
choices_with_strings_like_bools: off
required: value
required_one_of_one: value
register: argspec_choices_with_strings_like_bools_false
- argspec:
required: value
required_one_of_one: value
choices: foo
- argspec:
required: value
required_one_of_one: value
choices: baz
register: argspec_choices_bad_choice
ignore_errors: true
- argspec:
required: value
required_one_of_one: value
list_choices:
- bar
- baz
- argspec:
required: value
required_one_of_one: value
list_choices:
- bar
- baz
- qux
register: argspec_list_choices_bad_choice
ignore_errors: true
- argspec:
required: value
required_one_of_one: value
primary: foo
register: argspec_aliases_primary
- argspec:
required: value
required_one_of_one: value
alias: foo
register: argspec_aliases_alias
- argspec:
required: value
required_one_of_one: value
primary: foo
alias: foo
register: argspec_aliases_both
- argspec:
required: value
required_one_of_one: value
primary: foo
alias: bar
register: argspec_aliases_both_different
- command: >-
ansible localhost -m argspec
-a 'required=value required_one_of_one=value primary=foo alias=bar'
environment:
ANSIBLE_LIBRARY: '{{ role_path }}/library'
register: argspec_aliases_both_warning
- command: ansible localhost -m import_role -a 'role=argspec tasks_from=password_no_log.yml'
register: argspec_password_no_log
- argspec:
required: value
required_one_of_one: value
int: 1
- argspec:
required: value
required_one_of_one: value
int: foo
register: argspec_int_invalid
ignore_errors: true
- argspec:
required: value
required_one_of_one: value
register: argspec_apply_defaults_not_specified
- argspec:
required: value
required_one_of_one: value
apply_defaults: ~
register: argspec_apply_defaults_none
- argspec:
required: value
required_one_of_one: value
apply_defaults: {}
register: argspec_apply_defaults_empty
- argspec:
required: value
required_one_of_one: value
apply_defaults:
foo: bar
register: argspec_apply_defaults_one
- argspec:
required: value
required_one_of_one: value
deprecation_aliases_version: value
register: deprecation_alias_version
- argspec:
required: value
required_one_of_one: value
deprecation_aliases_date: value
register: deprecation_alias_date
- argspec:
required: value
required_one_of_one: value
deprecation_param_version: value
register: deprecation_param_version
- argspec:
required: value
required_one_of_one: value
deprecation_param_date: value
register: deprecation_param_date
- argspec:
required: value
required_one_of_one: value
subdeprecation:
deprecation_aliases_version: value
register: sub_deprecation_alias_version
- argspec:
required: value
required_one_of_one: value
subdeprecation:
deprecation_aliases_date: value
register: sub_deprecation_alias_date
- argspec:
required: value
required_one_of_one: value
subdeprecation:
deprecation_param_version: value
register: sub_deprecation_param_version
- argspec:
required: value
required_one_of_one: value
subdeprecation:
deprecation_param_date: value
register: sub_deprecation_param_date
- argspec:
required: value
required_one_of_one: value
subdeprecation_alias:
deprecation_aliases_version: value
register: subalias_deprecation_alias_version
- argspec:
required: value
required_one_of_one: value
subdeprecation_alias:
deprecation_aliases_date: value
register: subalias_deprecation_alias_date
- argspec:
required: value
required_one_of_one: value
subdeprecation_alias:
deprecation_param_version: value
register: subalias_deprecation_param_version
- argspec:
required: value
required_one_of_one: value
subdeprecation_alias:
deprecation_param_date: value
register: subalias_deprecation_param_date
- argspec:
required: value
required_one_of_one: value
subdeprecation_list:
- deprecation_aliases_version: value
register: sublist_deprecation_alias_version
- argspec:
required: value
required_one_of_one: value
subdeprecation_list:
- deprecation_aliases_date: value
register: sublist_deprecation_alias_date
- argspec:
required: value
required_one_of_one: value
subdeprecation_list:
- deprecation_param_version: value
register: sublist_deprecation_param_version
- argspec:
required: value
required_one_of_one: value
subdeprecation_list:
- deprecation_param_date: value
register: sublist_deprecation_param_date
- argspec:
required: value
required_one_of_one: value
apply_defaults:
bar_alias1: foo
bar_alias2: baz
register: alias_warning_dict
- argspec:
required: value
required_one_of_one: value
required_one_of:
- other: foo
other_alias: bar
register: alias_warning_listdict
- assert:
that:
- argspec_required_fail is failed
- argspec_required_fail_none is succeeded
- "'required parameter required is none (null)' == argspec_required_fail_none.deprecations[0]['msg']"
- argspec_required_one_of_fail is failed
- argspec_required_one_of_fail_none is succeeded
- "'required parameter required_one_of_one is none (null)' == argspec_required_one_of_fail_none.deprecations[0]['msg']"
- argspec_required_one_of_explicitly_allowed.deprecations is undefined
- argspec_required_one_of_explicitly_disallowed is failed
- argspec_required_one_of_explicitly_disallowed.msg == 'required parameter required_one_of_four cannot be none (null)'
- argspec_required_by_fail is failed
- argspec_required_by_fail_none_1 is succeeded
- argspec_required_by_fail_none_1.deprecations | length == 1
- argspec_required_by_fail_none_1.deprecations[0].msg == 'The explicit none (null) value specified to required_by_one will not be treated as "not specified" in the future'
- argspec_required_by_fail_none_2 is failed
- argspec_required_by_fail_none_2.msg == "missing parameter(s) required by 'required_by_one': required_by_two"
- argspec_required_by_fail_none_3 is succeeded
- argspec_required_by_fail_none_3.deprecations | length == 1
- argspec_required_by_fail_none_3.deprecations[0].msg == 'The explicit none (null) value specified to required_by_one will not be treated as "not specified" in the future'
- argspec_required_if_fail is failed
- argspec_required_if_fail_none is succeeded
- "'required parameter path is none (null)' == argspec_required_if_fail_none.deprecations[0]['msg']"
- argspec_mutually_exclusive_fail is failed
- argspec_mutually_exclusive_fail_none is failed
- argspec_good_mapping is successful
- >-
argspec_good_mapping.mapping == {'foo': 'bar'}
- argspec_good_mapping_json is successful
- >-
argspec_good_mapping_json.mapping == {'foo': 'bar'}
- argspec_good_mapping_dict_repr is successful
- >-
argspec_good_mapping_dict_repr.mapping == {'foo': False}
- argspec_good_mapping_kv is successful
- >-
argspec_good_mapping_kv.mapping == {'foo': 'bar'}
- argspec_bad_mapping_string is failed
- argspec_bad_mapping_int is failed
- argspec_bad_mapping_list is failed
- argspec_required_together_fail is failed
- argspec_required_together_fail_none is succeeded
- "'required parameter other found in required_together is none (null)' == argspec_required_together_fail_none.deprecations[0]['msg']"
- argspec_required_if_fail_2 is failed
- argspec_required_if_fail_2_none is succeeded
- "'required parameter other found in required_if is none (null)' == argspec_required_if_fail_2_none.deprecations[0]['msg']"
- argspec_required_one_of_fail_2 is failed
- argspec_required_one_of_fail_2_none is succeeded
- "'required parameter thing found in required_one_of is none (null)' == argspec_required_one_of_fail_2_none.deprecations[0]['msg']"
- argspec_required_by_fail_2 is failed
- argspec_required_by_fail_2_none_1 is failed
- argspec_required_by_fail_2_none_1.msg == "missing parameter(s) required by 'thing': other"
- argspec_required_by_fail_2_none_2 is succeeded
- argspec_required_by_fail_2_none_2.deprecations | length == 1
- argspec_required_by_fail_2_none_2.deprecations[0].msg == 'The explicit none (null) value specified to thing found in required_by will not be treated as "not specified" in the future'
- argspec_required_by_fail_2_none_3 is succeeded
- argspec_required_by_fail_2_none_3.deprecations | length == 1
- argspec_required_by_fail_2_none_3.deprecations[0].msg == 'The explicit none (null) value specified to thing found in required_by will not be treated as "not specified" in the future'
- argspec_good_json_string is successful
- >-
argspec_good_json_string.json == '{"foo": "bar"}'
- argspec_good_json_dict is successful
- >-
argspec_good_json_dict.json == '{"foo": "bar"}'
- argspec_bad_json is failed
- argspec_fail_on_missing_params_bad is failed
- argspec_fail_required_together_2 is failed
- argspec_fail_required_together_2_none is succeeded
- "'required parameter required_together_two is none (null)' == argspec_fail_required_together_2_none.deprecations[0]['msg']"
- >-
argspec_suboptions_list_no_elements.suboptions_list_no_elements.0 == {'thing': 'foo'}
- argspec_choices_with_strings_like_bools_true.choices_with_strings_like_bools == 'on'
- argspec_choices_with_strings_like_bools_true_bool.choices_with_strings_like_bools == 'on'
- argspec_choices_with_strings_like_bools_false.choices_with_strings_like_bools == 'off'
- argspec_choices_bad_choice is failed
- argspec_list_choices_bad_choice is failed
- argspec_aliases_primary.primary == 'foo'
- argspec_aliases_primary.alias is undefined
- argspec_aliases_alias.primary == 'foo'
- argspec_aliases_alias.alias == 'foo'
- argspec_aliases_both.primary == 'foo'
- argspec_aliases_both.alias == 'foo'
- argspec_aliases_both_different.primary == 'bar'
- argspec_aliases_both_different.alias == 'bar'
- '"[WARNING]: Both option primary and its alias alias are set." in argspec_aliases_both_warning.stderr'
- '"Module did not set no_log for maybe_password" in argspec_password_no_log.stderr'
- '"Module did not set no_log for password" not in argspec_password_no_log.stderr'
- '"Module did not set no_log for not_a_password" not in argspec_password_no_log.stderr'
- argspec_password_no_log.stdout|regex_findall('VALUE_SPECIFIED_IN_NO_LOG_PARAMETER')|length == 1
- argspec_int_invalid is failed
- "argspec_apply_defaults_not_specified.apply_defaults == {'foo': none, 'bar': 'baz'}"
- "argspec_apply_defaults_none.apply_defaults == {'foo': none, 'bar': 'baz'}"
- "argspec_apply_defaults_empty.apply_defaults == {'foo': none, 'bar': 'baz'}"
- "argspec_apply_defaults_one.apply_defaults == {'foo': 'bar', 'bar': 'baz'}"
- deprecation_alias_version.deprecations | length == 1
- deprecation_alias_version.deprecations[0].msg == "Alias 'deprecation_aliases_version' is deprecated. See the module docs for more information"
- deprecation_alias_version.deprecations[0].collection_name == 'foo.bar'
- deprecation_alias_version.deprecations[0].version == '2.0.0'
- "'date' not in deprecation_alias_version.deprecations[0]"
- deprecation_alias_date.deprecations | length == 1
- deprecation_alias_date.deprecations[0].msg == "Alias 'deprecation_aliases_date' is deprecated. See the module docs for more information"
- deprecation_alias_date.deprecations[0].collection_name == 'foo.bar'
- deprecation_alias_date.deprecations[0].date == '2023-01-01'
- "'version' not in deprecation_alias_date.deprecations[0]"
- deprecation_param_version.deprecations | length == 1
- deprecation_param_version.deprecations[0].msg == "Param 'deprecation_param_version' is deprecated. See the module docs for more information"
- deprecation_param_version.deprecations[0].collection_name == 'foo.bar'
- deprecation_param_version.deprecations[0].version == '2.0.0'
- "'date' not in deprecation_param_version.deprecations[0]"
- deprecation_param_date.deprecations | length == 1
- deprecation_param_date.deprecations[0].msg == "Param 'deprecation_param_date' is deprecated. See the module docs for more information"
- deprecation_param_date.deprecations[0].collection_name == 'foo.bar'
- deprecation_param_date.deprecations[0].date == '2023-01-01'
- "'version' not in deprecation_param_date.deprecations[0]"
- sub_deprecation_alias_version.deprecations | length == 1
- sub_deprecation_alias_version.deprecations[0].msg == "Alias 'subdeprecation.deprecation_aliases_version' is deprecated. See the module docs for more information"
- sub_deprecation_alias_version.deprecations[0].collection_name == 'foo.bar'
- sub_deprecation_alias_version.deprecations[0].version == '2.0.0'
- "'date' not in sub_deprecation_alias_version.deprecations[0]"
- sub_deprecation_alias_date.deprecations | length == 1
- sub_deprecation_alias_date.deprecations[0].msg == "Alias 'subdeprecation.deprecation_aliases_date' is deprecated. See the module docs for more information"
- sub_deprecation_alias_date.deprecations[0].collection_name == 'foo.bar'
- sub_deprecation_alias_date.deprecations[0].date == '2023-01-01'
- "'version' not in sub_deprecation_alias_date.deprecations[0]"
- sub_deprecation_param_version.deprecations | length == 1
- sub_deprecation_param_version.deprecations[0].msg == "Param 'subdeprecation[\"deprecation_param_version\"]' is deprecated. See the module docs for more information"
- sub_deprecation_param_version.deprecations[0].collection_name == 'foo.bar'
- sub_deprecation_param_version.deprecations[0].version == '2.0.0'
- "'date' not in sub_deprecation_param_version.deprecations[0]"
- sub_deprecation_param_date.deprecations | length == 1
- sub_deprecation_param_date.deprecations[0].msg == "Param 'subdeprecation[\"deprecation_param_date\"]' is deprecated. See the module docs for more information"
- sub_deprecation_param_date.deprecations[0].collection_name == 'foo.bar'
- sub_deprecation_param_date.deprecations[0].date == '2023-01-01'
- "'version' not in sub_deprecation_param_date.deprecations[0]"
- subalias_deprecation_alias_version.deprecations | length == 1
- subalias_deprecation_alias_version.deprecations[0].msg == "Alias 'subdeprecation.deprecation_aliases_version' is deprecated. See the module docs for more information"
- subalias_deprecation_alias_version.deprecations[0].collection_name == 'foo.bar'
- subalias_deprecation_alias_version.deprecations[0].version == '2.0.0'
- "'date' not in subalias_deprecation_alias_version.deprecations[0]"
- subalias_deprecation_alias_date.deprecations | length == 1
- subalias_deprecation_alias_date.deprecations[0].msg == "Alias 'subdeprecation.deprecation_aliases_date' is deprecated. See the module docs for more information"
- subalias_deprecation_alias_date.deprecations[0].collection_name == 'foo.bar'
- subalias_deprecation_alias_date.deprecations[0].date == '2023-01-01'
- "'version' not in subalias_deprecation_alias_date.deprecations[0]"
- subalias_deprecation_param_version.deprecations | length == 1
- subalias_deprecation_param_version.deprecations[0].msg == "Param 'subdeprecation[\"deprecation_param_version\"]' is deprecated. See the module docs for more information"
- subalias_deprecation_param_version.deprecations[0].collection_name == 'foo.bar'
- subalias_deprecation_param_version.deprecations[0].version == '2.0.0'
- "'date' not in subalias_deprecation_param_version.deprecations[0]"
- subalias_deprecation_param_date.deprecations | length == 1
- subalias_deprecation_param_date.deprecations[0].msg == "Param 'subdeprecation[\"deprecation_param_date\"]' is deprecated. See the module docs for more information"
- subalias_deprecation_param_date.deprecations[0].collection_name == 'foo.bar'
- subalias_deprecation_param_date.deprecations[0].date == '2023-01-01'
- "'version' not in subalias_deprecation_param_date.deprecations[0]"
- sublist_deprecation_alias_version.deprecations | length == 1
- sublist_deprecation_alias_version.deprecations[0].msg == "Alias 'subdeprecation_list[0].deprecation_aliases_version' is deprecated. See the module docs for more information"
- sublist_deprecation_alias_version.deprecations[0].collection_name == 'foo.bar'
- sublist_deprecation_alias_version.deprecations[0].version == '2.0.0'
- "'date' not in sublist_deprecation_alias_version.deprecations[0]"
- sublist_deprecation_alias_date.deprecations | length == 1
- sublist_deprecation_alias_date.deprecations[0].msg == "Alias 'subdeprecation_list[0].deprecation_aliases_date' is deprecated. See the module docs for more information"
- sublist_deprecation_alias_date.deprecations[0].collection_name == 'foo.bar'
- sublist_deprecation_alias_date.deprecations[0].date == '2023-01-01'
- "'version' not in sublist_deprecation_alias_date.deprecations[0]"
- sublist_deprecation_param_version.deprecations | length == 1
- sublist_deprecation_param_version.deprecations[0].msg == "Param 'subdeprecation_list[\"deprecation_param_version\"]' is deprecated. See the module docs for more information"
- sublist_deprecation_param_version.deprecations[0].collection_name == 'foo.bar'
- sublist_deprecation_param_version.deprecations[0].version == '2.0.0'
- "'date' not in sublist_deprecation_param_version.deprecations[0]"
- sublist_deprecation_param_date.deprecations | length == 1
- sublist_deprecation_param_date.deprecations[0].msg == "Param 'subdeprecation_list[\"deprecation_param_date\"]' is deprecated. See the module docs for more information"
- sublist_deprecation_param_date.deprecations[0].collection_name == 'foo.bar'
- sublist_deprecation_param_date.deprecations[0].date == '2023-01-01'
- "'version' not in sublist_deprecation_param_date.deprecations[0]"
- "'Both option apply_defaults.bar and its alias apply_defaults.bar_alias2 are set.' in alias_warning_dict.warnings"
- "'Both option required_one_of[0].other and its alias required_one_of[0].other_alias are set.' in alias_warning_listdict.warnings"