An IBM Endpoint Manager Proxy Agent plugin to simulate clients
- Generate device reports
- Computer name
- Operating system
- Windows Server
- IBM Endpoint Manager 9.1.1117.0 - Proxy Agent
Tested on bolivar
a Windows Server 2012 environment:
- IBM Endpoint Manager 9.1.1117.0 - Proxy Agent
- python-3.3.5.amd64
On bolivar
:
$ net stop BESProxyAgent
$ cd {Management Extender root folder}
$ mkdir Plugins
$ cd Plugins
$ git clone git@github.com:bigfix/trask.git
$ net start BESProxyAgent
{Management Extender root folder}
by default is C:\Program Files (x86)\BigFix Enterprise\Management Extender
. Adjust the settings.json
if your Proxy Agent was installed elsewhere.
Device reports can be configured via the --device-config
option. To utilize this option, the settings.json
must be edited to include the option in the ExecutablePath
. The --device-config
option takes a JSON file with the following specifications:
- keys correlate to device report attributes (ex:
operating system
). - values must be a list of choice objects
. - choice objects have a mandatory key,
value
, and optional key,weight
. By default, theweight
is 1.
For example, this configuration file, sentinel.json
has two equal likelihood choices for the operating system
attribute:
{
"operating system": [{"value": {"name": "bolivar trask",
"version": "1965.11.10"},
"weight": 1},
{"value": {"name": "moira kinross",
"version": "1975.12.10"},
"weight": 1}]
}
Command results can be configured via the --result-config
option. Like the configuration for device reports, the settings.json
must be edited to include the option in the ExecutablePath
. This configuration also takes a JSON file with the following specifications:
- keys correlate to commands (ex:
locate
). - values must be a list of choice objects
. - choice objects have a mandatory key,
value
, and optional key,weight
. By default, theweight
is 1. The value must either be "Completed", "Failed", or "Error".
For example, this configuration file, result.json
has two equal likelihood choices for the locate
command and one result for any other commands:
{
"locate": [{"value": "Completed",
"weight": 1},
{"value": "Failed",
"weight": 1},
{"value": "Error",
"weight": 1}],
"default": [{"value": "Completed",
"weight": 1}]
}
To run the tests, run any of the following (or execute a test file directly):
$ python -m unittest discover
$ python test/test_Sentinel.py
$ nosetests
Tests can also be built using vagrant
. To run tests in this way, run the following:
$ make test
> make.bat test
Any issues or questions regarding this software should be filed via GitHub issues.