OpenStack Neutron
Поддерживается только производитель
Компонент Openstack Neutron позволяет отправлять сообщения в сетевые службы OpenStack.
Dependencies
Пользователям Maven необходимо добавить следующую зависимость в свой файл pom.xml.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-openstack</artifactId>
<version>${camel-version}</version>
</dependency>где ${camel-version} необходимо заменить на фактическую версию Camel.
URI Format
openstack-neutron://hosturl[?options]
Configuring Options
Компоненты Camel настраиваются на двух отдельных уровнях:
-
уровень компонентов
-
уровень конечной точки
Configuring Component Options
На уровне компонентов задаются общие и общие конфигурации, которые затем наследуются конечными точками. Это самый высокий уровень конфигурации.
Например, компонент может иметь настройки безопасности, учетные данные для аутентификации, URL-адреса для сетевого подключения и т. д.
У некоторых компонентов всего несколько параметров, а у других -- много. Поскольку компоненты обычно имеют предустановленные значения по умолчанию, которые широко используются, зачастую вам может потребоваться настроить лишь несколько параметров компонента, а то и вовсе ни одного.
Вы можете настроить компоненты, используя:
-
Компонент DSL (opens in a new tab) .
-
в файле конфигурации (
application.propertiesфайлы*.yaml, и т.д.). -
непосредственно в коде Java.
Configuring Endpoint Options
Настройка конечных точек обычно занимает больше времени, поскольку у них есть множество параметров. Эти параметры помогают вам настроить функции конечной точки. Параметры также классифицируются по тому, используется ли конечная точка как потребитель ( от ), как производитель ( от ) или и то, и другое.
Конечные точки чаще всего настраиваются непосредственно в URI конечной точки в виде параметров пути и запроса . Вы также можете использовать Endpoint DSL (opens in a new tab) и DataFormat DSL (opens in a new tab) в качестве типобезопасного способа настройки конечных точек и форматов данных в Java.
Хорошей практикой при настройке параметров является использование заполнителей свойств (opens in a new tab) .
Заполнители свойств обеспечивают несколько преимуществ:
-
Они помогают предотвратить использование жестко запрограммированных URL-адресов, номеров портов, конфиденциальной информации и других настроек.
-
Они позволяют вынести конфигурацию за пределы кода.
-
Они помогают коду стать более гибким и пригодным для повторного использования.
В следующих двух разделах перечислены все параметры, сначала для компонента, а затем для конечной точки.
Component Options
Компонент OpenStack Neutron поддерживает 2 параметра, которые перечислены ниже.
lazyStartProducer (producer)
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: boolean
autowiredEnabled (advanced)
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: boolean
Endpoint Options
Конечная точка OpenStack Neutron настраивается с использованием синтаксиса URI:
openstack-neutron:host
Со следующими параметрами пути и запроса :
Path Parameters (1 parameters)
host (producer)
-
Требуемый URL-адрес хоста OpenStack.
-
По умолчанию:
-
Тип: String
Query Parameters (9 parameters)
apiVersion (producer)
-
Версия API OpenStack.
Значения перечисления:
-
V2
-
V3
-
-
По умолчанию: V3
-
Тип: String
config (producer)
-
Конфигурация OpenStack.
-
По умолчанию:
-
Тип: Config
domain (producer)
-
Домен аутентификации.
-
По умолчанию: default
-
Тип: String
operation (producer)
-
Операция, которую предстоит сделать.
-
По умолчанию:
-
Тип: String
password (producer)
-
Требуется пароль OpenStack.
-
По умолчанию:
-
Тип: String
project (producer)
-
Тип: Обязательно Идентификатор проекта.
-
По умолчанию:
-
Тип: String
subsystem (producer)
-
Требуется подсистема OpenStack Neutron.
Значения перечисления:
-
networks
-
subnets
-
ports
-
routers
-
-
По умолчанию:
-
Тип: String
username (producer)
-
Тип: Обязательное имя пользователя OpenStack.
-
По умолчанию:
-
Тип: String
lazyStartProducer (producer (advanced))
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: boolean
Message Headers
The OpenStack Neutron component supports 22 message header(s), which is/are listed below:
tenantId (network port router)
Constant: TENANT_ID (opens in a new tab)
-
Идентификатор арендатора.
-
По умолчанию:
-
Тип: String
networkId (subnet port)
Constant: NETWORK_ID (opens in a new tab)
-
Идентификатор сети.
-
По умолчанию:
-
Тип: String
adminStateUp (network)
Constant: ADMIN_STATE_UP (opens in a new tab)
-
Тип: Заголовок AdminStateUp.
-
По умолчанию:
-
Тип: Boolean
networkType (network)
Constant: NETWORK_TYPE (opens in a new tab)
-
Тип сети.
Значения перечисления:
-
LOCAL
-
FLAT
-
VLAN
-
VXLAN
-
GRE
-
GENEVE
-
-
По умолчанию:
-
Тип: NetworkType
physicalNetwork (network)
Constant: PHYSICAL_NETWORK (opens in a new tab)
-
Тип: Физическая сеть.
-
По умолчанию:
-
Тип: String
segmentId (network)
Constant: SEGMENT_ID (opens in a new tab)
-
Идентификатор сегмента.
-
По умолчанию:
-
Тип: String
isShared (network)
Constant: IS_SHARED (opens in a new tab)
-
Тип: Является общим.
-
По умолчанию:
-
Тип: Boolean
isRouterExternal (network)
Constant: IS_ROUTER_EXTERNAL (opens in a new tab)
-
Маршрутизатор внешний.
-
По умолчанию:
-
Тип: Boolean
enableDHCP (subnet)
Constant: ENABLE_DHCP (opens in a new tab)
-
Тип: Включить DHCP.
-
По умолчанию:
-
Тип: Boolean
gateway (subnet)
Constant: GATEWAY (opens in a new tab)
-
Шлюз.
-
По умолчанию:
-
Тип: String
ipVersion (subnet)
Constant: IP_VERSION (opens in a new tab)
-
Тип: IP-версия.
Значения перечисления:
-
V4
-
V6
-
-
По умолчанию:
-
Тип: IPVersionType
cidr (subnet)
Constant: CIDR (opens in a new tab)
-
Cidr, представляющий диапазон IP-адресов для этой подсети на основе версии IP.
-
По умолчанию:
-
Тип: String
subnetPools (subnet)
Constant: SUBNET_POOL (opens in a new tab)
-
Тип: Пул распределения.
-
По умолчанию:
-
Тип: NeutronPool
deviceId (port)
Constant: DEVICE_ID (opens in a new tab)
-
Идентификатор устройства.
-
По умолчанию:
-
Тип: String
macAddress (port)
Constant: MAC_ADDRESS (opens in a new tab)
-
Тип: MAC-адрес.
-
По умолчанию:
-
Тип: String
routerId (router)
Constant: ROUTER_ID (opens in a new tab)
-
Идентификатор маршрутизатора.
-
По умолчанию:
-
Тип: String
subnetId (router subnet)
Constant: SUBNET_ID (opens in a new tab)
-
Тип: Идентификатор подсети.
-
По умолчанию:
-
Тип: String
portId (port router)
Constant: PORT_ID (opens in a new tab)
-
Идентификатор порта.
-
По умолчанию:
-
Тип: String
interfaceType (router)
Constant: ITERFACE_TYPE (opens in a new tab)
-
Тип: Тип интерфейса.
Значения перечисления:
-
PORT
-
SUBNET
-
-
По умолчанию:
-
Тип: AttachInterfaceType
operation (producer)
Constant: OPERATION (opens in a new tab)
-
Операция, которую необходимо выполнить.
-
По умолчанию:
-
Тип: String
ID (producer)
Constant: ID (opens in a new tab)
-
Тип: The ID.
-
По умолчанию:
-
Тип: String
name (producer)
Constant: NAME (opens in a new tab)
-
Имя.
-
По умолчанию:
-
Тип: String
Usage
Для каждой подсистемы вы можете использовать следующие настройки:
Networks
Operations you can perform with the Network producer
create
- Тип: Создайте новую сеть.
get
- Тип: Подключитесь к сети.
getAll
- По умолчанию: Получить все сети.
delete
- Удалить сеть.
Если вам нужны более точные настройки сети, вы можете создать новый объект типа
org.openstack4j.model.network.Networkи отправить его в теле сообщения.
Subnets
Operations you can perform with the Subnet producer
create
- Создать новую подсеть.
get
- Получить подсеть.
getAll
- Получить все подсети.
delete
- Удалить подсеть.
action
- Выполнить действие в подсети..
Если вам нужны более точные настройки подсети, вы можете создать новый объект типа org.openstack4j.model.network.Subnetи отправить его в теле сообщения.
Ports
Operations you can perform with the Port producer
create
- Создайте новый порт.
get
- По умолчанию: Получите порт.
getAll
- Тип: Получить все порты.
update
- Обновите порт.
delete
- Удалить порт.
Routers
Operations you can perform with the Router producer
create
- Создайте новый маршрутизатор.
get
- Тип: Получить маршрутизатор
getAll
- Получить все маршрутизаторы
update
- Обновите маршрутизатор
delete
- Удалить маршрутизатор
attachInterface
- Тип: Подключите интерфейс.
detachInterface
- Отсоедините интерфейс.
Spring Boot Auto-Configuration
При использовании openstack-neutron с Spring Boot обязательно используйте следующую зависимость Maven для поддержки автоматической настройки:
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-openstack-starter</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>Компонент поддерживает 18 опций, которые перечислены ниже.
camel.component.openstack-cinder.autowired-enabled
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: Boolean
camel.component.openstack-cinder.enabled
-
Включить ли автоматическую настройку компонента openstack-cinder. По умолчанию эта опция включена.
-
По умолчанию:
-
Тип: Boolean
camel.component.openstack-cinder.lazy-start-producer
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: Boolean
camel.component.openstack-glance.autowired-enabled
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: Boolean
camel.component.openstack-glance.enabled
-
Включить ли автоматическую настройку компонента openstack-glance. По умолчанию эта опция включена.
-
По умолчанию:
-
Тип: Boolean
camel.component.openstack-glance.lazy-start-producer
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: Boolean
camel.component.openstack-keystone.autowired-enabled
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: Boolean
camel.component.openstack-keystone.enabled
-
Включить ли автоматическую настройку компонента openstack-keystone. По умолчанию эта опция включена.
-
По умолчанию:
-
Тип: Boolean
camel.component.openstack-keystone.lazy-start-producer
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: Boolean
camel.component.openstack-neutron.autowired-enabled
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: Boolean
camel.component.openstack-neutron.enabled
-
Включить ли автоматическую настройку компонента openstack-neutron. По умолчанию эта опция включена.
-
По умолчанию:
-
Тип: Boolean
camel.component.openstack-neutron.lazy-start-producer
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: Boolean
camel.component.openstack-nova.autowired-enabled
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: Boolean
camel.component.openstack-nova.enabled
-
Включить ли автоматическую настройку компонента openstack-nova. По умолчанию эта опция включена.
-
По умолчанию:
-
Тип: Boolean
camel.component.openstack-nova.lazy-start-producer
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: Boolean
camel.component.openstack-swift.autowired-enabled
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: Boolean
camel.component.openstack-swift.enabled
-
Включить ли автоматическую настройку компонента openstack-swift. По умолчанию эта опция включена.
-
По умолчанию:
-
Тип: Boolean
camel.component.openstack-swift.lazy-start-producer
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: Boolean