Api setting host build flag

I am trying to toggle a host's build flag using the api and it's not work
at all. I've tried setting build_hosts, build, build_status all at the
same time, one at time, and multiple other combinations with True. Any
help would greatly be appreciated.

I am using this python script:

import requests
import json
import sys

user = 'devopsuser'
paswd = 'password'

def getHosts():
targeturl = 'https://foreman.eng.fireeye.com/api/hosts'
r = requests.get(targeturl, auth=(user, paswd), verify=False)
return r

def getHost(id):
targeturl = 'https://foreman.eng.fireeye.com/api/hosts/%s' % id
r = requests.get(targeturl, auth=(user, paswd), verify=False)
return r

def putHost(id, payload):
targeturl = 'https://foreman.eng.fireeye.com/api/hosts/%s' % id
r = requests.put(targeturl, data=payload, auth=(user, paswd),
verify=False)

r = getHost(54)

results = json.loads(r.text)
print ['results']

#results['build_hosts'] = '1'
results['build'] = 1
#results['build_status'] = '1'

putHost(54, results)

r = getHost(54)

results = json.loads(r.text)

print results

Use version 2 of the api. Pass version=2 in the accept header or
api/v2/hosts. Also, PUT of what you get with a GET isn't going to work. You
need to PUT {host: {build: 1}} to api/v2/54/

ยทยทยท On Thursday, September 21, 2017 at 4:37:28 PM UTC-4, justin parker wrote: > > I am trying to toggle a host's build flag using the api and it's not work > at all. I've tried setting build_hosts, build, build_status all at the > same time, one at time, and multiple other combinations with True. Any > help would greatly be appreciated. > > I am using this python script: > > import requests > import json > import sys > > user = 'devopsuser' > paswd = 'password' > > def getHosts(): > targeturl = 'https://foreman.eng.fireeye.com/api/hosts' > r = requests.get(targeturl, auth=(user, paswd), verify=False) > return r > > def getHost(id): > targeturl = 'https://foreman.eng.fireeye.com/api/hosts/%s' % id > r = requests.get(targeturl, auth=(user, paswd), verify=False) > return r > > def putHost(id, payload): > targeturl = 'https://foreman.eng.fireeye.com/api/hosts/%s' % id > r = requests.put(targeturl, data=payload, auth=(user, paswd), > verify=False) > > > r = getHost(54) > > results = json.loads(r.text) > print ['results'] > > #results['build_hosts'] = '1' > results['build'] = 1 > #results['build_status'] = '1' > > putHost(54, results) > > r = getHost(54) > > results = json.loads(r.text) > > print results > >