-
Notifications
You must be signed in to change notification settings - Fork 0
/
api_env.py
21 lines (18 loc) · 829 Bytes
/
api_env.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import api_base
import docker_client
class GetEnv(api_base.ApiCommand):
def GET(self, container_id, key):
try:
docker_api = docker_client.api()
docker_inspect = docker_api.inspect_container(container_id)
value = None
for env_var in docker_inspect['Config']['Env']:
env_key, env_value = (env_var.strip('"').split('=', 1) + [''])[:2]
if env_key == key:
value = env_value
break
if value is None:
return self.status_error('Requested environment variable "{key}" does not exist.'.format(**locals()))
return self.status_ok({'value': str(value)})
except Exception as e:
return self.status_exception("Cannot inspect requested container.", e)