Source code for idem_aws.exec.aws.guardduty.organization_admin_account

"""Exec module for managing Guardduty org admins."""
__func_alias__ = {"list_": "list"}

from typing import Dict


[docs]async def list_(hub, ctx, name: str = None) -> Dict: """List AWS Guardduty organization admin accounts. Fetch a list of organization admin accounts for AWS Guardduty. The function returns empty list when no resource is found. Only the organization's management account can run this API operation. Args: name(str, Optional): The name of the Idem state. Returns: Dict[str, Any]: Returns organization admin accounts in present format Examples: Calling this exec module function from the cli .. code-block:: bash idem exec aws.guardduty.organization_admin_account.list name="list org admins" Using in a state: .. code-block:: yaml my_unmanaged_resources: exec.run: - path: aws.guardduty.organization_admin_account.list - kwargs: name: my_resources """ result = dict(comment=[], ret=[], result=True) ret = await hub.exec.boto3.client.guardduty.list_organization_admin_accounts(ctx) if not ret["result"]: result["result"] = ret["result"] result["comment"] += list(ret["comment"]) return result if not ret["ret"]["AdminAccounts"]: result["comment"].append( hub.tool.aws.comment_utils.list_empty_comment( resource_type="aws.guardduty.organization_admin_account", name=name ) ) return result for admin_account in ret["ret"]["AdminAccounts"]: result["ret"].append( hub.tool.aws.guardduty.conversion_utils.convert_raw_org_admin_account_to_present( raw_resource=admin_account, idem_resource_name=name ) ) return result