Some examples for the config endpoints
Examples
Updating Multiple Service Checks
The restapi can be used to update multiple servicechecks in one go:
- Obtain the list of check to be modified and store in a file, i.e. all service checks with 'foo' in the name.
opsview_rest --username=USER --password=PASS --pretty --data-format=json GET 'config/servicecheck?json_filter={"name":{"-like":"%25foo%25"}}' > checks.json
- Edit the
checks.json
file as necessary. - Import the contents of the file back into Opsview.
opsview_rest --username=USER --password=PASS --pretty --data-format=json --content-file=checks.json --pretty PUT config/servicecheck
Note: the ID's within the checks.json
file must be left unchanged else new checks will be created, not current checks updated.
Note: Amending service check names could lose historical (graphing) information
Determining If A Host Exists
To see if the host 'foo' already exists:
opsview_rest --username=admin --password=initial GET 'config/host/exists?name=foo'
Will return ”{'exists' ⇒ '0'}” if the host does not exist, ”{'exists' ⇒ '1'}” if it does.
Fetching information for a specific contact
To fetch contact information without fetching the ID first
opsview_rest --username=admin --password=initial GET 'config/contact?s.name=admin'
Create a new user
This shows creating a new user with the minimum fields specified while the changelog
is enabled:
opsview_rest --username=admin --password=initial put 'config/contact' --data='{"name":"newname","fullname":"New Name","changelog":"New user"}'
Amend a users role
opsview_rest --username=admin --password=initial put 'config/contact' --data='{"name":"newname","role": { "name":"Administrator"}}'