Adding generic requests method
This commit is contained in:
34
main.py
34
main.py
@@ -25,16 +25,26 @@ class PortainerClient:
|
||||
"X-API-Key": self.access_token
|
||||
}
|
||||
|
||||
def list_stacks(self):
|
||||
response = requests.get(f"{self.api_url}/stacks", headers=self._get_headers())
|
||||
def _get(self, uri):
|
||||
response = requests.get(f"{self.api_url}/{uri}", headers=self._get_headers())
|
||||
return response.json()
|
||||
|
||||
def list_stacks(self):
|
||||
return self._get('stacks')
|
||||
|
||||
def get_stack(self, stack_id):
|
||||
response = requests.get(f"{self.api_url}/stacks/{stack_id}", headers=self._get_headers())
|
||||
return response.json()
|
||||
return self._get(f'stacks/{stack_id}')
|
||||
|
||||
def get_stack_file(self, stack_id):
|
||||
response = requests.get(f"{self.api_url}/stacks/{stack_id}/file", headers=self._get_headers())
|
||||
return self._get(f'stacks/{stack_id}/file')
|
||||
|
||||
def _put(self, uri, payload):
|
||||
response = requests.put(
|
||||
f"{self.api_url}/uri",
|
||||
headers=self._get_headers(),
|
||||
json=payload
|
||||
)
|
||||
|
||||
return response.json()
|
||||
|
||||
def upgrade_stack(self, stack):
|
||||
@@ -45,22 +55,12 @@ class PortainerClient:
|
||||
"StackFileContent": file_response["StackFileContent"],
|
||||
"Env": stack["Env"]
|
||||
}
|
||||
response = requests.put(
|
||||
f"{self.api_url}/stacks/{stack['Id']}?endpointId={stack['EndpointId']}",
|
||||
headers=self._get_headers(),
|
||||
json=payload
|
||||
)
|
||||
|
||||
return response.json()
|
||||
return self._put(f"stacks/{stack['Id']}?endpointId={stack['EndpointId']}", payload)
|
||||
|
||||
def list_stack_containers(self, endpoint, stack_name):
|
||||
filters = '{"label":["com.docker.compose.project=' + stack_name + '"]}'
|
||||
response = requests.get(
|
||||
f"{self.api_url}/endpoints/{endpoint}/docker/containers/json?all=1&filters={filters}",
|
||||
headers=self._get_headers()
|
||||
)
|
||||
|
||||
return response.json()
|
||||
return self._get(f'endpoints/{endpoint}/docker/containers/json?all=1&filters={filters}')
|
||||
|
||||
def update_image(self, endpoint, image):
|
||||
response = requests.post(
|
||||
|
||||
Reference in New Issue
Block a user