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