Previous Topic: Discovery RecordsNext Topic: Curl and Python Examples


Discovery URIs

This section contains the following topics:

Retrieve Discovery Configuration Data

Enable Discovery Mode

Disable Discovery Mode

Set Discovery Mode to Manual

Set Discovery Mode to Auto

Set the MAC Address List

Add a MAC Address to the List

Delete a MAC Address from the List

Set the Default Tags List

Add a Tag to the Default List

Delete a Tag From the Default List

The following section describes DIscovery URIs. For example, you can enable or disable discovery mode, set the mode to manual or automatic, manage the discovery mode MAC lists, and manage the default tags assigned to servers during discovery.

Note: You do not have to disable discovery to edit discovery mode or the MAC lists.

Retrieve Discovery Configuration Data

GET BFC/admin/discovery
Arguments

None

Return

Returns the HTTP return code 200 and with a payload that displays the discovery configuration data. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to get the discovery configuration data.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='GET',
             url='/BFC/admin/discovery',
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession})
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)
servers = json.loads(r1.read())
print json.dumps(servers, sort_keys=True, indent=4)

Enable Discovery Mode

POST BFC/admin/discovery/operations/enable
Arguments

None

Return

Returns the HTTP return code 200. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to enable discovery mode.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='POST',
             url='/BFC/admin/discovery' + '/operations/enable',
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession})
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)
servers = json.loads(r1.read())
print json.dumps(servers, sort_keys=True, indent=4)

Disable Discovery Mode

POST BFC/admin/discovery/operations/disable
Arguments

None

Return

Returns the HTTP return code 200. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to disable discovery mode.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='POST',
             url='/BFC/admin/discovery' + '/operations/disable',
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession})
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)
servers = json.loads(r1.read())
print json.dumps(servers, sort_keys=True, indent=4)

Set Discovery Mode to Manual

POST BFC/admin/discovery/operations/setModeManual
Arguments

None

Return

Returns the HTTP return code 200. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to set discovery mode to manual.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='POST',
             url='/BFC/admin/discovery/' + '/operations/setModeManual',
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession},)
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)

Set Discovery Mode to Auto

POST BFC/admin/discovery/operations/setModeAuto
Arguments

Payload is empty.

Return

Returns the HTTP return code 200. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to set discovery mode to auto.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='POST',
             url='/BFC/admin/discovery/' + '/operations/setModeAuto',
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession},)
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)

Set the MAC Address List

PUT BFC/admin/discovery/mac_addresses
Arguments

Payload is a list of discovery_mac_addresses.

Return

Returns the HTTP return code 200. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to set the MAC address list.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='PUT',
      url='/BFC/admin/discovery' + '/mac_addresses',
      body=json.dumps([{"discovery_mac_address":{
		"description":"AA description", "mac_address":"AA:AA:AA:AA:AA:AA"}}, 		      		"discovery_mac_address"}:{
		"description":"BB description", "mac_address":"BB:BB:BB:BB:BB:BB"}}])	
      headers={'Content-Type':'application/json',
                      'Authorization':bfcSession})
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)
servers = json.loads(r1.read())
print json.dumps(servers, sort_keys=True, indent=4)

Add a MAC Address to the List

POST BFC/admin/discovery/mac_addresses
Arguments

Payload is the discovery_mac_address that you want to add.

Return

Returns the HTTP return code 201. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to add a MAC address to the list.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='POST',
      url='/BFC/admin/discovery' + '/mac_addresses',
      body=json.dumps([{"discovery_mac_address":{
		"description":"AA description", "mac_address":"AA:AA:AA:AA:AA:AA"}}, 		      		"discovery_mac_address"}}])	
      headers={'Content-Type':'application/json',
                      'Authorization':bfcSession})
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)
servers = json.loads(r1.read())
print json.dumps(servers, sort_keys=True, indent=4)

Delete a MAC Address from the List

DELETE BFC/admin/discovery/mac_addresses/<mac_address>
Arguments

Payload is empty.

Return

Returns the HTTP return code 204 and deletes the MAC address from the discovery MAC list. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to delete a MAC address from the list.

Example DELETE

DELETE BFC/admin/discovery/mac_addresses/00:01:02:03:04:05

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='DELETE',
      url='/BFC/admin/discovery' + '/mac_addresses/00:01:02:03:04:05',
      headers={'Content-Type':'application/json',
                      'Authorization':bfcSession})
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)
servers = json.loads(r1.read())
print json.dumps(servers, sort_keys=True, indent=4)

Set the Default Tags List

PUT BFC/admin/discovery/default_tags
Arguments

Payload is a list of tag names:[string].

Return

Returns the HTTP return code 200. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to set the default tags list.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='PUT',
             url='/BFC/admin/discovery/' + '/default_tags',
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession},
             body=json.dumps(["gold", "bronze"])
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)

Add a Tag to the Default List

POST BFC/admin/discovery/default_tags
Arguments

Payload is the tag string.

Return

Returns the HTTP return code 201 and with a payload that displays the added tag. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to add a tag to the default tags list.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='POST',
             url='/BFC/admin/discovery/' + '/default_tags',
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession},
             body=json.dumps(["Default"])
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)

Delete a Tag From the Default List

DELETE BFC/admin/discovery/default_tags/<tag name>
Arguments

Payload is empty.

Return

Returns the HTTP return code 204 and deletes the tag from the default tags list. Returns an HTTP error code and the associated fault information on error.

Description

Use this operation to delete a tag to the default tags list.

Python Example

from httplib import HTTPSConnection
import json
import os
import sys

bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='DELETE',
             url='/BFC/admin/discovery/' + '/default_tags/gold',
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession},
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)