Source code for pybricks.secrets

import json
import os

import requests


[docs]class SecretsApi(object): """The Secrets API""" def __init__(self, hostname, token): self.hostname = "%s/api/" % hostname self.__headers = {'authorization': "Bearer %s" % token, "content-type": "application/scim+json", "accept": "application/scim+json"}
[docs] def scopes_list(self): """Lists all secret scopes available in the workspace.""" endpoint = "2.0/secrets/scopes/list" url = "%s%s" % (self.hostname, endpoint) req = requests.get(url, headers=self.__headers) objects = req.json() return objects
[docs] def create_scope(self, scope, initial_manage_principal="users"): """Creates a new secret scope.""" endpoint = "2.0/secrets/scopes/create" data = json.dumps({'scope': scope, 'initial_manage_principal': initial_manage_principal}) url = "%s%s" % (self.hostname, endpoint) req = requests.post(url, headers=self.__headers, data=data) objects = req.json() return objects
[docs] def list(self, scope): """Lists the secret keys that are stored at this scope.""" endpoint = "2.0/secrets/list" params = {'scope': scope} url = "%s%s" % (self.hostname, endpoint) req = requests.get(url, headers=self.__headers, params=params) objects = req.json()['secrets'] return objects
[docs] def put(self, scope, key, string_value): endpoint = "2.0/secrets/put" data = json.dumps({'scope': scope, 'key': key, 'string_value': string_value}) url = "%s%s" % (self.hostname, endpoint) req = requests.post(url, headers=self.__headers, data=data) objects = req.json() return objects