blob: 4b4910375251232277840601944dd3c84cb18a02 [file] [log] [blame]
## OpenStack Nova Component
*Available as of Camel version 2.19*
The openstack-nova component allows messages to be sent to an OpenStack compute services.
### 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
[source,java]
----------------------------
openstack-nova://hosturl[?options]
----------------------------
You can append query options to the URI in the following format
`?options=value&option2=value&...`
### URI Options
// component options: START
The OpenStack Nova component has no options.
// component options: END
// endpoint options: START
The OpenStack Nova endpoint is configured using URI syntax:
openstack-nova:host
with the following path and query parameters:
#### Path Parameters (1 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
|=======================================================================
| Name | Description | Default | Type
| **host** | *Required* OpenStack host url | | String
|=======================================================================
#### Query Parameters (9 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
|=======================================================================
| 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 Nova 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
|=======================================================================
// endpoint options: END
### Usage
You can use following settings for each subsystem:
### flavors
#### Operations you can perform with the Flavor producer
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
|`create` | Create new flavor.
|`get` | Get the flavor.
|`getAll` | Get all flavors.
|`delete` | Delete the flavor.
|=========================================================================
#### Message headers evaluated by the Flavor producer
[width="100%",cols="10%,10%,80%",options="header",]
|=========================================================================
|Header |Type |Description
|`operation` | `String` | The operation to perform.
|`ID` | `String` | ID of the flavor.
|`name` |`String` |The flavor name.
|`VCPU` |`Integer` |The number of flavor VCPU.
|`ram` |`Integer` |Size of RAM.
|`disk` |`Integer` |Size of disk.
|`swap` |`Integer` |Size of swap.
|`rxtxFactor` |`Integer` |Rxtx Factor.
|=========================================================================
If you need more precise flavor settings you can create new object of the type *org.openstack4j.model.compute.Flavor* and send in the message body.
### servers
#### Operations you can perform with the Server producer
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
|`create` | Create new server.
|`createSnapshot` | Create snapshot of the server.
|`get` | Get the server.
|`getAll` | Get all servers.
|`delete` | Delete the server.
|`action` | Perform an action on the server.
|=========================================================================
#### Message headers evaluated by the Server producer
[width="100%",cols="10%,10%,80%",options="header",]
|=========================================================================
|Header |Type |Description
|`operation` | `String` | The operation to perform.
|`ID` | `String` | ID of the server.
|`name` |`String` |The server name.
|`ImageId` |`String` | The Image ID.
|`FlavorId` |`String` |The ID of flavor which will be used.
|`KeypairName` |`String` | The Keypair name.
|`NetworkId` |`String` | The network ID.
|`AdminPassword` |`String` | Admin password of the new server.
|`action` | `org.openstack4j.model.compute.Action` | An action to perform.
|=========================================================================
If you need more precise server settings you can create new object of the type *org.openstack4j.model.compute.ServerCreate* and send in the message body.
### keypairs
#### Operations you can perform with the Keypair producer
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
|`create` | Create new keypair.
|`get` | Get the keypair.
|`getAll` | Get all keypairs.
|`delete` | Delete the keypair.
|=========================================================================
#### Message headers evaluated by the Keypair producer
[width="100%",cols="10%,10%,80%",options="header",]
|=========================================================================
|Header |Type |Description
|`operation` | `String` | The operation to perform.
|`name` |`String` |The keypair name.
|=========================================================================
### See Also
* link:configuring-camel.html[Configuring Camel]
* link:component.html[Component]
* link:endpoint.html[Endpoint]
* link:getting-started.html[Getting Started]
* link:openstack.html[openstack Component]