in fbpcp/mapper/aws.py [0:0]
def map_ecstask_to_containerinstance(task: Dict[str, Any]) -> ContainerInstance:
container = task["containers"][0]
ip_v4 = (
container["networkInterfaces"][0]["privateIpv4Address"]
if len(container["networkInterfaces"]) > 0
else None
)
status = container["lastStatus"]
if status == "RUNNING":
status = ContainerInstanceStatus.STARTED
elif status == "STOPPED":
if container.get("exitCode") == 0:
status = ContainerInstanceStatus.COMPLETED
else:
status = ContainerInstanceStatus.FAILED
else:
status = ContainerInstanceStatus.UNKNOWN
return ContainerInstance(task["taskArn"], ip_v4, status)