OpenStack Swift
Since Camel 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 |
Spring Boot Auto-Configuration
When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-openstack-starter</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
The component supports 2 options, which are listed below.
Name | Description | Default | Type |
---|---|---|---|
camel.component.openstack-swift.enabled | Enable openstack-swift component | true | Boolean |
camel.component.openstack-swift.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 |
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.