You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/06/15 14:43:08 UTC
[03/12] stratos git commit: Migrating Kubernetes API client to Fabric8
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