You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/12/17 11:53:49 UTC
[10/17] camel git commit: CAMEL-9748: add config and apiVersion option
CAMEL-9748: add config and apiVersion option
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/82a3db1f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/82a3db1f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/82a3db1f
Branch: refs/heads/master
Commit: 82a3db1f115b5146681143207178c74cff81df2b
Parents: 36edcbd
Author: Jan Bouska <jb...@redhat.com>
Authored: Wed Dec 7 20:37:43 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Sat Dec 17 12:25:15 2016 +0100
----------------------------------------------------------------------
.../main/docs/openstack-cinder-component.adoc | 4 +-
.../main/docs/openstack-glance-component.adoc | 6 ++-
.../main/docs/openstack-keystone-component.adoc | 11 ++--
.../main/docs/openstack-neutron-component.adoc | 8 +--
.../src/main/docs/openstack-nova-component.adoc | 4 +-
.../main/docs/openstack-swift-component.adoc | 4 +-
.../openstack/cinder/CinderEndpoint.java | 31 +++++++++++-
.../common/AbstractOpenstackEndpoint.java | 53 +++++++++++++++++---
.../openstack/glance/GlanceEndpoint.java | 30 +++++++++++
.../openstack/keystone/KeystoneEndpoint.java | 21 ++++++++
.../producer/AbstractKeystoneProducer.java | 7 ++-
.../keystone/producer/DomainProducer.java | 2 +-
.../keystone/producer/GroupProducer.java | 2 +-
.../keystone/producer/ProjectProducer.java | 2 +-
.../keystone/producer/RegionProducer.java | 2 +-
.../keystone/producer/UserProducer.java | 2 +-
.../openstack/neutron/NeutronEndpoint.java | 30 +++++++++++
.../component/openstack/nova/NovaEndpoint.java | 30 +++++++++++
.../openstack/swift/SwiftEndpoint.java | 31 ++++++++++++
19 files changed, 251 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
index bb5e2ed..a80a2b6 100644
--- a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
@@ -47,7 +47,7 @@ The OpenStack-Cinder component has no options.
// component options: END
// endpoint options: START
-The OpenStack-Cinder component supports 7 endpoint options which are listed below:
+The OpenStack-Cinder component supports 9 endpoint options which are listed below:
{% raw %}
[width="100%",cols="2,1,1m,1m,5",options="header"]
@@ -60,6 +60,8 @@ The OpenStack-Cinder component supports 7 endpoint options which are listed belo
| project | common | | String | *Required* The project ID
| subsystem | common | | String | *Required* OpenStack Nova subsystem
| username | common | | String | *Required* OpenStack username
+| config | common | | org.openstack4j.core.transport.Config | Openstack client configuration
+| apiVersion | common | v3 | String | The OpenStack API version. Possible values: v2, v3
|=======================================================================
{% endraw %}
// endpoint options: END
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
index 096d971..757e6e7 100644
--- a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
@@ -1,6 +1,6 @@
[[OpenStack-glance-Component]]
Openstack Glance Component
-~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~
*Available as of Camel 2.19*
@@ -47,7 +47,7 @@ The OpenStack-Glance component has no options.
// component options: END
// endpoint options: START
-The OpenStack-Glance component supports 7 endpoint options which are listed below:
+The OpenStack-Glance component supports 9 endpoint options which are listed below:
{% raw %}
[width="100%",cols="2,1,1m,1m,5",options="header"]
@@ -59,6 +59,8 @@ The OpenStack-Glance component supports 7 endpoint options which are listed belo
| password | common | | String | *Required* OpenStack password
| project | common | | String | *Required* The project ID
| username | common | | String | *Required* OpenStack username
+| config | common | | org.openstack4j.core.transport.Config | Openstack client configuration
+| apiVersion | common | v3 | String | The OpenStack API version. Possible values: v2, v3
|=======================================================================
{% endraw %}
// endpoint options: END
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
index a799bd5..e76373f 100644
--- a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
@@ -1,6 +1,6 @@
[[OpenStack-keystone-Component]]
Openstack Keystone Component
-~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Available as of Camel 2.19*
@@ -49,7 +49,7 @@ The OpenStack-Keystone component has no options.
// component options: END
// endpoint options: START
-The OpenStack-Keystone component supports 7 endpoint options which are listed below:
+The OpenStack-Keystone component supports 8 endpoint options which are listed below:
{% raw %}
[width="100%",cols="2,1,1m,1m,5",options="header"]
@@ -62,6 +62,7 @@ The OpenStack-Keystone component supports 7 endpoint options which are listed be
| project | common | | String | *Required* The project ID
| subsystem | common | | String | *Required* OpenStack Nova subsystem
| username | common | | String | *Required* OpenStack username
+| config | common | | org.openstack4j.core.transport.Config | Openstack client configuration
|=======================================================================
{% endraw %}
// endpoint options: END
@@ -163,7 +164,7 @@ Message headers evaluated by the Group producer
If you need more precise group settings you can create new object of the type *org.openstack4j.model.identity.v3.Group* and send in the message body.
projects
-~~~~~~~
+~~~~~~~~
[[openstack-keystone-OperationsYouCanPerformWithProjectProducer]]
Operations you can perform with the Project producer
@@ -249,7 +250,7 @@ users
[[openstack-keystone-OperationsYouCanPerformWithUserProducer]]
Operations you can perform with the User producer
-+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++
[width="100%",cols="20%,80%",options="header",]
|=========================================================================
|Operation | Description
@@ -267,7 +268,7 @@ Operations you can perform with the User producer
[[openstack-keystone-MessageHeadersEvaluatedByTheUserProducer]]
Message headers evaluated by the User producer
-++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++
[width="100%",cols="10%,10%,80%",options="header",]
|=========================================================================
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
index e91fdc5..9f080cc 100644
--- a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
@@ -1,6 +1,6 @@
[[OpenStack-neutron-Component]]
Openstack Neutron Component
-~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Available as of Camel 2.19*
@@ -47,7 +47,7 @@ The OpenStack-Neutron component has no options.
// component options: END
// endpoint options: START
-The OpenStack-Neutron component supports 7 endpoint options which are listed below:
+The OpenStack-Neutron component supports 9 endpoint options which are listed below:
{% raw %}
[width="100%",cols="2,1,1m,1m,5",options="header"]
@@ -60,6 +60,8 @@ The OpenStack-Neutron component supports 7 endpoint options which are listed bel
| project | common | | String | *Required* The project ID
| subsystem | common | | String | *Required* OpenStack Nova subsystem
| username | common | | String | *Required* OpenStack username
+| config | common | | org.openstack4j.core.transport.Config | Openstack client configuration
+| apiVersion | common | v3 | String | The OpenStack API version. Possible values: v2, v3
|=======================================================================
{% endraw %}
// endpoint options: END
@@ -235,7 +237,7 @@ Operations you can perform with the Router producer
[[openstack-neutron-MessageheadersevaluatedbytheRouterProducer]]
Message headers evaluated by the Port producer
-++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++
[width="100%",cols="10%,10%,80%",options="header",]
|=========================================================================
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
index d750c07..ea5807f 100644
--- a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
@@ -47,7 +47,7 @@ The OpenStack-Nova component has no options.
// component options: END
// endpoint options: START
-The OpenStack-Nova component supports 7 endpoint options which are listed below:
+The OpenStack-Nova component supports 9 endpoint options which are listed below:
{% raw %}
[width="100%",cols="2,1,1m,1m,5",options="header"]
@@ -60,6 +60,8 @@ The OpenStack-Nova component supports 7 endpoint options which are listed below:
| project | common | | String | *Required* The project ID
| subsystem | common | | String | *Required* OpenStack Nova subsystem
| username | common | | String | *Required* OpenStack username
+| config | common | | org.openstack4j.core.transport.Config | Openstack client configuration
+| apiVersion | common | v3 | String | The OpenStack API version. Possible values: v2, v3
|=======================================================================
{% endraw %}
// endpoint options: END
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
index 7e8e057..396c8fb 100644
--- a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
@@ -47,7 +47,7 @@ The OpenStack-Swift component has no options.
// component options: END
// endpoint options: START
-The OpenStack-Swift component supports 7 endpoint options which are listed below:
+The OpenStack-Swift component supports 9 endpoint options which are listed below:
{% raw %}
[width="100%",cols="2,1,1m,1m,5",options="header"]
@@ -60,6 +60,8 @@ The OpenStack-Swift component supports 7 endpoint options which are listed below
| project | common | | String | *Required* The project ID
| subsystem | common | | String | *Required* OpenStack Nova subsystem
| username | common | | String | *Required* OpenStack username
+| config | common | | org.openstack4j.core.transport.Config | Openstack client configuration
+| apiVersion | common | v3 | String | The OpenStack API version. Possible values: v2, v3
|=======================================================================
{% endraw %}
// endpoint options: END
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
index 721a815..a08a976 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
@@ -25,6 +25,8 @@ import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.openstack4j.core.transport.Config;
+
@UriEndpoint(scheme = "openstack-cinder", title = "OpenStack-Cinder", syntax = "openstack-cinder:host", label = "cloud, virtualization")
public class CinderEndpoint extends AbstractOpenstackEndpoint {
@@ -54,9 +56,14 @@ public class CinderEndpoint extends AbstractOpenstackEndpoint {
@Metadata(required = "true")
private String password;
+ @UriParam
+ private Config config;
+
+ @UriParam(defaultValue = v3, enums = "v2, v3")
+ private String apiVersion = v3;
+
public CinderEndpoint(String uri, CinderComponent component) {
super(uri, component);
-
}
@Override
@@ -153,6 +160,28 @@ public class CinderEndpoint extends AbstractOpenstackEndpoint {
public void setHost(String host) {
this.host = host;
}
+
+ public Config getConfig() {
+ return config;
+ }
+
+ /**
+ * OpenStack configuration
+ */
+ public void setConfig(Config config) {
+ this.config = config;
+ }
+
+ public String getApiVersion() {
+ return apiVersion;
+ }
+
+ /**
+ * OpenStack API version
+ */
+ public void setApiVersion(String apiVersion) {
+ this.apiVersion = apiVersion;
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/common/AbstractOpenstackEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/common/AbstractOpenstackEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/common/AbstractOpenstackEndpoint.java
index 26c4c62..8466995 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/common/AbstractOpenstackEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/common/AbstractOpenstackEndpoint.java
@@ -20,14 +20,19 @@ import org.apache.camel.Component;
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.impl.DefaultEndpoint;
+import org.apache.camel.util.ObjectHelper;
import org.openstack4j.api.OSClient;
import org.openstack4j.api.client.IOSClientBuilder;
+import org.openstack4j.core.transport.Config;
import org.openstack4j.model.common.Identifier;
import org.openstack4j.openstack.OSFactory;
public abstract class AbstractOpenstackEndpoint extends DefaultEndpoint {
+ public static final String v2 = "v2";
+ public static final String v3 = "v3";
+
protected abstract String getHost();
protected abstract String getUsername();
@@ -40,20 +45,22 @@ public abstract class AbstractOpenstackEndpoint extends DefaultEndpoint {
protected abstract String getOperation();
+ protected abstract Config getConfig();
+
+ protected abstract String getApiVersion();
+
public AbstractOpenstackEndpoint(String endpointUri, Component component) {
super(endpointUri, component);
}
- protected OSClient.OSClientV3 createClient() {
+ protected OSClient createClient() {
- //client sholud reAuthenticate itself when token expires
- IOSClientBuilder.V3 builder = OSFactory.builderV3()
- .endpoint(getHost());
-
- builder.credentials(getUsername(), getPassword(), Identifier.byId(getDomain()));
+ //client should reAuthenticate itself when token expires
+ if(v2.equals(getApiVersion())) {
+ return createV2Client();
+ }
- builder.scopeToProject(Identifier.byId(getProject()));
- return builder.authenticate();
+ return createV3Client();
}
@Override
@@ -65,4 +72,34 @@ public abstract class AbstractOpenstackEndpoint extends DefaultEndpoint {
public boolean isSingleton() {
return false;
}
+
+ private OSClient.OSClientV3 createV3Client() {
+ IOSClientBuilder.V3 builder = OSFactory.builderV3()
+ .endpoint(getHost());
+
+ builder.credentials(getUsername(), getPassword(), Identifier.byId(getDomain()));
+
+ builder.scopeToProject(Identifier.byId(getProject()));
+
+ if(getConfig() != null) {
+ builder.withConfig(getConfig());
+ }
+
+ return builder.authenticate();
+ }
+
+ private OSClient.OSClientV2 createV2Client() {
+ IOSClientBuilder.V2 builder = OSFactory.builderV2()
+ .endpoint(getHost());
+
+ builder.credentials(getUsername(), getPassword());
+
+ builder.tenantId(getProject());
+
+ if(getConfig() != null) {
+ builder.withConfig(getConfig());
+ }
+
+ return builder.authenticate();
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java
index 4bde383..61a8c4a 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java
@@ -23,6 +23,8 @@ import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.openstack4j.core.transport.Config;
+
@UriEndpoint(scheme = "openstack-glance", title = "OpenStack-Glance", syntax = "openstack-glance:host", label = "cloud")
public class GlanceEndpoint extends AbstractOpenstackEndpoint {
@@ -48,6 +50,12 @@ public class GlanceEndpoint extends AbstractOpenstackEndpoint {
@Metadata(required = "true")
private String password;
+ @UriParam
+ private Config config;
+
+ @UriParam(defaultValue = v3, enums = "v2, v3")
+ private String apiVersion = v3;
+
public GlanceEndpoint(String uri, GlanceComponent component) {
super(uri, component);
}
@@ -128,5 +136,27 @@ public class GlanceEndpoint extends AbstractOpenstackEndpoint {
public void setHost(String host) {
this.host = host;
}
+
+ public Config getConfig() {
+ return config;
+ }
+
+ /**
+ *OpenStack configuration
+ */
+ public void setConfig(Config config) {
+ this.config = config;
+ }
+
+ public String getApiVersion() {
+ return apiVersion;
+ }
+
+ /**
+ * OpenStack API version
+ */
+ public void setApiVersion(String apiVersion) {
+ this.apiVersion = apiVersion;
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
index bb57f72..24cdffd 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
@@ -28,6 +28,8 @@ import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.openstack4j.core.transport.Config;
+
@UriEndpoint(scheme = "openstack-keystone", title = "OpenStack-Keystone", syntax = "openstack-keystone:host", label = "cloud, virtualization")
public class KeystoneEndpoint extends AbstractOpenstackEndpoint {
@@ -57,6 +59,9 @@ public class KeystoneEndpoint extends AbstractOpenstackEndpoint {
@Metadata(required = "true")
private String password;
+ @UriParam
+ private Config config;
+
public KeystoneEndpoint(String uri, KeystoneComponent component) {
super(uri, component);
}
@@ -161,4 +166,20 @@ public class KeystoneEndpoint extends AbstractOpenstackEndpoint {
public void setHost(String host) {
this.host = host;
}
+
+ public Config getConfig() {
+ return config;
+ }
+
+ /**
+ *OpenStack configuration
+ */
+ public void setConfig(Config config) {
+ this.config = config;
+ }
+
+ // v2 API is not supported (is deprecated)
+ public String getApiVersion() {
+ return v3;
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/AbstractKeystoneProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/AbstractKeystoneProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/AbstractKeystoneProducer.java
index f4d9690..eb57e18 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/AbstractKeystoneProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/AbstractKeystoneProducer.java
@@ -26,8 +26,11 @@ public abstract class AbstractKeystoneProducer extends AbstractOpenstackProducer
OSClient.OSClientV3 osV3Client;
- public AbstractKeystoneProducer(AbstractOpenstackEndpoint endpoint, OSClient.OSClientV3 client) {
+ public AbstractKeystoneProducer(AbstractOpenstackEndpoint endpoint, OSClient client) {
super(endpoint, client);
- osV3Client = client;
+ if(!(client instanceof OSClient.OSClientV3)) {
+ throw new IllegalArgumentException("Only Identity API v3 is supported");
+ }
+ osV3Client = (OSClient.OSClientV3) client;
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
index c90ae50..32f9869 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
@@ -33,7 +33,7 @@ import java.util.Map;
public class DomainProducer extends AbstractKeystoneProducer {
- public DomainProducer(KeystoneEndpoint endpoint, OSClient.OSClientV3 client) {
+ public DomainProducer(KeystoneEndpoint endpoint, OSClient client) {
super(endpoint, client);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
index aab828f..4c0a643 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
@@ -33,7 +33,7 @@ import java.util.Map;
public class GroupProducer extends AbstractKeystoneProducer {
- public GroupProducer(KeystoneEndpoint endpoint, OSClient.OSClientV3 client) {
+ public GroupProducer(KeystoneEndpoint endpoint, OSClient client) {
super(endpoint, client);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
index f8aa248..ebe515d 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
@@ -33,7 +33,7 @@ import java.util.Map;
public class ProjectProducer extends AbstractKeystoneProducer {
- public ProjectProducer(KeystoneEndpoint endpoint, OSClient.OSClientV3 client) {
+ public ProjectProducer(KeystoneEndpoint endpoint, OSClient client) {
super(endpoint, client);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
index 0c9c80e..b79c03b 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
@@ -33,7 +33,7 @@ import java.util.Map;
public class RegionProducer extends AbstractKeystoneProducer {
- public RegionProducer(KeystoneEndpoint endpoint, OSClient.OSClientV3 client) {
+ public RegionProducer(KeystoneEndpoint endpoint, OSClient client) {
super(endpoint, client);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
index 4beacd1..4c8b30e 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
@@ -33,7 +33,7 @@ import java.util.Map;
public class UserProducer extends AbstractKeystoneProducer {
- public UserProducer(KeystoneEndpoint endpoint, OSClient.OSClientV3 client) {
+ public UserProducer(KeystoneEndpoint endpoint, OSClient client) {
super(endpoint, client);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
index 44d5b84..bbdb73a 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
@@ -27,6 +27,8 @@ import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.openstack4j.core.transport.Config;
+
@UriEndpoint(scheme = "openstack-neutron", title = "OpenStack-Neutron", syntax = "openstack-neutron:host", label = "cloud")
public class NeutronEndpoint extends AbstractOpenstackEndpoint {
@@ -56,6 +58,12 @@ public class NeutronEndpoint extends AbstractOpenstackEndpoint {
@Metadata(required = "true")
private String password;
+ @UriParam
+ private Config config;
+
+ @UriParam(defaultValue = v3, enums = "v2, v3")
+ private String apiVersion = v3;
+
public NeutronEndpoint(String uri, NeutronComponent component) {
super(uri, component);
}
@@ -158,4 +166,26 @@ public class NeutronEndpoint extends AbstractOpenstackEndpoint {
public void setHost(String host) {
this.host = host;
}
+
+ public Config getConfig() {
+ return config;
+ }
+
+ /**
+ *OpenStack configuration
+ */
+ public void setConfig(Config config) {
+ this.config = config;
+ }
+
+ public String getApiVersion() {
+ return apiVersion;
+ }
+
+ /**
+ * OpenStack API version
+ */
+ public void setApiVersion(String apiVersion) {
+ this.apiVersion = apiVersion;
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
index 25be953..bab7193 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
@@ -26,6 +26,8 @@ import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.openstack4j.core.transport.Config;
+
@UriEndpoint(scheme = "openstack-nova", title = "OpenStack-Nova", syntax = "openstack-nova:host", label = "cloud, virtualization")
public class NovaEndpoint extends AbstractOpenstackEndpoint {
@@ -55,6 +57,12 @@ public class NovaEndpoint extends AbstractOpenstackEndpoint {
@Metadata(required = "true")
private String password;
+ @UriParam
+ private Config config;
+
+ @UriParam(defaultValue = v3, enums = "v2, v3")
+ private String apiVersion = v3;
+
public NovaEndpoint(String uri, NovaComponent component) {
super(uri, component);
}
@@ -155,4 +163,26 @@ public class NovaEndpoint extends AbstractOpenstackEndpoint {
public void setHost(String host) {
this.host = host;
}
+
+ public Config getConfig() {
+ return config;
+ }
+
+ /**
+ *OpenStack configuration
+ */
+ public void setConfig(Config config) {
+ this.config = config;
+ }
+
+ public String getApiVersion() {
+ return apiVersion;
+ }
+
+ /**
+ * OpenStack API version
+ */
+ public void setApiVersion(String apiVersion) {
+ this.apiVersion = apiVersion;
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/82a3db1f/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
index 19627a8..cf79db3 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
@@ -25,6 +25,8 @@ import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.openstack4j.core.transport.Config;
+
@UriEndpoint(scheme = "openstack-swift", title = "OpenStack-Swift", syntax = "openstack-swift:host", label = "cloud")
public class SwiftEndpoint extends AbstractOpenstackEndpoint {
@@ -54,6 +56,12 @@ public class SwiftEndpoint extends AbstractOpenstackEndpoint {
@Metadata(required = "true")
private String password;
+ @UriParam
+ private Config config;
+
+ @UriParam(defaultValue = v3, enums = "v2, v3")
+ private String apiVersion = v3;
+
public SwiftEndpoint(String uri, SwiftComponent component) {
super(uri, component);
@@ -153,6 +161,29 @@ public class SwiftEndpoint extends AbstractOpenstackEndpoint {
public void setHost(String host) {
this.host = host;
}
+
+ public Config getConfig() {
+ return config;
+ }
+
+ /**
+ *OpenStack configuration
+ */
+ public void setConfig(Config config) {
+ this.config = config;
+ }
+
+
+ public String getApiVersion() {
+ return apiVersion;
+ }
+
+ /**
+ * OpenStack API version
+ */
+ public void setApiVersion(String apiVersion) {
+ this.apiVersion = apiVersion;
+ }
}