[[Openstack-OpenstackComponent]]
= OpenStack Component
//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
:page-source: components/camel-openstack/src/main/docs/openstack-summary.adoc
//attributes written by hand, not generated
:docTitle: OpenStack
:since: 2.19

*Since Camel {since}*

The OpenStack component is a component for managing your
https://www.openstack.org//[OpenStack] applications.

== {docTitle} components

See the following for usage of each component:

indexDescriptionList::[attributes='group={docTitle}',descAttribute=description]

== Installation

Maven users will need to add the following dependency to their `pom.xml`
for this component:
[source,xml]
------------------------------------------------------------
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-openstack</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
------------------------------------------------------------


include::camel-spring-boot::page$openstack-starter.adoc[]
