Source code for idem_aws.exec.aws.apigateway.integration_response

"""Exec module for managing Amazon API Gateway Integration Responses."""


[docs]async def get( hub, ctx, resource_id: str, name: str = None, ): """ Get an API Gateway Integration Response from AWS. Args: resource_id(str): Idem Resource ID that is generated once the resource is created, formatted as: <rest_api_id>-<parent_resource_id>-<http_method>-<status_code> name(str, Optional): An Idem name of the API Gateway Integration. Returns: .. code-block:: python {"result": True|False, "comment": A message List, "ret": Dict[str, Any]} Examples: Calling this exec module function from the cli with resource_id .. code-block:: bash idem exec aws.apigateway.integration_response.get resource_id="resource_id" name=name Calling this exec module function from within a state module in pure python .. code-block:: python async def state_function(hub, ctx, name, resource_id, name): ret = await hub.exec.aws.apigateway.integration_response.get(ctx, resource_id=resource_id, name=name) """ result = dict(comment=[], ret=None, result=True) if resource_id and len(resource_id.split("-")) == 4: rest_api_id, parent_resource_id, http_method, status_code = resource_id.split( "-" ) get_integration_response = ( await hub.exec.boto3.client.apigateway.get_integration_response( ctx, restApiId=rest_api_id, resourceId=parent_resource_id, httpMethod=http_method, statusCode=status_code, ) ) if not get_integration_response["result"]: if "NotFoundException" in str(get_integration_response["comment"]): result["comment"].append( hub.tool.aws.comment_utils.get_empty_comment( resource_type="aws.apigateway.integration_response", name=name ) ) result["comment"] += list(get_integration_response["comment"]) return result result["comment"] += list(get_integration_response["comment"]) result["result"] = False return result if get_integration_response["ret"]: result[ "ret" ] = hub.tool.aws.apigateway.integration_response.convert_raw_integration_response_to_present( idem_resource_name=name, raw_resource=get_integration_response["ret"], resource_id=resource_id, ) return result else: result["comment"] += [ f"Invalid Resource ID '{resource_id}'. Resource ID should be of format <rest_api_id>-<parent_resource_id>-<http_method>-<status_code>." ] result["result"] = False return result