...
Wiki Markup |
{div:class=confluenceTableSmall}
|| Name || Default Value || Description ||
| {{domain}} | {{null}} | Domain name. If not specified then the default domain is used. |
| {{username}} | | *Mandatory*: The username to login to openshift server. |
| {{password}} | | *Mandatory:* The password for login to openshift server. |
| {{server}} | | Url to the openshift server. If not specified then the default value from the local openshift configuration file {{~/.openshift/express.conf}} is used. And if that fails as well then "openshift.redhat.com" is used. |
| {{delay}} | {{30s}} | *Consumer only:* How frequent to poll for state changes for the applications. |
| {{operation}} | {{list}} | *Producer only*: The operation to perform which can be: {{list}}, {{start}}, {{stop}}, {{restart}}, and {{state}}. The {{list}} operation returns information about all the applications in json format. The {{state}} operation returns the state such as: started, stopped etc. The other operations does not return any value. |
| {{application}} | | *Producer only*: The application name to {{start}}, {{stop}}, {{restart}}, or get the {{state}}. |
| {{mode}} | | *Producer only*: Whether to output the message body as a pojo or json. For pojo the message is a {{List<com.openshift.client.IApplication>}} type. |
{div} |
Examples
Listing all applications
...
In this case the information about all the applications is returned as pojo. If you want a json response, then set mode=json.
Stopping an application
Code Block |
// sendingstopping routethe foobar application
from("direct:control")
.to("openshift:myClient?username=foo&password=secret&operation=stop&application=foobar");
|
In the example above we stop the application named foobar.
Polling for gear state changes
The consumer is used for polling state changes in gears. Such as when a new gear is added/removed/ or its lifecycle is changed, eg started, or stopped etc.
Code Block |
// trigger when state changes on our gears
from("openshift:myClient?username=foo&password=secret&delay=30s")
.log("Event ${header.CamelOpenShiftEventType} on application ${body.name} changed state to ${header.CamelOpenShiftEventNewState}");
|
When the consumer emits an Exchange then the body contains the com.openshift.client.IApplication
as the message body. And the following headers is included.
Header |
May be null |
Description |
CamelOpenShiftEventType |
No |
The type of the event which can be one of: added, removed or changed. |
CamelOpenShiftEventOldState |
Yes |
The old state, when the event type is changed. |
CamelOpenShiftEventNewState |
No |
The new state, for any of the event types |
Include Page |
|