Source code for idem_aws.exec.aws.apigatewayv2.route

"""Exec functions for AWS API Gateway v2 API resources."""
from typing import Any
from typing import Dict


__func_alias__ = {"list_": "list"}


[docs]async def get(hub, ctx, name: str, api_id: str, route_id: str) -> Dict[str, Any]: """Get a route resource from AWS. Args: name(str): The name of the Idem state. api_id(str): The API identifier. route_id(str): The route ID. Returns: Dict[str, Any]: Returns a route. Examples: Call from the CLI: .. code-block:: bash idem exec aws.apigatewayv2.route.get name="my_resource" api_id="api_id" route_id="route_id" Call from code: .. code-block:: python async def my_func(hub, ctx, name:str, api_id:str, route_id:str): await hub.exec.aws.apigatewayv2.route.get(ctx, name, api_id, route_id) Using in a state: .. code-block:: yaml my_unmanaged_resource: exec.run: - path: aws.apigatewayv2.route.get - kwargs: name: my_resource api_id: api_id route_id: route_id """ result = dict(comment=[], ret=None, result=True) ret = await hub.exec.boto3.client.apigatewayv2.get_route( ctx, ApiId=api_id, RouteId=route_id ) if not ret["result"]: if "NotFoundException" in str(ret["comment"]): result["comment"].append( hub.tool.aws.comment_utils.get_empty_comment( resource_type="aws.apigatewayv2.route", name=name ) ) result["comment"] += list(ret["comment"]) return result result["comment"] += list(ret["comment"]) result["result"] = False return result result["ret"] = hub.tool.aws.apigatewayv2.route.convert_raw_route_to_present( raw_resource=ret["ret"], api_id=api_id, ) return result
[docs]async def list_(hub, ctx, api_id: str) -> Dict[str, Any]: """Get a list of route resources from AWS. Args: api_id(str): The API identifier. Returns: Dict[str, Any]: Returns a route. Examples: Call from the CLI: .. code-block:: bash idem exec aws.apigatewayv2.route.get name="my_resource" api_id="api_id" Call from code: .. code-block:: python async def my_func(hub, ctx, name:str, api_id:str): await hub.exec.aws.apigatewayv2.route.get(ctx, name, api_id) Using in a state: .. code-block:: yaml my_unmanaged_resource: exec.run: - path: aws.apigatewayv2.route.get - kwargs: name: my_resource api_id: api_id """ result = dict(comment=[], ret=None, result=True) ret = await hub.exec.boto3.client.apigatewayv2.get_routes(ctx, ApiId=api_id) if not ret["result"]: if "NotFoundException" in str(ret["comment"]): result["comment"].append( hub.tool.aws.comment_utils.get_empty_comment( resource_type="aws.apigatewayv2.route", name=name ) ) result["comment"] += list(ret["comment"]) return result result["comment"] += list(ret["comment"]) result["result"] = False return result result["ret"] = [] for item in ret["ret"]["Items"]: result["ret"].append( hub.tool.aws.apigatewayv2.route.convert_raw_route_to_present( raw_resource=item, api_id=api_id, ) ) return result