blob: e041a5d874da97643769883213f345fabedf322f [file] [log] [blame]
= OpenStack Keystone Component
:doctitle: OpenStack Keystone
:shortname: openstack-keystone
:artifactid: camel-openstack
:description: Access OpenStack Keystone for API client authentication, service discovery and distributed multi-tenant authorization.
:since: 2.19
:supportlevel: Stable
:tabs-sync-option:
:component-header: Only producer is supported
//Manually maintained attributes
:group: OpenStack
:camel-spring-boot-name: openstack
*Since Camel {since}*
*{component-header}*
The Openstack Keystone component allows messages to be sent to an OpenStack identity services.
NOTE: 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
[source,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]
----------------------------
// component options: START
include::partial$component-configure-options.adoc[]
include::partial$component-endpoint-options.adoc[]
include::partial$component-endpoint-headers.adoc[]
// component options: END
== Usage
You can use the following settings for each subsystem:
=== Domains
==== Operations you can perform with the Domain producer
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
|`create` | Create a new domain.
|`get` | Get the domain.
|`getAll` | Get all domains.
|`update` | Update the domain.
|`delete` | Delete the domain.
|=========================================================================
If you need more precise domain settings, you can create a 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
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
|`create` | Create a new group.
|`get` | Get the group.
|`getAll` | Get all groups.
|`update` | Update the group.
|`delete` | Delete the group.
|`addUserToGroup` | Add the user to the group.
|`checkUserGroup` | Check whether is the user in the group.
|`removeUserFromGroup` | Remove the user from the group.
|=========================================================================
If you need more precise group settings, you can create a 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
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
|`create` | Create a new project.
|`get` | Get the project.
|`getAll` | Get all projects.
|`update` | Update the project.
|`delete` | Delete the project.
|=========================================================================
If you need more precise project settings, you can create a 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
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
|`create` | Create new region.
|`get` | Get the region.
|`getAll` | Get all regions.
|`update` | Update the region.
|`delete` | Delete the region.
|=========================================================================
If you need more precise region settings, you can create a 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
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
|`create` | Create new user.
|`get` | Get the user.
|`getAll` | Get all users.
|`update` | Update the user.
|`delete` | Delete the user.
|=========================================================================
If you need more precise user settings, you can create a new object of the type `org.openstack4j.model.identity.v3.User` and send in the message body.
include::spring-boot:partial$starter.adoc[]