OpenStack Keystone Component
Available as of Camel version 2.19
The openstack-keystone component allows messages to be sent to an OpenStack identity services.
The openstack-keystone component supports only Identity API v3!
Dependencies
Maven users will need to add the following dependency to their pom.xml.
pom.xml
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-openstack</artifactId>
    <version>${camel-version}</version>
</dependency>where ${camel-version} must be replaced by the actual version of Camel.
URI Format
openstack-keystone://hosturl[?options]You can append query options to the URI in the following format
?options=value&option2=value&…
URI Options
The OpenStack Keystone component has no options.
The OpenStack Keystone endpoint is configured using URI syntax:
openstack-keystone:host
with the following path and query parameters:
Path Parameters (1 parameters):
| Name | Description | Default | Type | 
|---|---|---|---|
| host | Required OpenStack host url | String | 
Query Parameters (8 parameters):
| Name | Description | Default | Type | 
|---|---|---|---|
| config (producer) | OpenStack configuration | Config | |
| domain (producer) | Authentication domain | default | String | 
| operation (producer) | The operation to do | String | |
| password (producer) | Required OpenStack password | String | |
| project (producer) | Required The project ID | String | |
| subsystem (producer) | Required OpenStack Keystone subsystem | String | |
| username (producer) | Required OpenStack username | String | |
| synchronous (advanced) | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). | false | boolean | 
Usage
You can use following settings for each subsystem:
domains
Operations you can perform with the Domain producer
| Operation | Description | 
|---|---|
| 
 | Create new domain. | 
| 
 | Get the domain. | 
| 
 | Get all domains. | 
| 
 | Update the domain. | 
| 
 | Delete the domain. | 
Message headers evaluated by the Domain producer
| Header | Type | Description | 
|---|---|---|
| 
 | 
 | The operation to perform. | 
| 
 | 
 | ID of the domain. | 
| 
 | 
 | The domain name. | 
| 
 | 
 | Domain description. | 
If you need more precise domain settings you can create new object of the type org.openstack4j.model.identity.v3.Domain and send in the message body.
groups
Operations you can perform with the Group producer
| Operation | Description | 
|---|---|
| 
 | Create new group. | 
| 
 | Get the group. | 
| 
 | Get all groups. | 
| 
 | Update the group. | 
| 
 | Delete the group. | 
| 
 | Add the user to the group. | 
| 
 | Check whether is the user in the group. | 
| 
 | Remove the user from the group. | 
Message headers evaluated by the Group producer
| Header | Type | Description | 
|---|---|---|
| 
 | 
 | The operation to perform. | 
| 
 | 
 | ID of the group. | 
| 
 | 
 | The group name. | 
| 
 | 
 | ID of the user. | 
| 
 | 
 | ID of the domain. | 
| 
 | 
 | Group description. | 
If you need more precise group settings you can create new object of the type org.openstack4j.model.identity.v3.Group and send in the message body.
projects
Operations you can perform with the Project producer
| Operation | Description | 
|---|---|
| 
 | Create new project. | 
| 
 | Get the project. | 
| 
 | Get all projects. | 
| 
 | Update the project. | 
| 
 | Delete the project. | 
Message headers evaluated by the Project producer
| Header | Type | Description | 
|---|---|---|
| 
 | 
 | The operation to perform. | 
| 
 | 
 | ID of the project. | 
| 
 | 
 | The project name. | 
| 
 | 
 | Project description. | 
| 
 | 
 | ID of the domain. | 
| 
 | 
 | The parent project ID. | 
If you need more precise project settings you can create new object of the type org.openstack4j.model.identity.v3.Project and send in the message body.
regions
Operations you can perform with the Region producer
| Operation | Description | 
|---|---|
| 
 | Create new region. | 
| 
 | Get the region. | 
| 
 | Get all regions. | 
| 
 | Update the region. | 
| 
 | Delete the region. | 
Message headers evaluated by the Region producer
| Header | Type | Description | 
|---|---|---|
| 
 | 
 | The operation to perform. | 
| 
 | 
 | ID of the region. | 
| 
 | 
 | Region description. | 
If you need more precise region settings you can create new object of the type org.openstack4j.model.identity.v3.Region and send in the message body.
users
Operations you can perform with the User producer
| Operation | Description | 
|---|---|
| 
 | Create new user. | 
| 
 | Get the user. | 
| 
 | Get all users. | 
| 
 | Update the user. | 
| 
 | Delete the user. | 
Message headers evaluated by the User producer
| Header | Type | Description | 
|---|---|---|
| 
 | 
 | The operation to perform. | 
| 
 | 
 | ID of the user. | 
| 
 | 
 | The user name. | 
| 
 | 
 | User description. | 
| 
 | 
 | ID of the domain. | 
| 
 | 
 | User’s password. | 
| 
 | 
 | User’s email. | 
If you need more precise user settings you can create new object of the type org.openstack4j.model.identity.v3.User and send in the message body.