-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstreamsets_api.py
More file actions
54 lines (45 loc) · 1.85 KB
/
streamsets_api.py
File metadata and controls
54 lines (45 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import requests
import base64
import getpass
import json
class StreamSetsAPI(object):
def __init__(self):
username=raw_input('Username: ')
password=getpass.getpass()
self.basic_auth=base64.base64encode('{0}:{1}'.format(username, password))
self.request_headers=self.constructRequestHeaders()
def constructRequestHeaders(self):
d={}
d['authorization']='Basic {0}'.format(self.basic_auth)
d['content-type']='application/json'
d['accept']='application/json'
d['x-requested-by']='sdc'
return d
def getStatus(self):
url='http://localhost:18630/rest/v1/pipelines/status'
r=requests.get(url, headers=self.request_headers)
print r.content
def getPipelineNames(self):
self.getStatus()
def startOnePipeline(self, pipeline_name):
url='http://localhost:18630/rest/v1/pipeline/{0}/start?rev=0'.format(pipeline_name)
r=requests.post(url, headers=self.request_headers)
print r.content
def stopOnePipeline(self, pipeline_name):
url='http://localhost:18630/rest/v1/pipeline/{0}/stop?rev=0'.format(pipeline_name)
r=requests.post(url, headers=self.request_headers)
print r.content
def startPipelines(self, pipeline_list):
if not type(pipeline_list)==list:
print 'pipeline_list must be a list'
return
url='http://localhost:18630/rest/v1/pipelines/start'
r=requests.post(url, headers=self.request_headers, json=pipeline_list)
print r.content
def stopPipelines(self, pipeline_list):
if not type(pipeline_list)==list:
print 'pipeline_list must be a list'
return
url='http://localhost:18630/rest/v1/pipelines/stop'
r=requests.post(url, headers=self.request_headers, json=pipeline_list)
print r.content