| = 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[] |