Natalie/portainer_api/containers.py
2025-01-24 13:34:39 +03:30

27 lines
1.1 KiB
Python

import json
from utils.date_converter import datetime_from_timestamp
from .base import Portainer
class Containers(Portainer):
def list_containers_of_stack(self, endpoint_id, stack_name):
endpoint_containers = self.portainer.containers.list_containers_by_endpoint(endpoint=endpoint_id)
containers_list = []
for container in endpoint_containers:
if container['Labels'].get('com.docker.compose.project') == stack_name:
container_data = {
"id": container['Id'],
"name": container['Names'][0].lstrip('/'),
"image": container['Image'],
"created": datetime_from_timestamp(container['Created']),
"status": container['Status'],
"labels": container['Labels'],
}
containers_list.append(container_data)
return containers_list
def get_container_image_status(self, endpoint_id, container_id):
status = self.portainer.containers.get_container_image_status(endpoint_id, container_id)
return status