http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/TriggerBuild.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/TriggerBuild.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/TriggerBuild.java
new file mode 100644
index 0000000..abb0c89
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/TriggerBuild.java
@@ -0,0 +1,45 @@
+/**
+ *  Copyright 2005-2014 Red Hat, Inc.
+ *
+ *  Red Hat licenses this file to you under the Apache License, version
+ *  2.0 (the "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ *  implied.  See the License for the specific language governing
+ *  permissions and limitations under the License.
+ */
+package io.fabric8.kubernetes.api;
+
+/**
+ * Triggers a build using the Java API
+ */
+public class TriggerBuild {
+    public static void main(String... args) {
+        if (args.length < 1) {
+            System.out.println("Usage: buildConfigName namespace secret type");
+            return;
+        }
+        String name = args[0];
+        String namespace = "default";
+        if (args.length > 1) {
+            namespace = args[1];
+        }
+
+        KubernetesClient client = new KubernetesClient();
+
+        System.out.println("Connecting to kubernetes on: " + 
client.getAddress());
+
+        try {
+            String uuid = client.triggerBuildAndGetUuid(name, namespace);
+            System.out.println("Build triggered: got UUID: " + uuid);
+        } catch (Exception e) {
+            System.out.println("FAILED: " + e);
+            e.printStackTrace();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/UsingBadAddressTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/UsingBadAddressTest.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/UsingBadAddressTest.java
new file mode 100644
index 0000000..40b650e
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/UsingBadAddressTest.java
@@ -0,0 +1,47 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.fabric8.kubernetes.api;
+
+import io.fabric8.utils.Asserts;
+import io.fabric8.utils.Block;
+import org.junit.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ */
+public class UsingBadAddressTest {
+    protected String badAddress = "cheese://does.notexist.redhat.com:666";
+
+    @Test
+    public void testUseBadAddressFails() throws Exception {
+        Asserts.assertException(new Block() {
+            @Override
+            public void invoke() throws Exception {
+                new KubernetesFactory(badAddress);
+            }
+        });
+    }
+
+    @Test
+    public void testUseBadAddressWithoutValidation() throws Exception {
+        KubernetesFactory factory = new KubernetesFactory(badAddress, false);
+        assertThat(factory).isNotNull();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewEndpoints.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewEndpoints.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewEndpoints.java
new file mode 100644
index 0000000..445de7f
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewEndpoints.java
@@ -0,0 +1,88 @@
+/**
+ *  Copyright 2005-2014 Red Hat, Inc.
+ *
+ *  Red Hat licenses this file to you under the Apache License, version
+ *  2.0 (the "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ *  implied.  See the License for the specific language governing
+ *  permissions and limitations under the License.
+ */
+package io.fabric8.kubernetes.api;
+
+import io.fabric8.kubernetes.api.model.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static io.fabric8.utils.Lists.notNullList;
+
+/**
+ * Views the endpoints for all services or the given service id and namespace
+ */
+public class ViewEndpoints {
+    public static void main(String... args) {
+        System.out.println("Usage: [serviceId] [namespace]");
+        KubernetesClient client = new KubernetesClient();
+
+        System.out.println("Connecting to kubernetes on: " + 
client.getAddress());
+
+        try {
+            String service = null;
+            String namespace = null;
+            if (args.length > 0) {
+                service = args[0];
+            }
+            if (args.length > 1) {
+                namespace = args[1];
+            }
+            listEndpoints(client, service, namespace);
+        } catch (Exception e) {
+            System.out.println("FAILED: " + e);
+            e.printStackTrace();
+        }
+    }
+
+    protected static void listEndpoints(KubernetesClient client, String 
service, String namespace)  throws Exception {
+        if (service != null) {
+            Endpoints endpoints = client.endpointsForService(service, 
namespace);
+            display(endpoints);
+
+        } else {
+            EndpointsList endpointsList = client.getEndpoints();
+            if (endpointsList != null) {
+                List<Endpoints> items = notNullList(endpointsList.getItems());
+                for (Endpoints item : items) {
+                    display(item);
+                }
+            }
+        }
+    }
+
+    protected static void display(Endpoints endpoints) {
+        if (endpoints != null) {
+            String name = endpoints.getMetadata().getName();
+            String namespace = endpoints.getMetadata().getNamespace();
+            List<String> urls = new ArrayList<>();
+            List<EndpointSubset> endpointsSubsets = endpoints.getSubsets();
+
+            for (EndpointSubset endpointSubset : endpointsSubsets) {
+                for (EndpointAddress endpointAddress : 
endpointSubset.getAddresses()) {
+                    for (EndpointPort endpointPort : 
endpointSubset.getPorts()) {
+                        urls.add(endpointAddress.getIP() + ":" + 
endpointPort.getPort());
+                    }
+                }
+            }
+
+            System.out.println("Service: " + name + " namespace: " + namespace 
+ " urls: " + urls);
+        } else {
+            System.out.println("null endpoints");
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewNodes.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewNodes.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewNodes.java
new file mode 100644
index 0000000..da577ce
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewNodes.java
@@ -0,0 +1,61 @@
+/**
+ *  Copyright 2005-2014 Red Hat, Inc.
+ *
+ *  Red Hat licenses this file to you under the Apache License, version
+ *  2.0 (the "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ *  implied.  See the License for the specific language governing
+ *  permissions and limitations under the License.
+ */
+package io.fabric8.kubernetes.api;
+
+import io.fabric8.kubernetes.api.model.Node;
+import io.fabric8.kubernetes.api.model.NodeList;
+
+import java.util.List;
+
+import static io.fabric8.utils.Lists.notNullList;
+
+/**
+ * Views the minions
+ */
+public class ViewNodes {
+    public static void main(String... args) {
+        KubernetesClient client = new KubernetesClient();
+
+        System.out.println("Connecting to kubernetes on: " + 
client.getAddress());
+
+        try {
+            listMinions(client);
+        } catch (Exception e) {
+            System.out.println("FAILED: " + e);
+            e.printStackTrace();
+        }
+    }
+
+    protected static void listMinions(KubernetesClient client)  throws 
Exception {
+        NodeList nodeList = client.getNodes();
+            if (nodeList != null) {
+                List<Node> items = notNullList(nodeList.getItems());
+                for (Node item : items) {
+                    display(item);
+                }
+        }
+    }
+
+    protected static void display(Node node) {
+        if (node != null) {
+            String id = node.getMetadata().getName();
+            System.out.println("Node: " + id + " resources: " + 
node.getStatus().getCapacity());
+        } else {
+            System.out.println("null node");
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewServiceIPs.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewServiceIPs.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewServiceIPs.java
new file mode 100644
index 0000000..0ea2bb6
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/ViewServiceIPs.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright 2005-2014 Red Hat, Inc.
+ *
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package io.fabric8.kubernetes.api;
+
+import java.util.Set;
+
+/**
+ * Views the endpoints for all services or the given service id and namespace
+ */
+public class ViewServiceIPs {
+    public static void main(String... args) {
+        System.out.println("Usage: [serviceName]");
+
+        try {
+            String service = null;
+            if (args.length > 0) {
+                service = args[0];
+            }
+
+            Set<String> addresses = 
KubernetesHelper.lookupServiceInDns(service);
+            if (addresses != null) {
+                System.out.println("addresses: " + addresses);
+            } else {
+                System.out.println("null addresses");
+            }
+        } catch (Exception e) {
+            System.out.println("FAILED: " + e);
+            e.printStackTrace();
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchBuilds.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchBuilds.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchBuilds.java
new file mode 100644
index 0000000..40fd5de
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchBuilds.java
@@ -0,0 +1,52 @@
+/**
+ *  Copyright 2005-2014 Red Hat, Inc.
+ *
+ *  Red Hat licenses this file to you under the Apache License, version
+ *  2.0 (the "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ *  implied.  See the License for the specific language governing
+ *  permissions and limitations under the License.
+ */
+package io.fabric8.kubernetes.api;
+
+import io.fabric8.kubernetes.api.builds.BuildFinishedEvent;
+import io.fabric8.kubernetes.api.builds.BuildListener;
+import io.fabric8.kubernetes.api.builds.BuildWatcher;
+import io.fabric8.kubernetes.api.builds.Links;
+
+/**
+ * Triggers a build using the Java API
+ */
+public class WatchBuilds {
+    public static void main(String... args) {
+        String namespace = null;
+        if (args.length > 0) {
+            namespace = args[0];
+        }
+
+        String consoleLink = Links.getFabric8ConsoleLink();
+
+        KubernetesClient client = new KubernetesClient();
+        BuildListener buildListener = new BuildListener() {
+            @Override
+            public void onBuildFinished(BuildFinishedEvent event) {
+                System.out.println("Build: " + event.getUid()
+                        + " for config: " + event.getConfigName()
+                        + " finished. Status: " + event.getStatus()
+                        + " link: " + event.getBuildLink());
+            }
+        };
+        BuildWatcher watcher = new BuildWatcher(client, buildListener, 
namespace, consoleLink);
+
+        long pollTime = 3000;
+        watcher.schedule(pollTime);
+
+        watcher.join();
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchBuildsExample.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchBuildsExample.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchBuildsExample.java
new file mode 100644
index 0000000..2105ba2
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchBuildsExample.java
@@ -0,0 +1,23 @@
+package io.fabric8.kubernetes.api;
+
+import io.fabric8.openshift.api.model.Build;
+import org.eclipse.jetty.websocket.client.WebSocketClient;
+
+public class WatchBuildsExample {
+
+    public static void main(String... args) throws Exception {
+        KubernetesClient kube = new KubernetesClient();
+        System.out.println("Connecting to kubernetes on: " + 
kube.getAddress());
+        WebSocketClient client = kube.watchBuilds(new ExampleWatcher());
+        Thread.sleep(10000l);
+        client.stop();
+    }
+
+    static class ExampleWatcher extends AbstractWatcher<Build> {
+        @Override
+        public void eventReceived(Action action, Build object) {
+            System.out.println(action + ": " + object);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchPodsExample.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchPodsExample.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchPodsExample.java
new file mode 100644
index 0000000..ded366d
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchPodsExample.java
@@ -0,0 +1,23 @@
+package io.fabric8.kubernetes.api;
+
+import io.fabric8.kubernetes.api.model.Pod;
+import org.eclipse.jetty.websocket.client.WebSocketClient;
+
+public class WatchPodsExample {
+
+    public static void main(String... args) throws Exception {
+        KubernetesClient kube = new KubernetesClient();
+        System.out.println("Connecting to kubernetes on: " + 
kube.getAddress());
+        WebSocketClient client = kube.watchPods("default", null, new 
ExampleWatcher());
+        Thread.sleep(10000l);
+        client.stop();
+    }
+
+    static class ExampleWatcher extends AbstractWatcher<Pod> {
+        @Override
+        public void eventReceived(Watcher.Action action, Pod object) {
+            System.out.println(action + ": " + object);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchServicesExample.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchServicesExample.java
 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchServicesExample.java
new file mode 100644
index 0000000..13fb9a1
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/java/io/fabric8/kubernetes/api/WatchServicesExample.java
@@ -0,0 +1,23 @@
+package io.fabric8.kubernetes.api;
+
+import io.fabric8.kubernetes.api.model.Service;
+import org.eclipse.jetty.websocket.client.WebSocketClient;
+
+public class WatchServicesExample {
+
+    public static void main(String... args) throws Exception {
+        KubernetesClient kube = new KubernetesClient();
+        System.out.println("Connecting to kubernetes on: " + 
kube.getAddress());
+        WebSocketClient client = kube.watchServices("jimmi", null, new 
ExampleWatcher());
+        Thread.sleep(10000l);
+        client.stop();
+    }
+
+    static class ExampleWatcher extends AbstractWatcher<Service> {
+        @Override
+        public void eventReceived(Action action, Service object) {
+            System.out.println(action + ": " + object);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/resources/config.yml
----------------------------------------------------------------------
diff --git a/dependencies/fabric8/kubernetes-api/src/test/resources/config.yml 
b/dependencies/fabric8/kubernetes-api/src/test/resources/config.yml
new file mode 100644
index 0000000..dd471d0
--- /dev/null
+++ b/dependencies/fabric8/kubernetes-api/src/test/resources/config.yml
@@ -0,0 +1,52 @@
+apiVersion: v1
+clusters:
+- cluster:
+    insecure-skip-tls-verify: true
+    server: https://localhost:8443
+  name: localhost-8443-0
+- cluster:
+    insecure-skip-tls-verify: true
+    server: https://localhost:8443
+  name: localhost-8443-1
+- cluster:
+    insecure-skip-tls-verify: true
+    server: https://localhost:8443
+  name: 172-28-128-4:8443
+- cluster:
+    insecure-skip-tls-verify: true
+    server: https://localhost:8443
+  name: localhost:8443
+contexts:
+- context:
+    cluster: localhost:8443
+    namespace: claus
+    user: admin/localhost:8443
+  name: claus/localhost:8443/admin
+- context:
+    cluster: 172-28-128-4:8443
+    namespace: jimmi-does-rock
+    user: admin/localhost:8443
+  name: default/localhost:8443/admin
+- context:
+    cluster: localhost:8443
+    namespace: james
+    user: admin/localhost:8443
+  name: james/localhost:8443/admin
+- context:
+    cluster: localhost:8443
+    namespace: roland
+    user: admin/localhost:8443
+  name: roland/localhost:8443/admin
+current-context: default/localhost:8443/admin
+kind: Config
+preferences: {}
+users:
+- name: admin/somewhere:8443
+  user:
+    token: DEF
+- name: admin/somewhere-else:8443
+  user:
+    token: ABC
+- name: admin/localhost:8443
+  user:
+    token: ExpectedToken

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/resources/errorexample.json
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/resources/errorexample.json 
b/dependencies/fabric8/kubernetes-api/src/test/resources/errorexample.json
new file mode 100644
index 0000000..3338c5d
--- /dev/null
+++ b/dependencies/fabric8/kubernetes-api/src/test/resources/errorexample.json
@@ -0,0 +1,77 @@
+{
+  "id": "nova-compute-controller",
+  "apiVersion": "v1beta1",
+  "desiredState": {
+    "replicas": 6,
+    "podTemplate": {
+      "desiredState": {
+        "manifest": {
+          "id": "nova-compute-controller",
+          "containers": [
+            {
+              "ports": [
+                {
+                  "hostPort": 12000,
+                  "containerPort": 12000
+                }
+              ],
+              "name": "nova-compute",
+              "image": "kollaglue/fedora-rdo-nova-compute",
+              "env": [
+                {
+                  "name": "DB_ROOT_PASSWORD",
+                  "value": "password"
+                },
+                {
+                  "name": "NOVA_DB_PASSWORD",
+                  "value": "novadbpassword"
+                },
+                {
+                  "name": "KEYSTONE_ADMIN_TOKEN",
+                  "value": "ADMINTOKEN"
+                }
+              ],
+              "privileged": true
+            },
+            {
+              "ports": [
+                {
+                  "hostPort": 12001,
+                  "containerPort": 12001
+                }
+              ],
+              "name": "nova-network",
+              "image": "kollaglue/fedora-rdo-nova-network",
+              "env": [
+                {
+                  "name": "DB_ROOT_PASSWORD",
+                  "value": "password"
+                },
+                {
+                  "name": "NOVA_DB_PASSWORD",
+                  "value": "novadbpassword"
+                },
+                {
+                  "name": "KEYSTONE_ADMIN_TOKEN",
+                  "value": "ADMINTOKEN"
+                }
+              ],
+              "privileged": true
+            }
+          ],
+          "version": "v1beta1"
+        }
+      },
+      "labels": {
+        "name": "nova-compute"
+      }
+    },
+    "replicaSelector": {
+      "name": "nova-compute"
+    }
+  },
+  "labels": {
+    "name": "nova-compute"
+  },
+  "kind": "ReplicationController"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/resources/fmq-service.json
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/resources/fmq-service.json 
b/dependencies/fabric8/kubernetes-api/src/test/resources/fmq-service.json
new file mode 100644
index 0000000..4b704ba
--- /dev/null
+++ b/dependencies/fabric8/kubernetes-api/src/test/resources/fmq-service.json
@@ -0,0 +1,20 @@
+{
+  "kind": "Service",
+  "apiVersion": "v1beta3",
+  "metadata": {
+    "name": "fabric8-mq-service"
+  },
+  "spec": {
+    "ports": [
+      {
+        "port": 6163,
+        "targetPort": 6162
+      }
+    ],
+    "selector": {
+      "container": "java",
+      "name": "fabric8MQ",
+      "group": "fabric8MQ"
+    }
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/resources/glance-api-service.yaml
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/resources/glance-api-service.yaml
 
b/dependencies/fabric8/kubernetes-api/src/test/resources/glance-api-service.yaml
new file mode 100644
index 0000000..42e8c5c
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-api/src/test/resources/glance-api-service.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1beta1
+containerPort: 9292
+id: glance-api
+kind: Service
+port: 9292
+selector:
+  name: glance

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-api/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-api/src/test/resources/log4j.properties 
b/dependencies/fabric8/kubernetes-api/src/test/resources/log4j.properties
new file mode 100644
index 0000000..50114a0
--- /dev/null
+++ b/dependencies/fabric8/kubernetes-api/src/test/resources/log4j.properties
@@ -0,0 +1,25 @@
+#
+#  Copyright 2005-2014 Red Hat, Inc.
+#
+#  Red Hat licenses this file to you under the Apache License, version
+#  2.0 (the "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+#  implied.  See the License for the specific language governing
+#  permissions and limitations under the License.
+#
+
+log4j.rootLogger=INFO, stdout
+
+#The logging properties used during tests..
+# CONSOLE appender not used by default
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%-5p %-30.30c{1} - %m%n
+log4j.appender.stdout.threshold=DEBUG
+

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/README.md
----------------------------------------------------------------------
diff --git a/dependencies/fabric8/kubernetes-model/README.md 
b/dependencies/fabric8/kubernetes-model/README.md
new file mode 100644
index 0000000..6019aa8
--- /dev/null
+++ b/dependencies/fabric8/kubernetes-model/README.md
@@ -0,0 +1,7 @@
+## Fabric8 Kubernetes Client API Model
+
+Fabric8 Kubernetes Client API Model 2.1.11 has been forked to fix issue [1]. 
The fix has been merged to master branch,
+once the next Fabric8 release is published to Nexus this fork can be removed.
+
+[1] [origin-schema-generator/pull/50] 
(https://github.com/fabric8io/origin-schema-generator/pull/50)
+

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/pom.xml
----------------------------------------------------------------------
diff --git a/dependencies/fabric8/kubernetes-model/pom.xml 
b/dependencies/fabric8/kubernetes-model/pom.xml
new file mode 100644
index 0000000..f8edfa5
--- /dev/null
+++ b/dependencies/fabric8/kubernetes-model/pom.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+     Copyright 2005-2014 Red Hat, Inc.
+
+     Red Hat licenses this file to you under the Apache License, version
+     2.0 (the "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+     implied.  See the License for the specific language governing
+     permissions and limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.stratos</groupId>
+    <artifactId>stratos-dependencies-fabric8</artifactId>
+    <version>4.1.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <artifactId>kubernetes-model</artifactId>
+  <version>2.1.11-stratosv1</version>
+  <packaging>bundle</packaging>
+
+  <name>Fabric8 :: Kubernetes Generated Model</name>
+
+  <properties>
+    <clone-kube>true</clone-kube>
+    <kube.dir>${basedir}/src/main/resources</kube.dir>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>io.sundr</groupId>
+      <artifactId>sundr-annotations</artifactId>
+      <version>0.0.16</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.module</groupId>
+      <artifactId>jackson-module-jaxb-annotations</artifactId>
+      <version>2.4.0</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.validation</groupId>
+      <artifactId>validation-api</artifactId>
+      <version>1.1.0.Final</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.6</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.jsonschema2pojo</groupId>
+        <artifactId>jsonschema2pojo-maven-plugin</artifactId>
+        <version>0.4.10</version>
+        <configuration>
+          <sourceDirectory>${kube.dir}/schema</sourceDirectory>
+          <targetPackage>io.fabric8.kubernetes.api.model</targetPackage>
+          <includeConstructors>true</includeConstructors>
+          <includeJsr303Annotations>true</includeJsr303Annotations>
+          
<outputDirectory>${basedir}/target/generated-sources</outputDirectory>
+          
<customAnnotator>io.fabric8.kubernetes.annotator.KubernetesTypeAnnotator</customAnnotator>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
+            <groupId>io.fabric8.schemagenerator</groupId>
+            <artifactId>kubernetes-annotator</artifactId>
+            <version>0.0.45</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <version>1.7</version>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <configuration>
+              <target>
+                <echo>removing the duplicate generated calss</echo>
+                <delete 
file="${basedir}/target/generated-sources/io/fabric8/kubernetes/api/model/util/IntOrString.java"
 verbose="true" />
+                <delete 
file="${basedir}/target/generated-sources/io/fabric8/kubernetes/api/model/resource/Quantity.java"
 verbose="true" />
+                <delete 
file="${basedir}/target/generated-sources/io/fabric8/openshift/api/model/template/Template.java"
 verbose="true" />
+                <delete 
file="${basedir}/target/generated-sources/io/fabric8/kubernetes/api/model/HasMetadata.java"
 verbose="true" />
+              </target>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <extensions>true</extensions>
+        <version>2.3.7</version>
+        <configuration>
+          <instructions>
+            
<Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
+            <Export-Package>
+              io.fabric8.kubernetes.api.model
+            </Export-Package>
+            <Import-Package>
+              org.osgi.framework,
+              *;resolution:=optional
+            </Import-Package>
+            <DynamicImport-Package>*</DynamicImport-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <version>1.9.1</version>
+        <executions>
+          <execution>
+            <id>attach-artifacts</id>
+            <phase>package</phase>
+            <goals>
+              <goal>attach-artifact</goal>
+            </goals>
+            <configuration>
+              <artifacts>
+                <artifact>
+                  <file>${build.outputDirectory}/schema/kube-schema.json</file>
+                  <type>json</type>
+                  <classifier>schema</classifier>
+                </artifact>
+              </artifacts>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-release-plugin</artifactId>
+        <version>2.5</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-gpg-plugin</artifactId>
+        <version>1.5</version>
+        <configuration>
+          <passphrase>${gpg.passphrase}</passphrase>
+          <useAgent>true</useAgent>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/KubernetesBaseConfig.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/KubernetesBaseConfig.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/KubernetesBaseConfig.java
new file mode 100644
index 0000000..b3ad7e7
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/KubernetesBaseConfig.java
@@ -0,0 +1,14 @@
+package io.fabric8.config;
+
+import io.sundr.builder.annotations.ExternalBuildables;
+
+@ExternalBuildables(editableEnabled=false, validationEnabled = true, 
builderPackage = "io.fabric8.common", value = {
+        "io.fabric8.kubernetes.api.model.base.ListMeta",
+        "io.fabric8.kubernetes.api.model.base.ObjectMeta",
+        "io.fabric8.kubernetes.api.model.base.ObjectReference",
+        "io.fabric8.kubernetes.api.model.base.Status",
+        "io.fabric8.kubernetes.api.model.base.StatusCause",
+        "io.fabric8.kubernetes.api.model.base.StatusDetails"
+})
+public class KubernetesBaseConfig {
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/KubernetesConfig.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/KubernetesConfig.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/KubernetesConfig.java
new file mode 100644
index 0000000..9422353
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/KubernetesConfig.java
@@ -0,0 +1,81 @@
+package io.fabric8.config;
+
+import io.sundr.builder.annotations.ExternalBuildables;
+
+@ExternalBuildables(editableEnabled=false, validationEnabled = true, 
builderPackage = "io.fabric8.common", value = {
+        "io.fabric8.kubernetes.api.model.BaseKubernetesList",
+        "io.fabric8.kubernetes.api.model.KubernetesList",
+
+        "io.fabric8.kubernetes.api.model.Capabilities",
+        "io.fabric8.kubernetes.api.model.Container",
+        "io.fabric8.kubernetes.api.model.ContainerPort",
+        "io.fabric8.kubernetes.api.model.ContainerState",
+        "io.fabric8.kubernetes.api.model.ContainerStateRunning",
+        "io.fabric8.kubernetes.api.model.ContainerStateTerminated",
+        "io.fabric8.kubernetes.api.model.ContainerStateWaiting",
+        "io.fabric8.kubernetes.api.model.ContainerStatus",
+        "io.fabric8.kubernetes.api.model.EmptyDirVolumeSource",
+        "io.fabric8.kubernetes.api.model.EndpointAddress",
+        "io.fabric8.kubernetes.api.model.EndpointPort",
+        "io.fabric8.kubernetes.api.model.EndpointSubset",
+        "io.fabric8.kubernetes.api.model.Endpoints",
+        "io.fabric8.kubernetes.api.model.EndpointsList",
+        "io.fabric8.kubernetes.api.model.EnvVar",
+        "io.fabric8.kubernetes.api.model.EnvVarSource",
+        "io.fabric8.kubernetes.api.model.ExecAction",
+        "io.fabric8.kubernetes.api.model.GCEPersistentDiskVolumeSource",
+        "io.fabric8.kubernetes.api.model.GitRepoVolumeSource",
+        "io.fabric8.kubernetes.api.model.GlusterfsVolumeSource",
+        "io.fabric8.kubernetes.api.model.HTTPGetAction",
+        "io.fabric8.kubernetes.api.model.Handler",
+        "io.fabric8.kubernetes.api.model.HostPathVolumeSource",
+        "io.fabric8.kubernetes.api.model.ISCSIVolumeSource",
+        "io.fabric8.kubernetes.api.model.KubeSchema",
+        "io.fabric8.kubernetes.api.model.Lifecycle",
+        "io.fabric8.kubernetes.api.model.ListMeta",
+        "io.fabric8.kubernetes.api.model.NFSVolumeSource",
+        "io.fabric8.kubernetes.api.model.Namespace",
+        "io.fabric8.kubernetes.api.model.NamespaceList",
+        "io.fabric8.kubernetes.api.model.NamespaceSpec",
+        "io.fabric8.kubernetes.api.model.NamespaceStatus",
+        "io.fabric8.kubernetes.api.model.Node",
+        "io.fabric8.kubernetes.api.model.NodeAddress",
+        "io.fabric8.kubernetes.api.model.NodeCondition",
+        "io.fabric8.kubernetes.api.model.NodeList",
+        "io.fabric8.kubernetes.api.model.NodeSpec",
+        "io.fabric8.kubernetes.api.model.NodeStatus",
+        "io.fabric8.kubernetes.api.model.NodeSystemInfo",
+        "io.fabric8.kubernetes.api.model.ObjectFieldSelector",
+        "io.fabric8.kubernetes.api.model.ObjectMeta",
+        "io.fabric8.kubernetes.api.model.ObjectReference",
+        "io.fabric8.kubernetes.api.model.Pod",
+        "io.fabric8.kubernetes.api.model.PodCondition",
+        "io.fabric8.kubernetes.api.model.PodList",
+        "io.fabric8.kubernetes.api.model.PodSpec",
+        "io.fabric8.kubernetes.api.model.PodStatus",
+        "io.fabric8.kubernetes.api.model.PodTemplateSpec",
+        "io.fabric8.kubernetes.api.model.Probe",
+        "io.fabric8.kubernetes.api.model.ReplicationController",
+        "io.fabric8.kubernetes.api.model.ReplicationControllerList",
+        "io.fabric8.kubernetes.api.model.ReplicationControllerSpec",
+        "io.fabric8.kubernetes.api.model.ReplicationControllerStatus",
+        "io.fabric8.kubernetes.api.model.ResourceRequirements",
+        "io.fabric8.kubernetes.api.model.Secret",
+        "io.fabric8.kubernetes.api.model.SecretList",
+        "io.fabric8.kubernetes.api.model.SecretVolumeSource",
+        "io.fabric8.kubernetes.api.model.Service",
+        "io.fabric8.kubernetes.api.model.ServiceAccount",
+        "io.fabric8.kubernetes.api.model.ServiceAccountList",
+        "io.fabric8.kubernetes.api.model.ServiceList",
+        "io.fabric8.kubernetes.api.model.ServicePort",
+        "io.fabric8.kubernetes.api.model.ServiceSpec",
+        "io.fabric8.kubernetes.api.model.ServiceStatus",
+        "io.fabric8.kubernetes.api.model.TCPSocketAction",
+        "io.fabric8.kubernetes.api.model.Volume",
+        "io.fabric8.kubernetes.api.model.VolumeMount",
+
+        "io.fabric8.kubernetes.api.model.util.IntOrString",
+        "io.fabric8.kubernetes.api.model.resource.Quantity"
+})
+public class KubernetesConfig {
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/OpenshiftConfig.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/OpenshiftConfig.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/OpenshiftConfig.java
new file mode 100644
index 0000000..8a48f81
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/config/OpenshiftConfig.java
@@ -0,0 +1,67 @@
+package io.fabric8.config;
+
+import io.sundr.builder.annotations.ExternalBuildables;
+
+@ExternalBuildables(editableEnabled=false, validationEnabled = true, 
builderPackage = "io.fabric8.common", value = {
+        "io.fabric8.openshift.api.model.Build",
+        "io.fabric8.openshift.api.model.BuildConfig",
+        "io.fabric8.openshift.api.model.BuildConfigList",
+        "io.fabric8.openshift.api.model.BuildConfigSpec",
+        "io.fabric8.openshift.api.model.BuildConfigStatus",
+        "io.fabric8.openshift.api.model.BuildList",
+        "io.fabric8.openshift.api.model.BuildOutput",
+        "io.fabric8.openshift.api.model.BuildSource",
+        "io.fabric8.openshift.api.model.BuildSpec",
+        "io.fabric8.openshift.api.model.BuildStatus",
+        "io.fabric8.openshift.api.model.BuildStrategy",
+        "io.fabric8.openshift.api.model.BuildTriggerPolicy",
+        "io.fabric8.openshift.api.model.CustomBuildStrategy",
+        "io.fabric8.openshift.api.model.CustomDeploymentStrategyParams",
+        "io.fabric8.openshift.api.model.DeploymentCause",
+        "io.fabric8.openshift.api.model.DeploymentCauseImageTrigger",
+        "io.fabric8.openshift.api.model.DeploymentConfig",
+        "io.fabric8.openshift.api.model.DeploymentConfigList",
+        "io.fabric8.openshift.api.model.DeploymentConfigSpec",
+        "io.fabric8.openshift.api.model.DeploymentConfigStatus",
+        "io.fabric8.openshift.api.model.DeploymentDetails",
+        "io.fabric8.openshift.api.model.DeploymentStrategy",
+        "io.fabric8.openshift.api.model.DeploymentTriggerImageChangeParams",
+        "io.fabric8.openshift.api.model.DeploymentTriggerPolicy",
+        "io.fabric8.openshift.api.model.DockerBuildStrategy",
+        "io.fabric8.openshift.api.model.ExecNewPodHook",
+        "io.fabric8.openshift.api.model.GitBuildSource",
+        "io.fabric8.openshift.api.model.GitSourceRevision",
+        "io.fabric8.openshift.api.model.Image",
+        "io.fabric8.openshift.api.model.ImageChangeTrigger",
+        "io.fabric8.openshift.api.model.ImageList",
+        "io.fabric8.openshift.api.model.ImageStream",
+        "io.fabric8.openshift.api.model.ImageStreamList",
+        "io.fabric8.openshift.api.model.ImageStreamSpec",
+        "io.fabric8.openshift.api.model.ImageStreamStatus",
+        "io.fabric8.openshift.api.model.LifecycleHook",
+        "io.fabric8.openshift.api.model.NamedTagEventList",
+        "io.fabric8.openshift.api.model.NamedTagReference",
+        "io.fabric8.openshift.api.model.OAuthAccessToken",
+        "io.fabric8.openshift.api.model.OAuthAccessTokenList",
+        "io.fabric8.openshift.api.model.OAuthAuthorizeToken",
+        "io.fabric8.openshift.api.model.OAuthAuthorizeTokenList",
+        "io.fabric8.openshift.api.model.OAuthClient",
+        "io.fabric8.openshift.api.model.OAuthClientAuthorization",
+        "io.fabric8.openshift.api.model.OAuthClientAuthorizationList",
+        "io.fabric8.openshift.api.model.OAuthClientList",
+        "io.fabric8.openshift.api.model.RecreateDeploymentStrategyParams",
+        "io.fabric8.openshift.api.model.Route",
+        "io.fabric8.openshift.api.model.RouteList",
+        "io.fabric8.openshift.api.model.RouteSpec",
+        "io.fabric8.openshift.api.model.RouteStatus",
+        "io.fabric8.openshift.api.model.SourceBuildStrategy",
+        "io.fabric8.openshift.api.model.SourceControlUser",
+        "io.fabric8.openshift.api.model.SourceRevision",
+        "io.fabric8.openshift.api.model.TLSConfig",
+        "io.fabric8.openshift.api.model.TagEvent",
+        "io.fabric8.openshift.api.model.WebHookTrigger",
+        "io.fabric8.openshift.api.model.template.Template",
+        "io.fabric8.openshift.api.model.template.Parameter"
+})
+public class OpenshiftConfig {
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/HasMetadata.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/HasMetadata.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/HasMetadata.java
new file mode 100644
index 0000000..689791c
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/HasMetadata.java
@@ -0,0 +1,7 @@
+package io.fabric8.kubernetes.api.model;
+
+public interface HasMetadata extends KubernetesResource {
+
+  ObjectMeta getMetadata();
+  void setMetadata(ObjectMeta metadata);
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesKind.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesKind.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesKind.java
new file mode 100644
index 0000000..bc051bf
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesKind.java
@@ -0,0 +1,71 @@
+package io.fabric8.kubernetes.api.model;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum KubernetesKind {
+
+    List(KubernetesList.class),
+    ServiceAccount(ServiceAccount.class),
+    ServiceAccountList(ServiceAccountList.class),
+    Service(Service.class),
+    ServiceList(ServiceList.class),
+    Pod(Pod.class),
+    PodList(PodList.class),
+    ReplicationController(ReplicationController.class),
+    ReplicationControllerList(ReplicationControllerList.class),
+    Namespace(Namespace.class),
+    NamespaceList(NamespaceList.class),
+    Secret(Secret.class),
+    SecretList(SecretList.class),
+    Endpoints(Endpoints.class),
+    EndpointsList(EndpointsList.class),
+    Node(Node.class),
+    NodeList(NodeList.class),
+    Build(io.fabric8.openshift.api.model.Build.class),
+    BuildList(io.fabric8.openshift.api.model.BuildList.class),
+    BuildConfig(io.fabric8.openshift.api.model.BuildConfig.class),
+    BuildConfigList(io.fabric8.openshift.api.model.BuildConfigList.class),
+    DeploymentConfig(io.fabric8.openshift.api.model.DeploymentConfig.class),
+    
DeploymentConfigList(io.fabric8.openshift.api.model.DeploymentConfigList.class),
+    Image(io.fabric8.openshift.api.model.Image.class),
+    ImageList(io.fabric8.openshift.api.model.ImageList.class),
+    ImageStream(io.fabric8.openshift.api.model.ImageStream.class),
+    ImageStreamList(io.fabric8.openshift.api.model.ImageStreamList.class),
+    NameTagReference(io.fabric8.openshift.api.model.NamedTagReference.class),
+    NameTagEventList(io.fabric8.openshift.api.model.NamedTagEventList.class),
+    Route(io.fabric8.openshift.api.model.Route.class),
+    RouteList(io.fabric8.openshift.api.model.RouteList.class),
+    Template(io.fabric8.openshift.api.model.template.Template.class),
+    TemplateList(io.fabric8.openshift.api.model.template.TemplateList.class),
+    OAuthClient(io.fabric8.openshift.api.model.OAuthClient.class),
+    OAuthClientList(io.fabric8.openshift.api.model.OAuthClientList.class),
+    
OAuthClientAuthorization(io.fabric8.openshift.api.model.OAuthClientAuthorization.class),
+    
OAuthClientAuthorizationList(io.fabric8.openshift.api.model.OAuthClientAuthorizationList.class),
+    
OAuthAuthorizeToken(io.fabric8.openshift.api.model.OAuthAuthorizeToken.class),
+    
OAuthAuthorizeTokenList(io.fabric8.openshift.api.model.OAuthAuthorizeTokenList.class),
+    OAuthAccessToken(io.fabric8.openshift.api.model.OAuthAccessToken.class),
+    
OAuthAccessTokenList(io.fabric8.openshift.api.model.OAuthAccessTokenList.class);
+
+    private static final Map<String, Class<? extends KubernetesResource>> map 
= new HashMap<String, Class<? extends KubernetesResource>>();
+
+    static {
+        for (KubernetesKind kind : KubernetesKind.values()) {
+            map.put(kind.name(), kind.type);
+        }
+    }
+
+    private final Class<? extends KubernetesResource> type;
+
+    KubernetesKind(Class type) {
+        this.type = type;
+    }
+
+    public Class getType() {
+        return type;
+    }
+
+    public static Class<? extends KubernetesResource> getTypeForName(String 
name) {
+        return map.get(name);
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesList.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesList.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesList.java
new file mode 100644
index 0000000..3450a46
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesList.java
@@ -0,0 +1,49 @@
+package io.fabric8.kubernetes.api.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import javax.annotation.Generated;
+import java.util.List;
+
+
+/**
+ *
+ *
+ */
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+        "annotations",
+        "apiVersion",
+        "creationTimestamp",
+        "deletionTimestamp",
+        "generateName",
+        "id",
+        "items",
+        "kind",
+        "namespace",
+        "resourceVersion",
+        "selfLink",
+        "uid"
+})
+@JsonDeserialize(using = JsonDeserializer.None.class)
+public class KubernetesList extends BaseKubernetesList implements 
KubernetesResource {
+
+    /**
+     * No args constructor for use in serialization
+     */
+    public KubernetesList() {
+        super();
+    }
+
+    public KubernetesList(KubernetesList.ApiVersion apiVersion,
+                          List<HasMetadata> items,
+                          String kind,
+                          ListMeta metadata) {
+        super(apiVersion, items, kind, metadata);
+        this.setItems(items);
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesResource.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesResource.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesResource.java
new file mode 100644
index 0000000..bc2ba3d
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesResource.java
@@ -0,0 +1,8 @@
+package io.fabric8.kubernetes.api.model;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import io.fabric8.kubernetes.internal.KubernetesDeserializer;
+
+@JsonDeserialize(using = KubernetesDeserializer.class)
+public interface KubernetesResource {
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/resource/Quantity.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/resource/Quantity.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/resource/Quantity.java
new file mode 100644
index 0000000..b614487
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/resource/Quantity.java
@@ -0,0 +1,135 @@
+
+package io.fabric8.kubernetes.api.model.resource;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.ObjectCodec;
+import com.fasterxml.jackson.databind.*;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+import javax.annotation.Generated;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * 
+ * 
+ */
+@JsonDeserialize(using = Quantity.Deserializer.class)
+@JsonSerialize(using = Quantity.Serializer.class)
+@Generated("org.jsonschema2pojo")
+public class Quantity {
+
+    private String amount;
+    private String format;
+    private Map<String, Object> additionalProperties = new HashMap<String, 
Object>();
+
+    /**
+     * No args constructor for use in serialization
+     * 
+     */
+    public Quantity() {
+    }
+
+    /**
+     * 
+     * @param Format
+     * @param Amount
+     */
+    public Quantity(String amount) {
+        this.amount = amount;
+    }
+
+    /**
+     *
+     * @param Format
+     * @param Amount
+     */
+    public Quantity(String amount, String format) {
+        this.amount = amount;
+        this.format = format;
+    }
+
+    public String getAmount() {
+        return amount;
+    }
+
+    public void setAmount(String amount) {
+        this.amount = amount;
+    }
+
+    public String getFormat() {
+        return format;
+    }
+
+    public void setFormat(String format) {
+        this.format = format;
+    }
+
+    @Override
+    public String toString() {
+        return ToStringBuilder.reflectionToString(this);
+    }
+
+    @JsonAnyGetter
+    public Map<String, Object> getAdditionalProperties() {
+        return this.additionalProperties;
+    }
+
+    @JsonAnySetter
+    public void setAdditionalProperty(String name, Object value) {
+        this.additionalProperties.put(name, value);
+    }
+
+    @Override
+    public int hashCode() {
+        return new 
HashCodeBuilder().append(amount).append(format).append(additionalProperties).toHashCode();
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        if (other == this) {
+            return true;
+        }
+        if ((other instanceof Quantity) == false) {
+            return false;
+        }
+        Quantity rhs = ((Quantity) other);
+        return new EqualsBuilder().append(amount, rhs.amount).append(format, 
rhs.format).append(additionalProperties, rhs.additionalProperties).isEquals();
+    }
+
+    public static class Serializer extends JsonSerializer<Quantity> {
+
+        @Override
+        public void serialize(Quantity value, JsonGenerator jgen, 
SerializerProvider provider) throws IOException, JsonProcessingException {
+            if (value != null && value.getAmount() != null) {
+                jgen.writeNumber(value.getAmount());
+            } else {
+                jgen.writeNull();
+            }
+        }
+    }
+
+    public static class Deserializer extends JsonDeserializer<Quantity> {
+
+        @Override
+        public Quantity deserialize(JsonParser jsonParser, 
DeserializationContext ctxt) throws IOException, JsonProcessingException {
+            ObjectCodec oc = jsonParser.getCodec();
+            JsonNode node = oc.readTree(jsonParser);
+            Quantity quantity = new Quantity(node.asText());
+            return quantity;
+        }
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/util/IntOrString.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/util/IntOrString.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/util/IntOrString.java
new file mode 100644
index 0000000..bbf9828
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/util/IntOrString.java
@@ -0,0 +1,195 @@
+
+package io.fabric8.kubernetes.api.model.util;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.ObjectCodec;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+import javax.annotation.Generated;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonDeserialize(using = IntOrString.Deserializer.class)
+@JsonSerialize(using = IntOrString.Serializer.class)
+@JsonPropertyOrder({
+    "IntVal",
+    "Kind",
+    "StrVal"
+})
+public class IntOrString {
+
+    @JsonProperty("IntVal")
+    private Integer IntVal;
+    @JsonProperty("Kind")
+    private Integer Kind;
+    @JsonProperty("StrVal")
+    private String StrVal;
+    @JsonIgnore
+    private Map<String, Object> additionalProperties = new HashMap<String, 
Object>();
+
+    public IntOrString() {
+    }
+
+    //Builders are generated for the first non-empty constructor found.
+    public IntOrString(Integer intVal, Integer kind, String strVal, 
Map<String, Object> additionalProperties) {
+        IntVal = intVal;
+        Kind = kind;
+        StrVal = strVal;
+        this.additionalProperties = additionalProperties;
+    }
+
+    public IntOrString(Integer intVal) {
+        this(intVal, 0, null, new HashMap<String, Object>());
+    }
+
+    public IntOrString(String strVal) {
+        this(null, 1, strVal, new HashMap<String, Object>());
+    }
+
+
+    /**
+     *
+     * @return
+     *     The IntVal
+     */
+    @JsonProperty("IntVal")
+    public Integer getIntVal() {
+        return IntVal;
+    }
+
+    /**
+     *
+     * @param IntVal
+     *     The IntVal
+     */
+    @JsonProperty("IntVal")
+    public void setIntVal(Integer IntVal) {
+        this.IntVal = IntVal;
+    }
+
+    /**
+     *
+     * @return
+     *     The Kind
+     */
+    @JsonProperty("Kind")
+    public Integer getKind() {
+        return Kind;
+    }
+
+    /**
+     *
+     * @param Kind
+     *     The Kind
+     */
+    @JsonProperty("Kind")
+    public void setKind(Integer Kind) {
+        this.Kind = Kind;
+    }
+
+    /**
+     *
+     * @return
+     *     The StrVal
+     */
+    @JsonProperty("StrVal")
+    public String getStrVal() {
+        return StrVal;
+    }
+
+    /**
+     *
+     * @param StrVal
+     *     The StrVal
+     */
+    @JsonProperty("StrVal")
+    public void setStrVal(String StrVal) {
+        this.StrVal = StrVal;
+    }
+
+    @Override
+    public String toString() {
+        return ToStringBuilder.reflectionToString(this);
+    }
+
+    @Override
+    public int hashCode() {
+        return HashCodeBuilder.reflectionHashCode(this);
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        return EqualsBuilder.reflectionEquals(this, other);
+    }
+
+    @JsonAnyGetter
+    public Map<String, Object> getAdditionalProperties() {
+        return this.additionalProperties;
+    }
+
+    @JsonAnySetter
+    public void setAdditionalProperty(String name, Object value) {
+        this.additionalProperties.put(name, value);
+    }
+
+    public static class Serializer extends JsonSerializer<IntOrString> {
+
+        @Override
+        public void serialize(IntOrString value, JsonGenerator jgen, 
SerializerProvider provider) throws IOException, JsonProcessingException {
+            if (value != null) {
+                Integer intValue = value.getIntVal();
+                if (intValue != null) {
+                    jgen.writeNumber(intValue);
+                } else {
+                    String stringValue = value.getStrVal();
+                    if (stringValue != null) {
+                        jgen.writeString(stringValue);
+                    } else {
+                        jgen.writeNull();
+                    }
+                }
+            } else {
+                jgen.writeNull();
+            }
+        }
+
+    }
+
+    public static class Deserializer extends JsonDeserializer<IntOrString> {
+
+        @Override
+        public IntOrString deserialize(JsonParser jsonParser, 
DeserializationContext ctxt) throws IOException, JsonProcessingException {
+            ObjectCodec oc = jsonParser.getCodec();
+            JsonNode node = oc.readTree(jsonParser);
+            IntOrString intOrString = new IntOrString();
+            int asInt = node.asInt();
+            if (asInt != 0) {
+                intOrString.setIntVal(asInt);
+            } else {
+                intOrString.setStrVal(node.asText());
+            }
+            return intOrString;
+        }
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/HasMetadataComparator.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/HasMetadataComparator.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/HasMetadataComparator.java
new file mode 100644
index 0000000..84469f5
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/HasMetadataComparator.java
@@ -0,0 +1,30 @@
+package io.fabric8.kubernetes.internal;
+
+import io.fabric8.kubernetes.api.model.HasMetadata;
+import io.fabric8.kubernetes.api.model.Service;
+
+import java.util.Comparator;
+
+public class HasMetadataComparator implements Comparator<HasMetadata> {
+    @Override
+    public int compare(HasMetadata a, HasMetadata b) {
+        if (a == null || b == null) {
+            throw new NullPointerException("Cannot compare null HasMetadata 
objects");
+        }
+        if (a == b) {
+            return 0;
+        }
+
+        if (a instanceof Service && !(b instanceof Service)) {
+            return -1;
+        }
+        if (b instanceof Service && !(a instanceof Service)) {
+            return 1;
+        }
+        int classCompare = 
a.getClass().getSimpleName().compareTo(b.getClass().getSimpleName());
+        if (classCompare != 0) {
+            return classCompare;
+        }
+        return a.getMetadata().getName().compareTo(b.getMetadata().getName());
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/HasMetadataSet.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/HasMetadataSet.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/HasMetadataSet.java
new file mode 100644
index 0000000..a6795c3
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/HasMetadataSet.java
@@ -0,0 +1,25 @@
+package io.fabric8.kubernetes.internal;
+
+import io.fabric8.kubernetes.api.model.HasMetadata;
+
+import java.util.Collection;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+public class HasMetadataSet extends TreeSet<HasMetadata> {
+
+    public HasMetadataSet() {
+        super(new HasMetadataComparator());
+    }
+
+    public HasMetadataSet(Collection<? extends HasMetadata> c) {
+        super(new HasMetadataComparator());
+        addAll(c);
+    }
+
+    public HasMetadataSet(SortedSet<HasMetadata> s) {
+        super(new HasMetadataComparator());
+        addAll(s);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/KubernetesDeserializer.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/KubernetesDeserializer.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/KubernetesDeserializer.java
new file mode 100644
index 0000000..bac84ee
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/kubernetes/internal/KubernetesDeserializer.java
@@ -0,0 +1,33 @@
+package io.fabric8.kubernetes.internal;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import io.fabric8.kubernetes.api.model.KubernetesKind;
+import io.fabric8.kubernetes.api.model.KubernetesResource;
+
+import java.io.IOException;
+
+public class KubernetesDeserializer extends 
JsonDeserializer<KubernetesResource> {
+
+    private static final String KIND = "kind";
+
+    @Override
+    public KubernetesResource deserialize(JsonParser jp, 
DeserializationContext ctxt) throws IOException, JsonProcessingException {
+        ObjectNode node = jp.readValueAsTree();
+        JsonNode kind = node.get(KIND);
+        if (kind != null) {
+            String value = kind.textValue();
+            Class<? extends KubernetesResource> resourceType = 
KubernetesKind.getTypeForName(value);
+            if (resourceType == null) {
+                throw ctxt.mappingException("No resource type found for kind:" 
+ value);
+            } else {
+                return jp.getCodec().treeToValue(node, resourceType);
+            }
+        }
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/openshift/api/model/template/Template.java
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/openshift/api/model/template/Template.java
 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/openshift/api/model/template/Template.java
new file mode 100644
index 0000000..08163ee
--- /dev/null
+++ 
b/dependencies/fabric8/kubernetes-model/src/main/java/io/fabric8/openshift/api/model/template/Template.java
@@ -0,0 +1,306 @@
+
+package io.fabric8.openshift.api.model.template;
+
+import com.fasterxml.jackson.annotation.*;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import io.fabric8.kubernetes.api.model.*;
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+import javax.annotation.Generated;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.*;
+
+
+/**
+ *
+ *
+ */
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+    "apiVersion",
+    "kind",
+    "labels",
+    "metadata",
+    "objects",
+    "parameters"
+})
+@JsonDeserialize(using = JsonDeserializer.None.class)
+public class Template implements HasMetadata {
+
+    /**
+     *
+     * (Required)
+     *
+     */
+    @JsonProperty("apiVersion")
+    @NotNull
+    private Template.ApiVersion apiVersion = 
Template.ApiVersion.fromValue("v1beta3");
+    /**
+     *
+     * (Required)
+     *
+     */
+    @JsonProperty("kind")
+    @NotNull
+    private java.lang.String kind = "Template";
+    /**
+     *
+     *
+     */
+    @JsonProperty("labels")
+    @Valid
+    private Map<String, String> labels;
+    /**
+     *
+     *
+     */
+    @JsonProperty("metadata")
+    @Valid
+    private ObjectMeta metadata;
+    /**
+     *
+     *
+     */
+    @JsonProperty("objects")
+    @Valid
+    private List<HasMetadata> objects = new ArrayList<HasMetadata>();
+    /**
+     *
+     *
+     */
+    @JsonProperty("parameters")
+    @Valid
+    private List<Parameter> parameters = new ArrayList<Parameter>();
+    @JsonIgnore
+    private Map<java.lang.String, java.lang.Object> additionalProperties = new 
HashMap<java.lang.String, java.lang.Object>();
+
+
+    /**
+     * No args constructor for use in serialization
+     *
+     */
+    public Template() {
+    }
+
+    /**
+     *
+     * @param apiVersion
+     * @param labels
+     * @param parameters
+     * @param objects
+     * @param kind
+     * @param metadata
+     */
+    public Template(Template.ApiVersion apiVersion, java.lang.String kind, 
Map<String, String> labels, ObjectMeta metadata, List<HasMetadata> objects, 
List<Parameter> parameters) {
+        this.apiVersion = apiVersion;
+        this.kind = kind;
+        this.labels = labels;
+        this.metadata = metadata;
+        this.objects = objects;
+        this.parameters = parameters;
+
+        this.setObjects(objects);
+    }
+
+    /**
+     *
+     * (Required)
+     *
+     * @return
+     *     The apiVersion
+     */
+    @JsonProperty("apiVersion")
+    public Template.ApiVersion getApiVersion() {
+        return apiVersion;
+    }
+
+    /**
+     *
+     * (Required)
+     *
+     * @param apiVersion
+     *     The apiVersion
+     */
+    @JsonProperty("apiVersion")
+    public void setApiVersion(Template.ApiVersion apiVersion) {
+        this.apiVersion = apiVersion;
+    }
+
+    /**
+     *
+     * (Required)
+     *
+     * @return
+     *     The kind
+     */
+    @JsonProperty("kind")
+    public java.lang.String getKind() {
+        return kind;
+    }
+
+    /**
+     *
+     * (Required)
+     *
+     * @param kind
+     *     The kind
+     */
+    @JsonProperty("kind")
+    public void setKind(java.lang.String kind) {
+        this.kind = kind;
+    }
+
+    /**
+     *
+     *
+     * @return
+     *     The labels
+     */
+    @JsonProperty("labels")
+    public Map<String, String> getLabels() {
+        return labels;
+    }
+
+    /**
+     *
+     *
+     * @param labels
+     *     The labels
+     */
+    @JsonProperty("labels")
+    public void setLabels(Map<String, String> labels) {
+        this.labels = labels;
+    }
+
+    /**
+     *
+     *
+     * @return
+     *     The metadata
+     */
+    @JsonProperty("metadata")
+    public ObjectMeta getMetadata() {
+        return metadata;
+    }
+
+    /**
+     *
+     *
+     * @param metadata
+     *     The metadata
+     */
+    @JsonProperty("metadata")
+    public void setMetadata(ObjectMeta metadata) {
+        this.metadata = metadata;
+    }
+
+    /**
+     *
+     *
+     * @return
+     *     The objects
+     */
+    @JsonProperty("objects")
+    public List<HasMetadata> getObjects() {
+        return objects;
+    }
+
+    public void setObjects(List<HasMetadata> objects) {
+        this.objects = objects;
+    }
+
+    /**
+     *
+     *
+     * @return
+     *     The parameters
+     */
+    @JsonProperty("parameters")
+    public List<Parameter> getParameters() {
+        return parameters;
+    }
+
+    /**
+     *
+     *
+     * @param parameters
+     *     The parameters
+     */
+    @JsonProperty("parameters")
+    public void setParameters(List<Parameter> parameters) {
+        this.parameters = parameters;
+    }
+
+    @Override
+    public java.lang.String toString() {
+        return ToStringBuilder.reflectionToString(this);
+    }
+
+    @JsonAnyGetter
+    public Map<java.lang.String, java.lang.Object> getAdditionalProperties() {
+        return this.additionalProperties;
+    }
+
+    @JsonAnySetter
+    public void setAdditionalProperty(java.lang.String name, java.lang.Object 
value) {
+        this.additionalProperties.put(name, value);
+    }
+
+    @Override
+    public int hashCode() {
+        return new 
HashCodeBuilder().append(apiVersion).append(kind).append(labels).append(metadata).append(objects).append(parameters).append(additionalProperties).toHashCode();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object other) {
+        if (other == this) {
+            return true;
+        }
+        if ((other instanceof Template) == false) {
+            return false;
+        }
+        Template rhs = ((Template) other);
+        return new EqualsBuilder().append(apiVersion, 
rhs.apiVersion).append(kind, rhs.kind).append(labels, 
rhs.labels).append(metadata, rhs.metadata).append(objects, 
rhs.objects).append(parameters, rhs.parameters).append(additionalProperties, 
rhs.additionalProperties).isEquals();
+    }
+
+    @Generated("org.jsonschema2pojo")
+    public static enum ApiVersion {
+
+        V_1_BETA_3("v1beta3"),
+        V_1("v1");
+        private final java.lang.String value;
+        private static Map<java.lang.String, Template.ApiVersion> constants = 
new HashMap<java.lang.String, Template.ApiVersion>();
+
+        static {
+            for (Template.ApiVersion c: values()) {
+                constants.put(c.value, c);
+            }
+        }
+
+        private ApiVersion(java.lang.String value) {
+            this.value = value;
+        }
+
+        @JsonValue
+        @Override
+        public java.lang.String toString() {
+            return this.value;
+        }
+
+        @JsonCreator
+        public static Template.ApiVersion fromValue(java.lang.String value) {
+            Template.ApiVersion constant = constants.get(value);
+            if (constant == null) {
+                throw new IllegalArgumentException(value);
+            } else {
+                return constant;
+            }
+        }
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/3414e7ce/dependencies/fabric8/kubernetes-model/src/main/resources/log4j.properties
----------------------------------------------------------------------
diff --git 
a/dependencies/fabric8/kubernetes-model/src/main/resources/log4j.properties 
b/dependencies/fabric8/kubernetes-model/src/main/resources/log4j.properties
new file mode 100644
index 0000000..393e087
--- /dev/null
+++ b/dependencies/fabric8/kubernetes-model/src/main/resources/log4j.properties
@@ -0,0 +1,8 @@
+# Root logger option
+log4j.rootLogger=INFO, stdout
+
+# Direct log messages to stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p 
%c{1}:%L - %m%n
\ No newline at end of file

Reply via email to