Select Git revision
-
Imran Iqbal authored
* Semi-automated using https://github.com/myii/ssf-formula/pull/31 * Includes: - Update TOFS - Use `bin/kitchen` - Use `dist: bionic` in Travis - Add `yamllint` and apply rules - Use `pillars_from_files` throughout - Replace EOL images in Kitchen & Travis - Add `develop` images in Kitchen & Travis * Fix (or ignore) errors shown below: ```bash salt-formula$ yamllint -s . ./pillar.example 1:1 warning missing document start "---" (document-start) 5:23 warning truthy value should be one of [false, true] (truthy) 8:25 warning truthy value should be one of [false, true] (truthy) 11:25 warning truthy value should be one of [false, true] (truthy) 19:21 warning truthy value should be one of [false, true] (truthy) 40:89 error line too long (108 > 88 characters) (line-length) 41:89 error line too long (112 > 88 characters) (line-length) 43:89 error line too long (112 > 88 characters) (line-length) 45:89 error line too long (110 > 88 characters) (line-length) 47:89 error line too long (89 > 88 characters) (line-length) 74:27 warning truthy value should be one of [false, true] (truthy) 82:9 error wrong indentation: expected 10 but found 8 (indentation) 101:14 warning truthy value should be one of [false, true] (truthy) 102:20 warning truthy value should be one of [false, true] (truthy) 103:89 error line too long (119 > 88 characters) (line-length) 121:7 warning comment not indented like content (comments-indentation) 122:24 error syntax error: found character '%' that cannot start any token 310:89 error line too long (102 > 88 characters) (line-length) 330:89 error line too long (113 > 88 characters) (line-length) 433:1 error too many blank lines (1 > 0) (empty-lines) ./salt/osmap.yaml 4:2 error syntax error: found character '%' that cannot start any token 6:89 error line too long (93 > 88 characters) (line-length) 22:89 error line too long (137 > 88 characters) (line-length) 23:89 error line too long (134 > 88 characters) (line-length) 33:89 error line too long (149 > 88 characters) (line-length) 34:89 error line too long (146 > 88 characters) (line-length) ./salt/osfamilymap.yaml 4:2 error syntax error: found character '%' that cannot start any token 6:89 error line too long (94 > 88 characters) (line-length) 24:89 error line too long (149 > 88 characters) (line-length) 25:89 error line too long (146 > 88 characters) (line-length) 39:89 error line too long (105 > 88 characters) (line-length) 40:89 error line too long (127 > 88 characters) (line-length) 56:89 error line too long (101 > 88 characters) (line-length) ./salt/ospyvermap.yaml 4:1 warning missing document start "---" (document-start) ./salt/defaults.yaml 3:1 warning missing document start "---" (document-start) 7:21 warning truthy value should be one of [false, true] (truthy) 8:12 warning truthy value should be one of [false, true] (truthy) 9:23 warning truthy value should be one of [false, true] (truthy) 10:19 warning truthy value should be one of [false, true] (truthy) 14:25 warning truthy value should be one of [false, true] (truthy) 15:25 warning truthy value should be one of [false, true] (truthy) 16:27 warning truthy value should be one of [false, true] (truthy) 17:27 warning truthy value should be one of [false, true] (truthy) 39:28 warning truthy value should be one of [false, true] (truthy) 41:28 warning truthy value should be one of [false, true] (truthy) 45:24 warning truthy value should be one of [false, true] (truthy) 49:30 warning truthy value should be one of [false, true] (truthy) 54:28 warning truthy value should be one of [false, true] (truthy) 63:25 warning truthy value should be one of [false, true] (truthy) 68:15 warning truthy value should be one of [false, true] (truthy) ```
Imran Iqbal authored* Semi-automated using https://github.com/myii/ssf-formula/pull/31 * Includes: - Update TOFS - Use `bin/kitchen` - Use `dist: bionic` in Travis - Add `yamllint` and apply rules - Use `pillars_from_files` throughout - Replace EOL images in Kitchen & Travis - Add `develop` images in Kitchen & Travis * Fix (or ignore) errors shown below: ```bash salt-formula$ yamllint -s . ./pillar.example 1:1 warning missing document start "---" (document-start) 5:23 warning truthy value should be one of [false, true] (truthy) 8:25 warning truthy value should be one of [false, true] (truthy) 11:25 warning truthy value should be one of [false, true] (truthy) 19:21 warning truthy value should be one of [false, true] (truthy) 40:89 error line too long (108 > 88 characters) (line-length) 41:89 error line too long (112 > 88 characters) (line-length) 43:89 error line too long (112 > 88 characters) (line-length) 45:89 error line too long (110 > 88 characters) (line-length) 47:89 error line too long (89 > 88 characters) (line-length) 74:27 warning truthy value should be one of [false, true] (truthy) 82:9 error wrong indentation: expected 10 but found 8 (indentation) 101:14 warning truthy value should be one of [false, true] (truthy) 102:20 warning truthy value should be one of [false, true] (truthy) 103:89 error line too long (119 > 88 characters) (line-length) 121:7 warning comment not indented like content (comments-indentation) 122:24 error syntax error: found character '%' that cannot start any token 310:89 error line too long (102 > 88 characters) (line-length) 330:89 error line too long (113 > 88 characters) (line-length) 433:1 error too many blank lines (1 > 0) (empty-lines) ./salt/osmap.yaml 4:2 error syntax error: found character '%' that cannot start any token 6:89 error line too long (93 > 88 characters) (line-length) 22:89 error line too long (137 > 88 characters) (line-length) 23:89 error line too long (134 > 88 characters) (line-length) 33:89 error line too long (149 > 88 characters) (line-length) 34:89 error line too long (146 > 88 characters) (line-length) ./salt/osfamilymap.yaml 4:2 error syntax error: found character '%' that cannot start any token 6:89 error line too long (94 > 88 characters) (line-length) 24:89 error line too long (149 > 88 characters) (line-length) 25:89 error line too long (146 > 88 characters) (line-length) 39:89 error line too long (105 > 88 characters) (line-length) 40:89 error line too long (127 > 88 characters) (line-length) 56:89 error line too long (101 > 88 characters) (line-length) ./salt/ospyvermap.yaml 4:1 warning missing document start "---" (document-start) ./salt/defaults.yaml 3:1 warning missing document start "---" (document-start) 7:21 warning truthy value should be one of [false, true] (truthy) 8:12 warning truthy value should be one of [false, true] (truthy) 9:23 warning truthy value should be one of [false, true] (truthy) 10:19 warning truthy value should be one of [false, true] (truthy) 14:25 warning truthy value should be one of [false, true] (truthy) 15:25 warning truthy value should be one of [false, true] (truthy) 16:27 warning truthy value should be one of [false, true] (truthy) 17:27 warning truthy value should be one of [false, true] (truthy) 39:28 warning truthy value should be one of [false, true] (truthy) 41:28 warning truthy value should be one of [false, true] (truthy) 45:24 warning truthy value should be one of [false, true] (truthy) 49:30 warning truthy value should be one of [false, true] (truthy) 54:28 warning truthy value should be one of [false, true] (truthy) 63:25 warning truthy value should be one of [false, true] (truthy) 68:15 warning truthy value should be one of [false, true] (truthy) ```
saltapis.py 2.07 KiB
from django.conf import settings
import requests
from getpass import getpass
class AbstractApi(object):
'''
Defines an abstract api to inherit from.
You MUST specify a BASE_URL for your api to build a proper request url.
'''
BASE_URL = ''
def __init__(self, username='', password='', token=''):
''' Set a token to work with '''
if not self.BASE_URL:
raise NotImplementedError('Please provide an BASE_URL')
if token:
self.token = token
else:
self.token = self.obtain_auth_token(username, password)
def request(self, method='get', resource='/', headers={}, data={}):
return getattr(requests, method)(
self.BASE_URL + resource,
headers=headers,
data=data
)
def obtain_auth_token(self, username, password):
res = self.request('post', '/login', headers={'Accept': 'application/json'}, data={
'username': username,
'password': password,
'eauth': 'pam'
})
if res.status_code != 200:
raise Exception('{} - {}'.format(res.status_code, res.text))
return res.json().get('return')[0].get('token')
class SaltCherrypy(AbstractApi):
BASE_URL = '{protocol}://{host}:{port}'.format(**settings.SALT_API['cherrypy'])
def logout(self):
return self.request('post', '/logout', headers={
'Accept': 'application/json',
'X-Auth-Token': self.token
})
def get(self, module, target='*', api_args=[], api_kwargs={}):
return self.request(
'post',
data={
'client': 'local',
'fun': module,
'tgt': target,
'arg': api_args,
'kwarg': api_kwargs
},
headers={
'Accept': 'application/json',
'X-Auth-Token': self.token
}
).json().get('return')[0]
class SaltTornado(AbstractApi):
BASE_URL = '{protocol}://{host}:{port}'.format(**settings.SALT_API['tornado'])