Setting a timeout to an Action

Hi,

My question concerns setting timeouts for action using the BESAPI.xsd specification.  Specifically, I am sending a request via the REST API, using the BESAPI.xsd specification, that utilizes the 'Computer Settings' element.  What I would like to include is the ability to set a timeout for the action.  In the BES.xsd specification there is an 'ActionSettings' element that allows specifying an 'EndTime'.  My question is what is the equivalent setting in the BESAPI specification?

Alternatively, what would be the corresponding element for ‘ComputerSettings’ in the BES specification?

Thanks in advance,

John

Are you asking for something like a “failsafe” timeout where a runaway action would be terminated after a period of time?

I did a little more research on this, and I was told I’m looking for the API equivalent of when a Default Custom Action is created with the console. Through the console the action has and “Ends on” date set, by default 2 days from now. Without this the actions created using the API stay open forever, even after completing on the target. The BESAPI xsd does not seem to allow specifying this.

When you issue an action through the BES API the body of the POST should be a serialized response that conforms to BES.xsd ( Legacy Communities - IBM TechXchange Community ).

Your BES object should have a node for the type of action you are issuing (MultipleActionGroup, SourcedFixletAction, SingleAction). Under this node you have the ability to add a “Settings” node that conforms to the ActionSettings complex type in the xsd. There are two nodes under Settings that you need to set for the end time to be set on the action: HasEndTime (boolean) and EndDateTimeLocalOffset (value that conforms to ISO 8601). If you want to set the end time based on GMT you can use EndDateTimeOffset instead.

I don’t know if you can set absolute end dates but I do know it will work with relative durations (I have an application that has been setting the end time to 2 days by using “P2D”).

Thank you for your reply. I will focus on adhering to the BES.xsd schema. One question, I have been able to use ComputerSettings in the BESAPI.xsd schema. To set computer settings using the BES.xsd schema which node element would correspond to ComputerSettings in the BES.xsd schema? The closest that I find is the Property node.

Following up, it seems the ‘BES.xsd’ is not found on our IEM server, so I’m back to trying to accomplish setting a timeout to an Action using the elements in the BESAPI.xsd schema. Would anyone know which elements to specify to set a timeout to actions from the BESAPI.xsd schema?

The simplest way to get this is to create an action with an Ends on date and time and then export the action from the console.
This will give you an XML file.
Look for these tags

<HasEndTime>
<EndDateTimeLocalOffset>

If the fields are not obvious try creating one action with the date set and another without it set and compare.

What type of server are you running ?

On Linux the xsds are in /opt/BESServer/Reference
and on Windows are in c:\Program Files (x86)\BigFix Enterprise\BES Server\Reference

Thank you for your response and suggestion. I was able to get an exported xml of an action and it is similar to what I had previously tried. Specifically, the schema is stated as:

This seems the standard configuration, however when I specify this line with the ‘BES.xsd’ in my xml in the REST API call I get:

The element ‘BES’ is used but not declared in the DTD/Schema.

I’m wondering what would cause the server on the REST call not to recognize the BES.xsd schema, while recognizing via the console. I should note, the server on the REST call recognizes the BESAPI.xsd, but has I mentioned that schema does not help me for setting a timeout.