OpenStack Swift Component
Available as of Camel version 2.19
The openstack-swift component allows messages to be sent to an OpenStack object storage services.
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-swift://hosturl[?options]You can append query options to the URI in the following format
?options=value&option2=value&…
URI Options
The OpenStack Swift component has no options.
The OpenStack Swift endpoint is configured using URI syntax:
openstack-swift:host
with the following path and query parameters:
Path Parameters (1 parameters):
| Name | Description | Default | Type | 
|---|---|---|---|
| host | Required OpenStack host url | String | 
Query Parameters (9 parameters):
| Name | Description | Default | Type | 
|---|---|---|---|
| apiVersion (producer) | OpenStack API version | V3 | String | 
| 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 Swift 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:
containers
Operations you can perform with the Container producer
| Operation | Description | 
|---|---|
| 
 | Create new container. | 
| 
 | Get the container. | 
| 
 | Get all containers. | 
| 
 | Update the container. | 
| 
 | Delete the container. | 
| 
 | Get metadata. | 
| 
 | Create/update metadata. | 
| 
 | Delete metadata. | 
Message headers evaluated by the Volume producer
| Header | Type | Description | 
|---|---|---|
| 
 | 
 | The operation to perform. | 
| 
 | 
 | The container name. | 
| 
 | 
 | Container metadata prefix. | 
| 
 | 
 | Versions location. | 
| 
 | 
 | ACL - container read. | 
| 
 | 
 | ACL - container write. | 
| 
 | 
 | List options - limit. | 
| 
 | 
 | List options - marker. | 
| 
 | 
 | List options - end marker. | 
| 
 | 
 | List options - delimiter. | 
| 
 | 
 | List options - path. | 
If you need more precise container settings you can create new object of the type org.openstack4j.model.storage.object.options.CreateUpdateContainerOptions (in case of create or update operation) or org.openstack4j.model.storage.object.options.ContainerListOptions for listing containers and send in the message body.
objects
Operations you can perform with the Object producer
| Operation | Description | 
|---|---|
| 
 | Create new object. | 
| 
 | Get the object. | 
| 
 | Get all objects. | 
| 
 | Get update the object. | 
| 
 | Delete the object. | 
| 
 | Get metadata. | 
| 
 | Create/update metadata. | 
Message headers evaluated by the Object producer
| Header | Type | Description | 
|---|---|---|
| 
 | 
 | The operation to perform. | 
| 
 | 
 | The container name. | 
| 
 | 
 | The object name. |