Source code for idem_aws.exec.aws.rds.db_subnet_group

"""
Exec module for rds.db_subnet_group
"""
from dataclasses import make_dataclass
from typing import Any
from typing import Dict
from typing import List


__func_alias__ = {"list_": "list"}


[docs]async def get(hub, ctx, resource_id: str, name: str = None) -> Dict[str, Any]: """ Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup. For an overview of CIDR ranges, go to the Wikipedia Tutorial. Args: resource_id(str): An identifier of the resource in the provider. Defaults to None. name(str, Optional): An Idem name of the resource Examples: .. code-block:: bash idem exec aws_auto.rds.db_subnet_group.get.get resource_id=01235789abcdef .. code-block:: python async def my_func(hub, ctx): ret = await hub.exec.aws_auto.rds.db_subnet_group.get.get(ctx, resource_id="012345789abcedf") .. code-block:: yaml aws_auto_rds_db_subnet_group_get_resource: exec.run: - path: aws_auto.rds.db_subnet_group.get - resource_id: 0123456789abcdef """ result = { "comment": [], "ret": None, "result": True, } ret = await hub.exec.boto3.client.rds.describe_db_subnet_groups( ctx=ctx, DBSubnetGroupName=resource_id, ) if not ret["result"]: if "DBSubnetGroupNotFoundFault" in str(ret.get("comment", "")): result["comment"].append( hub.tool.aws.comment_utils.get_empty_comment( resource_type="aws.rds.db_subnet_group", name=name if name else resource_id, ) ) else: ret["result"] = False result["comment"] += list(ret["comment"]) return result if not ret["ret"]["DBSubnetGroups"]: result["comment"].append( hub.tool.aws.comment_utils.get_empty_comment( resource_type="aws.rds.db_subnet_group", name=name if name else resource_id, ) ) return result resource = ret["ret"]["DBSubnetGroups"][0] if len(ret["ret"]["DBSubnetGroups"]) > 1: result["comment"].append( f"More than one aws.rds.db_subnet_group resource was found. Use resource {resource.get('DBSubnetGroupName')}" ) result[ "ret" ] = hub.tool.aws.rds.conversion_utils.convert_raw_db_subnet_group_to_present( resource=resource ) return result
[docs]async def list_( hub, ctx, name: str = None, filters: List[ make_dataclass("Filter", [("Name", str), ("Values", List[str])]) ] = None, ) -> Dict[str, Any]: """ Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup. For an overview of CIDR ranges, go to the Wikipedia Tutorial. Args: name(str): An Idem name of the resource. filters(list[Dict[str, Any]], Optional): This parameter isn't currently supported. Defaults to None. * Name (str): The name of the filter. Filter names are case-sensitive. * Values (list[str]): One or more filter values. Filter values are case-sensitive. Examples: .. code-block:: bash idem exec aws_auto.rds.db_subnet_group.list .. code-block:: python async def my_func(hub, ctx): ret = await hub.exec.aws_auto.rds.db_subnet_group.list(ctx) .. code-block:: yaml aws_auto_rds_db_subnet_group_list_resource: exec.run: - path: aws_auto.rds.db_subnet_group.list """ result = { "comment": [], "ret": None, "result": True, } ret = await hub.exec.boto3.client.rds.describe_db_subnet_groups( ctx=ctx, filters=filters, ) if not ret["result"]: result["comment"] += list(ret["comment"]) return result if not ret["ret"]["DBSubnetGroups"]: result["comment"].append( hub.tool.aws.comment_utils.get_empty_comment( resource_type="aws.rds.db_subnet_group", name=name ) ) return result result["ret"] = [] for resource in ret["ret"]["DBSubnetGroups"]: result["ret"].append( hub.tool.aws.rds.conversion_utils.convert_raw_db_subnet_group_to_present( resource=resource ) ) return result