1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-06-12 02:55:29 +00:00

feat(onepassword_info): rewrite module to support op CLI v2 only

Drop v1 syntax (get item, --output=raw, documentAttributes, nested
fields/sections). Add CmdRunner-based auth and item fetch using v2
commands (account list/get, signin --raw, account add --raw --signin,
item get --format json). Fix config_file_path None guard in get_token.
Remove global module antipattern.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Alexei Znamensky 2026-05-18 22:52:49 +12:00
parent 3378d0a202
commit d01402671c
2 changed files with 114 additions and 144 deletions

View file

@ -9,6 +9,29 @@ from __future__ import annotations
import os
from ansible_collections.community.general.plugins.module_utils import _cmd_runner_fmt as fmt
from ansible_collections.community.general.plugins.module_utils._cmd_runner import CmdRunner
def onepassword_runner(module, command):
return CmdRunner(
module,
command=command,
arg_formats=dict(
_account_list=fmt.as_fixed(["account", "list"]),
_account_get=fmt.as_fixed(["account", "get"]),
_signin=fmt.as_fixed(["signin", "--raw"]),
_account_add=fmt.as_fixed(["account", "add", "--raw", "--signin"]),
_item_get=fmt.as_fixed(["item", "get", "--format", "json"]),
account=fmt.as_opt_val("--account"),
address=fmt.as_opt_val("--address"),
email=fmt.as_opt_val("--email"),
item_id=fmt.as_list(),
vault=fmt.as_opt_eq_val("--vault"),
session=fmt.as_optval("--session="),
),
)
class OnePasswordConfig:
_config_file_paths = (