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 |
Spring Boot Auto-Configuration
The component supports 2 options, which are listed below.
| Name | Description | Default | Type |
|---|---|---|---|
camel.component.openstack-keystone.enabled |
Enable openstack-keystone component |
true |
Boolean |
camel.component.openstack-keystone.resolve-property-placeholders |
Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. |
true |
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.
See Also
-
Configuring Camel
-
Component
-
Endpoint
-
Getting Started
-
openstack Component