Add 'idempotent' attribute (#833)

* Add 'idempotent' attribute.

* Mention check mode in attribute description.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
pull/371/head
Felix Fontein 2024-12-30 21:11:12 +01:00 committed by GitHub
parent 0d4b16aadb
commit 3f0e292246
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
34 changed files with 108 additions and 0 deletions

View File

@ -18,6 +18,20 @@ attributes:
description: Can run in C(check_mode) and return changed status prediction without modifying target.
diff_mode:
description: Will return details on what has changed (or possibly needs changing in C(check_mode)), when in diff mode.
idempotent:
description:
- When run twice in a row outside check mode, with the same arguments, the second invocation indicates no change.
- This assumes that the system controlled/queried by the module has not changed in a relevant way.
"""
# Should be used together with the standard fragment
IDEMPOTENT_NOT_MODIFY_STATE = r"""
options: {}
attributes:
idempotent:
support: full
details:
- This action does not modify state.
"""
# Should be used together with the standard fragment

View File

@ -19,6 +19,11 @@ description:
attributes:
diff_mode:
support: full
idempotent:
support: partial
details:
- If relative timestamps are used and O(ignore_timestamps=false), the module is not idempotent.
- The option O(force=true) generally disables idempotency.
requirements:
- cryptography >= 1.6 (if using V(selfsigned) or V(ownca) provider)
options:

View File

@ -18,6 +18,8 @@ description:
attributes:
diff_mode:
support: full
idempotent:
support: full
requirements:
- cryptography >= 1.3
options:

View File

@ -20,6 +20,10 @@ description:
attributes:
diff_mode:
support: full
idempotent:
support: partial
details:
- The option O(regenerate=always) generally disables idempotency.
requirements:
- cryptography >= 1.2.3 (older versions might work as well)
options:

View File

@ -17,6 +17,8 @@ requirements:
attributes:
diff_mode:
support: none
idempotent:
support: full
options:
src_path:
description:

View File

@ -43,6 +43,10 @@ attributes:
support: full
diff_mode:
support: full
idempotent:
support: partial
details:
- If O(state=changed_key) is used, the module is not idempotent.
options:
state:
description:

View File

@ -26,6 +26,7 @@ extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.actiongroup_acme
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
options:
retrieve_orders:
description:

View File

@ -24,6 +24,7 @@ extends_documentation_fragment:
- community.crypto.acme.no_account
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
options:
certificate_path:
description:

View File

@ -81,6 +81,12 @@ attributes:
support: none
safe_file_operations:
support: full
idempotent:
support: partial
details:
- If O(force=true), the module is not idempotent.
If O(force=false), it depends on the certificate's validity period and the value of O(remaining_days).
- The second phase invocation of the module is always idempotent, assuming no error occurs.
options:
account_email:
description:

View File

@ -33,6 +33,8 @@ attributes:
support: full
diff_mode:
support: none
idempotent:
support: full
options:
order_uri:
description:

View File

@ -23,6 +23,7 @@ extends_documentation_fragment:
- community.crypto.acme.no_account
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
options:
certificate_path:
description:

View File

@ -41,6 +41,8 @@ attributes:
support: none
diff_mode:
support: none
idempotent:
support: full
options:
certificate:
description:

View File

@ -37,6 +37,11 @@ attributes:
support: N/A
details:
- This action does not modify state.
idempotent:
support: none
details:
- The certificates returned are never the same, since the Not Before and Not After timestamps
depend on the invocation's timestamp.
options:
challenge:
description:

View File

@ -44,6 +44,8 @@ attributes:
support: none
diff_mode:
support: none
idempotent:
support: none
options:
url:
description:

View File

@ -24,6 +24,7 @@ requirements:
- "cryptography >= 1.5"
extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.idempotent_not_modify_state
attributes:
check_mode:
support: full

View File

@ -21,6 +21,7 @@ description:
extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
options: {}
"""

View File

@ -37,6 +37,13 @@ attributes:
support: none
safe_file_operations:
support: full
idempotent:
support: partial
details:
- The module is not idempotent if O(force=true).
- Under which conditions the module is idempotent still needs to be determined.
If you are using this module and have more information, please contribute to
the documentation!
options:
backup:
description:

View File

@ -44,6 +44,12 @@ attributes:
support: none
diff_mode:
support: none
idempotent:
support: partial
details:
- Under which conditions the module is idempotent still needs to be determined.
If you are using this module and have more information, please contribute to
the documentation!
options:
client_id:
description:

View File

@ -20,6 +20,7 @@ description:
newer.
extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.idempotent_not_modify_state
attributes:
check_mode:
support: none

View File

@ -23,6 +23,8 @@ attributes:
support: full
diff_mode:
support: none
idempotent:
support: full
options:
device:

View File

@ -28,6 +28,11 @@ attributes:
support: full
safe_file_operations:
support: full
idempotent:
support: partial
details:
- The module is not idempotent if O(force=true) or O(regenerate=always).
- If relative timestamps are used and O(ignore_timestamps=false) (default), the module is not idempotent.
options:
state:
description:

View File

@ -30,6 +30,10 @@ attributes:
support: full
safe_file_operations:
support: full
idempotent:
support: partial
details:
- The module is not idempotent if O(force=true) or O(regenerate=always).
options:
state:
description:

View File

@ -26,6 +26,7 @@ extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.name_encoding
- community.crypto.attributes.idempotent_not_modify_state
options:
path:
description:

View File

@ -35,6 +35,10 @@ attributes:
support: none
safe_file_operations:
support: full
idempotent:
support: partial
details:
- The module is not idempotent if O(force=true).
options:
state:
description:

View File

@ -32,6 +32,10 @@ attributes:
support: none
safe_file_operations:
support: full
idempotent:
support: partial
details:
- The module is not idempotent if O(force=true).
options:
action:
description:

View File

@ -27,6 +27,7 @@ author:
extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
options:
path:
description:

View File

@ -34,6 +34,10 @@ attributes:
support: full
safe_file_operations:
support: full
idempotent:
support: partial
details:
- The module is not idempotent if O(force=true).
options:
state:
description:

View File

@ -23,6 +23,7 @@ author:
extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
options:
path:
description:

View File

@ -30,6 +30,11 @@ attributes:
- This action does not modify state.
diff_mode:
support: none
idempotent:
support: partial
details:
- Signature algorithms are generally not deterministic. Thus the generated signature
can change from one invocation to the next.
options:
privatekey_path:
description:

View File

@ -24,6 +24,7 @@ author:
extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
options:
path:
description:

View File

@ -28,6 +28,8 @@ attributes:
support: none
safe_file_operations:
support: full
idempotent:
support: full
options:
src_path:
description:

View File

@ -31,6 +31,7 @@ author:
extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
- community.crypto.name_encoding
options:
path:

View File

@ -33,6 +33,11 @@ attributes:
support: full
safe_file_operations:
support: full
idempotent:
support: partial
details:
- The module is not idempotent if O(force=true).
- If relative timestamps and O(ignore_timestamps=false) (default), the module is not idempotent.
options:
state:
description:

View File

@ -22,6 +22,7 @@ author:
extends_documentation_fragment:
- community.crypto.attributes
- community.crypto.attributes.info_module
- community.crypto.attributes.idempotent_not_modify_state
- community.crypto.name_encoding
options:
path: