diff --git a/CHANGELOG.md b/CHANGELOG.md index 2228b4fc6e9..2a77bcda3db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ Bugs * Fix #1271: Issue deploying ReplicaSet to extensions/v1beta1 + * Fix #1152: Renamed Kubernetes RBAC resources to use non-prefixed names and renamed Openshift RBAC resources to prefix with Openshift Improvements diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/RbacAPIGroupClient.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/RbacAPIGroupClient.java index a8c25aefbdd..f6adebcb0c9 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/RbacAPIGroupClient.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/RbacAPIGroupClient.java @@ -19,10 +19,14 @@ import io.fabric8.kubernetes.client.dsl.MixedOperation; import io.fabric8.kubernetes.client.dsl.RbacAPIGroupDSL; import io.fabric8.kubernetes.client.dsl.Resource; -import io.fabric8.kubernetes.client.dsl.internal.KubernetesClusterRoleBindingOperationsImpl; -import io.fabric8.kubernetes.client.dsl.internal.KubernetesClusterRoleOperationsImpl; -import io.fabric8.kubernetes.client.dsl.internal.KubernetesRoleOperationsImpl; -import io.fabric8.kubernetes.client.dsl.internal.KubernetesRoleBindingOperationsImpl; +import io.fabric8.kubernetes.client.dsl.internal.ClusterRoleBindingOperationsImpl; +import io.fabric8.kubernetes.client.dsl.internal.ClusterRoleOperationsImpl; +import io.fabric8.kubernetes.client.dsl.internal.RoleBindingOperationsImpl; +import io.fabric8.kubernetes.client.dsl.internal.RoleOperationsImpl; +import io.fabric8.kubernetes.api.model.rbac.DoneableRole; +import io.fabric8.kubernetes.api.model.rbac.DoneableRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.DoneableClusterRole; +import io.fabric8.kubernetes.api.model.rbac.DoneableClusterRoleBinding; import okhttp3.OkHttpClient; public class RbacAPIGroupClient extends BaseClient implements RbacAPIGroupDSL { @@ -36,22 +40,22 @@ public RbacAPIGroupClient(OkHttpClient httpClient, final Config config) throws K } @Override - public MixedOperation> kubernetesRoles() { - return new KubernetesRoleOperationsImpl(httpClient, getConfiguration(), getNamespace()); + public MixedOperation> roles() { + return new RoleOperationsImpl(httpClient, getConfiguration(), getNamespace()); } @Override - public MixedOperation> kubernetesRoleBindings() { - return new KubernetesRoleBindingOperationsImpl(httpClient, getConfiguration(), getNamespace()); + public MixedOperation> roleBindings() { + return new RoleBindingOperationsImpl(httpClient, getConfiguration(), getNamespace()); } @Override - public MixedOperation> kubernetesClusterRoles() { - return new KubernetesClusterRoleOperationsImpl(httpClient, getConfiguration()); + public MixedOperation> clusterRoles() { + return new ClusterRoleOperationsImpl(httpClient, getConfiguration()); } @Override - public MixedOperation> kubernetesClusterRoleBindings() { - return new KubernetesClusterRoleBindingOperationsImpl(httpClient, getConfiguration()); + public MixedOperation> clusterRoleBindings() { + return new ClusterRoleBindingOperationsImpl(httpClient, getConfiguration()); } } diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/RbacAPIGroupDSL.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/RbacAPIGroupDSL.java index cd630fc3017..5a39c5b3e26 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/RbacAPIGroupDSL.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/RbacAPIGroupDSL.java @@ -15,28 +15,28 @@ */ package io.fabric8.kubernetes.client.dsl; -import io.fabric8.kubernetes.api.model.rbac.DoneableKubernetesClusterRole; -import io.fabric8.kubernetes.api.model.rbac.DoneableKubernetesClusterRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingList; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleList; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleList; -import io.fabric8.kubernetes.api.model.rbac.DoneableKubernetesRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingList; -import io.fabric8.kubernetes.api.model.rbac.DoneableKubernetesRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.DoneableClusterRole; +import io.fabric8.kubernetes.api.model.rbac.DoneableClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRole; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleList; +import io.fabric8.kubernetes.api.model.rbac.Role; +import io.fabric8.kubernetes.api.model.rbac.RoleList; +import io.fabric8.kubernetes.api.model.rbac.DoneableRole; +import io.fabric8.kubernetes.api.model.rbac.RoleBinding; +import io.fabric8.kubernetes.api.model.rbac.RoleBindingList; +import io.fabric8.kubernetes.api.model.rbac.DoneableRoleBinding; import io.fabric8.kubernetes.client.Client; public interface RbacAPIGroupDSL extends Client{ - MixedOperation> kubernetesRoles(); + MixedOperation> roles(); - MixedOperation> kubernetesRoleBindings(); + MixedOperation> roleBindings(); - MixedOperation> kubernetesClusterRoles(); + MixedOperation> clusterRoles(); - MixedOperation> kubernetesClusterRoleBindings(); + MixedOperation> clusterRoleBindings(); } diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesClusterRoleBindingOperationsImpl.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/ClusterRoleBindingOperationsImpl.java similarity index 58% rename from kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesClusterRoleBindingOperationsImpl.java rename to kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/ClusterRoleBindingOperationsImpl.java index 83dedbc070a..b7cec2b9f90 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesClusterRoleBindingOperationsImpl.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/ClusterRoleBindingOperationsImpl.java @@ -18,21 +18,21 @@ import java.util.Map; import java.util.TreeMap; -import io.fabric8.kubernetes.api.model.rbac.DoneableKubernetesClusterRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingList; +import io.fabric8.kubernetes.api.model.rbac.DoneableClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.dsl.Resource; import io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation; import okhttp3.OkHttpClient; -public class KubernetesClusterRoleBindingOperationsImpl extends HasMetadataOperation> { +public class ClusterRoleBindingOperationsImpl extends HasMetadataOperation> { - public KubernetesClusterRoleBindingOperationsImpl(OkHttpClient client, Config config) { + public ClusterRoleBindingOperationsImpl(OkHttpClient client, Config config) { this(client, config, "v1", null, null, true, null, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()); } - public KubernetesClusterRoleBindingOperationsImpl(OkHttpClient client, Config config, String apiVersion, String namespace, String name, Boolean cascading, KubernetesClusterRoleBinding item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { + public ClusterRoleBindingOperationsImpl(OkHttpClient client, Config config, String apiVersion, String namespace, String name, Boolean cascading, ClusterRoleBinding item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { super(client, config, "rbac.authorization.k8s.io", apiVersion, "clusterrolebindings", namespace, name, cascading, item, resourceVersion, reloadingFromServer, gracePeriodSeconds, labels, labelsNot, labelsIn, labelsNotIn, fields); } diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesClusterRoleOperationsImpl.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/ClusterRoleOperationsImpl.java similarity index 60% rename from kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesClusterRoleOperationsImpl.java rename to kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/ClusterRoleOperationsImpl.java index 6550daebb9a..e982b137486 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesClusterRoleOperationsImpl.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/ClusterRoleOperationsImpl.java @@ -18,21 +18,21 @@ import java.util.Map; import java.util.TreeMap; -import io.fabric8.kubernetes.api.model.rbac.DoneableKubernetesClusterRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleList; +import io.fabric8.kubernetes.api.model.rbac.DoneableClusterRole; +import io.fabric8.kubernetes.api.model.rbac.ClusterRole; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleList; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.dsl.Resource; import io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation; import okhttp3.OkHttpClient; -public class KubernetesClusterRoleOperationsImpl extends HasMetadataOperation> { +public class ClusterRoleOperationsImpl extends HasMetadataOperation> { - public KubernetesClusterRoleOperationsImpl(OkHttpClient client, Config config) { + public ClusterRoleOperationsImpl(OkHttpClient client, Config config) { this(client, config, "v1", null, null, true, null, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()); } - public KubernetesClusterRoleOperationsImpl(OkHttpClient client, Config config, String apiVersion, String namespace, String name, Boolean cascading, KubernetesClusterRole item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { + public ClusterRoleOperationsImpl(OkHttpClient client, Config config, String apiVersion, String namespace, String name, Boolean cascading, ClusterRole item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { super(client, config, "rbac.authorization.k8s.io", apiVersion, "clusterroles", namespace, name, cascading, item, resourceVersion, reloadingFromServer, gracePeriodSeconds, labels, labelsNot, labelsIn, labelsNotIn, fields); } diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesRoleBindingOperationsImpl.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/RoleBindingOperationsImpl.java similarity index 59% rename from kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesRoleBindingOperationsImpl.java rename to kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/RoleBindingOperationsImpl.java index de98ba6498a..90524bead50 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesRoleBindingOperationsImpl.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/RoleBindingOperationsImpl.java @@ -15,9 +15,9 @@ */ package io.fabric8.kubernetes.client.dsl.internal; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingList; -import io.fabric8.kubernetes.api.model.rbac.DoneableKubernetesRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.RoleBinding; +import io.fabric8.kubernetes.api.model.rbac.RoleBindingList; +import io.fabric8.kubernetes.api.model.rbac.DoneableRoleBinding; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.dsl.Resource; import io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation; @@ -26,13 +26,13 @@ import java.util.Map; import java.util.TreeMap; -public class KubernetesRoleBindingOperationsImpl extends HasMetadataOperation> { +public class RoleBindingOperationsImpl extends HasMetadataOperation> { -public KubernetesRoleBindingOperationsImpl(OkHttpClient client, Config config, String namespace) { +public RoleBindingOperationsImpl(OkHttpClient client, Config config, String namespace) { this(client, config, "v1", namespace, null, true, null, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()); } -public KubernetesRoleBindingOperationsImpl(OkHttpClient client, Config config, String apiVersion, String namespace, String name, Boolean cascading, KubernetesRoleBinding item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { +public RoleBindingOperationsImpl(OkHttpClient client, Config config, String apiVersion, String namespace, String name, Boolean cascading, RoleBinding item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { super(client, config, "rbac.authorization.k8s.io", apiVersion, "rolebindings", namespace, name, cascading, item, resourceVersion, reloadingFromServer, gracePeriodSeconds, labels, labelsNot, labelsIn, labelsNotIn, fields); } } diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesRoleOperationsImpl.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/RoleOperationsImpl.java similarity index 61% rename from kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesRoleOperationsImpl.java rename to kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/RoleOperationsImpl.java index a2146d273e7..5be78a0b682 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/KubernetesRoleOperationsImpl.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/RoleOperationsImpl.java @@ -15,9 +15,9 @@ */ package io.fabric8.kubernetes.client.dsl.internal; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleList; -import io.fabric8.kubernetes.api.model.rbac.DoneableKubernetesRole; +import io.fabric8.kubernetes.api.model.rbac.Role; +import io.fabric8.kubernetes.api.model.rbac.RoleList; +import io.fabric8.kubernetes.api.model.rbac.DoneableRole; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.dsl.Resource; import io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation; @@ -26,13 +26,13 @@ import java.util.Map; import java.util.TreeMap; -public class KubernetesRoleOperationsImpl extends HasMetadataOperation> { +public class RoleOperationsImpl extends HasMetadataOperation> { - public KubernetesRoleOperationsImpl(OkHttpClient client, Config config, String namespace) { + public RoleOperationsImpl(OkHttpClient client, Config config, String namespace) { this(client, config, "v1", namespace, null, true, null, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()); } - public KubernetesRoleOperationsImpl(OkHttpClient client, Config config, String apiVersion, String namespace, String name, Boolean cascading, KubernetesRole item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { + public RoleOperationsImpl(OkHttpClient client, Config config, String apiVersion, String namespace, String name, Boolean cascading, Role item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { super(client, config, "rbac.authorization.k8s.io", apiVersion, "roles", namespace, name, cascading, item, resourceVersion, reloadingFromServer, gracePeriodSeconds, labels, labelsNot, labelsIn, labelsNotIn, fields); } } diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/ClusterRoleBindingHandler.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/ClusterRoleBindingHandler.java new file mode 100644 index 00000000000..97b1f291f85 --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/ClusterRoleBindingHandler.java @@ -0,0 +1,86 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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.client.handlers; + +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; + +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingBuilder; +import io.fabric8.kubernetes.client.Config; +import io.fabric8.kubernetes.client.ResourceHandler; +import io.fabric8.kubernetes.client.Watch; +import io.fabric8.kubernetes.client.Watcher; +import io.fabric8.kubernetes.client.dsl.internal.ClusterRoleBindingOperationsImpl; +import java.util.function.Predicate; +import okhttp3.OkHttpClient; +import org.apache.felix.scr.annotations.Component; +import org.apache.felix.scr.annotations.Service; + +@Component +@Service +public class ClusterRoleBindingHandler implements ResourceHandler { + + @Override + public String getKind() { + return ClusterRoleBinding.class.getSimpleName(); + } + + @Override + public ClusterRoleBinding create(OkHttpClient client, Config config, String namespace, ClusterRoleBinding item) { + return new ClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); + } + + @Override + public ClusterRoleBinding replace(OkHttpClient client, Config config, String namespace, ClusterRoleBinding item) { + return new ClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); + } + + @Override + public ClusterRoleBinding reload(OkHttpClient client, Config config, String namespace, ClusterRoleBinding item) { + return new ClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); + } + + @Override + public ClusterRoleBindingBuilder edit(ClusterRoleBinding item) { + return new ClusterRoleBindingBuilder(item); + } + + @Override + public Boolean delete(OkHttpClient client, Config config, String namespace, ClusterRoleBinding item) { + return new ClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, ClusterRoleBinding item, Watcher watcher) { + return new ClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, ClusterRoleBinding item, String resourceVersion, Watcher watcher) { + return new ClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); + } + + @Override + public ClusterRoleBinding waitUntilReady(OkHttpClient client, Config config, String namespace, ClusterRoleBinding item, long amount, TimeUnit timeUnit) throws InterruptedException { + return new ClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); + } + + @Override + public ClusterRoleBinding waitUntilCondition(OkHttpClient client, Config config, String namespace, ClusterRoleBinding item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { + return new ClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); + } +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/ClusterRoleHandler.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/ClusterRoleHandler.java new file mode 100644 index 00000000000..81cc136545d --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/ClusterRoleHandler.java @@ -0,0 +1,86 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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.client.handlers; + +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; + +import io.fabric8.kubernetes.api.model.rbac.ClusterRole; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBuilder; +import io.fabric8.kubernetes.client.Config; +import io.fabric8.kubernetes.client.ResourceHandler; +import io.fabric8.kubernetes.client.Watch; +import io.fabric8.kubernetes.client.Watcher; +import io.fabric8.kubernetes.client.dsl.internal.ClusterRoleOperationsImpl; +import java.util.function.Predicate; +import okhttp3.OkHttpClient; +import org.apache.felix.scr.annotations.Component; +import org.apache.felix.scr.annotations.Service; + +@Component +@Service +public class ClusterRoleHandler implements ResourceHandler { + + @Override + public String getKind() { + return ClusterRole.class.getSimpleName(); + } + + @Override + public ClusterRole create(OkHttpClient client, Config config, String namespace, ClusterRole item) { + return new ClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); + } + + @Override + public ClusterRole replace(OkHttpClient client, Config config, String namespace, ClusterRole item) { + return new ClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); + } + + @Override + public ClusterRole reload(OkHttpClient client, Config config, String namespace, ClusterRole item) { + return new ClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); + } + + @Override + public ClusterRoleBuilder edit(ClusterRole item) { + return new ClusterRoleBuilder(item); + } + + @Override + public Boolean delete(OkHttpClient client, Config config, String namespace, ClusterRole item) { + return new ClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, ClusterRole item, Watcher watcher) { + return new ClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, ClusterRole item, String resourceVersion, Watcher watcher) { + return new ClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); + } + + @Override + public ClusterRole waitUntilReady(OkHttpClient client, Config config, String namespace, ClusterRole item, long amount, TimeUnit timeUnit) throws InterruptedException { + return new ClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); + } + + @Override + public ClusterRole waitUntilCondition(OkHttpClient client, Config config, String namespace, ClusterRole item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { + return new ClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); + } +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesClusterRoleBindingHandler.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesClusterRoleBindingHandler.java deleted file mode 100644 index 3c6162567bd..00000000000 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesClusterRoleBindingHandler.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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.client.handlers; - -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingBuilder; -import io.fabric8.kubernetes.client.Config; -import io.fabric8.kubernetes.client.ResourceHandler; -import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; -import io.fabric8.kubernetes.client.dsl.internal.KubernetesClusterRoleBindingOperationsImpl; -import java.util.function.Predicate; -import okhttp3.OkHttpClient; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; - -@Component -@Service -public class KubernetesClusterRoleBindingHandler implements ResourceHandler { - - @Override - public String getKind() { - return KubernetesClusterRoleBinding.class.getSimpleName(); - } - - @Override - public KubernetesClusterRoleBinding create(OkHttpClient client, Config config, String namespace, KubernetesClusterRoleBinding item) { - return new KubernetesClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); - } - - @Override - public KubernetesClusterRoleBinding replace(OkHttpClient client, Config config, String namespace, KubernetesClusterRoleBinding item) { - return new KubernetesClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); - } - - @Override - public KubernetesClusterRoleBinding reload(OkHttpClient client, Config config, String namespace, KubernetesClusterRoleBinding item) { - return new KubernetesClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); - } - - @Override - public KubernetesClusterRoleBindingBuilder edit(KubernetesClusterRoleBinding item) { - return new KubernetesClusterRoleBindingBuilder(item); - } - - @Override - public Boolean delete(OkHttpClient client, Config config, String namespace, KubernetesClusterRoleBinding item) { - return new KubernetesClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, KubernetesClusterRoleBinding item, Watcher watcher) { - return new KubernetesClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, KubernetesClusterRoleBinding item, String resourceVersion, Watcher watcher) { - return new KubernetesClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); - } - - @Override - public KubernetesClusterRoleBinding waitUntilReady(OkHttpClient client, Config config, String namespace, KubernetesClusterRoleBinding item, long amount, TimeUnit timeUnit) throws InterruptedException { - return new KubernetesClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); - } - - @Override - public KubernetesClusterRoleBinding waitUntilCondition(OkHttpClient client, Config config, String namespace, KubernetesClusterRoleBinding item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { - return new KubernetesClusterRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); - } -} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesClusterRoleHandler.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesClusterRoleHandler.java deleted file mode 100644 index 198154d964d..00000000000 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesClusterRoleHandler.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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.client.handlers; - -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBuilder; -import io.fabric8.kubernetes.client.Config; -import io.fabric8.kubernetes.client.ResourceHandler; -import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; -import io.fabric8.kubernetes.client.dsl.internal.KubernetesClusterRoleOperationsImpl; -import java.util.function.Predicate; -import okhttp3.OkHttpClient; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; - -@Component -@Service -public class KubernetesClusterRoleHandler implements ResourceHandler { - - @Override - public String getKind() { - return KubernetesClusterRole.class.getSimpleName(); - } - - @Override - public KubernetesClusterRole create(OkHttpClient client, Config config, String namespace, KubernetesClusterRole item) { - return new KubernetesClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); - } - - @Override - public KubernetesClusterRole replace(OkHttpClient client, Config config, String namespace, KubernetesClusterRole item) { - return new KubernetesClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); - } - - @Override - public KubernetesClusterRole reload(OkHttpClient client, Config config, String namespace, KubernetesClusterRole item) { - return new KubernetesClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); - } - - @Override - public KubernetesClusterRoleBuilder edit(KubernetesClusterRole item) { - return new KubernetesClusterRoleBuilder(item); - } - - @Override - public Boolean delete(OkHttpClient client, Config config, String namespace, KubernetesClusterRole item) { - return new KubernetesClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, KubernetesClusterRole item, Watcher watcher) { - return new KubernetesClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, KubernetesClusterRole item, String resourceVersion, Watcher watcher) { - return new KubernetesClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); - } - - @Override - public KubernetesClusterRole waitUntilReady(OkHttpClient client, Config config, String namespace, KubernetesClusterRole item, long amount, TimeUnit timeUnit) throws InterruptedException { - return new KubernetesClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); - } - - @Override - public KubernetesClusterRole waitUntilCondition(OkHttpClient client, Config config, String namespace, KubernetesClusterRole item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { - return new KubernetesClusterRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); - } -} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesRoleBindingHandler.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesRoleBindingHandler.java deleted file mode 100644 index 0f5b751c412..00000000000 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesRoleBindingHandler.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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.client.handlers; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingBuilder; -import io.fabric8.kubernetes.client.Config; -import io.fabric8.kubernetes.client.ResourceHandler; -import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; -import io.fabric8.kubernetes.client.dsl.internal.KubernetesRoleBindingOperationsImpl; -import java.util.function.Predicate; -import okhttp3.OkHttpClient; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; - -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; - -@Component -@Service -public class KubernetesRoleBindingHandler implements ResourceHandler { - - @Override - public String getKind() { - return KubernetesRoleBinding.class.getSimpleName(); - } - - @Override - public KubernetesRoleBinding create(OkHttpClient client, Config config, String namespace, KubernetesRoleBinding item) { - return new KubernetesRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); - } - - @Override - public KubernetesRoleBinding replace(OkHttpClient client, Config config, String namespace, KubernetesRoleBinding item) { - return new KubernetesRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); - } - - @Override - public KubernetesRoleBinding reload(OkHttpClient client, Config config, String namespace, KubernetesRoleBinding item) { - return new KubernetesRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); - } - - @Override - public KubernetesRoleBindingBuilder edit(KubernetesRoleBinding item) { - return new KubernetesRoleBindingBuilder(item); - } - - @Override - public Boolean delete(OkHttpClient client, Config config, String namespace, KubernetesRoleBinding item) { - return new KubernetesRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, KubernetesRoleBinding item, Watcher watcher) { - return new KubernetesRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, KubernetesRoleBinding item, String resourceVersion, Watcher watcher) { - return new KubernetesRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); - } - - @Override - public KubernetesRoleBinding waitUntilReady(OkHttpClient client, Config config, String namespace, KubernetesRoleBinding item, long amount, TimeUnit timeUnit) throws InterruptedException { - return new KubernetesRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); - } - - @Override - public KubernetesRoleBinding waitUntilCondition(OkHttpClient client, Config config, String namespace, KubernetesRoleBinding item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { - return new KubernetesRoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); - } -} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesRoleHandler.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesRoleHandler.java deleted file mode 100644 index e918ee107f3..00000000000 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/KubernetesRoleHandler.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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.client.handlers; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBuilder; -import io.fabric8.kubernetes.client.Config; -import io.fabric8.kubernetes.client.ResourceHandler; -import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; -import io.fabric8.kubernetes.client.dsl.internal.KubernetesRoleOperationsImpl; -import java.util.function.Predicate; -import okhttp3.OkHttpClient; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; - -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; - -@Component -@Service -public class KubernetesRoleHandler implements ResourceHandler { - - @Override - public String getKind() { - return KubernetesRole.class.getSimpleName(); - } - - @Override - public KubernetesRole create(OkHttpClient client, Config config, String namespace, KubernetesRole item) { - return new KubernetesRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); - } - - @Override - public KubernetesRole replace(OkHttpClient client, Config config, String namespace, KubernetesRole item) { - return new KubernetesRoleOperationsImpl(client, config, null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); - } - - @Override - public KubernetesRole reload(OkHttpClient client, Config config, String namespace, KubernetesRole item) { - return new KubernetesRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); - } - - @Override - public KubernetesRoleBuilder edit(KubernetesRole item) { - return new KubernetesRoleBuilder(item); - } - - @Override - public Boolean delete(OkHttpClient client, Config config, String namespace, KubernetesRole item) { - return new KubernetesRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, KubernetesRole item, Watcher watcher) { - return new KubernetesRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, KubernetesRole item, String resourceVersion, Watcher watcher) { - return new KubernetesRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); - } - - @Override - public KubernetesRole waitUntilReady(OkHttpClient client, Config config, String namespace, KubernetesRole item, long amount, TimeUnit timeUnit) throws InterruptedException { - return new KubernetesRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); - } - - @Override - public KubernetesRole waitUntilCondition(OkHttpClient client, Config config, String namespace, KubernetesRole item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { - return new KubernetesRoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); - } -} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/RoleBindingHandler.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/RoleBindingHandler.java new file mode 100644 index 00000000000..1ba59ce1011 --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/RoleBindingHandler.java @@ -0,0 +1,86 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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.client.handlers; + +import io.fabric8.kubernetes.api.model.rbac.RoleBinding; +import io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder; +import io.fabric8.kubernetes.client.Config; +import io.fabric8.kubernetes.client.ResourceHandler; +import io.fabric8.kubernetes.client.Watch; +import io.fabric8.kubernetes.client.Watcher; +import io.fabric8.kubernetes.client.dsl.internal.RoleBindingOperationsImpl; +import java.util.function.Predicate; +import okhttp3.OkHttpClient; +import org.apache.felix.scr.annotations.Component; +import org.apache.felix.scr.annotations.Service; + +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; + +@Component +@Service +public class RoleBindingHandler implements ResourceHandler { + + @Override + public String getKind() { + return RoleBinding.class.getSimpleName(); + } + + @Override + public RoleBinding create(OkHttpClient client, Config config, String namespace, RoleBinding item) { + return new RoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); + } + + @Override + public RoleBinding replace(OkHttpClient client, Config config, String namespace, RoleBinding item) { + return new RoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); + } + + @Override + public RoleBinding reload(OkHttpClient client, Config config, String namespace, RoleBinding item) { + return new RoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); + } + + @Override + public RoleBindingBuilder edit(RoleBinding item) { + return new RoleBindingBuilder(item); + } + + @Override + public Boolean delete(OkHttpClient client, Config config, String namespace, RoleBinding item) { + return new RoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, RoleBinding item, Watcher watcher) { + return new RoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, RoleBinding item, String resourceVersion, Watcher watcher) { + return new RoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); + } + + @Override + public RoleBinding waitUntilReady(OkHttpClient client, Config config, String namespace, RoleBinding item, long amount, TimeUnit timeUnit) throws InterruptedException { + return new RoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); + } + + @Override + public RoleBinding waitUntilCondition(OkHttpClient client, Config config, String namespace, RoleBinding item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { + return new RoleBindingOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); + } +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/RoleHandler.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/RoleHandler.java new file mode 100644 index 00000000000..ace4101971f --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/handlers/RoleHandler.java @@ -0,0 +1,86 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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.client.handlers; + +import io.fabric8.kubernetes.api.model.rbac.Role; +import io.fabric8.kubernetes.api.model.rbac.RoleBuilder; +import io.fabric8.kubernetes.client.Config; +import io.fabric8.kubernetes.client.ResourceHandler; +import io.fabric8.kubernetes.client.Watch; +import io.fabric8.kubernetes.client.Watcher; +import io.fabric8.kubernetes.client.dsl.internal.RoleOperationsImpl; +import java.util.function.Predicate; +import okhttp3.OkHttpClient; +import org.apache.felix.scr.annotations.Component; +import org.apache.felix.scr.annotations.Service; + +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; + +@Component +@Service +public class RoleHandler implements ResourceHandler { + + @Override + public String getKind() { + return Role.class.getSimpleName(); + } + + @Override + public Role create(OkHttpClient client, Config config, String namespace, Role item) { + return new RoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); + } + + @Override + public Role replace(OkHttpClient client, Config config, String namespace, Role item) { + return new RoleOperationsImpl(client, config, null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); + } + + @Override + public Role reload(OkHttpClient client, Config config, String namespace, Role item) { + return new RoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); + } + + @Override + public RoleBuilder edit(Role item) { + return new RoleBuilder(item); + } + + @Override + public Boolean delete(OkHttpClient client, Config config, String namespace, Role item) { + return new RoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, Role item, Watcher watcher) { + return new RoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, Role item, String resourceVersion, Watcher watcher) { + return new RoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); + } + + @Override + public Role waitUntilReady(OkHttpClient client, Config config, String namespace, Role item, long amount, TimeUnit timeUnit) throws InterruptedException { + return new RoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); + } + + @Override + public Role waitUntilCondition(OkHttpClient client, Config config, String namespace, Role item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { + return new RoleOperationsImpl(client, config, null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); + } +} diff --git a/kubernetes-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ResourceHandler b/kubernetes-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ResourceHandler index 1c0f4e70f73..7a071147210 100644 --- a/kubernetes-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ResourceHandler +++ b/kubernetes-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ResourceHandler @@ -14,19 +14,17 @@ # limitations under the License. # +io.fabric8.kubernetes.client.handlers.ClusterRoleBindingHandler +io.fabric8.kubernetes.client.handlers.ClusterRoleHandler io.fabric8.kubernetes.client.handlers.ConfigMapHandler -io.fabric8.kubernetes.client.handlers.CustomResourceDefinitionHandler io.fabric8.kubernetes.client.handlers.CronJobHandler +io.fabric8.kubernetes.client.handlers.CustomResourceDefinitionHandler io.fabric8.kubernetes.client.handlers.DaemonSetHandler io.fabric8.kubernetes.client.handlers.DeploymentHandler io.fabric8.kubernetes.client.handlers.EndpointsHandler io.fabric8.kubernetes.client.handlers.EventHandler io.fabric8.kubernetes.client.handlers.HorizontalPodAutoscalerHandler io.fabric8.kubernetes.client.handlers.IngressHandler -io.fabric8.kubernetes.client.handlers.KubernetesClusterRoleBindingHandler -io.fabric8.kubernetes.client.handlers.KubernetesClusterRoleHandler -io.fabric8.kubernetes.client.handlers.KubernetesRoleBindingHandler -io.fabric8.kubernetes.client.handlers.KubernetesRoleHandler io.fabric8.kubernetes.client.handlers.JobHandler io.fabric8.kubernetes.client.handlers.LimitRangeHandler io.fabric8.kubernetes.client.handlers.NamespaceHandler @@ -39,6 +37,8 @@ io.fabric8.kubernetes.client.handlers.PodSecurityPolicyHandler io.fabric8.kubernetes.client.handlers.ReplicaSetHandler io.fabric8.kubernetes.client.handlers.ReplicationControllerHandler io.fabric8.kubernetes.client.handlers.ResourceQuotaHandler +io.fabric8.kubernetes.client.handlers.RoleBindingHandler +io.fabric8.kubernetes.client.handlers.RoleHandler io.fabric8.kubernetes.client.handlers.SecretHandler io.fabric8.kubernetes.client.handlers.ServiceAccountHandler io.fabric8.kubernetes.client.handlers.ServiceHandler diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/ClusterRoleBindingIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/ClusterRoleBindingIT.java new file mode 100644 index 00000000000..a13831a967c --- /dev/null +++ b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/ClusterRoleBindingIT.java @@ -0,0 +1,194 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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; + +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList; + +import io.fabric8.kubernetes.api.model.rbac.RoleRefBuilder; +import io.fabric8.kubernetes.api.model.rbac.SubjectBuilder; +import io.fabric8.kubernetes.client.KubernetesClient; +import org.arquillian.cube.kubernetes.api.Session; +import org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes; +import org.arquillian.cube.requirement.ArquillianConditionalRunner; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeFalse; + +@RunWith(ArquillianConditionalRunner.class) +@RequiresKubernetes +public class ClusterRoleBindingIT { + + @ArquillianResource + KubernetesClient client; + + @ArquillianResource + Session session; + + private ClusterRoleBinding clusterRoleBinding; + + @Before + public void init() { + + // Do not run tests on opeshift 3.6.0 and 3.6.1 + assumeFalse(client.getVersion().getMajor().equalsIgnoreCase("1") + && client.getVersion().getMinor().startsWith("6")); + + clusterRoleBinding = new ClusterRoleBindingBuilder() + .withNewMetadata() + .withName("read-nodes") + .endMetadata() + .addToSubjects(0, new SubjectBuilder() + .withApiGroup("rbac.authorization.k8s.io") + .withKind("User") + .withName("jane") + .withNamespace("default") + .build() + ) + .withRoleRef(new RoleRefBuilder() + .withApiGroup("rbac.authorization.k8s.io") + .withKind("ClusterRole") + .withName("node-reader") + .build() + ) + .build(); + + client.rbac().clusterRoleBindings().createOrReplace(clusterRoleBinding); + } + + @Test + public void get() { + + clusterRoleBinding = client.rbac().clusterRoleBindings().withName("read-nodes").get(); + + assertNotNull(clusterRoleBinding); + assertEquals("ClusterRoleBinding", clusterRoleBinding.getKind()); + assertNotNull(clusterRoleBinding.getMetadata()); + assertEquals("read-nodes", clusterRoleBinding.getMetadata().getName()); + assertNotNull(clusterRoleBinding.getSubjects()); + assertEquals(1, clusterRoleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", clusterRoleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", clusterRoleBinding.getSubjects().get(0).getKind()); + assertEquals("jane", clusterRoleBinding.getSubjects().get(0).getName()); + assertEquals("default", clusterRoleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(clusterRoleBinding.getRoleRef()); + assertEquals("ClusterRole", clusterRoleBinding.getRoleRef().getKind()); + assertEquals("node-reader", clusterRoleBinding.getRoleRef().getName()); + assertEquals("rbac.authorization.k8s.io", clusterRoleBinding.getRoleRef().getApiGroup()); + } + + @Test + public void load() { + + ClusterRoleBinding aClusterRoleBinding = client.rbac().clusterRoleBindings() + .load(getClass().getResourceAsStream("/test-kubernetesclusterrolebinding.yml")).get(); + assertNotNull(aClusterRoleBinding); + assertEquals("ClusterRoleBinding", aClusterRoleBinding.getKind()); + assertNotNull(aClusterRoleBinding.getMetadata()); + assertEquals("read-nodes", aClusterRoleBinding.getMetadata().getName()); + assertNotNull(aClusterRoleBinding.getSubjects()); + assertEquals(1, aClusterRoleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", aClusterRoleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", aClusterRoleBinding.getSubjects().get(0).getKind()); + assertEquals("jane", aClusterRoleBinding.getSubjects().get(0).getName()); + assertEquals("default", aClusterRoleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(aClusterRoleBinding.getRoleRef()); + assertEquals("ClusterRole", aClusterRoleBinding.getRoleRef().getKind()); + assertEquals("node-reader", aClusterRoleBinding.getRoleRef().getName()); + assertEquals("rbac.authorization.k8s.io", aClusterRoleBinding.getRoleRef().getApiGroup()); + } + + @Test + public void list() { + + ClusterRoleBindingList clusterRoleBindingList = client.rbac().clusterRoleBindings().list(); + boolean found = false; + + assertNotNull(clusterRoleBindingList); + assertNotNull(clusterRoleBindingList.getItems()); + + for (ClusterRoleBinding clusterRoleBinding : clusterRoleBindingList.getItems()) { + if (clusterRoleBinding.getMetadata().getName().equals("read-nodes")) { + assertEquals("ClusterRoleBinding", clusterRoleBinding.getKind()); + assertNotNull(clusterRoleBinding.getMetadata()); + assertEquals("read-nodes", clusterRoleBinding.getMetadata().getName()); + assertNotNull(clusterRoleBinding.getSubjects()); + assertEquals(1, clusterRoleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", clusterRoleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", clusterRoleBinding.getSubjects().get(0).getKind()); + assertEquals("jane", clusterRoleBinding.getSubjects().get(0).getName()); + assertEquals("default", clusterRoleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(clusterRoleBinding.getRoleRef()); + assertEquals("ClusterRole", clusterRoleBinding.getRoleRef().getKind()); + assertEquals("node-reader", clusterRoleBinding.getRoleRef().getName()); + + found = true; + } + } + + assertEquals(true, found); + + } + + @Test + public void update() { + + clusterRoleBinding = client.rbac().clusterRoleBindings().withName("read-nodes").edit() + .editSubject(0).withName("jane-new").endSubject().done(); + + assertNotNull(clusterRoleBinding); + assertEquals("ClusterRoleBinding", clusterRoleBinding.getKind()); + assertNotNull(clusterRoleBinding.getMetadata()); + assertEquals("read-nodes", clusterRoleBinding.getMetadata().getName()); + assertNotNull(clusterRoleBinding.getSubjects()); + assertEquals(1, clusterRoleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", clusterRoleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", clusterRoleBinding.getSubjects().get(0).getKind()); + assertEquals("jane-new", clusterRoleBinding.getSubjects().get(0).getName()); + assertEquals("default", clusterRoleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(clusterRoleBinding.getRoleRef()); + assertEquals("ClusterRole", clusterRoleBinding.getRoleRef().getKind()); + assertEquals("node-reader", clusterRoleBinding.getRoleRef().getName()); + assertEquals("rbac.authorization.k8s.io", clusterRoleBinding.getRoleRef().getApiGroup()); + } + + @Test + public void delete() { + + ClusterRoleBindingList clusterRoleBindingListBefore = client.rbac().clusterRoleBindings().list(); + + boolean deleted = client.rbac().clusterRoleBindings().withName("read-nodes").delete(); + + assertTrue(deleted); + ClusterRoleBindingList clusterRoleBindingListAfter = client.rbac().clusterRoleBindings().list(); + assertEquals(clusterRoleBindingListBefore.getItems().size()-1,clusterRoleBindingListAfter.getItems().size()); + + } + + @After + public void cleanup() { + client.rbac().clusterRoleBindings().withName("read-nodes").delete(); + } + +} diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/ClusterRoleIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/ClusterRoleIT.java new file mode 100644 index 00000000000..3b47b37d838 --- /dev/null +++ b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/ClusterRoleIT.java @@ -0,0 +1,216 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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; + +import java.util.concurrent.CountDownLatch; + +import io.fabric8.kubernetes.api.model.rbac.ClusterRole; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleList; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBuilder; +import io.fabric8.kubernetes.api.model.rbac.PolicyRuleBuilder; +import io.fabric8.kubernetes.client.KubernetesClient; +import org.arquillian.cube.kubernetes.api.Session; +import org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes; +import org.arquillian.cube.requirement.ArquillianConditionalRunner; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.junit.runner.RunWith; +import org.junit.Before; +import org.junit.Test; +import org.junit.After; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeFalse; + +@RunWith(ArquillianConditionalRunner.class) +@RequiresKubernetes +public class ClusterRoleIT { + + @ArquillianResource + KubernetesClient client; + + @ArquillianResource + Session session; + + private ClusterRole clusterRole; + + @Before + public void init() { + // Do not run tests on opeshift 3.6.0 and 3.6.1 + assumeFalse(client.getVersion().getMajor().equalsIgnoreCase("1") + && client.getVersion().getMinor().startsWith("6")); + + ClusterRole kubernetesclusterRole = new ClusterRoleBuilder() + .withNewMetadata() + .withName("node-reader") + .endMetadata() + .addToRules(0, new PolicyRuleBuilder() + .addToApiGroups(0,"") + .addToResourceNames(0,"my-node") + .addToResources(0,"nodes") + .addToVerbs(0, "get") + .addToVerbs(1, "watch") + .addToVerbs(2, "list") + .build() + ) + .build(); + + client.rbac().clusterRoles().createOrReplace(kubernetesclusterRole); + } + + @Test + public void get() { + + clusterRole = client.rbac().clusterRoles().withName("node-reader").get(); + + assertNotNull(clusterRole); + assertEquals("ClusterRole", clusterRole.getKind()); + assertNotNull(clusterRole.getMetadata()); + assertEquals("node-reader", clusterRole.getMetadata().getName()); + assertNotNull(clusterRole.getRules()); + assertEquals(1, clusterRole.getRules().size()); + assertNotNull(clusterRole.getRules().get(0).getApiGroups()); + assertEquals(1, clusterRole.getRules().get(0).getApiGroups().size()); + assertEquals("", clusterRole.getRules().get(0).getApiGroups().get(0)); + assertNotNull(clusterRole.getRules().get(0).getResourceNames()); + assertEquals(1, clusterRole.getRules().get(0).getResourceNames().size()); + assertEquals("my-node", clusterRole.getRules().get(0).getResourceNames().get(0)); + assertNotNull(clusterRole.getRules().get(0).getResources()); + assertEquals(1, clusterRole.getRules().get(0).getResources().size()); + assertEquals("nodes", clusterRole.getRules().get(0).getResources().get(0)); + assertNotNull(clusterRole.getRules().get(0).getVerbs()); + assertEquals(3, clusterRole.getRules().get(0).getVerbs().size()); + assertEquals("get", clusterRole.getRules().get(0).getVerbs().get(0)); + assertEquals("watch", clusterRole.getRules().get(0).getVerbs().get(1)); + assertEquals("list", clusterRole.getRules().get(0).getVerbs().get(2)); + } + + @Test + public void load() { + + ClusterRole aClusterRole = client.rbac().clusterRoles() + .load(getClass().getResourceAsStream("/test-kubernetesclusterrole.yml")).get(); + + assertNotNull(aClusterRole); + assertEquals("ClusterRole", aClusterRole.getKind()); + assertNotNull(aClusterRole.getMetadata()); + assertEquals("node-reader", aClusterRole.getMetadata().getName()); + assertNotNull(aClusterRole.getRules()); + assertEquals(1, aClusterRole.getRules().size()); + assertNotNull(aClusterRole.getRules().get(0).getApiGroups()); + assertEquals(1, aClusterRole.getRules().get(0).getApiGroups().size()); + assertEquals("", aClusterRole.getRules().get(0).getApiGroups().get(0)); + assertNotNull(aClusterRole.getRules().get(0).getNonResourceURLs()); + assertEquals(1, aClusterRole.getRules().get(0).getNonResourceURLs().size()); + assertEquals("/healthz", aClusterRole.getRules().get(0).getNonResourceURLs().get(0)); + assertNotNull(aClusterRole.getRules().get(0).getResourceNames()); + assertEquals(1, aClusterRole.getRules().get(0).getResourceNames().size()); + assertEquals("my-node", aClusterRole.getRules().get(0).getResourceNames().get(0)); + assertNotNull(aClusterRole.getRules().get(0).getResources()); + assertEquals(1, aClusterRole.getRules().get(0).getResources().size()); + assertEquals("nodes", aClusterRole.getRules().get(0).getResources().get(0)); + assertNotNull(aClusterRole.getRules().get(0).getVerbs()); + assertEquals(3, aClusterRole.getRules().get(0).getVerbs().size()); + assertEquals("get", aClusterRole.getRules().get(0).getVerbs().get(0)); + assertEquals("watch", aClusterRole.getRules().get(0).getVerbs().get(1)); + assertEquals("list", aClusterRole.getRules().get(0).getVerbs().get(2)); + } + + @Test + public void list() { + + ClusterRoleList clusterRoleList = client.rbac().clusterRoles().list(); + boolean found = false; + + assertNotNull(clusterRoleList); + assertNotNull(clusterRoleList.getItems()); + + for (ClusterRole clusterRole : clusterRoleList.getItems()) { + if (clusterRole.getMetadata().getName().equals("node-reader")) { + assertEquals("ClusterRole", clusterRole.getKind()); + assertNotNull(clusterRole.getMetadata()); + assertEquals("node-reader", clusterRole.getMetadata().getName()); + assertNotNull(clusterRole.getRules()); + assertEquals(1, clusterRole.getRules().size()); + assertNotNull(clusterRole.getRules().get(0).getApiGroups()); + assertEquals(1, clusterRole.getRules().get(0).getApiGroups().size()); + assertEquals("", clusterRole.getRules().get(0).getApiGroups().get(0)); + assertNotNull(clusterRole.getRules().get(0).getResourceNames()); + assertEquals(1, clusterRole.getRules().get(0).getResourceNames().size()); + assertEquals("my-node", clusterRole.getRules().get(0).getResourceNames().get(0)); + assertNotNull(clusterRole.getRules().get(0).getResources()); + assertEquals(1, clusterRole.getRules().get(0).getResources().size()); + assertEquals("nodes", clusterRole.getRules().get(0).getResources().get(0)); + assertNotNull(clusterRole.getRules().get(0).getVerbs()); + assertEquals(3, clusterRole.getRules().get(0).getVerbs().size()); + assertEquals("get", clusterRole.getRules().get(0).getVerbs().get(0)); + assertEquals("watch", clusterRole.getRules().get(0).getVerbs().get(1)); + assertEquals("list", clusterRole.getRules().get(0).getVerbs().get(2)); + found = true; + } + } + + assertEquals(true, found); + } + + @Test + public void update() { + + clusterRole = client.rbac().clusterRoles().withName("node-reader").edit() + .editRule(0).addToApiGroups(1, "extensions").endRule().done(); + + assertNotNull(clusterRole); + assertEquals("ClusterRole", clusterRole.getKind()); + assertNotNull(clusterRole.getMetadata()); + assertEquals("node-reader", clusterRole.getMetadata().getName()); + assertNotNull(clusterRole.getRules()); + assertEquals(1, clusterRole.getRules().size()); + assertNotNull(clusterRole.getRules().get(0).getApiGroups()); + assertEquals(2, clusterRole.getRules().get(0).getApiGroups().size()); + assertEquals("", clusterRole.getRules().get(0).getApiGroups().get(0)); + assertEquals("extensions", clusterRole.getRules().get(0).getApiGroups().get(1)); + assertNotNull(clusterRole.getRules().get(0).getResourceNames()); + assertEquals(1, clusterRole.getRules().get(0).getResourceNames().size()); + assertEquals("my-node", clusterRole.getRules().get(0).getResourceNames().get(0)); + assertNotNull(clusterRole.getRules().get(0).getResources()); + assertEquals(1, clusterRole.getRules().get(0).getResources().size()); + assertEquals("nodes", clusterRole.getRules().get(0).getResources().get(0)); + assertNotNull(clusterRole.getRules().get(0).getVerbs()); + assertEquals(3, clusterRole.getRules().get(0).getVerbs().size()); + assertEquals("get", clusterRole.getRules().get(0).getVerbs().get(0)); + assertEquals("watch", clusterRole.getRules().get(0).getVerbs().get(1)); + assertEquals("list", clusterRole.getRules().get(0).getVerbs().get(2)); + } + + @Test + public void delete() { + + ClusterRoleList clusterRoleListBefore = client.rbac().clusterRoles().list(); + + boolean deleted = client.rbac().clusterRoles().withName("node-reader").delete(); + + assertTrue(deleted); + ClusterRoleList clusterRoleListAfter = client.rbac().clusterRoles().list(); + assertEquals(clusterRoleListBefore.getItems().size()-1,clusterRoleListAfter.getItems().size()); + } + + @After + public void cleanup() { + client.rbac().clusterRoles().withName("node-reader").delete(); + } + +} diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesClusterRoleBindingIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesClusterRoleBindingIT.java deleted file mode 100644 index d7b543837be..00000000000 --- a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesClusterRoleBindingIT.java +++ /dev/null @@ -1,194 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingList; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRefBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesSubjectBuilder; -import io.fabric8.kubernetes.client.KubernetesClient; -import org.arquillian.cube.kubernetes.api.Session; -import org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes; -import org.arquillian.cube.requirement.ArquillianConditionalRunner; -import org.jboss.arquillian.test.api.ArquillianResource; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assume.assumeFalse; - -@RunWith(ArquillianConditionalRunner.class) -@RequiresKubernetes -public class KubernetesClusterRoleBindingIT { - - @ArquillianResource - KubernetesClient client; - - @ArquillianResource - Session session; - - private KubernetesClusterRoleBinding kubernetesClusterRoleBinding; - - @Before - public void init() { - - // Do not run tests on opeshift 3.6.0 and 3.6.1 - assumeFalse(client.getVersion().getMajor().equalsIgnoreCase("1") - && client.getVersion().getMinor().startsWith("6")); - - kubernetesClusterRoleBinding = new KubernetesClusterRoleBindingBuilder() - .withNewMetadata() - .withName("read-nodes") - .endMetadata() - .addToSubjects(0, new KubernetesSubjectBuilder() - .withApiGroup("rbac.authorization.k8s.io") - .withKind("User") - .withName("jane") - .withNamespace("default") - .build() - ) - .withRoleRef(new KubernetesRoleRefBuilder() - .withApiGroup("rbac.authorization.k8s.io") - .withKind("ClusterRole") - .withName("node-reader") - .build() - ) - .build(); - - client.rbac().kubernetesClusterRoleBindings().createOrReplace(kubernetesClusterRoleBinding); - } - - @Test - public void get() { - - kubernetesClusterRoleBinding = client.rbac().kubernetesClusterRoleBindings().withName("read-nodes").get(); - - assertNotNull(kubernetesClusterRoleBinding); - assertEquals("ClusterRoleBinding", kubernetesClusterRoleBinding.getKind()); - assertNotNull(kubernetesClusterRoleBinding.getMetadata()); - assertEquals("read-nodes", kubernetesClusterRoleBinding.getMetadata().getName()); - assertNotNull(kubernetesClusterRoleBinding.getSubjects()); - assertEquals(1, kubernetesClusterRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", kubernetesClusterRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", kubernetesClusterRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane", kubernetesClusterRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", kubernetesClusterRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(kubernetesClusterRoleBinding.getRoleRef()); - assertEquals("ClusterRole", kubernetesClusterRoleBinding.getRoleRef().getKind()); - assertEquals("node-reader", kubernetesClusterRoleBinding.getRoleRef().getName()); - assertEquals("rbac.authorization.k8s.io", kubernetesClusterRoleBinding.getRoleRef().getApiGroup()); - } - - @Test - public void load() { - - KubernetesClusterRoleBinding aKubernetesClusterRoleBinding = client.rbac().kubernetesClusterRoleBindings() - .load(getClass().getResourceAsStream("/test-kubernetesclusterrolebinding.yml")).get(); - assertNotNull(aKubernetesClusterRoleBinding); - assertEquals("ClusterRoleBinding", aKubernetesClusterRoleBinding.getKind()); - assertNotNull(aKubernetesClusterRoleBinding.getMetadata()); - assertEquals("read-nodes", aKubernetesClusterRoleBinding.getMetadata().getName()); - assertNotNull(aKubernetesClusterRoleBinding.getSubjects()); - assertEquals(1, aKubernetesClusterRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", aKubernetesClusterRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", aKubernetesClusterRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane", aKubernetesClusterRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", aKubernetesClusterRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(aKubernetesClusterRoleBinding.getRoleRef()); - assertEquals("ClusterRole", aKubernetesClusterRoleBinding.getRoleRef().getKind()); - assertEquals("node-reader", aKubernetesClusterRoleBinding.getRoleRef().getName()); - assertEquals("rbac.authorization.k8s.io", aKubernetesClusterRoleBinding.getRoleRef().getApiGroup()); - } - - @Test - public void list() { - - KubernetesClusterRoleBindingList kubernetesClusterRoleBindingList = client.rbac().kubernetesClusterRoleBindings().list(); - boolean found = false; - - assertNotNull(kubernetesClusterRoleBindingList); - assertNotNull(kubernetesClusterRoleBindingList.getItems()); - - for (KubernetesClusterRoleBinding kubernetesClusterRoleBinding : kubernetesClusterRoleBindingList.getItems()) { - if (kubernetesClusterRoleBinding.getMetadata().getName().equals("read-nodes")) { - assertEquals("ClusterRoleBinding", kubernetesClusterRoleBinding.getKind()); - assertNotNull(kubernetesClusterRoleBinding.getMetadata()); - assertEquals("read-nodes", kubernetesClusterRoleBinding.getMetadata().getName()); - assertNotNull(kubernetesClusterRoleBinding.getSubjects()); - assertEquals(1, kubernetesClusterRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", kubernetesClusterRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", kubernetesClusterRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane", kubernetesClusterRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", kubernetesClusterRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(kubernetesClusterRoleBinding.getRoleRef()); - assertEquals("ClusterRole", kubernetesClusterRoleBinding.getRoleRef().getKind()); - assertEquals("node-reader", kubernetesClusterRoleBinding.getRoleRef().getName()); - - found = true; - } - } - - assertEquals(true, found); - - } - - @Test - public void update() { - - kubernetesClusterRoleBinding = client.rbac().kubernetesClusterRoleBindings().withName("read-nodes").edit() - .editSubject(0).withName("jane-new").endSubject().done(); - - assertNotNull(kubernetesClusterRoleBinding); - assertEquals("ClusterRoleBinding", kubernetesClusterRoleBinding.getKind()); - assertNotNull(kubernetesClusterRoleBinding.getMetadata()); - assertEquals("read-nodes", kubernetesClusterRoleBinding.getMetadata().getName()); - assertNotNull(kubernetesClusterRoleBinding.getSubjects()); - assertEquals(1, kubernetesClusterRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", kubernetesClusterRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", kubernetesClusterRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane-new", kubernetesClusterRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", kubernetesClusterRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(kubernetesClusterRoleBinding.getRoleRef()); - assertEquals("ClusterRole", kubernetesClusterRoleBinding.getRoleRef().getKind()); - assertEquals("node-reader", kubernetesClusterRoleBinding.getRoleRef().getName()); - assertEquals("rbac.authorization.k8s.io", kubernetesClusterRoleBinding.getRoleRef().getApiGroup()); - } - - @Test - public void delete() { - - KubernetesClusterRoleBindingList kubernetesClusterRoleBindingListBefore = client.rbac().kubernetesClusterRoleBindings().list(); - - boolean deleted = client.rbac().kubernetesClusterRoleBindings().withName("read-nodes").delete(); - - assertTrue(deleted); - KubernetesClusterRoleBindingList kubernetesClusterRoleBindingListAfter = client.rbac().kubernetesClusterRoleBindings().list(); - assertEquals(kubernetesClusterRoleBindingListBefore.getItems().size()-1,kubernetesClusterRoleBindingListAfter.getItems().size()); - - } - - @After - public void cleanup() { - client.rbac().kubernetesClusterRoleBindings().withName("read-nodes").delete(); - } - -} diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesClusterRoleIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesClusterRoleIT.java deleted file mode 100644 index 64094494eb0..00000000000 --- a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesClusterRoleIT.java +++ /dev/null @@ -1,216 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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; - -import java.util.concurrent.CountDownLatch; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleList; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRuleBuilder; -import io.fabric8.kubernetes.client.KubernetesClient; -import org.arquillian.cube.kubernetes.api.Session; -import org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes; -import org.arquillian.cube.requirement.ArquillianConditionalRunner; -import org.jboss.arquillian.test.api.ArquillianResource; -import org.junit.runner.RunWith; -import org.junit.Before; -import org.junit.Test; -import org.junit.After; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assume.assumeFalse; - -@RunWith(ArquillianConditionalRunner.class) -@RequiresKubernetes -public class KubernetesClusterRoleIT { - - @ArquillianResource - KubernetesClient client; - - @ArquillianResource - Session session; - - private KubernetesClusterRole kubernetesClusterRole; - - @Before - public void init() { - // Do not run tests on opeshift 3.6.0 and 3.6.1 - assumeFalse(client.getVersion().getMajor().equalsIgnoreCase("1") - && client.getVersion().getMinor().startsWith("6")); - - KubernetesClusterRole kubernetesclusterRole = new KubernetesClusterRoleBuilder() - .withNewMetadata() - .withName("node-reader") - .endMetadata() - .addToRules(0, new KubernetesPolicyRuleBuilder() - .addToApiGroups(0,"") - .addToResourceNames(0,"my-node") - .addToResources(0,"nodes") - .addToVerbs(0, "get") - .addToVerbs(1, "watch") - .addToVerbs(2, "list") - .build() - ) - .build(); - - client.rbac().kubernetesClusterRoles().createOrReplace(kubernetesclusterRole); - } - - @Test - public void get() { - - kubernetesClusterRole = client.rbac().kubernetesClusterRoles().withName("node-reader").get(); - - assertNotNull(kubernetesClusterRole); - assertEquals("ClusterRole", kubernetesClusterRole.getKind()); - assertNotNull(kubernetesClusterRole.getMetadata()); - assertEquals("node-reader", kubernetesClusterRole.getMetadata().getName()); - assertNotNull(kubernetesClusterRole.getRules()); - assertEquals(1, kubernetesClusterRole.getRules().size()); - assertNotNull(kubernetesClusterRole.getRules().get(0).getApiGroups()); - assertEquals(1, kubernetesClusterRole.getRules().get(0).getApiGroups().size()); - assertEquals("", kubernetesClusterRole.getRules().get(0).getApiGroups().get(0)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getResourceNames()); - assertEquals(1, kubernetesClusterRole.getRules().get(0).getResourceNames().size()); - assertEquals("my-node", kubernetesClusterRole.getRules().get(0).getResourceNames().get(0)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getResources()); - assertEquals(1, kubernetesClusterRole.getRules().get(0).getResources().size()); - assertEquals("nodes", kubernetesClusterRole.getRules().get(0).getResources().get(0)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getVerbs()); - assertEquals(3, kubernetesClusterRole.getRules().get(0).getVerbs().size()); - assertEquals("get", kubernetesClusterRole.getRules().get(0).getVerbs().get(0)); - assertEquals("watch", kubernetesClusterRole.getRules().get(0).getVerbs().get(1)); - assertEquals("list", kubernetesClusterRole.getRules().get(0).getVerbs().get(2)); - } - - @Test - public void load() { - - KubernetesClusterRole aKubernetesClusterRole = client.rbac().kubernetesClusterRoles() - .load(getClass().getResourceAsStream("/test-kubernetesclusterrole.yml")).get(); - - assertNotNull(aKubernetesClusterRole); - assertEquals("ClusterRole", aKubernetesClusterRole.getKind()); - assertNotNull(aKubernetesClusterRole.getMetadata()); - assertEquals("node-reader", aKubernetesClusterRole.getMetadata().getName()); - assertNotNull(aKubernetesClusterRole.getRules()); - assertEquals(1, aKubernetesClusterRole.getRules().size()); - assertNotNull(aKubernetesClusterRole.getRules().get(0).getApiGroups()); - assertEquals(1, aKubernetesClusterRole.getRules().get(0).getApiGroups().size()); - assertEquals("", aKubernetesClusterRole.getRules().get(0).getApiGroups().get(0)); - assertNotNull(aKubernetesClusterRole.getRules().get(0).getNonResourceURLs()); - assertEquals(1, aKubernetesClusterRole.getRules().get(0).getNonResourceURLs().size()); - assertEquals("/healthz", aKubernetesClusterRole.getRules().get(0).getNonResourceURLs().get(0)); - assertNotNull(aKubernetesClusterRole.getRules().get(0).getResourceNames()); - assertEquals(1, aKubernetesClusterRole.getRules().get(0).getResourceNames().size()); - assertEquals("my-node", aKubernetesClusterRole.getRules().get(0).getResourceNames().get(0)); - assertNotNull(aKubernetesClusterRole.getRules().get(0).getResources()); - assertEquals(1, aKubernetesClusterRole.getRules().get(0).getResources().size()); - assertEquals("nodes", aKubernetesClusterRole.getRules().get(0).getResources().get(0)); - assertNotNull(aKubernetesClusterRole.getRules().get(0).getVerbs()); - assertEquals(3, aKubernetesClusterRole.getRules().get(0).getVerbs().size()); - assertEquals("get", aKubernetesClusterRole.getRules().get(0).getVerbs().get(0)); - assertEquals("watch", aKubernetesClusterRole.getRules().get(0).getVerbs().get(1)); - assertEquals("list", aKubernetesClusterRole.getRules().get(0).getVerbs().get(2)); - } - - @Test - public void list() { - - KubernetesClusterRoleList kubernetesClusterRoleList = client.rbac().kubernetesClusterRoles().list(); - boolean found = false; - - assertNotNull(kubernetesClusterRoleList); - assertNotNull(kubernetesClusterRoleList.getItems()); - - for (KubernetesClusterRole kubernetesClusterRole : kubernetesClusterRoleList.getItems()) { - if (kubernetesClusterRole.getMetadata().getName().equals("node-reader")) { - assertEquals("ClusterRole", kubernetesClusterRole.getKind()); - assertNotNull(kubernetesClusterRole.getMetadata()); - assertEquals("node-reader", kubernetesClusterRole.getMetadata().getName()); - assertNotNull(kubernetesClusterRole.getRules()); - assertEquals(1, kubernetesClusterRole.getRules().size()); - assertNotNull(kubernetesClusterRole.getRules().get(0).getApiGroups()); - assertEquals(1, kubernetesClusterRole.getRules().get(0).getApiGroups().size()); - assertEquals("", kubernetesClusterRole.getRules().get(0).getApiGroups().get(0)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getResourceNames()); - assertEquals(1, kubernetesClusterRole.getRules().get(0).getResourceNames().size()); - assertEquals("my-node", kubernetesClusterRole.getRules().get(0).getResourceNames().get(0)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getResources()); - assertEquals(1, kubernetesClusterRole.getRules().get(0).getResources().size()); - assertEquals("nodes", kubernetesClusterRole.getRules().get(0).getResources().get(0)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getVerbs()); - assertEquals(3, kubernetesClusterRole.getRules().get(0).getVerbs().size()); - assertEquals("get", kubernetesClusterRole.getRules().get(0).getVerbs().get(0)); - assertEquals("watch", kubernetesClusterRole.getRules().get(0).getVerbs().get(1)); - assertEquals("list", kubernetesClusterRole.getRules().get(0).getVerbs().get(2)); - found = true; - } - } - - assertEquals(true, found); - } - - @Test - public void update() { - - kubernetesClusterRole = client.rbac().kubernetesClusterRoles().withName("node-reader").edit() - .editRule(0).addToApiGroups(1, "extensions").endRule().done(); - - assertNotNull(kubernetesClusterRole); - assertEquals("ClusterRole", kubernetesClusterRole.getKind()); - assertNotNull(kubernetesClusterRole.getMetadata()); - assertEquals("node-reader", kubernetesClusterRole.getMetadata().getName()); - assertNotNull(kubernetesClusterRole.getRules()); - assertEquals(1, kubernetesClusterRole.getRules().size()); - assertNotNull(kubernetesClusterRole.getRules().get(0).getApiGroups()); - assertEquals(2, kubernetesClusterRole.getRules().get(0).getApiGroups().size()); - assertEquals("", kubernetesClusterRole.getRules().get(0).getApiGroups().get(0)); - assertEquals("extensions", kubernetesClusterRole.getRules().get(0).getApiGroups().get(1)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getResourceNames()); - assertEquals(1, kubernetesClusterRole.getRules().get(0).getResourceNames().size()); - assertEquals("my-node", kubernetesClusterRole.getRules().get(0).getResourceNames().get(0)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getResources()); - assertEquals(1, kubernetesClusterRole.getRules().get(0).getResources().size()); - assertEquals("nodes", kubernetesClusterRole.getRules().get(0).getResources().get(0)); - assertNotNull(kubernetesClusterRole.getRules().get(0).getVerbs()); - assertEquals(3, kubernetesClusterRole.getRules().get(0).getVerbs().size()); - assertEquals("get", kubernetesClusterRole.getRules().get(0).getVerbs().get(0)); - assertEquals("watch", kubernetesClusterRole.getRules().get(0).getVerbs().get(1)); - assertEquals("list", kubernetesClusterRole.getRules().get(0).getVerbs().get(2)); - } - - @Test - public void delete() { - - KubernetesClusterRoleList kubernetesClusterRoleListBefore = client.rbac().kubernetesClusterRoles().list(); - - boolean deleted = client.rbac().kubernetesClusterRoles().withName("node-reader").delete(); - - assertTrue(deleted); - KubernetesClusterRoleList kubernetesClusterRoleListAfter = client.rbac().kubernetesClusterRoles().list(); - assertEquals(kubernetesClusterRoleListBefore.getItems().size()-1,kubernetesClusterRoleListAfter.getItems().size()); - } - - @After - public void cleanup() { - client.rbac().kubernetesClusterRoles().withName("node-reader").delete(); - } - -} diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesRoleBindingIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesRoleBindingIT.java deleted file mode 100644 index d9159af9fb6..00000000000 --- a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesRoleBindingIT.java +++ /dev/null @@ -1,185 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingList; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRefBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesSubjectBuilder; -import io.fabric8.kubernetes.client.KubernetesClient; -import org.arquillian.cube.kubernetes.api.Session; -import org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes; -import org.arquillian.cube.requirement.ArquillianConditionalRunner; -import org.jboss.arquillian.test.api.ArquillianResource; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.util.Collections; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assume.assumeFalse; - -@RunWith(ArquillianConditionalRunner.class) -@RequiresKubernetes -public class KubernetesRoleBindingIT { - - @ArquillianResource - KubernetesClient client; - - @ArquillianResource - Session session; - - private KubernetesRoleBinding kubernetesRoleBinding; - - private String currentNamespace; - - @Before - public void init() { - - currentNamespace = session.getNamespace(); - - kubernetesRoleBinding = new KubernetesRoleBindingBuilder() - .withNewMetadata() - .withName("read-jobs") - .withLabels(Collections.singletonMap("type", "io.fabric8.kubernetesRoleBindingIT")) - .endMetadata() - .addToSubjects(0, new KubernetesSubjectBuilder() - .withApiGroup("rbac.authorization.k8s.io") - .withKind("User") - .withName("jane") - .withNamespace("default") - .build() - ) - .withRoleRef(new KubernetesRoleRefBuilder() - .withApiGroup("rbac.authorization.k8s.io") - .withKind("Role") - .withName("job-reader") - .build() - ) - .build(); - - client.rbac().kubernetesRoleBindings().inNamespace(currentNamespace).createOrReplace(kubernetesRoleBinding); - } - - @Test - public void get() { - - kubernetesRoleBinding = client.rbac().kubernetesRoleBindings().inNamespace(currentNamespace).withName("read-jobs").get(); - - assertNotNull(kubernetesRoleBinding); - assertEquals("RoleBinding", kubernetesRoleBinding.getKind()); - assertNotNull(kubernetesRoleBinding.getMetadata()); - assertEquals("read-jobs", kubernetesRoleBinding.getMetadata().getName()); - assertNotNull(kubernetesRoleBinding.getSubjects()); - assertEquals(1, kubernetesRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", kubernetesRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane", kubernetesRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", kubernetesRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(kubernetesRoleBinding.getRoleRef()); - assertEquals("Role", kubernetesRoleBinding.getRoleRef().getKind()); - assertEquals("job-reader", kubernetesRoleBinding.getRoleRef().getName()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBinding.getRoleRef().getApiGroup()); - } - - @Test - public void load() { - - KubernetesRoleBinding aKubernetesRoleBinding = client.rbac().kubernetesRoleBindings().inNamespace(currentNamespace) - .load(getClass().getResourceAsStream("/test-kubernetesrolebinding.yml")).get(); - assertNotNull(aKubernetesRoleBinding); - assertEquals("RoleBinding", aKubernetesRoleBinding.getKind()); - assertNotNull(aKubernetesRoleBinding.getMetadata()); - assertEquals("read-jobs", aKubernetesRoleBinding.getMetadata().getName()); - assertNotNull(aKubernetesRoleBinding.getSubjects()); - assertEquals(1, aKubernetesRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", aKubernetesRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", aKubernetesRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane", aKubernetesRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", aKubernetesRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(aKubernetesRoleBinding.getRoleRef()); - assertEquals("Role", aKubernetesRoleBinding.getRoleRef().getKind()); - assertEquals("job-reader", aKubernetesRoleBinding.getRoleRef().getName()); - assertEquals("rbac.authorization.k8s.io", aKubernetesRoleBinding.getRoleRef().getApiGroup()); - } - - @Test - public void list() { - - KubernetesRoleBindingList kubernetesRoleBindingList = client.rbac().kubernetesRoleBindings().inNamespace(currentNamespace).withLabels(Collections.singletonMap("type", "io.fabric8.kubernetesRoleBindingIT")).list(); - - assertNotNull(kubernetesRoleBindingList); - assertNotNull(kubernetesRoleBindingList.getItems()); - assertEquals(1, kubernetesRoleBindingList.getItems().size()); - assertNotNull(kubernetesRoleBindingList.getItems().get(0)); - assertEquals("RoleBinding", kubernetesRoleBindingList.getItems().get(0).getKind()); - assertNotNull(kubernetesRoleBindingList.getItems().get(0).getMetadata()); - assertEquals("read-jobs", kubernetesRoleBindingList.getItems().get(0).getMetadata().getName()); - assertNotNull(kubernetesRoleBindingList.getItems().get(0).getSubjects()); - assertEquals(1, kubernetesRoleBindingList.getItems().get(0).getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBindingList.getItems().get(0).getSubjects().get(0).getApiGroup()); - assertEquals("User", kubernetesRoleBindingList.getItems().get(0).getSubjects().get(0).getKind()); - assertEquals("jane", kubernetesRoleBindingList.getItems().get(0).getSubjects().get(0).getName()); - assertEquals("default", kubernetesRoleBindingList.getItems().get(0).getSubjects().get(0).getNamespace()); - assertNotNull(kubernetesRoleBindingList.getItems().get(0).getRoleRef()); - assertEquals("Role", kubernetesRoleBindingList.getItems().get(0).getRoleRef().getKind()); - assertEquals("job-reader", kubernetesRoleBindingList.getItems().get(0).getRoleRef().getName()); - - } - - @Test - public void update() { - - kubernetesRoleBinding = client.rbac().kubernetesRoleBindings().inNamespace(currentNamespace).withName("read-jobs").edit() - .editSubject(0).withName("jane-new").endSubject().done(); - - assertNotNull(kubernetesRoleBinding); - assertEquals("RoleBinding", kubernetesRoleBinding.getKind()); - assertNotNull(kubernetesRoleBinding.getMetadata()); - assertEquals("read-jobs", kubernetesRoleBinding.getMetadata().getName()); - assertNotNull(kubernetesRoleBinding.getSubjects()); - assertEquals(1, kubernetesRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", kubernetesRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane-new", kubernetesRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", kubernetesRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(kubernetesRoleBinding.getRoleRef()); - assertEquals("Role", kubernetesRoleBinding.getRoleRef().getKind()); - assertEquals("job-reader", kubernetesRoleBinding.getRoleRef().getName()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBinding.getRoleRef().getApiGroup()); - } - - @Test - public void delete() { - - boolean deleted = client.rbac().kubernetesRoleBindings().inNamespace(currentNamespace).delete(); - - assertTrue(deleted); - KubernetesRoleBindingList kubernetesRoleBindingList = client.rbac().kubernetesRoleBindings().inNamespace(currentNamespace).list(); - assertEquals(0,kubernetesRoleBindingList.getItems().size()); - } - - @After - public void cleanup() { - client.rbac().kubernetesRoleBindings().inNamespace(currentNamespace).delete(); - } - -} diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesRoleIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesRoleIT.java deleted file mode 100644 index 17d2161c1d9..00000000000 --- a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/KubernetesRoleIT.java +++ /dev/null @@ -1,211 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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; - -import io.fabric8.kubernetes.api.model.rbac.KubernetesRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleList; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRuleBuilder; -import io.fabric8.kubernetes.client.KubernetesClient; -import org.arquillian.cube.kubernetes.api.Session; -import org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes; -import org.arquillian.cube.requirement.ArquillianConditionalRunner; -import org.jboss.arquillian.test.api.ArquillianResource; -import org.junit.runner.RunWith; -import org.junit.Before; -import org.junit.Test; -import org.junit.After; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assume.assumeFalse; - -@RunWith(ArquillianConditionalRunner.class) -@RequiresKubernetes -public class KubernetesRoleIT { - - @ArquillianResource - KubernetesClient client; - - @ArquillianResource - Session session; - - private KubernetesRole kubernetesRole; - - private String currentNamespace; - - @Before - public void init() { - - currentNamespace = session.getNamespace(); - - // Do not run tests on opeshift 3.6.0 and 3.6.1 - assumeFalse(client.getVersion().getMajor().equalsIgnoreCase("1") - && client.getVersion().getMinor().startsWith("6")); - - KubernetesRole kubernetesRole = new KubernetesRoleBuilder() - .withNewMetadata() - .withName("job-reader") - .endMetadata() - .addToRules(0, new KubernetesPolicyRuleBuilder() - .addToApiGroups(0,"batch") - .addToResourceNames(0,"my-job") - .addToResources(0,"jobs") - .addToVerbs(0, "get") - .addToVerbs(1, "watch") - .addToVerbs(2, "list") - .build() - ) - .build(); - - client.rbac().kubernetesRoles().inNamespace(currentNamespace).createOrReplace(kubernetesRole); - } - - @Test - public void get() { - - kubernetesRole = client.rbac().kubernetesRoles().inNamespace(currentNamespace).withName("job-reader").get(); - - assertNotNull(kubernetesRole); - assertEquals("Role", kubernetesRole.getKind()); - assertNotNull(kubernetesRole.getMetadata()); - assertEquals("job-reader", kubernetesRole.getMetadata().getName()); - assertNotNull(kubernetesRole.getRules()); - assertEquals(1, kubernetesRole.getRules().size()); - assertNotNull(kubernetesRole.getRules().get(0).getApiGroups()); - assertEquals(1, kubernetesRole.getRules().get(0).getApiGroups().size()); - assertEquals("batch", kubernetesRole.getRules().get(0).getApiGroups().get(0)); - assertNotNull(kubernetesRole.getRules().get(0).getResourceNames()); - assertEquals(1, kubernetesRole.getRules().get(0).getResourceNames().size()); - assertEquals("my-job", kubernetesRole.getRules().get(0).getResourceNames().get(0)); - assertNotNull(kubernetesRole.getRules().get(0).getResources()); - assertEquals(1, kubernetesRole.getRules().get(0).getResources().size()); - assertEquals("jobs", kubernetesRole.getRules().get(0).getResources().get(0)); - assertNotNull(kubernetesRole.getRules().get(0).getVerbs()); - assertEquals(3, kubernetesRole.getRules().get(0).getVerbs().size()); - assertEquals("get", kubernetesRole.getRules().get(0).getVerbs().get(0)); - assertEquals("watch", kubernetesRole.getRules().get(0).getVerbs().get(1)); - assertEquals("list", kubernetesRole.getRules().get(0).getVerbs().get(2)); - } - - @Test - public void load() { - - KubernetesRole aKubernetesRole = client.rbac().kubernetesRoles().inNamespace(currentNamespace) - .load(getClass().getResourceAsStream("/test-kubernetesrole.yml")).get(); - - assertNotNull(aKubernetesRole); - assertEquals("Role", aKubernetesRole.getKind()); - assertNotNull(aKubernetesRole.getMetadata()); - assertEquals("job-reader", aKubernetesRole.getMetadata().getName()); - assertNotNull(aKubernetesRole.getRules()); - assertEquals(1, aKubernetesRole.getRules().size()); - assertNotNull(aKubernetesRole.getRules().get(0).getApiGroups()); - assertEquals(1, aKubernetesRole.getRules().get(0).getApiGroups().size()); - assertEquals("batch", aKubernetesRole.getRules().get(0).getApiGroups().get(0)); - assertNotNull(aKubernetesRole.getRules().get(0).getNonResourceURLs()); - assertEquals(1, aKubernetesRole.getRules().get(0).getNonResourceURLs().size()); - assertEquals("/healthz", aKubernetesRole.getRules().get(0).getNonResourceURLs().get(0)); - assertNotNull(aKubernetesRole.getRules().get(0).getResourceNames()); - assertEquals(1, aKubernetesRole.getRules().get(0).getResourceNames().size()); - assertEquals("my-job", aKubernetesRole.getRules().get(0).getResourceNames().get(0)); - assertNotNull(aKubernetesRole.getRules().get(0).getResources()); - assertEquals(1, aKubernetesRole.getRules().get(0).getResources().size()); - assertEquals("jobs", aKubernetesRole.getRules().get(0).getResources().get(0)); - assertNotNull(aKubernetesRole.getRules().get(0).getVerbs()); - assertEquals(3, aKubernetesRole.getRules().get(0).getVerbs().size()); - assertEquals("get", aKubernetesRole.getRules().get(0).getVerbs().get(0)); - assertEquals("watch", aKubernetesRole.getRules().get(0).getVerbs().get(1)); - assertEquals("list", aKubernetesRole.getRules().get(0).getVerbs().get(2)); - } - - @Test - public void list() { - - KubernetesRoleList kubernetesRoleList = client.rbac().kubernetesRoles().inNamespace(currentNamespace).list(); - - assertNotNull(kubernetesRoleList); - assertNotNull(kubernetesRoleList.getItems()); - assertEquals(1, kubernetesRoleList.getItems().size()); - assertNotNull(kubernetesRoleList.getItems().get(0)); - assertEquals("Role", kubernetesRoleList.getItems().get(0).getKind()); - assertNotNull(kubernetesRoleList.getItems().get(0).getMetadata()); - assertEquals("job-reader", kubernetesRoleList.getItems().get(0).getMetadata().getName()); - assertNotNull(kubernetesRoleList.getItems().get(0).getRules()); - assertEquals(1, kubernetesRoleList.getItems().get(0).getRules().size()); - assertNotNull(kubernetesRoleList.getItems().get(0).getRules().get(0).getApiGroups()); - assertEquals(1, kubernetesRoleList.getItems().get(0).getRules().get(0).getApiGroups().size()); - assertEquals("batch", kubernetesRoleList.getItems().get(0).getRules().get(0).getApiGroups().get(0)); - assertNotNull(kubernetesRoleList.getItems().get(0).getRules().get(0).getResourceNames()); - assertEquals(1, kubernetesRoleList.getItems().get(0).getRules().get(0).getResourceNames().size()); - assertEquals("my-job", kubernetesRoleList.getItems().get(0).getRules().get(0).getResourceNames().get(0)); - assertNotNull(kubernetesRoleList.getItems().get(0).getRules().get(0).getResources()); - assertEquals(1, kubernetesRoleList.getItems().get(0).getRules().get(0).getResources().size()); - assertEquals("jobs", kubernetesRoleList.getItems().get(0).getRules().get(0).getResources().get(0)); - assertNotNull(kubernetesRoleList.getItems().get(0).getRules().get(0).getVerbs()); - assertEquals(3, kubernetesRoleList.getItems().get(0).getRules().get(0).getVerbs().size()); - assertEquals("get", kubernetesRoleList.getItems().get(0).getRules().get(0).getVerbs().get(0)); - assertEquals("watch", kubernetesRoleList.getItems().get(0).getRules().get(0).getVerbs().get(1)); - assertEquals("list", kubernetesRoleList.getItems().get(0).getRules().get(0).getVerbs().get(2)); - - } - - @Test - public void update() { - - kubernetesRole = client.rbac().kubernetesRoles().inNamespace(currentNamespace).withName("job-reader").edit() - .editRule(0).addToApiGroups(1, "extensions").endRule().done(); - - assertNotNull(kubernetesRole); - assertEquals("Role", kubernetesRole.getKind()); - assertNotNull(kubernetesRole.getMetadata()); - assertEquals("job-reader", kubernetesRole.getMetadata().getName()); - assertNotNull(kubernetesRole.getRules()); - assertEquals(1, kubernetesRole.getRules().size()); - assertNotNull(kubernetesRole.getRules().get(0).getApiGroups()); - assertEquals(2, kubernetesRole.getRules().get(0).getApiGroups().size()); - assertEquals("batch", kubernetesRole.getRules().get(0).getApiGroups().get(0)); - assertEquals("extensions", kubernetesRole.getRules().get(0).getApiGroups().get(1)); - assertNotNull(kubernetesRole.getRules().get(0).getResourceNames()); - assertEquals(1, kubernetesRole.getRules().get(0).getResourceNames().size()); - assertEquals("my-job", kubernetesRole.getRules().get(0).getResourceNames().get(0)); - assertNotNull(kubernetesRole.getRules().get(0).getResources()); - assertEquals(1, kubernetesRole.getRules().get(0).getResources().size()); - assertEquals("jobs", kubernetesRole.getRules().get(0).getResources().get(0)); - assertNotNull(kubernetesRole.getRules().get(0).getVerbs()); - assertEquals(3, kubernetesRole.getRules().get(0).getVerbs().size()); - assertEquals("get", kubernetesRole.getRules().get(0).getVerbs().get(0)); - assertEquals("watch", kubernetesRole.getRules().get(0).getVerbs().get(1)); - assertEquals("list", kubernetesRole.getRules().get(0).getVerbs().get(2)); - } - - @Test - public void delete() { - - boolean deleted = client.rbac().kubernetesRoles().inNamespace(currentNamespace).delete(); - - assertTrue(deleted); - KubernetesRoleList kubernetesRoleList = client.rbac().kubernetesRoles().inNamespace(currentNamespace).list(); - assertEquals(0,kubernetesRoleList.getItems().size()); - } - - @After - public void cleanup() { - client.rbac().kubernetesRoles().inNamespace(currentNamespace).delete(); - } - -} diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/RoleBindingIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/RoleBindingIT.java new file mode 100644 index 00000000000..e4b4a2d73b1 --- /dev/null +++ b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/RoleBindingIT.java @@ -0,0 +1,185 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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; + +import io.fabric8.kubernetes.api.model.rbac.RoleBinding; +import io.fabric8.kubernetes.api.model.rbac.RoleBindingList; +import io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder; +import io.fabric8.kubernetes.api.model.rbac.RoleRefBuilder; +import io.fabric8.kubernetes.api.model.rbac.SubjectBuilder; +import io.fabric8.kubernetes.client.KubernetesClient; +import org.arquillian.cube.kubernetes.api.Session; +import org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes; +import org.arquillian.cube.requirement.ArquillianConditionalRunner; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.Collections; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeFalse; + +@RunWith(ArquillianConditionalRunner.class) +@RequiresKubernetes +public class RoleBindingIT { + + @ArquillianResource + KubernetesClient client; + + @ArquillianResource + Session session; + + private RoleBinding roleBinding; + + private String currentNamespace; + + @Before + public void init() { + + currentNamespace = session.getNamespace(); + + roleBinding = new RoleBindingBuilder() + .withNewMetadata() + .withName("read-jobs") + .withLabels(Collections.singletonMap("type", "io.fabric8.roleBindingIT")) + .endMetadata() + .addToSubjects(0, new SubjectBuilder() + .withApiGroup("rbac.authorization.k8s.io") + .withKind("User") + .withName("jane") + .withNamespace("default") + .build() + ) + .withRoleRef(new RoleRefBuilder() + .withApiGroup("rbac.authorization.k8s.io") + .withKind("Role") + .withName("job-reader") + .build() + ) + .build(); + + client.rbac().roleBindings().inNamespace(currentNamespace).createOrReplace(roleBinding); + } + + @Test + public void get() { + + roleBinding = client.rbac().roleBindings().inNamespace(currentNamespace).withName("read-jobs").get(); + + assertNotNull(roleBinding); + assertEquals("RoleBinding", roleBinding.getKind()); + assertNotNull(roleBinding.getMetadata()); + assertEquals("read-jobs", roleBinding.getMetadata().getName()); + assertNotNull(roleBinding.getSubjects()); + assertEquals(1, roleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", roleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", roleBinding.getSubjects().get(0).getKind()); + assertEquals("jane", roleBinding.getSubjects().get(0).getName()); + assertEquals("default", roleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(roleBinding.getRoleRef()); + assertEquals("Role", roleBinding.getRoleRef().getKind()); + assertEquals("job-reader", roleBinding.getRoleRef().getName()); + assertEquals("rbac.authorization.k8s.io", roleBinding.getRoleRef().getApiGroup()); + } + + @Test + public void load() { + + RoleBinding aRoleBinding = client.rbac().roleBindings().inNamespace(currentNamespace) + .load(getClass().getResourceAsStream("/test-kubernetesrolebinding.yml")).get(); + assertNotNull(aRoleBinding); + assertEquals("RoleBinding", aRoleBinding.getKind()); + assertNotNull(aRoleBinding.getMetadata()); + assertEquals("read-jobs", aRoleBinding.getMetadata().getName()); + assertNotNull(aRoleBinding.getSubjects()); + assertEquals(1, aRoleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", aRoleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", aRoleBinding.getSubjects().get(0).getKind()); + assertEquals("jane", aRoleBinding.getSubjects().get(0).getName()); + assertEquals("default", aRoleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(aRoleBinding.getRoleRef()); + assertEquals("Role", aRoleBinding.getRoleRef().getKind()); + assertEquals("job-reader", aRoleBinding.getRoleRef().getName()); + assertEquals("rbac.authorization.k8s.io", aRoleBinding.getRoleRef().getApiGroup()); + } + + @Test + public void list() { + + RoleBindingList roleBindingList = client.rbac().roleBindings().inNamespace(currentNamespace).withLabels(Collections.singletonMap("type", "io.fabric8.roleBindingIT")).list(); + + assertNotNull(roleBindingList); + assertNotNull(roleBindingList.getItems()); + assertEquals(1, roleBindingList.getItems().size()); + assertNotNull(roleBindingList.getItems().get(0)); + assertEquals("RoleBinding", roleBindingList.getItems().get(0).getKind()); + assertNotNull(roleBindingList.getItems().get(0).getMetadata()); + assertEquals("read-jobs", roleBindingList.getItems().get(0).getMetadata().getName()); + assertNotNull(roleBindingList.getItems().get(0).getSubjects()); + assertEquals(1, roleBindingList.getItems().get(0).getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", roleBindingList.getItems().get(0).getSubjects().get(0).getApiGroup()); + assertEquals("User", roleBindingList.getItems().get(0).getSubjects().get(0).getKind()); + assertEquals("jane", roleBindingList.getItems().get(0).getSubjects().get(0).getName()); + assertEquals("default", roleBindingList.getItems().get(0).getSubjects().get(0).getNamespace()); + assertNotNull(roleBindingList.getItems().get(0).getRoleRef()); + assertEquals("Role", roleBindingList.getItems().get(0).getRoleRef().getKind()); + assertEquals("job-reader", roleBindingList.getItems().get(0).getRoleRef().getName()); + + } + + @Test + public void update() { + + roleBinding = client.rbac().roleBindings().inNamespace(currentNamespace).withName("read-jobs").edit() + .editSubject(0).withName("jane-new").endSubject().done(); + + assertNotNull(roleBinding); + assertEquals("RoleBinding", roleBinding.getKind()); + assertNotNull(roleBinding.getMetadata()); + assertEquals("read-jobs", roleBinding.getMetadata().getName()); + assertNotNull(roleBinding.getSubjects()); + assertEquals(1, roleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", roleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", roleBinding.getSubjects().get(0).getKind()); + assertEquals("jane-new", roleBinding.getSubjects().get(0).getName()); + assertEquals("default", roleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(roleBinding.getRoleRef()); + assertEquals("Role", roleBinding.getRoleRef().getKind()); + assertEquals("job-reader", roleBinding.getRoleRef().getName()); + assertEquals("rbac.authorization.k8s.io", roleBinding.getRoleRef().getApiGroup()); + } + + @Test + public void delete() { + + boolean deleted = client.rbac().roleBindings().inNamespace(currentNamespace).delete(); + + assertTrue(deleted); + RoleBindingList roleBindingList = client.rbac().roleBindings().inNamespace(currentNamespace).list(); + assertEquals(0,roleBindingList.getItems().size()); + } + + @After + public void cleanup() { + client.rbac().roleBindings().inNamespace(currentNamespace).delete(); + } + +} diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/RoleIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/RoleIT.java new file mode 100644 index 00000000000..2c65d8f2e82 --- /dev/null +++ b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/RoleIT.java @@ -0,0 +1,211 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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; + +import io.fabric8.kubernetes.api.model.rbac.Role; +import io.fabric8.kubernetes.api.model.rbac.RoleList; +import io.fabric8.kubernetes.api.model.rbac.RoleBuilder; +import io.fabric8.kubernetes.api.model.rbac.PolicyRuleBuilder; +import io.fabric8.kubernetes.client.KubernetesClient; +import org.arquillian.cube.kubernetes.api.Session; +import org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes; +import org.arquillian.cube.requirement.ArquillianConditionalRunner; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.junit.runner.RunWith; +import org.junit.Before; +import org.junit.Test; +import org.junit.After; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeFalse; + +@RunWith(ArquillianConditionalRunner.class) +@RequiresKubernetes +public class RoleIT { + + @ArquillianResource + KubernetesClient client; + + @ArquillianResource + Session session; + + private Role role; + + private String currentNamespace; + + @Before + public void init() { + + currentNamespace = session.getNamespace(); + + // Do not run tests on opeshift 3.6.0 and 3.6.1 + assumeFalse(client.getVersion().getMajor().equalsIgnoreCase("1") + && client.getVersion().getMinor().startsWith("6")); + + Role role = new RoleBuilder() + .withNewMetadata() + .withName("job-reader") + .endMetadata() + .addToRules(0, new PolicyRuleBuilder() + .addToApiGroups(0,"batch") + .addToResourceNames(0,"my-job") + .addToResources(0,"jobs") + .addToVerbs(0, "get") + .addToVerbs(1, "watch") + .addToVerbs(2, "list") + .build() + ) + .build(); + + client.rbac().roles().inNamespace(currentNamespace).createOrReplace(role); + } + + @Test + public void get() { + + role = client.rbac().roles().inNamespace(currentNamespace).withName("job-reader").get(); + + assertNotNull(role); + assertEquals("Role", role.getKind()); + assertNotNull(role.getMetadata()); + assertEquals("job-reader", role.getMetadata().getName()); + assertNotNull(role.getRules()); + assertEquals(1, role.getRules().size()); + assertNotNull(role.getRules().get(0).getApiGroups()); + assertEquals(1, role.getRules().get(0).getApiGroups().size()); + assertEquals("batch", role.getRules().get(0).getApiGroups().get(0)); + assertNotNull(role.getRules().get(0).getResourceNames()); + assertEquals(1, role.getRules().get(0).getResourceNames().size()); + assertEquals("my-job", role.getRules().get(0).getResourceNames().get(0)); + assertNotNull(role.getRules().get(0).getResources()); + assertEquals(1, role.getRules().get(0).getResources().size()); + assertEquals("jobs", role.getRules().get(0).getResources().get(0)); + assertNotNull(role.getRules().get(0).getVerbs()); + assertEquals(3, role.getRules().get(0).getVerbs().size()); + assertEquals("get", role.getRules().get(0).getVerbs().get(0)); + assertEquals("watch", role.getRules().get(0).getVerbs().get(1)); + assertEquals("list", role.getRules().get(0).getVerbs().get(2)); + } + + @Test + public void load() { + + Role aRole = client.rbac().roles().inNamespace(currentNamespace) + .load(getClass().getResourceAsStream("/test-kubernetesrole.yml")).get(); + + assertNotNull(aRole); + assertEquals("Role", aRole.getKind()); + assertNotNull(aRole.getMetadata()); + assertEquals("job-reader", aRole.getMetadata().getName()); + assertNotNull(aRole.getRules()); + assertEquals(1, aRole.getRules().size()); + assertNotNull(aRole.getRules().get(0).getApiGroups()); + assertEquals(1, aRole.getRules().get(0).getApiGroups().size()); + assertEquals("batch", aRole.getRules().get(0).getApiGroups().get(0)); + assertNotNull(aRole.getRules().get(0).getNonResourceURLs()); + assertEquals(1, aRole.getRules().get(0).getNonResourceURLs().size()); + assertEquals("/healthz", aRole.getRules().get(0).getNonResourceURLs().get(0)); + assertNotNull(aRole.getRules().get(0).getResourceNames()); + assertEquals(1, aRole.getRules().get(0).getResourceNames().size()); + assertEquals("my-job", aRole.getRules().get(0).getResourceNames().get(0)); + assertNotNull(aRole.getRules().get(0).getResources()); + assertEquals(1, aRole.getRules().get(0).getResources().size()); + assertEquals("jobs", aRole.getRules().get(0).getResources().get(0)); + assertNotNull(aRole.getRules().get(0).getVerbs()); + assertEquals(3, aRole.getRules().get(0).getVerbs().size()); + assertEquals("get", aRole.getRules().get(0).getVerbs().get(0)); + assertEquals("watch", aRole.getRules().get(0).getVerbs().get(1)); + assertEquals("list", aRole.getRules().get(0).getVerbs().get(2)); + } + + @Test + public void list() { + + RoleList roleList = client.rbac().roles().inNamespace(currentNamespace).list(); + + assertNotNull(roleList); + assertNotNull(roleList.getItems()); + assertEquals(1, roleList.getItems().size()); + assertNotNull(roleList.getItems().get(0)); + assertEquals("Role", roleList.getItems().get(0).getKind()); + assertNotNull(roleList.getItems().get(0).getMetadata()); + assertEquals("job-reader", roleList.getItems().get(0).getMetadata().getName()); + assertNotNull(roleList.getItems().get(0).getRules()); + assertEquals(1, roleList.getItems().get(0).getRules().size()); + assertNotNull(roleList.getItems().get(0).getRules().get(0).getApiGroups()); + assertEquals(1, roleList.getItems().get(0).getRules().get(0).getApiGroups().size()); + assertEquals("batch", roleList.getItems().get(0).getRules().get(0).getApiGroups().get(0)); + assertNotNull(roleList.getItems().get(0).getRules().get(0).getResourceNames()); + assertEquals(1, roleList.getItems().get(0).getRules().get(0).getResourceNames().size()); + assertEquals("my-job", roleList.getItems().get(0).getRules().get(0).getResourceNames().get(0)); + assertNotNull(roleList.getItems().get(0).getRules().get(0).getResources()); + assertEquals(1, roleList.getItems().get(0).getRules().get(0).getResources().size()); + assertEquals("jobs", roleList.getItems().get(0).getRules().get(0).getResources().get(0)); + assertNotNull(roleList.getItems().get(0).getRules().get(0).getVerbs()); + assertEquals(3, roleList.getItems().get(0).getRules().get(0).getVerbs().size()); + assertEquals("get", roleList.getItems().get(0).getRules().get(0).getVerbs().get(0)); + assertEquals("watch", roleList.getItems().get(0).getRules().get(0).getVerbs().get(1)); + assertEquals("list", roleList.getItems().get(0).getRules().get(0).getVerbs().get(2)); + + } + + @Test + public void update() { + + role = client.rbac().roles().inNamespace(currentNamespace).withName("job-reader").edit() + .editRule(0).addToApiGroups(1, "extensions").endRule().done(); + + assertNotNull(role); + assertEquals("Role", role.getKind()); + assertNotNull(role.getMetadata()); + assertEquals("job-reader", role.getMetadata().getName()); + assertNotNull(role.getRules()); + assertEquals(1, role.getRules().size()); + assertNotNull(role.getRules().get(0).getApiGroups()); + assertEquals(2, role.getRules().get(0).getApiGroups().size()); + assertEquals("batch", role.getRules().get(0).getApiGroups().get(0)); + assertEquals("extensions", role.getRules().get(0).getApiGroups().get(1)); + assertNotNull(role.getRules().get(0).getResourceNames()); + assertEquals(1, role.getRules().get(0).getResourceNames().size()); + assertEquals("my-job", role.getRules().get(0).getResourceNames().get(0)); + assertNotNull(role.getRules().get(0).getResources()); + assertEquals(1, role.getRules().get(0).getResources().size()); + assertEquals("jobs", role.getRules().get(0).getResources().get(0)); + assertNotNull(role.getRules().get(0).getVerbs()); + assertEquals(3, role.getRules().get(0).getVerbs().size()); + assertEquals("get", role.getRules().get(0).getVerbs().get(0)); + assertEquals("watch", role.getRules().get(0).getVerbs().get(1)); + assertEquals("list", role.getRules().get(0).getVerbs().get(2)); + } + + @Test + public void delete() { + + boolean deleted = client.rbac().roles().inNamespace(currentNamespace).delete(); + + assertTrue(deleted); + RoleList roleList = client.rbac().roles().inNamespace(currentNamespace).list(); + assertEquals(0,roleList.getItems().size()); + } + + @After + public void cleanup() { + client.rbac().roles().inNamespace(currentNamespace).delete(); + } + +} diff --git a/kubernetes-itests/src/test/java/io/fabric8/openshift/UserImpersonationIT.java b/kubernetes-itests/src/test/java/io/fabric8/openshift/UserImpersonationIT.java index c340e73686d..771e68680dd 100644 --- a/kubernetes-itests/src/test/java/io/fabric8/openshift/UserImpersonationIT.java +++ b/kubernetes-itests/src/test/java/io/fabric8/openshift/UserImpersonationIT.java @@ -53,8 +53,8 @@ public class UserImpersonationIT { Session session; private ServiceAccount serviceAccount1; - private KubernetesClusterRole impersonatorRole; - private KubernetesClusterRoleBinding impersonatorRoleBinding; + private ClusterRole impersonatorRole; + private ClusterRoleBinding impersonatorRoleBinding; private String currentNamespace; @@ -62,18 +62,18 @@ public class UserImpersonationIT { public void init() { currentNamespace = session.getNamespace(); // Create impersonator cluster role - impersonatorRole = new KubernetesClusterRoleBuilder() + impersonatorRole = new ClusterRoleBuilder() .withNewMetadata() .withName("impersonator") .endMetadata() - .addToRules(new KubernetesPolicyRuleBuilder() + .addToRules(new PolicyRuleBuilder() .addToApiGroups("") .addToResources("users", "groups", "userextras", "serviceaccounts") .addToVerbs("impersonate") .build() ) .build(); - client.rbac().kubernetesClusterRoles().inNamespace(currentNamespace).createOrReplace(impersonatorRole); + client.rbac().clusterRoles().inNamespace(currentNamespace).createOrReplace(impersonatorRole); // Create Service Account serviceAccount1 = new ServiceAccountBuilder() @@ -82,18 +82,18 @@ public void init() { client.serviceAccounts().inNamespace(currentNamespace).create(serviceAccount1); // Bind Impersonator Role to current user - impersonatorRoleBinding = new KubernetesClusterRoleBindingBuilder() + impersonatorRoleBinding = new ClusterRoleBindingBuilder() .withNewMetadata() .withName("impersonate-role") .endMetadata() - .addToSubjects(new KubernetesSubjectBuilder() + .addToSubjects(new SubjectBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("User") .withName(client.currentUser().getMetadata().getName()) .withNamespace(currentNamespace) .build() ) - .withRoleRef(new KubernetesRoleRefBuilder() + .withRoleRef(new RoleRefBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("ClusterRole") .withName("impersonator") @@ -101,7 +101,7 @@ public void init() { ) .build(); - client.rbac().kubernetesClusterRoleBindings().inNamespace(currentNamespace).createOrReplace(impersonatorRoleBinding); + client.rbac().clusterRoleBindings().inNamespace(currentNamespace).createOrReplace(impersonatorRoleBinding); } @@ -144,11 +144,11 @@ public void cleanup() { requestConfig.setImpersonateGroups(null); // DeleteEntity Cluster Role - client.rbac().kubernetesClusterRoles().inNamespace(currentNamespace).delete(impersonatorRole); + client.rbac().clusterRoles().inNamespace(currentNamespace).delete(impersonatorRole); await().atMost(30, TimeUnit.SECONDS).until(kubernetesClusterRoleIsDeleted()); // DeleteEntity Cluster Role binding - client.rbac().kubernetesClusterRoleBindings().inNamespace(currentNamespace).delete(impersonatorRoleBinding); + client.rbac().clusterRoleBindings().inNamespace(currentNamespace).delete(impersonatorRoleBinding); await().atMost(30, TimeUnit.SECONDS).until(kubernetesClusterRoleBindingIsDeleted()); // DeleteEntity project @@ -182,7 +182,7 @@ private Callable kubernetesClusterRoleBindingIsDeleted() { return new Callable() { @Override public Boolean call() { - return client.rbac().kubernetesClusterRoleBindings().inNamespace(currentNamespace).withName("impersonator-role").get() == null; + return client.rbac().clusterRoleBindings().inNamespace(currentNamespace).withName("impersonator-role").get() == null; } }; } @@ -191,7 +191,7 @@ private Callable kubernetesClusterRoleIsDeleted() { return new Callable() { @Override public Boolean call() { - return client.rbac().kubernetesClusterRoles().inNamespace(currentNamespace).withName("impersonator").get() == null; + return client.rbac().clusterRoles().inNamespace(currentNamespace).withName("impersonator").get() == null; } }; } diff --git a/kubernetes-model/cmd/generate/generate.go b/kubernetes-model/cmd/generate/generate.go index 0706235d2e7..9ff7f5d01ad 100644 --- a/kubernetes-model/cmd/generate/generate.go +++ b/kubernetes-model/cmd/generate/generate.go @@ -128,17 +128,17 @@ type Schema struct { TokenReview authenticationapi.TokenReview K8sSubjectAccessReview k8sauthapi.SubjectAccessReview K8sLocalSubjectAccessReview k8sauthapi.LocalSubjectAccessReview - Role authapi.Role - RoleList authapi.RoleList - RoleBinding authapi.RoleBinding - RoleBindingList authapi.RoleBindingList - RoleBindingRestriction authapi.RoleBindingRestriction + OpenshiftRole authapi.Role + OpenshiftRoleList authapi.RoleList + OpenshiftRoleBinding authapi.RoleBinding + OpenshiftRoleBindingList authapi.RoleBindingList + OpenshiftRoleBindingRestriction authapi.RoleBindingRestriction LocalSubjectAccessReview authapi.LocalSubjectAccessReview SubjectAccessReview authapi.SubjectAccessReview - SubjectAccessReviewResponse authapi.SubjectAccessReviewResponse - ClusterRole authapi.ClusterRole - ClusterRoleBinding authapi.ClusterRoleBinding - ClusterRoleBindingList authapi.ClusterRoleBindingList + SubjectAccessReviewResponse authapi.SubjectAccessReviewResponse + OpenshiftClusterRole authapi.ClusterRole + OpenshiftClusterRoleBinding authapi.ClusterRoleBinding + OpenshiftClusterRoleBindingList authapi.ClusterRoleBindingList User userapi.User UserList userapi.UserList Group userapi.Group @@ -190,41 +190,41 @@ type Schema struct { StorageClass storageclassapi.StorageClass StorageClassList storageclassapi.StorageClassList AggregationRule rbac.AggregationRule - K8sRole rbac.Role - K8sRoleList rbac.RoleList - K8sRoleBinding rbac.RoleBinding - K8sRoleBindingList rbac.RoleBindingList + Role rbac.Role + RoleList rbac.RoleList + RoleBinding rbac.RoleBinding + RoleBindingList rbac.RoleBindingList NetNameSpace networkapi.NetNamespace NetNameSpaceList networkapi.NetNamespaceList - K8sClusterRole rbac.ClusterRole - K8sClusterRoleList rbac.ClusterRoleList - K8sClusterRoleBinding rbac.ClusterRoleBinding - K8sClusterRoleBindingList rbac.ClusterRoleBindingList - PodPreset settings.PodPreset - PodPresetSpec settings.PodPresetSpec - PodPresetList settings.PodPresetList - PriorityClass scheduling.PriorityClass - PriorityClassList scheduling.PriorityClassList - Event events.Event - EventSeries events.EventSeries - EventSeriesState events.EventSeriesState - AdmissionReview admission.AdmissionReview - AdmissionRequest admission.AdmissionRequest - AdmissionResponse admission.AdmissionResponse - PatchType admission.PatchType - Operation admission.Operation - Rule admissionregistration.Rule - ValidatingWebhookConfiguration admissionregistration.ValidatingWebhookConfiguration - ValidatingWebhookConfigurationList admissionregistration.ValidatingWebhookConfigurationList - MutatingWebhookConfiguration admissionregistration.MutatingWebhookConfiguration - MutatingWebhookConfigurationList admissionregistration.MutatingWebhookConfigurationList - AdmissionWebhook admissionregistration.Webhook - RuleWithOperations admissionregistration.RuleWithOperations - CertificateSigningRequest certificates.CertificateSigningRequest - CertificateSigningRequestSpec certificates.CertificateSigningRequestSpec - CertificateSigningRequestStatus certificates.CertificateSigningRequestStatus - CertificateSigningRequestCondition certificates.CertificateSigningRequestCondition - CertificateSigningRequestList certificates.CertificateSigningRequestList + ClusterRole rbac.ClusterRole + ClusterRoleList rbac.ClusterRoleList + ClusterRoleBinding rbac.ClusterRoleBinding + ClusterRoleBindingList rbac.ClusterRoleBindingList + PodPreset settings.PodPreset + PodPresetSpec settings.PodPresetSpec + PodPresetList settings.PodPresetList + PriorityClass scheduling.PriorityClass + PriorityClassList scheduling.PriorityClassList + Event events.Event + EventSeries events.EventSeries + EventSeriesState events.EventSeriesState + AdmissionReview admission.AdmissionReview + AdmissionRequest admission.AdmissionRequest + AdmissionResponse admission.AdmissionResponse + PatchType admission.PatchType + Operation admission.Operation + Rule admissionregistration.Rule + ValidatingWebhookConfiguration admissionregistration.ValidatingWebhookConfiguration + ValidatingWebhookConfigurationList admissionregistration.ValidatingWebhookConfigurationList + MutatingWebhookConfiguration admissionregistration.MutatingWebhookConfiguration + MutatingWebhookConfigurationList admissionregistration.MutatingWebhookConfigurationList + AdmissionWebhook admissionregistration.Webhook + RuleWithOperations admissionregistration.RuleWithOperations + CertificateSigningRequest certificates.CertificateSigningRequest + CertificateSigningRequestSpec certificates.CertificateSigningRequestSpec + CertificateSigningRequestStatus certificates.CertificateSigningRequestStatus + CertificateSigningRequestCondition certificates.CertificateSigningRequestCondition + CertificateSigningRequestList certificates.CertificateSigningRequestList } func main() { diff --git a/kubernetes-model/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesKind.java b/kubernetes-model/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesKind.java index 9683eab2d56..8e50b4448b1 100644 --- a/kubernetes-model/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesKind.java +++ b/kubernetes-model/kubernetes-model/src/main/java/io/fabric8/kubernetes/api/model/KubernetesKind.java @@ -66,12 +66,12 @@ public enum KubernetesKind { OAuthAuthorizeTokenList(OAuthAuthorizeTokenList.class), OAuthAccessToken(OAuthAccessToken.class), OAuthAccessTokenList(OAuthAccessTokenList.class), - Role(Role.class), - RoleList(RoleList.class), - RoleBinding(RoleBinding.class), - RoleBindingList(RoleBindingList.class), - ClusterRoleBinding(ClusterRoleBinding.class), - ClusterRoleBindingList(ClusterRoleBindingList.class), + Role(OpenshiftRole.class), + RoleList(OpenshiftRoleList.class), + RoleBinding(OpenshiftRoleBinding.class), + RoleBindingList(OpenshiftRoleBindingList.class), + ClusterRoleBinding(OpenshiftClusterRoleBinding.class), + ClusterRoleBindingList(OpenshiftClusterRoleBindingList.class), User(User.class), UserList(UserList.class), Group(Group.class), diff --git a/kubernetes-model/kubernetes-model/src/main/resources/schema/kube-schema.json b/kubernetes-model/kubernetes-model/src/main/resources/schema/kube-schema.json index 4e86ce2ad82..41a21b55e35 100644 --- a/kubernetes-model/kubernetes-model/src/main/resources/schema/kube-schema.json +++ b/kubernetes-model/kubernetes-model/src/main/resources/schema/kube-schema.json @@ -11852,7 +11852,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule", + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -11863,7 +11863,7 @@ "properties": { "aggregationRule": { "$ref": "#/definitions/kubernetes_rbac_AggregationRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule" }, "apiVersion": { "type": "string", @@ -11886,12 +11886,12 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_PolicyRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole", + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -11918,7 +11918,7 @@ }, "roleRef": { "$ref": "#/definitions/kubernetes_rbac_RoleRef", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRef" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef" }, "subjects": { "type": "array", @@ -11926,12 +11926,12 @@ "javaOmitEmpty": true, "items": { "$ref": "#/definitions/kubernetes_rbac_Subject", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesSubject" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding", + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -11951,7 +11951,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding" } }, "kind": { @@ -11966,7 +11966,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingList", + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -11987,7 +11987,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_ClusterRole", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole" } }, "kind": { @@ -12002,7 +12002,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleList", + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -12058,7 +12058,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRule", + "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -12088,12 +12088,12 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_PolicyRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRole", + "javaType": "io.fabric8.kubernetes.api.model.rbac.Role", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -12120,7 +12120,7 @@ }, "roleRef": { "$ref": "#/definitions/kubernetes_rbac_RoleRef", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRef" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef" }, "subjects": { "type": "array", @@ -12128,12 +12128,12 @@ "javaOmitEmpty": true, "items": { "$ref": "#/definitions/kubernetes_rbac_Subject", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesSubject" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding", + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -12153,7 +12153,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_RoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding" } }, "kind": { @@ -12168,7 +12168,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingList", + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBindingList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -12189,7 +12189,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_Role", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Role" } }, "kind": { @@ -12204,7 +12204,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleList", + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -12228,7 +12228,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRef", + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -12255,7 +12255,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesSubject", + "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -12646,7 +12646,7 @@ "properties": { "aggregationRule": { "$ref": "#/definitions/kubernetes_rbac_AggregationRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule" }, "apiVersion": { "type": "string", @@ -12674,7 +12674,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.ClusterRole", + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRole", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -12729,7 +12729,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBinding", + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBinding", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -12749,7 +12749,7 @@ "description": "", "items": { "$ref": "#/definitions/os_authorization_ClusterRoleBinding", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBinding" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBinding" } }, "kind": { @@ -12764,7 +12764,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBindingList", + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBindingList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -12963,7 +12963,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.Role", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRole", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -13018,7 +13018,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleBinding", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBinding", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -13038,7 +13038,7 @@ "description": "", "items": { "$ref": "#/definitions/os_authorization_RoleBinding", - "javaType": "io.fabric8.openshift.api.model.RoleBinding" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBinding" } }, "kind": { @@ -13053,7 +13053,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleBindingList", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -13081,11 +13081,11 @@ }, "spec": { "$ref": "#/definitions/os_authorization_RoleBindingRestrictionSpec", - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestrictionSpec" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestrictionSpec" } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestriction", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestriction", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -13108,7 +13108,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestrictionSpec", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestrictionSpec", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -13128,7 +13128,7 @@ "description": "", "items": { "$ref": "#/definitions/os_authorization_Role", - "javaType": "io.fabric8.openshift.api.model.Role" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRole" } }, "kind": { @@ -13143,7 +13143,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleList", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -16378,7 +16378,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.ClusterRoleScopeRestriction", + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleScopeRestriction", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -16793,7 +16793,7 @@ "properties": { "clusterRole": { "$ref": "#/definitions/os_oauth_ClusterRoleScopeRestriction", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleScopeRestriction" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleScopeRestriction" }, "literals": { "type": "array", @@ -17953,7 +17953,7 @@ }, "AggregationRule": { "$ref": "#/definitions/kubernetes_rbac_AggregationRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule" }, "BaseKubernetesList": { "$ref": "#/definitions/kubernetes_apimachinery_List", @@ -17997,15 +17997,15 @@ }, "ClusterRole": { "$ref": "#/definitions/os_authorization_ClusterRole", - "javaType": "io.fabric8.openshift.api.model.ClusterRole" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRole" }, "ClusterRoleBinding": { "$ref": "#/definitions/os_authorization_ClusterRoleBinding", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBinding" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBinding" }, "ClusterRoleBindingList": { "$ref": "#/definitions/os_authorization_ClusterRoleBindingList", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBindingList" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBindingList" }, "ComponentStatusList": { "$ref": "#/definitions/kubernetes_core_ComponentStatusList", @@ -18193,19 +18193,19 @@ }, "K8sClusterRole": { "$ref": "#/definitions/kubernetes_rbac_ClusterRole", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole" }, "K8sClusterRoleBinding": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding" }, "K8sClusterRoleBindingList": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleBindingList", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingList" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList" }, "K8sClusterRoleList": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleList", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleList" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleList" }, "K8sLocalSubjectAccessReview": { "$ref": "#/definitions/kubernetes_authorization_LocalSubjectAccessReview", @@ -18213,19 +18213,19 @@ }, "K8sRole": { "$ref": "#/definitions/kubernetes_rbac_Role", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Role" }, "K8sRoleBinding": { "$ref": "#/definitions/kubernetes_rbac_RoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding" }, "K8sRoleBindingList": { "$ref": "#/definitions/kubernetes_rbac_RoleBindingList", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingList" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBindingList" }, "K8sRoleList": { "$ref": "#/definitions/kubernetes_rbac_RoleList", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleList" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleList" }, "K8sSubjectAccessReview": { "$ref": "#/definitions/kubernetes_authorization_SubjectAccessReview", @@ -18425,23 +18425,23 @@ }, "Role": { "$ref": "#/definitions/os_authorization_Role", - "javaType": "io.fabric8.openshift.api.model.Role" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRole" }, "RoleBinding": { "$ref": "#/definitions/os_authorization_RoleBinding", - "javaType": "io.fabric8.openshift.api.model.RoleBinding" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBinding" }, "RoleBindingList": { "$ref": "#/definitions/os_authorization_RoleBindingList", - "javaType": "io.fabric8.openshift.api.model.RoleBindingList" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingList" }, "RoleBindingRestriction": { "$ref": "#/definitions/os_authorization_RoleBindingRestriction", - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestriction" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestriction" }, "RoleList": { "$ref": "#/definitions/os_authorization_RoleList", - "javaType": "io.fabric8.openshift.api.model.RoleList" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleList" }, "RootPaths": { "$ref": "#/definitions/kubernetes_apimachinery_RootPaths", diff --git a/kubernetes-model/kubernetes-model/src/main/resources/schema/validation-schema.json b/kubernetes-model/kubernetes-model/src/main/resources/schema/validation-schema.json index dd801394d9e..d48ee068bbf 100644 --- a/kubernetes-model/kubernetes-model/src/main/resources/schema/validation-schema.json +++ b/kubernetes-model/kubernetes-model/src/main/resources/schema/validation-schema.json @@ -11852,7 +11852,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule", + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -11863,7 +11863,7 @@ "properties": { "aggregationRule": { "$ref": "#/definitions/kubernetes_rbac_AggregationRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule" }, "apiVersion": { "type": "string", @@ -11886,12 +11886,12 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_PolicyRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole", + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -11918,7 +11918,7 @@ }, "roleRef": { "$ref": "#/definitions/kubernetes_rbac_RoleRef", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRef" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef" }, "subjects": { "type": "array", @@ -11926,12 +11926,12 @@ "javaOmitEmpty": true, "items": { "$ref": "#/definitions/kubernetes_rbac_Subject", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesSubject" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding", + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -11951,7 +11951,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding" } }, "kind": { @@ -11966,7 +11966,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingList", + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -11987,7 +11987,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_ClusterRole", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole" } }, "kind": { @@ -12002,7 +12002,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleList", + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -12058,7 +12058,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRule", + "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -12088,12 +12088,12 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_PolicyRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRole", + "javaType": "io.fabric8.kubernetes.api.model.rbac.Role", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -12120,7 +12120,7 @@ }, "roleRef": { "$ref": "#/definitions/kubernetes_rbac_RoleRef", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRef" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef" }, "subjects": { "type": "array", @@ -12128,12 +12128,12 @@ "javaOmitEmpty": true, "items": { "$ref": "#/definitions/kubernetes_rbac_Subject", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesSubject" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding", + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -12153,7 +12153,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_RoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding" } }, "kind": { @@ -12168,7 +12168,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingList", + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBindingList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -12189,7 +12189,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_Role", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Role" } }, "kind": { @@ -12204,7 +12204,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleList", + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -12228,7 +12228,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRef", + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -12255,7 +12255,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesSubject", + "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -12646,7 +12646,7 @@ "properties": { "aggregationRule": { "$ref": "#/definitions/kubernetes_rbac_AggregationRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule" }, "apiVersion": { "type": "string", @@ -12674,7 +12674,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.ClusterRole", + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRole", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -12729,7 +12729,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBinding", + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBinding", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -12749,7 +12749,7 @@ "description": "", "items": { "$ref": "#/definitions/os_authorization_ClusterRoleBinding", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBinding" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBinding" } }, "kind": { @@ -12764,7 +12764,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBindingList", + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBindingList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -12963,7 +12963,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.Role", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRole", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -13018,7 +13018,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleBinding", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBinding", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -13038,7 +13038,7 @@ "description": "", "items": { "$ref": "#/definitions/os_authorization_RoleBinding", - "javaType": "io.fabric8.openshift.api.model.RoleBinding" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBinding" } }, "kind": { @@ -13053,7 +13053,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleBindingList", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -13081,11 +13081,11 @@ }, "spec": { "$ref": "#/definitions/os_authorization_RoleBindingRestrictionSpec", - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestrictionSpec" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestrictionSpec" } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestriction", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestriction", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] @@ -13108,7 +13108,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestrictionSpec", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestrictionSpec", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -13128,7 +13128,7 @@ "description": "", "items": { "$ref": "#/definitions/os_authorization_Role", - "javaType": "io.fabric8.openshift.api.model.Role" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRole" } }, "kind": { @@ -13143,7 +13143,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.RoleList", + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", "io.fabric8.kubernetes.api.model.KubernetesResourceList" @@ -16378,7 +16378,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.openshift.api.model.ClusterRoleScopeRestriction", + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleScopeRestriction", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -16793,7 +16793,7 @@ "properties": { "clusterRole": { "$ref": "#/definitions/os_oauth_ClusterRoleScopeRestriction", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleScopeRestriction" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleScopeRestriction" }, "literals": { "type": "array", @@ -17953,7 +17953,7 @@ }, "AggregationRule": { "$ref": "#/definitions/kubernetes_rbac_AggregationRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule" }, "BaseKubernetesList": { "$ref": "#/definitions/kubernetes_apimachinery_List", @@ -17997,15 +17997,15 @@ }, "ClusterRole": { "$ref": "#/definitions/os_authorization_ClusterRole", - "javaType": "io.fabric8.openshift.api.model.ClusterRole" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRole" }, "ClusterRoleBinding": { "$ref": "#/definitions/os_authorization_ClusterRoleBinding", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBinding" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBinding" }, "ClusterRoleBindingList": { "$ref": "#/definitions/os_authorization_ClusterRoleBindingList", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleBindingList" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleBindingList" }, "ComponentStatusList": { "$ref": "#/definitions/kubernetes_core_ComponentStatusList", @@ -18193,19 +18193,19 @@ }, "K8sClusterRole": { "$ref": "#/definitions/kubernetes_rbac_ClusterRole", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole" }, "K8sClusterRoleBinding": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding" }, "K8sClusterRoleBindingList": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleBindingList", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingList" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList" }, "K8sClusterRoleList": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleList", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleList" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleList" }, "K8sLocalSubjectAccessReview": { "$ref": "#/definitions/kubernetes_authorization_LocalSubjectAccessReview", @@ -18213,19 +18213,19 @@ }, "K8sRole": { "$ref": "#/definitions/kubernetes_rbac_Role", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Role" }, "K8sRoleBinding": { "$ref": "#/definitions/kubernetes_rbac_RoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding" }, "K8sRoleBindingList": { "$ref": "#/definitions/kubernetes_rbac_RoleBindingList", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingList" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBindingList" }, "K8sRoleList": { "$ref": "#/definitions/kubernetes_rbac_RoleList", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleList" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleList" }, "K8sSubjectAccessReview": { "$ref": "#/definitions/kubernetes_authorization_SubjectAccessReview", @@ -18425,23 +18425,23 @@ }, "Role": { "$ref": "#/definitions/os_authorization_Role", - "javaType": "io.fabric8.openshift.api.model.Role" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRole" }, "RoleBinding": { "$ref": "#/definitions/os_authorization_RoleBinding", - "javaType": "io.fabric8.openshift.api.model.RoleBinding" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBinding" }, "RoleBindingList": { "$ref": "#/definitions/os_authorization_RoleBindingList", - "javaType": "io.fabric8.openshift.api.model.RoleBindingList" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingList" }, "RoleBindingRestriction": { "$ref": "#/definitions/os_authorization_RoleBindingRestriction", - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestriction" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestriction" }, "RoleList": { "$ref": "#/definitions/os_authorization_RoleList", - "javaType": "io.fabric8.openshift.api.model.RoleList" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleList" }, "RootPaths": { "$ref": "#/definitions/kubernetes_apimachinery_RootPaths", @@ -19917,7 +19917,7 @@ "properties": { "aggregationRule": { "$ref": "#/definitions/kubernetes_rbac_AggregationRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesAggregationRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule" }, "apiVersion": { "type": "string", @@ -19940,7 +19940,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_PolicyRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule" } } }, @@ -19966,7 +19966,7 @@ }, "roleRef": { "$ref": "#/definitions/kubernetes_rbac_RoleRef", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRef" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef" }, "subjects": { "type": "array", @@ -19974,7 +19974,7 @@ "javaOmitEmpty": true, "items": { "$ref": "#/definitions/kubernetes_rbac_Subject", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesSubject" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject" } } }, @@ -19993,7 +19993,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_ClusterRoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding" } }, "kind": { @@ -20022,7 +20022,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_ClusterRole", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole" } }, "kind": { @@ -29144,7 +29144,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_PolicyRule", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRule" + "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule" } } }, @@ -29170,7 +29170,7 @@ }, "roleRef": { "$ref": "#/definitions/kubernetes_rbac_RoleRef", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRef" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef" }, "subjects": { "type": "array", @@ -29178,7 +29178,7 @@ "javaOmitEmpty": true, "items": { "$ref": "#/definitions/kubernetes_rbac_Subject", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesSubject" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject" } } }, @@ -29197,7 +29197,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_RoleBinding", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding" + "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding" } }, "kind": { @@ -29233,7 +29233,7 @@ }, "spec": { "$ref": "#/definitions/os_authorization_RoleBindingRestrictionSpec", - "javaType": "io.fabric8.openshift.api.model.RoleBindingRestrictionSpec" + "javaType": "io.fabric8.openshift.api.model.OpenshiftRoleBindingRestrictionSpec" } }, "additionalProperties": true @@ -29268,7 +29268,7 @@ "description": "", "items": { "$ref": "#/definitions/kubernetes_rbac_Role", - "javaType": "io.fabric8.kubernetes.api.model.rbac.KubernetesRole" + "javaType": "io.fabric8.kubernetes.api.model.rbac.Role" } }, "kind": { @@ -29866,7 +29866,7 @@ "properties": { "clusterRole": { "$ref": "#/definitions/os_oauth_ClusterRoleScopeRestriction", - "javaType": "io.fabric8.openshift.api.model.ClusterRoleScopeRestriction" + "javaType": "io.fabric8.openshift.api.model.OpenshiftClusterRoleScopeRestriction" }, "literals": { "type": "array", diff --git a/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesClusterRoleBindingTest.java b/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/ClusterRoleBindingTest.java similarity index 67% rename from kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesClusterRoleBindingTest.java rename to kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/ClusterRoleBindingTest.java index 5bb1bf618da..1a32223db09 100644 --- a/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesClusterRoleBindingTest.java +++ b/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/ClusterRoleBindingTest.java @@ -16,10 +16,10 @@ package io.fabric8.kubernetes.api.model; import com.fasterxml.jackson.databind.ObjectMapper; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRefBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesSubjectBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingBuilder; +import io.fabric8.kubernetes.api.model.rbac.RoleRefBuilder; +import io.fabric8.kubernetes.api.model.rbac.SubjectBuilder; import org.junit.Test; @@ -28,18 +28,18 @@ import static net.javacrumbs.jsonunit.core.Option.TREATING_NULL_AS_ABSENT; import static net.javacrumbs.jsonunit.fluent.JsonFluentAssert.assertThatJson; -public class KubernetesClusterRoleBindingTest { +public class ClusterRoleBindingTest { private final ObjectMapper mapper = new ObjectMapper(); @Test - public void kubernetesClusterRoleBindingTest() throws Exception { + public void clusterRoleBindingTest() throws Exception { // given - final String originalJson = Helper.loadJson("/valid-kubernetesClusterRoleBinding.json"); + final String originalJson = Helper.loadJson("/valid-clusterRoleBinding.json"); // when - final KubernetesClusterRoleBinding kubernetesClusterRoleBinding = mapper.readValue(originalJson, KubernetesClusterRoleBinding.class); - final String serializedJson = mapper.writeValueAsString(kubernetesClusterRoleBinding); + final ClusterRoleBinding clusterRoleBinding = mapper.readValue(originalJson, ClusterRoleBinding.class); + final String serializedJson = mapper.writeValueAsString(clusterRoleBinding); // then assertThatJson(serializedJson).when(IGNORING_ARRAY_ORDER, TREATING_NULL_AS_ABSENT, IGNORING_EXTRA_FIELDS) @@ -47,25 +47,25 @@ public void kubernetesClusterRoleBindingTest() throws Exception { } @Test - public void kubernetesClusterRoleBindingBuilderTest() throws Exception { + public void clusterRoleBindingBuilderTest() throws Exception { // given - final String originalJson = Helper.loadJson("/valid-kubernetesClusterRoleBinding.json"); + final String originalJson = Helper.loadJson("/valid-clusterRoleBinding.json"); // when - KubernetesClusterRoleBinding kubernetesClusterRoleBinding = new KubernetesClusterRoleBindingBuilder() + ClusterRoleBinding clusterRoleBinding = new ClusterRoleBindingBuilder() .withNewMetadata() .withName("read-nodes") .withNamespace("default") .endMetadata() - .addToSubjects(0, new KubernetesSubjectBuilder() + .addToSubjects(0, new SubjectBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("ServiceAccount") .withName("node-reader") .withNamespace("default") .build() ) - .withRoleRef(new KubernetesRoleRefBuilder() + .withRoleRef(new RoleRefBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("ClusterRole") .withName("node-reader") @@ -73,7 +73,7 @@ public void kubernetesClusterRoleBindingBuilderTest() throws Exception { ) .build(); - final String serializedJson = mapper.writeValueAsString(kubernetesClusterRoleBinding); + final String serializedJson = mapper.writeValueAsString(clusterRoleBinding); // then assertThatJson(serializedJson).when(IGNORING_ARRAY_ORDER, TREATING_NULL_AS_ABSENT, IGNORING_EXTRA_FIELDS) diff --git a/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesClusterRoleTest.java b/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/ClusterRoleTest.java similarity index 68% rename from kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesClusterRoleTest.java rename to kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/ClusterRoleTest.java index 087d1014e6a..3e6993c0872 100644 --- a/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesClusterRoleTest.java +++ b/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/ClusterRoleTest.java @@ -16,29 +16,26 @@ package io.fabric8.kubernetes.api.model; import com.fasterxml.jackson.databind.ObjectMapper; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRuleBuilder; - +import io.fabric8.kubernetes.api.model.rbac.ClusterRole; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBuilder; +import io.fabric8.kubernetes.api.model.rbac.PolicyRuleBuilder; import org.junit.Test; -import static net.javacrumbs.jsonunit.core.Option.IGNORING_ARRAY_ORDER; -import static net.javacrumbs.jsonunit.core.Option.IGNORING_EXTRA_FIELDS; -import static net.javacrumbs.jsonunit.core.Option.TREATING_NULL_AS_ABSENT; +import static net.javacrumbs.jsonunit.core.Option.*; import static net.javacrumbs.jsonunit.fluent.JsonFluentAssert.assertThatJson; -public class KubernetesClusterRoleTest { +public class ClusterRoleTest { private final ObjectMapper mapper = new ObjectMapper(); @Test public void kubernetesClusterRoleTest() throws Exception { // given - final String originalJson = Helper.loadJson("/valid-kubernetesClusterRole.json"); + final String originalJson = Helper.loadJson("/valid-clusterRole.json"); // when - final KubernetesClusterRole kubernetesClusterRole = mapper.readValue(originalJson, KubernetesClusterRole.class); - final String serializedJson = mapper.writeValueAsString(kubernetesClusterRole); + final ClusterRole clusterRole = mapper.readValue(originalJson, ClusterRole.class); + final String serializedJson = mapper.writeValueAsString(clusterRole); // then assertThatJson(serializedJson).when(IGNORING_ARRAY_ORDER, TREATING_NULL_AS_ABSENT, IGNORING_EXTRA_FIELDS) @@ -49,14 +46,14 @@ public void kubernetesClusterRoleTest() throws Exception { public void kubernetesClusterRoleBuilderTest() throws Exception { // given - final String originalJson = Helper.loadJson("/valid-kubernetesClusterRole.json"); + final String originalJson = Helper.loadJson("/valid-clusterRole.json"); // when - KubernetesClusterRole kubernetesClusterRole = new KubernetesClusterRoleBuilder() + ClusterRole clusterRole = new ClusterRoleBuilder() .withNewMetadata() .withName("node-reader") .endMetadata() - .addToRules(0, new KubernetesPolicyRuleBuilder() + .addToRules(0, new PolicyRuleBuilder() .addToApiGroups(0,"") .addToNonResourceURLs(0,"/healthz") .addToResourceNames(0,"my-node") @@ -68,7 +65,7 @@ public void kubernetesClusterRoleBuilderTest() throws Exception { ) .build(); - final String serializedJson = mapper.writeValueAsString(kubernetesClusterRole); + final String serializedJson = mapper.writeValueAsString(clusterRole); // then assertThatJson(serializedJson).when(IGNORING_ARRAY_ORDER, TREATING_NULL_AS_ABSENT, IGNORING_EXTRA_FIELDS) diff --git a/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesRoleBindingTest.java b/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/RoleBindingTest.java similarity index 74% rename from kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesRoleBindingTest.java rename to kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/RoleBindingTest.java index 911d666caea..3c4e951a13c 100644 --- a/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesRoleBindingTest.java +++ b/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/RoleBindingTest.java @@ -16,10 +16,10 @@ package io.fabric8.kubernetes.api.model; import com.fasterxml.jackson.databind.ObjectMapper; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesSubjectBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRefBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBindingBuilder; +import io.fabric8.kubernetes.api.model.rbac.RoleBinding; +import io.fabric8.kubernetes.api.model.rbac.SubjectBuilder; +import io.fabric8.kubernetes.api.model.rbac.RoleRefBuilder; +import io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder; import org.junit.Test; import static net.javacrumbs.jsonunit.core.Option.IGNORING_ARRAY_ORDER; @@ -27,17 +27,17 @@ import static net.javacrumbs.jsonunit.core.Option.TREATING_NULL_AS_ABSENT; import static net.javacrumbs.jsonunit.fluent.JsonFluentAssert.assertThatJson; -public class KubernetesRoleBindingTest { +public class RoleBindingTest { private final ObjectMapper mapper = new ObjectMapper(); @Test public void kubernetesRoleBindingTest() throws Exception { // given - final String originalJson = Helper.loadJson("/valid-kubernetesRoleBinding.json"); + final String originalJson = Helper.loadJson("/valid-roleBinding.json"); // when - final KubernetesRoleBinding kubernetesRoleBinding = mapper.readValue(originalJson, KubernetesRoleBinding.class); + final RoleBinding kubernetesRoleBinding = mapper.readValue(originalJson, RoleBinding.class); final String serializedJson = mapper.writeValueAsString(kubernetesRoleBinding); // then @@ -49,22 +49,22 @@ public void kubernetesRoleBindingTest() throws Exception { public void kubernetesRoleBuilderTest() throws Exception { // given - final String originalJson = Helper.loadJson("/valid-kubernetesRoleBinding.json"); + final String originalJson = Helper.loadJson("/valid-roleBinding.json"); // when - KubernetesRoleBinding kubernetesRoleBinding = new KubernetesRoleBindingBuilder() + RoleBinding kubernetesRoleBinding = new RoleBindingBuilder() .withNewMetadata() .withName("read-jobs") .withNamespace("default") .endMetadata() - .addToSubjects(0, new KubernetesSubjectBuilder() + .addToSubjects(0, new SubjectBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("User") .withName("jane") .withNamespace("default") .build() ) - .withRoleRef(new KubernetesRoleRefBuilder() + .withRoleRef(new RoleRefBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("Role") .withName("job-reader") diff --git a/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesRoleTest.java b/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/RoleTest.java similarity index 79% rename from kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesRoleTest.java rename to kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/RoleTest.java index 85f7dc843e0..7a1a05c5685 100644 --- a/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/KubernetesRoleTest.java +++ b/kubernetes-model/kubernetes-model/src/test/java/io/fabric8/kubernetes/api/model/RoleTest.java @@ -16,9 +16,9 @@ package io.fabric8.kubernetes.api.model; import com.fasterxml.jackson.databind.ObjectMapper; -import io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRuleBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBuilder; +import io.fabric8.kubernetes.api.model.rbac.PolicyRuleBuilder; +import io.fabric8.kubernetes.api.model.rbac.Role; +import io.fabric8.kubernetes.api.model.rbac.RoleBuilder; import org.junit.Test; import static net.javacrumbs.jsonunit.core.Option.IGNORING_ARRAY_ORDER; @@ -26,17 +26,17 @@ import static net.javacrumbs.jsonunit.core.Option.TREATING_NULL_AS_ABSENT; import static net.javacrumbs.jsonunit.fluent.JsonFluentAssert.assertThatJson; -public class KubernetesRoleTest { +public class RoleTest { private final ObjectMapper mapper = new ObjectMapper(); @Test public void kubernetesRoleTest() throws Exception { // given - final String originalJson = Helper.loadJson("/valid-kubernetesRole.json"); + final String originalJson = Helper.loadJson("/valid-role.json"); // when - final KubernetesRole kubernetesRole = mapper.readValue(originalJson, KubernetesRole.class); + final Role kubernetesRole = mapper.readValue(originalJson, Role.class); final String serializedJson = mapper.writeValueAsString(kubernetesRole); // then @@ -48,15 +48,15 @@ public void kubernetesRoleTest() throws Exception { public void kubernetesRoleBuilderTest() throws Exception { // given - final String originalJson = Helper.loadJson("/valid-kubernetesRole.json"); + final String originalJson = Helper.loadJson("/valid-role.json"); // when - KubernetesRole kubernetesRole = new KubernetesRoleBuilder() + Role kubernetesRole = new RoleBuilder() .withNewMetadata() .withName("job-reader") .withNamespace("default") .endMetadata() - .addToRules(0, new KubernetesPolicyRuleBuilder() + .addToRules(0, new PolicyRuleBuilder() .addToApiGroups(0,"batch") .addToNonResourceURLs(0,"/healthz") .addToResourceNames(0,"my-job") diff --git a/kubernetes-model/kubernetes-model/src/test/resources/valid-kubernetesClusterRole.json b/kubernetes-model/kubernetes-model/src/test/resources/valid-clusterRole.json similarity index 100% rename from kubernetes-model/kubernetes-model/src/test/resources/valid-kubernetesClusterRole.json rename to kubernetes-model/kubernetes-model/src/test/resources/valid-clusterRole.json diff --git a/kubernetes-model/kubernetes-model/src/test/resources/valid-kubernetesClusterRoleBinding.json b/kubernetes-model/kubernetes-model/src/test/resources/valid-clusterRoleBinding.json similarity index 100% rename from kubernetes-model/kubernetes-model/src/test/resources/valid-kubernetesClusterRoleBinding.json rename to kubernetes-model/kubernetes-model/src/test/resources/valid-clusterRoleBinding.json diff --git a/kubernetes-model/kubernetes-model/src/test/resources/valid-kubernetesRole.json b/kubernetes-model/kubernetes-model/src/test/resources/valid-role.json similarity index 100% rename from kubernetes-model/kubernetes-model/src/test/resources/valid-kubernetesRole.json rename to kubernetes-model/kubernetes-model/src/test/resources/valid-role.json diff --git a/kubernetes-model/kubernetes-model/src/test/resources/valid-kubernetesRoleBinding.json b/kubernetes-model/kubernetes-model/src/test/resources/valid-roleBinding.json similarity index 100% rename from kubernetes-model/kubernetes-model/src/test/resources/valid-kubernetesRoleBinding.json rename to kubernetes-model/kubernetes-model/src/test/resources/valid-roleBinding.json diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesClusterRoleBindingCrudTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleBindingCrudTest.java similarity index 82% rename from kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesClusterRoleBindingCrudTest.java rename to kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleBindingCrudTest.java index ab62f6ad419..1b685110187 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesClusterRoleBindingCrudTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleBindingCrudTest.java @@ -15,11 +15,11 @@ */ package io.fabric8.kubernetes.client.mock; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBinding; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBindingList; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleRefBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesSubjectBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList; +import io.fabric8.kubernetes.api.model.rbac.RoleRefBuilder; +import io.fabric8.kubernetes.api.model.rbac.SubjectBuilder; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.server.mock.KubernetesServer; import org.junit.Rule; @@ -31,9 +31,9 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -public class KubernetesClusterRoleBindingCrudTest { +public class ClusterRoleBindingCrudTest { - private static final Logger logger = LoggerFactory.getLogger(KubernetesClusterRoleBindingCrudTest.class); + private static final Logger logger = LoggerFactory.getLogger(ClusterRoleBindingCrudTest.class); @Rule public KubernetesServer kubernetesServer = new KubernetesServer(true,true); @@ -43,18 +43,18 @@ public void crudTest() { KubernetesClient client = kubernetesServer.getClient(); - KubernetesClusterRoleBinding kubernetesClusterRoleBinding = new KubernetesClusterRoleBindingBuilder() + ClusterRoleBinding kubernetesClusterRoleBinding = new ClusterRoleBindingBuilder() .withNewMetadata() .withName("read-nodes") .endMetadata() - .addToSubjects(0, new KubernetesSubjectBuilder() + .addToSubjects(0, new SubjectBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("User") .withName("jane") .withNamespace("default") .build() ) - .withRoleRef(new KubernetesRoleRefBuilder() + .withRoleRef(new RoleRefBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("ClusterRole") .withName("node-reader") @@ -63,7 +63,7 @@ public void crudTest() { .build(); //test of creation - kubernetesClusterRoleBinding = client.rbac().kubernetesClusterRoleBindings().create(kubernetesClusterRoleBinding); + kubernetesClusterRoleBinding = client.rbac().clusterRoleBindings().create(kubernetesClusterRoleBinding); assertNotNull(kubernetesClusterRoleBinding); assertEquals("ClusterRoleBinding", kubernetesClusterRoleBinding.getKind()); @@ -82,7 +82,7 @@ public void crudTest() { assertEquals("rbac.authorization.k8s.io", kubernetesClusterRoleBinding.getRoleRef().getApiGroup()); //test of list - KubernetesClusterRoleBindingList kubernetesClusterRoleBindingList = client.rbac().kubernetesClusterRoleBindings().list(); + ClusterRoleBindingList kubernetesClusterRoleBindingList = client.rbac().clusterRoleBindings().list(); assertNotNull(kubernetesClusterRoleBindingList); assertNotNull(kubernetesClusterRoleBindingList.getItems()); @@ -104,7 +104,7 @@ public void crudTest() { assertEquals("rbac.authorization.k8s.io", kubernetesClusterRoleBindingList.getItems().get(0).getRoleRef().getApiGroup()); //test of updation - kubernetesClusterRoleBinding = client.rbac().kubernetesClusterRoleBindings().withName("read-nodes").edit() + kubernetesClusterRoleBinding = client.rbac().clusterRoleBindings().withName("read-nodes").edit() .editSubject(0).withName("jane-new").endSubject().done(); assertNotNull(kubernetesClusterRoleBinding); @@ -124,10 +124,10 @@ public void crudTest() { assertEquals("rbac.authorization.k8s.io", kubernetesClusterRoleBinding.getRoleRef().getApiGroup()); //test of deletion - boolean deleted = client.rbac().kubernetesClusterRoleBindings().delete(); + boolean deleted = client.rbac().clusterRoleBindings().delete(); assertTrue(deleted); - kubernetesClusterRoleBindingList = client.rbac().kubernetesClusterRoleBindings().list(); + kubernetesClusterRoleBindingList = client.rbac().clusterRoleBindings().list(); assertEquals(0,kubernetesClusterRoleBindingList.getItems().size()); } diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesClusterRoleCrudTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleCrudTest.java similarity index 87% rename from kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesClusterRoleCrudTest.java rename to kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleCrudTest.java index 7c807f0eafb..faebaec846c 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesClusterRoleCrudTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleCrudTest.java @@ -15,10 +15,10 @@ */ package io.fabric8.kubernetes.client.mock; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesClusterRoleList; -import io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRuleBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRole; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleList; +import io.fabric8.kubernetes.api.model.rbac.PolicyRuleBuilder; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.server.mock.KubernetesServer; import org.junit.Rule; @@ -26,13 +26,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; -public class KubernetesClusterRoleCrudTest { +public class ClusterRoleCrudTest { - private static final Logger logger = LoggerFactory.getLogger(KubernetesClusterRoleCrudTest.class); + private static final Logger logger = LoggerFactory.getLogger(ClusterRoleCrudTest.class); @Rule public KubernetesServer kubernetesServer = new KubernetesServer(true,true); @@ -42,11 +40,11 @@ public void crudTest(){ KubernetesClient client = kubernetesServer.getClient(); - KubernetesClusterRole kubernetesClusterRole = new KubernetesClusterRoleBuilder() + ClusterRole kubernetesClusterRole = new ClusterRoleBuilder() .withNewMetadata() .withName("node-reader") .endMetadata() - .addToRules(0, new KubernetesPolicyRuleBuilder() + .addToRules(0, new PolicyRuleBuilder() .addToApiGroups(0,"") .addToNonResourceURLs(0,"/healthz") .addToResourceNames(0,"my-node") @@ -59,7 +57,7 @@ public void crudTest(){ .build(); //test of creation - kubernetesClusterRole = client.rbac().kubernetesClusterRoles().create(kubernetesClusterRole); + kubernetesClusterRole = client.rbac().clusterRoles().create(kubernetesClusterRole); assertNotNull(kubernetesClusterRole); assertEquals("ClusterRole", kubernetesClusterRole.getKind()); @@ -87,7 +85,7 @@ public void crudTest(){ assertEquals("list", kubernetesClusterRole.getRules().get(0).getVerbs().get(2)); //test of list - KubernetesClusterRoleList kubernetesClusterRoleList = client.rbac().kubernetesClusterRoles().list(); + ClusterRoleList kubernetesClusterRoleList = client.rbac().clusterRoles().list(); assertNotNull(kubernetesClusterRoleList); assertNotNull(kubernetesClusterRoleList.getItems()); @@ -119,7 +117,7 @@ public void crudTest(){ //test of updation - kubernetesClusterRole = client.rbac().kubernetesClusterRoles().withName("node-reader").edit() + kubernetesClusterRole = client.rbac().clusterRoles().withName("node-reader").edit() .editRule(0).addToApiGroups(1, "extensions").endRule().done(); assertNotNull(kubernetesClusterRole); @@ -149,10 +147,16 @@ public void crudTest(){ assertEquals("list", kubernetesClusterRole.getRules().get(0).getVerbs().get(2)); //test of deletion - boolean deleted = client.rbac().kubernetesClusterRoles().delete(); + boolean deleted = client.rbac().clusterRoles().delete(); assertTrue(deleted); - kubernetesClusterRoleList = client.rbac().kubernetesClusterRoles().list(); + kubernetesClusterRoleList = client.rbac().clusterRoles().list(); assertEquals(0,kubernetesClusterRoleList.getItems().size()); } + + @Test + public void testLoadFromFile() { + KubernetesClient client = kubernetesServer.getClient(); + assertNotNull(client.rbac().clusterRoles().load(getClass().getResourceAsStream("/test-clusterrole.yml")).get()); + } } diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleTest.java new file mode 100644 index 00000000000..f62dc852a76 --- /dev/null +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/ClusterRoleTest.java @@ -0,0 +1,62 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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.client.mock; + +import io.fabric8.kubernetes.api.model.HasMetadata; +import io.fabric8.kubernetes.api.model.rbac.ClusterRole; +import io.fabric8.kubernetes.client.KubernetesClient; +import io.fabric8.kubernetes.client.dsl.ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable; +import io.fabric8.kubernetes.client.server.mock.KubernetesServer; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +import java.util.List; + +import static org.junit.Assert.*; + +public class ClusterRoleTest { + @Rule + public KubernetesServer server = new KubernetesServer(); + + @Test + public void testLoadFromFile() { + KubernetesClient client = server.getClient(); + ClusterRole kubernetesClusterRole = client.rbac().clusterRoles().load(getClass().getResourceAsStream("/test-clusterrole.yml")).get(); + + assertNotNull(kubernetesClusterRole); + } + + @Test + public void testHandlersLoadFromFile() { + KubernetesClient client = server.getClient(); + + ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable load = client.load(getClass().getResourceAsStream("/test-clusterrole.yml")); + + assertNotNull("Handlers did not return a valid list of resources", load); + + try { + List hasMetadata = load.get(); + + assertNotNull("Handlers did not return a valid resource", hasMetadata); + Assert.assertTrue("Handler did not return expected single resource", 1 == hasMetadata.size()); + assertEquals("hasMetadata found did not match the expected name of the test input", "viewer", hasMetadata.get(0).getMetadata().getName()); + } catch (NullPointerException e) { + fail("No handler found for specified resource"); + } + } +} diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CronJobTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CronJobTest.java index 666efdfa827..4627fc042af 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CronJobTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CronJobTest.java @@ -16,13 +16,17 @@ package io.fabric8.kubernetes.client.mock; +import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.api.model.batch.*; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientException; import io.fabric8.kubernetes.client.server.mock.KubernetesServer; +import org.junit.Assert; import org.junit.Rule; import org.junit.Test; +import java.util.List; + import static org.junit.Assert.*; import static org.junit.Assert.assertFalse; @@ -239,6 +243,15 @@ public void testLoadFromFile() { KubernetesClient client = server.getClient(); assertNotNull(client.batch().cronjobs().load(getClass().getResourceAsStream("/test-cronjob.yml")).get()); } + @Test + public void testHandlersLoadFromFile() { + KubernetesClient client = server.getClient(); + List hasMetadata = client.load(getClass().getResourceAsStream("/test-cronjob.yml")).get(); + + assertNotNull("Handlers did not return a valid resource", hasMetadata); + assertTrue("Handler did not return expected single resource", 1==hasMetadata.size()); + assertEquals("hasMetadata found did not match the expected name of the test input", "pi", hasMetadata.get(0).getMetadata().getName()); + } /** * Converts string to URL encoded string. diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesRoleBindingCrudTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/RoleBindingCrudTest.java similarity index 53% rename from kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesRoleBindingCrudTest.java rename to kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/RoleBindingCrudTest.java index 5c026edca41..e29fa2d517a 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesRoleBindingCrudTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/RoleBindingCrudTest.java @@ -23,13 +23,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; -public class KubernetesRoleBindingCrudTest { +public class RoleBindingCrudTest { - private static final Logger logger = LoggerFactory.getLogger(KubernetesRoleBindingCrudTest.class); + private static final Logger logger = LoggerFactory.getLogger(RoleBindingCrudTest.class); @Rule public KubernetesServer kubernetesServer = new KubernetesServer(true,true); @@ -39,18 +39,18 @@ public void crudTest() { KubernetesClient client = kubernetesServer.getClient(); - KubernetesRoleBinding kubernetesRoleBinding = new KubernetesRoleBindingBuilder() + RoleBinding roleBinding = new RoleBindingBuilder() .withNewMetadata() .withName("read-jobs") .endMetadata() - .addToSubjects(0, new KubernetesSubjectBuilder() + .addToSubjects(0, new SubjectBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("User") .withName("jane") .withNamespace("default") .build() ) - .withRoleRef(new KubernetesRoleRefBuilder() + .withRoleRef(new RoleRefBuilder() .withApiGroup("rbac.authorization.k8s.io") .withKind("Role") .withName("job-reader") @@ -59,26 +59,26 @@ public void crudTest() { .build(); //test of creation - kubernetesRoleBinding = client.rbac().kubernetesRoleBindings().create(kubernetesRoleBinding); - - assertNotNull(kubernetesRoleBinding); - assertEquals("RoleBinding", kubernetesRoleBinding.getKind()); - assertEquals("rbac.authorization.k8s.io/v1", kubernetesRoleBinding.getApiVersion()); - assertNotNull(kubernetesRoleBinding.getMetadata()); - assertEquals("read-jobs", kubernetesRoleBinding.getMetadata().getName()); - assertNotNull(kubernetesRoleBinding.getSubjects()); - assertEquals(1, kubernetesRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", kubernetesRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane", kubernetesRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", kubernetesRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(kubernetesRoleBinding.getRoleRef()); - assertEquals("Role", kubernetesRoleBinding.getRoleRef().getKind()); - assertEquals("job-reader", kubernetesRoleBinding.getRoleRef().getName()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBinding.getRoleRef().getApiGroup()); + roleBinding = client.rbac().roleBindings().create(roleBinding); + + assertNotNull(roleBinding); + assertEquals("RoleBinding", roleBinding.getKind()); + assertEquals("rbac.authorization.k8s.io/v1", roleBinding.getApiVersion()); + assertNotNull(roleBinding.getMetadata()); + assertEquals("read-jobs", roleBinding.getMetadata().getName()); + assertNotNull(roleBinding.getSubjects()); + assertEquals(1, roleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", roleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", roleBinding.getSubjects().get(0).getKind()); + assertEquals("jane", roleBinding.getSubjects().get(0).getName()); + assertEquals("default", roleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(roleBinding.getRoleRef()); + assertEquals("Role", roleBinding.getRoleRef().getKind()); + assertEquals("job-reader", roleBinding.getRoleRef().getName()); + assertEquals("rbac.authorization.k8s.io", roleBinding.getRoleRef().getApiGroup()); //test of list - KubernetesRoleBindingList kubernetesRoleBindingList = client.rbac().kubernetesRoleBindings().list(); + RoleBindingList kubernetesRoleBindingList = client.rbac().roleBindings().list(); assertNotNull(kubernetesRoleBindingList); assertNotNull(kubernetesRoleBindingList.getItems()); @@ -100,30 +100,30 @@ public void crudTest() { assertEquals("rbac.authorization.k8s.io", kubernetesRoleBindingList.getItems().get(0).getRoleRef().getApiGroup()); //test of updation - kubernetesRoleBinding = client.rbac().kubernetesRoleBindings().withName("read-jobs").edit() + roleBinding = client.rbac().roleBindings().withName("read-jobs").edit() .editSubject(0).withName("jane-new").endSubject().done(); - assertNotNull(kubernetesRoleBinding); - assertEquals("RoleBinding", kubernetesRoleBinding.getKind()); - assertEquals("rbac.authorization.k8s.io/v1", kubernetesRoleBinding.getApiVersion()); - assertNotNull(kubernetesRoleBinding.getMetadata()); - assertEquals("read-jobs", kubernetesRoleBinding.getMetadata().getName()); - assertNotNull(kubernetesRoleBinding.getSubjects()); - assertEquals(1, kubernetesRoleBinding.getSubjects().size()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBinding.getSubjects().get(0).getApiGroup()); - assertEquals("User", kubernetesRoleBinding.getSubjects().get(0).getKind()); - assertEquals("jane-new", kubernetesRoleBinding.getSubjects().get(0).getName()); - assertEquals("default", kubernetesRoleBinding.getSubjects().get(0).getNamespace()); - assertNotNull(kubernetesRoleBinding.getRoleRef()); - assertEquals("Role", kubernetesRoleBinding.getRoleRef().getKind()); - assertEquals("job-reader", kubernetesRoleBinding.getRoleRef().getName()); - assertEquals("rbac.authorization.k8s.io", kubernetesRoleBinding.getRoleRef().getApiGroup()); + assertNotNull(roleBinding); + assertEquals("RoleBinding", roleBinding.getKind()); + assertEquals("rbac.authorization.k8s.io/v1", roleBinding.getApiVersion()); + assertNotNull(roleBinding.getMetadata()); + assertEquals("read-jobs", roleBinding.getMetadata().getName()); + assertNotNull(roleBinding.getSubjects()); + assertEquals(1, roleBinding.getSubjects().size()); + assertEquals("rbac.authorization.k8s.io", roleBinding.getSubjects().get(0).getApiGroup()); + assertEquals("User", roleBinding.getSubjects().get(0).getKind()); + assertEquals("jane-new", roleBinding.getSubjects().get(0).getName()); + assertEquals("default", roleBinding.getSubjects().get(0).getNamespace()); + assertNotNull(roleBinding.getRoleRef()); + assertEquals("Role", roleBinding.getRoleRef().getKind()); + assertEquals("job-reader", roleBinding.getRoleRef().getName()); + assertEquals("rbac.authorization.k8s.io", roleBinding.getRoleRef().getApiGroup()); //test of deletion - boolean deleted = client.rbac().kubernetesRoleBindings().delete(); + boolean deleted = client.rbac().roleBindings().delete(); assertTrue(deleted); - kubernetesRoleBindingList = client.rbac().kubernetesRoleBindings().list(); + kubernetesRoleBindingList = client.rbac().roleBindings().list(); assertEquals(0,kubernetesRoleBindingList.getItems().size()); } diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesRoleCrudTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/RoleCrudTest.java similarity index 89% rename from kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesRoleCrudTest.java rename to kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/RoleCrudTest.java index bec33eae3ff..1cc98f57e7f 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/KubernetesRoleCrudTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/RoleCrudTest.java @@ -15,10 +15,10 @@ */ package io.fabric8.kubernetes.client.mock; -import io.fabric8.kubernetes.api.model.rbac.KubernetesPolicyRuleBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRole; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleBuilder; -import io.fabric8.kubernetes.api.model.rbac.KubernetesRoleList; +import io.fabric8.kubernetes.api.model.rbac.PolicyRuleBuilder; +import io.fabric8.kubernetes.api.model.rbac.Role; +import io.fabric8.kubernetes.api.model.rbac.RoleBuilder; +import io.fabric8.kubernetes.api.model.rbac.RoleList; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.server.mock.KubernetesServer; import org.junit.Rule; @@ -30,9 +30,9 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -public class KubernetesRoleCrudTest { +public class RoleCrudTest { - private static final Logger logger = LoggerFactory.getLogger(KubernetesRoleCrudTest.class); + private static final Logger logger = LoggerFactory.getLogger(RoleCrudTest.class); @Rule public KubernetesServer kubernetesServer = new KubernetesServer(true,true); @@ -42,11 +42,11 @@ public void crudTest(){ KubernetesClient client = kubernetesServer.getClient(); - KubernetesRole kubernetesRole = new KubernetesRoleBuilder() + Role kubernetesRole = new RoleBuilder() .withNewMetadata() .withName("job-reader") .endMetadata() - .addToRules(0, new KubernetesPolicyRuleBuilder() + .addToRules(0, new PolicyRuleBuilder() .addToApiGroups(0,"batch") .addToNonResourceURLs(0,"/healthz") .addToResourceNames(0,"my-job") @@ -59,7 +59,7 @@ public void crudTest(){ .build(); //test of creation - kubernetesRole = client.rbac().kubernetesRoles().create(kubernetesRole); + kubernetesRole = client.rbac().roles().create(kubernetesRole); assertNotNull(kubernetesRole); assertEquals("Role", kubernetesRole.getKind()); @@ -87,7 +87,7 @@ public void crudTest(){ assertEquals("list", kubernetesRole.getRules().get(0).getVerbs().get(2)); //test of list - KubernetesRoleList kubernetesRoleList = client.rbac().kubernetesRoles().list(); + RoleList kubernetesRoleList = client.rbac().roles().list(); assertNotNull(kubernetesRoleList); assertNotNull(kubernetesRoleList.getItems()); @@ -119,7 +119,7 @@ public void crudTest(){ //test of updation - kubernetesRole = client.rbac().kubernetesRoles().withName("job-reader").edit() + kubernetesRole = client.rbac().roles().withName("job-reader").edit() .editRule(0).addToApiGroups(1, "extensions").endRule().done(); assertNotNull(kubernetesRole); @@ -149,10 +149,10 @@ public void crudTest(){ assertEquals("list", kubernetesRole.getRules().get(0).getVerbs().get(2)); //test of deletion - boolean deleted = client.rbac().kubernetesRoles().delete(); + boolean deleted = client.rbac().roles().delete(); assertTrue(deleted); - kubernetesRoleList = client.rbac().kubernetesRoles().list(); + kubernetesRoleList = client.rbac().roles().list(); assertEquals(0,kubernetesRoleList.getItems().size()); } } diff --git a/kubernetes-tests/src/test/java/io/fabric8/openshift/client/server/mock/RoleBindingTest.java b/kubernetes-tests/src/test/java/io/fabric8/openshift/client/server/mock/OpenshiftRoleBindingTest.java similarity index 70% rename from kubernetes-tests/src/test/java/io/fabric8/openshift/client/server/mock/RoleBindingTest.java rename to kubernetes-tests/src/test/java/io/fabric8/openshift/client/server/mock/OpenshiftRoleBindingTest.java index 955b0d3740d..79c7d3fe006 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/openshift/client/server/mock/RoleBindingTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/openshift/client/server/mock/OpenshiftRoleBindingTest.java @@ -16,8 +16,8 @@ package io.fabric8.openshift.client.server.mock; import com.fasterxml.jackson.databind.ObjectMapper; -import io.fabric8.openshift.api.model.RoleBinding; -import io.fabric8.openshift.api.model.RoleBindingBuilder; +import io.fabric8.openshift.api.model.OpenshiftRoleBinding; +import io.fabric8.openshift.api.model.OpenshiftRoleBindingBuilder; import io.fabric8.openshift.client.NamespacedOpenShiftClient; import okhttp3.mockwebserver.RecordedRequest; import org.junit.Rule; @@ -25,11 +25,11 @@ import static org.junit.Assert.assertEquals; -public class RoleBindingTest { +public class OpenshiftRoleBindingTest { @Rule public OpenShiftServer server = new OpenShiftServer(); - private RoleBinding expectedRoleBinding = new RoleBindingBuilder() + private OpenshiftRoleBinding expectedOpenshiftRoleBinding = new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addToUserNames("testuser1", "testuser2", "system:serviceaccount:test:svcacct") .addToGroupNames("testgroup") @@ -41,12 +41,12 @@ public class RoleBindingTest { @Test public void testCreateWithOnlySubjects() throws Exception { - server.expect().post().withPath("/oapi/v1/namespaces/test/rolebindings").andReturn(201, expectedRoleBinding).once(); + server.expect().post().withPath("/oapi/v1/namespaces/test/rolebindings").andReturn(201, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().create( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().create( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addNewSubject().withKind("User").withName("testuser1").endSubject() .addNewSubject().withKind("User").withName("testuser2").endSubject() @@ -54,60 +54,60 @@ public void testCreateWithOnlySubjects() throws Exception { .addNewSubject().withKind("Group").withName("testgroup").endSubject() .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); RecordedRequest request = server.getMockServer().takeRequest(); - assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(request.getBody().inputStream())); + assertEquals(expectedOpenshiftRoleBinding, new ObjectMapper().readerFor(OpenshiftRoleBinding.class).readValue(request.getBody().inputStream())); } @Test public void testCreateWithUserNamesAndGroupsAndNoSubjects() throws Exception { - server.expect().post().withPath("/oapi/v1/namespaces/test/rolebindings").andReturn(201, expectedRoleBinding).once(); + server.expect().post().withPath("/oapi/v1/namespaces/test/rolebindings").andReturn(201, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().create( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().create( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addToUserNames("testuser1", "testuser2", "system:serviceaccount:test:svcacct") .addToGroupNames("testgroup") .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); RecordedRequest request = server.getMockServer().takeRequest(); - assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(request.getBody().inputStream())); + assertEquals(expectedOpenshiftRoleBinding, new ObjectMapper().readerFor(OpenshiftRoleBinding.class).readValue(request.getBody().inputStream())); } @Test public void testCreateWithUserNamesAndGroupsAndOverwriteSubjects() throws Exception { - server.expect().post().withPath("/oapi/v1/namespaces/test/rolebindings").andReturn(201, expectedRoleBinding).once(); + server.expect().post().withPath("/oapi/v1/namespaces/test/rolebindings").andReturn(201, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().create( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().create( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addToUserNames("testuser1", "testuser2", "system:serviceaccount:test:svcacct") .addToGroupNames("testgroup") .addNewSubject().withKind("User").withName("unexpected").endSubject() .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); RecordedRequest request = server.getMockServer().takeRequest(); - assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(request.getBody().inputStream())); + assertEquals(expectedOpenshiftRoleBinding, new ObjectMapper().readerFor(OpenshiftRoleBinding.class).readValue(request.getBody().inputStream())); } @Test public void testReplaceWithOnlySubjects() throws Exception { - server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); - server.expect().put().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); + server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); + server.expect().put().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().withName("testrb").replace( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().withName("testrb").replace( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addNewSubject().withKind("User").withName("testuser1").endSubject() .addNewSubject().withKind("User").withName("testuser2").endSubject() @@ -115,68 +115,68 @@ public void testReplaceWithOnlySubjects() throws Exception { .addNewSubject().withKind("Group").withName("testgroup").endSubject() .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); // Initial GET server.getMockServer().takeRequest(); RecordedRequest request = server.getMockServer().takeRequest(); - assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(request.getBody().inputStream())); + assertEquals(expectedOpenshiftRoleBinding, new ObjectMapper().readerFor(OpenshiftRoleBinding.class).readValue(request.getBody().inputStream())); } @Test public void testReplaceWithUserNamesAndGroupsAndNoSubjects() throws Exception { - server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); - server.expect().put().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); + server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); + server.expect().put().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().withName("testrb").replace( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().withName("testrb").replace( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addToUserNames("testuser1", "testuser2", "system:serviceaccount:test:svcacct") .addToGroupNames("testgroup") .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); // Initial GET server.getMockServer().takeRequest(); RecordedRequest request = server.getMockServer().takeRequest(); - assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(request.getBody().inputStream())); + assertEquals(expectedOpenshiftRoleBinding, new ObjectMapper().readerFor(OpenshiftRoleBinding.class).readValue(request.getBody().inputStream())); } @Test public void testReplaceWithUserNamesAndGroupsAndOverwriteSubjects() throws Exception { - server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); - server.expect().put().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); + server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); + server.expect().put().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().withName("testrb").replace( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().withName("testrb").replace( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addToUserNames("testuser1", "testuser2", "system:serviceaccount:test:svcacct") .addToGroupNames("testgroup") .addNewSubject().withKind("User").withName("unexpected").endSubject() .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); // Initial GET server.getMockServer().takeRequest(); RecordedRequest request = server.getMockServer().takeRequest(); - assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(request.getBody().inputStream())); + assertEquals(expectedOpenshiftRoleBinding, new ObjectMapper().readerFor(OpenshiftRoleBinding.class).readValue(request.getBody().inputStream())); } @Test public void testPatchWithOnlySubjects() throws Exception { - server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, new RoleBindingBuilder().addToUserNames("unexpected").build()).once(); - server.expect().patch().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); + server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, new OpenshiftRoleBindingBuilder().addToUserNames("unexpected").build()).once(); + server.expect().patch().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().withName("testrb").patch( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().withName("testrb").patch( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addNewSubject().withKind("User").withName("testuser1").endSubject() .addNewSubject().withKind("User").withName("testuser2").endSubject() @@ -184,7 +184,7 @@ public void testPatchWithOnlySubjects() throws Exception { .addNewSubject().withKind("Group").withName("testgroup").endSubject() .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); // Initial GET server.getMockServer().takeRequest(); @@ -197,19 +197,19 @@ public void testPatchWithOnlySubjects() throws Exception { @Test public void testPatchWithUserNamesAndGroupsAndNoSubjects() throws Exception { - server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, new RoleBindingBuilder().addToUserNames("unexpected").build()).once(); - server.expect().patch().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); + server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, new OpenshiftRoleBindingBuilder().addToUserNames("unexpected").build()).once(); + server.expect().patch().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().withName("testrb").patch( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().withName("testrb").patch( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addToUserNames("testuser1", "testuser2", "system:serviceaccount:test:svcacct") .addToGroupNames("testgroup") .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); // Initial GET server.getMockServer().takeRequest(); @@ -222,20 +222,20 @@ public void testPatchWithUserNamesAndGroupsAndNoSubjects() throws Exception { @Test public void testPatchWithUserNamesAndGroupsAndOverwriteSubjects() throws Exception { - server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, new RoleBindingBuilder().addToUserNames("unexpected").build()).once(); - server.expect().patch().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once(); + server.expect().get().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, new OpenshiftRoleBindingBuilder().addToUserNames("unexpected").build()).once(); + server.expect().patch().withPath("/oapi/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().withName("testrb").patch( - new RoleBindingBuilder() + OpenshiftRoleBinding response = client.roleBindings().withName("testrb").patch( + new OpenshiftRoleBindingBuilder() .withNewMetadata().endMetadata() .addToUserNames("testuser1", "testuser2", "system:serviceaccount:test:svcacct") .addToGroupNames("testgroup") .addNewSubject().withKind("User").withName("unexpected").endSubject() .build() ); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); // Initial GET server.getMockServer().takeRequest(); @@ -248,21 +248,21 @@ public void testPatchWithUserNamesAndGroupsAndOverwriteSubjects() throws Excepti @Test public void testCreateInline() throws Exception { - server.expect().post().withPath("/oapi/v1/namespaces/test/rolebindings").andReturn(201, expectedRoleBinding).once(); + server.expect().post().withPath("/oapi/v1/namespaces/test/rolebindings").andReturn(201, expectedOpenshiftRoleBinding).once(); NamespacedOpenShiftClient client = server.getOpenshiftClient(); - RoleBinding response = client.roleBindings().createNew() + OpenshiftRoleBinding response = client.roleBindings().createNew() .withNewMetadata().endMetadata() .addNewSubject().withKind("User").withName("testuser1").endSubject() .addNewSubject().withKind("User").withName("testuser2").endSubject() .addNewSubject().withKind("ServiceAccount").withName("svcacct").endSubject() .addNewSubject().withKind("Group").withName("testgroup").endSubject() .done(); - assertEquals(expectedRoleBinding, response); + assertEquals(expectedOpenshiftRoleBinding, response); RecordedRequest request = server.getMockServer().takeRequest(); - assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(request.getBody().inputStream())); + assertEquals(expectedOpenshiftRoleBinding, new ObjectMapper().readerFor(OpenshiftRoleBinding.class).readValue(request.getBody().inputStream())); } } diff --git a/kubernetes-tests/src/test/resources/test-clusterrole.yml b/kubernetes-tests/src/test/resources/test-clusterrole.yml new file mode 100644 index 00000000000..e09ef838d1c --- /dev/null +++ b/kubernetes-tests/src/test/resources/test-clusterrole.yml @@ -0,0 +1,33 @@ +# +# Copyright (C) 2015 Red Hat, Inc. +# +# Licensed 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. +# + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: viewer +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' +- nonResourceURLs: + - '*' + verbs: + - list + - get + - watch diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/DefaultOpenShiftClient.java b/openshift-client/src/main/java/io/fabric8/openshift/client/DefaultOpenShiftClient.java index 45fe536403b..9f902913d3f 100644 --- a/openshift-client/src/main/java/io/fabric8/openshift/client/DefaultOpenShiftClient.java +++ b/openshift-client/src/main/java/io/fabric8/openshift/client/DefaultOpenShiftClient.java @@ -15,60 +15,12 @@ */ package io.fabric8.openshift.client; -import io.fabric8.kubernetes.api.model.ComponentStatus; -import io.fabric8.kubernetes.api.model.ComponentStatusList; -import io.fabric8.kubernetes.api.model.ConfigMap; -import io.fabric8.kubernetes.api.model.ConfigMapList; -import io.fabric8.kubernetes.api.model.Doneable; -import io.fabric8.kubernetes.api.model.DoneableComponentStatus; -import io.fabric8.kubernetes.api.model.DoneableConfigMap; -import io.fabric8.kubernetes.api.model.DoneableEndpoints; -import io.fabric8.kubernetes.api.model.DoneableEvent; -import io.fabric8.kubernetes.api.model.DoneableLimitRange; -import io.fabric8.kubernetes.api.model.DoneableNamespace; -import io.fabric8.kubernetes.api.model.DoneableNode; -import io.fabric8.kubernetes.api.model.DoneablePersistentVolume; -import io.fabric8.kubernetes.api.model.DoneablePersistentVolumeClaim; -import io.fabric8.kubernetes.api.model.DoneablePod; -import io.fabric8.kubernetes.api.model.DoneableReplicationController; -import io.fabric8.kubernetes.api.model.DoneableResourceQuota; -import io.fabric8.kubernetes.api.model.DoneableSecret; -import io.fabric8.kubernetes.api.model.DoneableService; -import io.fabric8.kubernetes.api.model.DoneableServiceAccount; -import io.fabric8.kubernetes.api.model.Endpoints; -import io.fabric8.kubernetes.api.model.EndpointsList; -import io.fabric8.kubernetes.api.model.Event; -import io.fabric8.kubernetes.api.model.EventList; -import io.fabric8.kubernetes.api.model.HasMetadata; -import io.fabric8.kubernetes.api.model.KubernetesList; -import io.fabric8.kubernetes.api.model.KubernetesResourceList; -import io.fabric8.kubernetes.api.model.LimitRange; -import io.fabric8.kubernetes.api.model.LimitRangeList; -import io.fabric8.kubernetes.api.model.Namespace; -import io.fabric8.kubernetes.api.model.NamespaceList; -import io.fabric8.kubernetes.api.model.Node; -import io.fabric8.kubernetes.api.model.NodeList; -import io.fabric8.kubernetes.api.model.PersistentVolume; -import io.fabric8.kubernetes.api.model.PersistentVolumeClaim; -import io.fabric8.kubernetes.api.model.PersistentVolumeClaimList; -import io.fabric8.kubernetes.api.model.PersistentVolumeList; -import io.fabric8.kubernetes.api.model.Pod; -import io.fabric8.kubernetes.api.model.PodList; -import io.fabric8.kubernetes.api.model.ReplicationController; -import io.fabric8.kubernetes.api.model.ReplicationControllerList; -import io.fabric8.kubernetes.api.model.ResourceQuota; -import io.fabric8.kubernetes.api.model.ResourceQuotaList; -import io.fabric8.kubernetes.api.model.RootPaths; -import io.fabric8.kubernetes.api.model.Secret; -import io.fabric8.kubernetes.api.model.SecretList; -import io.fabric8.kubernetes.api.model.Service; -import io.fabric8.kubernetes.api.model.ServiceAccount; -import io.fabric8.kubernetes.api.model.ServiceAccountList; -import io.fabric8.kubernetes.api.model.ServiceList; +import io.fabric8.kubernetes.api.model.*; import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList; import io.fabric8.kubernetes.api.model.apiextensions.DoneableCustomResourceDefinition; import io.fabric8.kubernetes.client.*; +import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.dsl.*; import io.fabric8.kubernetes.client.dsl.internal.ClusterOperationsImpl; import io.fabric8.kubernetes.client.dsl.internal.ComponentStatusOperationsImpl; @@ -77,75 +29,19 @@ import io.fabric8.kubernetes.client.utils.BackwardsCompatibilityInterceptor; import io.fabric8.kubernetes.client.utils.ImpersonatorInterceptor; import io.fabric8.kubernetes.client.utils.Serialization; -import io.fabric8.openshift.api.model.Build; -import io.fabric8.openshift.api.model.BuildConfig; -import io.fabric8.openshift.api.model.BuildConfigList; -import io.fabric8.openshift.api.model.BuildList; -import io.fabric8.openshift.api.model.ClusterRoleBinding; -import io.fabric8.openshift.api.model.ClusterRoleBindingList; -import io.fabric8.openshift.api.model.DeploymentConfig; -import io.fabric8.openshift.api.model.DeploymentConfigList; -import io.fabric8.openshift.api.model.DoneableBuild; -import io.fabric8.openshift.api.model.DoneableBuildConfig; -import io.fabric8.openshift.api.model.DoneableClusterRoleBinding; -import io.fabric8.openshift.api.model.DoneableDeploymentConfig; -import io.fabric8.openshift.api.model.DoneableGroup; -import io.fabric8.openshift.api.model.DoneableImageStream; -import io.fabric8.openshift.api.model.DoneableImageStreamTag; -import io.fabric8.openshift.api.model.DoneableOAuthAccessToken; -import io.fabric8.openshift.api.model.DoneableOAuthAuthorizeToken; -import io.fabric8.openshift.api.model.DoneableOAuthClient; -import io.fabric8.openshift.api.model.DoneableProject; -import io.fabric8.openshift.api.model.DoneableRole; -import io.fabric8.openshift.api.model.DoneableRoleBinding; -import io.fabric8.openshift.api.model.DoneableRoute; -import io.fabric8.openshift.api.model.DoneableSecurityContextConstraints; -import io.fabric8.openshift.api.model.DoneableTemplate; -import io.fabric8.openshift.api.model.DoneableUser; -import io.fabric8.openshift.api.model.Group; -import io.fabric8.openshift.api.model.GroupList; -import io.fabric8.openshift.api.model.ImageStream; -import io.fabric8.openshift.api.model.ImageStreamList; -import io.fabric8.openshift.api.model.ImageStreamTag; -import io.fabric8.openshift.api.model.ImageStreamTagList; -import io.fabric8.openshift.api.model.OAuthAccessToken; -import io.fabric8.openshift.api.model.OAuthAccessTokenList; -import io.fabric8.openshift.api.model.OAuthAuthorizeToken; -import io.fabric8.openshift.api.model.OAuthAuthorizeTokenList; -import io.fabric8.openshift.api.model.OAuthClient; -import io.fabric8.openshift.api.model.OAuthClientList; -import io.fabric8.openshift.api.model.Project; -import io.fabric8.openshift.api.model.ProjectList; -import io.fabric8.openshift.api.model.Role; -import io.fabric8.openshift.api.model.RoleBinding; -import io.fabric8.openshift.api.model.RoleBindingList; -import io.fabric8.openshift.api.model.RoleList; -import io.fabric8.openshift.api.model.Route; -import io.fabric8.openshift.api.model.RouteList; -import io.fabric8.openshift.api.model.SecurityContextConstraints; -import io.fabric8.openshift.api.model.SecurityContextConstraintsList; -import io.fabric8.openshift.api.model.Template; -import io.fabric8.openshift.api.model.TemplateList; -import io.fabric8.openshift.api.model.User; -import io.fabric8.openshift.api.model.UserList; -import io.fabric8.openshift.client.dsl.BuildConfigResource; -import io.fabric8.openshift.client.dsl.BuildResource; -import io.fabric8.openshift.client.dsl.CreateableLocalSubjectAccessReview; -import io.fabric8.openshift.client.dsl.CreateableSubjectAccessReview; -import io.fabric8.openshift.client.dsl.DeployableScalableResource; -import io.fabric8.openshift.client.dsl.ProjectRequestOperation; -import io.fabric8.openshift.client.dsl.SubjectAccessReviewOperation; -import io.fabric8.openshift.client.dsl.TemplateResource; +import io.fabric8.openshift.api.model.*; +import io.fabric8.openshift.client.dsl.*; import io.fabric8.openshift.client.dsl.internal.*; import io.fabric8.openshift.client.internal.OpenShiftOAuthInterceptor; +import okhttp3.Authenticator; +import okhttp3.OkHttpClient; + import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.Collection; import java.util.List; import java.util.Objects; -import okhttp3.Authenticator; -import okhttp3.OkHttpClient; public class DefaultOpenShiftClient extends BaseClient implements NamespacedOpenShiftClient { @@ -400,13 +296,13 @@ public ProjectRequestOperation projectrequests() { } @Override - public MixedOperation> roles() { - return new RoleOperationsImpl(httpClient, OpenShiftConfig.wrap(getConfiguration()), getNamespace()); + public MixedOperation> roles() { + return new OpenshiftRoleOperationsImpl(httpClient, OpenShiftConfig.wrap(getConfiguration()), getNamespace()); } @Override - public MixedOperation> roleBindings() { - return new RoleBindingOperationsImpl(httpClient, OpenShiftConfig.wrap(getConfiguration()), getNamespace()); + public MixedOperation> roleBindings() { + return new OpenshiftRoleBindingOperationsImpl(httpClient, OpenShiftConfig.wrap(getConfiguration()), getNamespace()); } @Override @@ -430,8 +326,8 @@ public SubjectAccessReviewOperation> clusterRoleBindings() { - return new ClusterRoleBindingOperationsImpl(httpClient, OpenShiftConfig.wrap(getConfiguration()), getNamespace()); + public MixedOperation> clusterRoleBindings() { + return new OpenshiftClusterRoleBindingOperationsImpl(httpClient, OpenShiftConfig.wrap(getConfiguration()), getNamespace()); } @Override diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/OpenShiftClient.java b/openshift-client/src/main/java/io/fabric8/openshift/client/OpenShiftClient.java index ab3294f5c85..56949591ff0 100644 --- a/openshift-client/src/main/java/io/fabric8/openshift/client/OpenShiftClient.java +++ b/openshift-client/src/main/java/io/fabric8/openshift/client/OpenShiftClient.java @@ -16,23 +16,14 @@ package io.fabric8.openshift.client; -import java.net.URL; - -import io.fabric8.kubernetes.api.model.DoneableSecurityContext; import io.fabric8.kubernetes.api.model.KubernetesList; -import io.fabric8.kubernetes.client.BatchAPIGroupClient; -import io.fabric8.kubernetes.client.VersionInfo; import io.fabric8.kubernetes.client.KubernetesClient; +import io.fabric8.kubernetes.client.VersionInfo; import io.fabric8.kubernetes.client.dsl.*; import io.fabric8.openshift.api.model.*; -import io.fabric8.openshift.client.dsl.BuildConfigResource; -import io.fabric8.openshift.client.dsl.BuildResource; -import io.fabric8.openshift.client.dsl.DeployableScalableResource; -import io.fabric8.openshift.client.dsl.ProjectRequestOperation; -import io.fabric8.openshift.client.dsl.SubjectAccessReviewOperation; -import io.fabric8.openshift.client.dsl.TemplateResource; -import io.fabric8.openshift.client.dsl.CreateableLocalSubjectAccessReview; -import io.fabric8.openshift.client.dsl.CreateableSubjectAccessReview; +import io.fabric8.openshift.client.dsl.*; + +import java.net.URL; public interface OpenShiftClient extends KubernetesClient { @@ -78,9 +69,9 @@ public interface OpenShiftClient extends KubernetesClient { ProjectRequestOperation projectrequests(); - MixedOperation> roles(); + MixedOperation> roles(); - MixedOperation> + MixedOperation> roleBindings(); MixedOperation> routes(); @@ -93,7 +84,7 @@ public interface OpenShiftClient extends KubernetesClient { SubjectAccessReviewOperation subjectAccessReviews(); - MixedOperation> clusterRoleBindings(); + MixedOperation> clusterRoleBindings(); /** * Returns the current logged in user details similar to the `oc whoami` command. diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/ClusterRoleBindingOperationsImpl.java b/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftClusterRoleBindingOperationsImpl.java similarity index 58% rename from openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/ClusterRoleBindingOperationsImpl.java rename to openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftClusterRoleBindingOperationsImpl.java index 1ac5d65a099..83c1b4339c7 100644 --- a/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/ClusterRoleBindingOperationsImpl.java +++ b/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftClusterRoleBindingOperationsImpl.java @@ -17,9 +17,9 @@ import io.fabric8.kubernetes.client.dsl.Resource; import okhttp3.OkHttpClient; -import io.fabric8.openshift.api.model.ClusterRoleBinding; -import io.fabric8.openshift.api.model.ClusterRoleBindingList; -import io.fabric8.openshift.api.model.DoneableClusterRoleBinding; +import io.fabric8.openshift.api.model.OpenshiftClusterRoleBinding; +import io.fabric8.openshift.api.model.OpenshiftClusterRoleBindingList; +import io.fabric8.openshift.api.model.DoneableOpenshiftClusterRoleBinding; import io.fabric8.openshift.client.OpenShiftConfig; import java.util.Map; @@ -27,12 +27,12 @@ import static io.fabric8.openshift.client.OpenShiftAPIGroups.AUTHORIZATION; -public class ClusterRoleBindingOperationsImpl extends OpenShiftOperation> { - public ClusterRoleBindingOperationsImpl(OkHttpClient client, OpenShiftConfig config, String namespace) { +public class OpenshiftClusterRoleBindingOperationsImpl extends OpenShiftOperation> { + public OpenshiftClusterRoleBindingOperationsImpl(OkHttpClient client, OpenShiftConfig config, String namespace) { this(client, config, null, namespace, null, true, null, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()); } - public ClusterRoleBindingOperationsImpl(OkHttpClient client, OpenShiftConfig config, String apiVersion, String namespace, String name, Boolean cascading, ClusterRoleBinding item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { + public OpenshiftClusterRoleBindingOperationsImpl(OkHttpClient client, OpenShiftConfig config, String apiVersion, String namespace, String name, Boolean cascading, OpenshiftClusterRoleBinding item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { super(client, OpenShiftOperation.withApiGroup(client, AUTHORIZATION, apiVersion, config), "clusterrolebindings", namespace, name, cascading, item, resourceVersion, reloadingFromServer, gracePeriodSeconds, labels, labelsNot, labelsIn, labelsNotIn, fields); } } diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/RoleBindingOperationsImpl.java b/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftRoleBindingOperationsImpl.java similarity index 67% rename from openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/RoleBindingOperationsImpl.java rename to openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftRoleBindingOperationsImpl.java index 41145e4a211..46a4cf1cda0 100644 --- a/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/RoleBindingOperationsImpl.java +++ b/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftRoleBindingOperationsImpl.java @@ -20,10 +20,10 @@ import io.fabric8.kubernetes.api.model.ObjectReferenceBuilder; import io.fabric8.kubernetes.client.KubernetesClientException; import io.fabric8.kubernetes.client.dsl.Resource; -import io.fabric8.openshift.api.model.DoneableRoleBinding; -import io.fabric8.openshift.api.model.RoleBinding; -import io.fabric8.openshift.api.model.RoleBindingBuilder; -import io.fabric8.openshift.api.model.RoleBindingList; +import io.fabric8.openshift.api.model.DoneableOpenshiftRoleBinding; +import io.fabric8.openshift.api.model.OpenshiftRoleBinding; +import io.fabric8.openshift.api.model.OpenshiftRoleBindingBuilder; +import io.fabric8.openshift.api.model.OpenshiftRoleBindingList; import io.fabric8.openshift.client.OpenShiftConfig; import okhttp3.OkHttpClient; @@ -35,34 +35,34 @@ import static io.fabric8.openshift.client.OpenShiftAPIGroups.AUTHORIZATION; -public class RoleBindingOperationsImpl extends OpenShiftOperation> { - public RoleBindingOperationsImpl(OkHttpClient client, OpenShiftConfig config, String namespace) { +public class OpenshiftRoleBindingOperationsImpl extends OpenShiftOperation> { + public OpenshiftRoleBindingOperationsImpl(OkHttpClient client, OpenShiftConfig config, String namespace) { this(client, config, null, namespace, null, true, null, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()); } - public RoleBindingOperationsImpl(OkHttpClient client, OpenShiftConfig config, String apiVersion, String namespace, String name, Boolean cascading, RoleBinding item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { + public OpenshiftRoleBindingOperationsImpl(OkHttpClient client, OpenShiftConfig config, String apiVersion, String namespace, String name, Boolean cascading, OpenshiftRoleBinding item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { super(client, OpenShiftOperation.withApiGroup(client, AUTHORIZATION, apiVersion, config), "rolebindings", namespace, name, cascading, item, resourceVersion, reloadingFromServer, gracePeriodSeconds, labels, labelsNot, labelsIn, labelsNotIn, fields); } @Override - public RoleBinding replace(RoleBinding item) { - RoleBinding enriched = enrichRoleBinding(item); + public OpenshiftRoleBinding replace(OpenshiftRoleBinding item) { + OpenshiftRoleBinding enriched = enrichRoleBinding(item); return super.replace(enriched); } @Override - public RoleBinding patch(RoleBinding item) { - RoleBinding enriched = enrichRoleBinding(item); + public OpenshiftRoleBinding patch(OpenshiftRoleBinding item) { + OpenshiftRoleBinding enriched = enrichRoleBinding(item); return super.patch(enriched); } @Override - protected RoleBinding handleCreate(RoleBinding resource) throws ExecutionException, InterruptedException, KubernetesClientException, IOException { + protected OpenshiftRoleBinding handleCreate(OpenshiftRoleBinding resource) throws ExecutionException, InterruptedException, KubernetesClientException, IOException { return super.handleCreate(enrichRoleBinding(resource)); } - private RoleBinding enrichRoleBinding(RoleBinding binding) { - RoleBindingBuilder builder = new RoleBindingBuilder(binding); + private OpenshiftRoleBinding enrichRoleBinding(OpenshiftRoleBinding binding) { + OpenshiftRoleBindingBuilder builder = new OpenshiftRoleBindingBuilder(binding); if ((binding.getUserNames() != null && !binding.getUserNames().isEmpty()) || (binding.getGroupNames() != null && !binding.getGroupNames().isEmpty())) { @@ -75,7 +75,7 @@ private RoleBinding enrichRoleBinding(RoleBinding binding) { return builder.build(); } - private void enrichSubjectsNamespace(RoleBindingBuilder builder) { + private void enrichSubjectsNamespace(OpenshiftRoleBindingBuilder builder) { builder.accept(new TypedVisitor() { @Override public void visit(ObjectReferenceBuilder o) { @@ -86,7 +86,7 @@ public void visit(ObjectReferenceBuilder o) { }); } - private void enrichFromUsersAndGroups(RoleBindingBuilder builder, List userNames, List groupNames) { + private void enrichFromUsersAndGroups(OpenshiftRoleBindingBuilder builder, List userNames, List groupNames) { builder.withSubjects(); if (userNames != null) { @@ -110,7 +110,7 @@ private void enrichFromUsersAndGroups(RoleBindingBuilder builder, List u } } - private void enrichFromSubjects(RoleBindingBuilder builder, List subjects) { + private void enrichFromSubjects(OpenshiftRoleBindingBuilder builder, List subjects) { for (ObjectReference ref : subjects) { switch (ref.getKind()) { case "User": diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/RoleOperationsImpl.java b/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftRoleOperationsImpl.java similarity index 62% rename from openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/RoleOperationsImpl.java rename to openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftRoleOperationsImpl.java index a67751dec9a..48f835f76c9 100644 --- a/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/RoleOperationsImpl.java +++ b/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenshiftRoleOperationsImpl.java @@ -16,23 +16,23 @@ package io.fabric8.openshift.client.dsl.internal; import io.fabric8.kubernetes.client.dsl.Resource; -import io.fabric8.openshift.api.model.DoneableRole; -import io.fabric8.openshift.api.model.Role; -import io.fabric8.openshift.api.model.RoleList; import io.fabric8.openshift.client.OpenShiftConfig; import okhttp3.OkHttpClient; +import io.fabric8.openshift.api.model.OpenshiftRole; +import io.fabric8.openshift.api.model.OpenshiftRoleList; +import io.fabric8.openshift.api.model.DoneableOpenshiftRole; import java.util.Map; import java.util.TreeMap; import static io.fabric8.openshift.client.OpenShiftAPIGroups.AUTHORIZATION; -public class RoleOperationsImpl extends OpenShiftOperation> { - public RoleOperationsImpl(OkHttpClient client, OpenShiftConfig config, String namespace) { +public class OpenshiftRoleOperationsImpl extends OpenShiftOperation> { + public OpenshiftRoleOperationsImpl(OkHttpClient client, OpenShiftConfig config, String namespace) { this(client, config, null, namespace, null, true, null, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()); } - public RoleOperationsImpl(OkHttpClient client, OpenShiftConfig config, String apiVersion, String namespace, String name, Boolean cascading, Role item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { + public OpenshiftRoleOperationsImpl(OkHttpClient client, OpenShiftConfig config, String apiVersion, String namespace, String name, Boolean cascading, OpenshiftRole item, String resourceVersion, Boolean reloadingFromServer, long gracePeriodSeconds, Map labels, Map labelsNot, Map labelsIn, Map labelsNotIn, Map fields) { super(client, OpenShiftOperation.withApiGroup(client, AUTHORIZATION, apiVersion, config), "roles", namespace, name, cascading, item, resourceVersion, reloadingFromServer, gracePeriodSeconds, labels, labelsNot, labelsIn, labelsNotIn, fields); } } diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/OpenshiftRoleBindingHandler.java b/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/OpenshiftRoleBindingHandler.java new file mode 100644 index 00000000000..6c95ac1b2e0 --- /dev/null +++ b/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/OpenshiftRoleBindingHandler.java @@ -0,0 +1,87 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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.openshift.client.handlers; + +import io.fabric8.kubernetes.client.Config; +import io.fabric8.kubernetes.client.ResourceHandler; +import io.fabric8.kubernetes.client.Watch; +import io.fabric8.kubernetes.client.Watcher; +import io.fabric8.openshift.api.model.OpenshiftRoleBinding; +import io.fabric8.openshift.api.model.OpenshiftRoleBindingBuilder; +import io.fabric8.openshift.client.OpenShiftConfig; +import io.fabric8.openshift.client.dsl.internal.OpenshiftRoleBindingOperationsImpl; +import okhttp3.OkHttpClient; +import org.apache.felix.scr.annotations.Component; +import org.apache.felix.scr.annotations.Service; + +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; +import java.util.function.Predicate; + +@Component +@Service +public class OpenshiftRoleBindingHandler implements ResourceHandler { + + @Override + public String getKind() { + return OpenshiftRoleBinding.class.getSimpleName(); + } + + @Override + public OpenshiftRoleBinding create(OkHttpClient client, Config config, String namespace, OpenshiftRoleBinding item) { + return new OpenshiftRoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); + } + + @Override + public OpenshiftRoleBinding replace(OkHttpClient client, Config config, String namespace, OpenshiftRoleBinding item) { + return new OpenshiftRoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); + } + + @Override + public OpenshiftRoleBinding reload(OkHttpClient client, Config config, String namespace, OpenshiftRoleBinding item) { + return new OpenshiftRoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); + } + + @Override + public OpenshiftRoleBindingBuilder edit(OpenshiftRoleBinding item) { + return new OpenshiftRoleBindingBuilder(item); + } + + @Override + public Boolean delete(OkHttpClient client, Config config, String namespace, OpenshiftRoleBinding item) { + return new OpenshiftRoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, OpenshiftRoleBinding item, Watcher watcher) { + return new OpenshiftRoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, OpenshiftRoleBinding item, String resourceVersion, Watcher watcher) { + return new OpenshiftRoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); + } + + @Override + public OpenshiftRoleBinding waitUntilReady(OkHttpClient client, Config config, String namespace, OpenshiftRoleBinding item, long amount, TimeUnit timeUnit) throws InterruptedException { + return new OpenshiftRoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); + } + + @Override + public OpenshiftRoleBinding waitUntilCondition(OkHttpClient client, Config config, String namespace, OpenshiftRoleBinding item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { + return new OpenshiftRoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); + } +} diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/OpenshiftRoleHandler.java b/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/OpenshiftRoleHandler.java new file mode 100644 index 00000000000..b0cdefb1b2e --- /dev/null +++ b/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/OpenshiftRoleHandler.java @@ -0,0 +1,87 @@ +/** + * Copyright (C) 2015 Red Hat, Inc. + * + * Licensed 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.openshift.client.handlers; + +import io.fabric8.kubernetes.client.Config; +import io.fabric8.kubernetes.client.ResourceHandler; +import io.fabric8.kubernetes.client.Watch; +import io.fabric8.kubernetes.client.Watcher; +import io.fabric8.openshift.api.model.OpenshiftRole; +import io.fabric8.openshift.api.model.OpenshiftRoleBuilder; +import io.fabric8.openshift.client.OpenShiftConfig; +import io.fabric8.openshift.client.dsl.internal.OpenshiftRoleOperationsImpl; +import java.util.function.Predicate; +import okhttp3.OkHttpClient; +import org.apache.felix.scr.annotations.Component; +import org.apache.felix.scr.annotations.Service; + +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; + +@Component +@Service +public class OpenshiftRoleHandler implements ResourceHandler { + + @Override + public String getKind() { + return OpenshiftRole.class.getSimpleName(); + } + + @Override + public OpenshiftRole create(OkHttpClient client, Config config, String namespace, OpenshiftRole item) { + return new OpenshiftRoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); + } + + @Override + public OpenshiftRole replace(OkHttpClient client, Config config, String namespace, OpenshiftRole item) { + return new OpenshiftRoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); + } + + @Override + public OpenshiftRole reload(OkHttpClient client, Config config, String namespace, OpenshiftRole item) { + return new OpenshiftRoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); + } + + @Override + public OpenshiftRoleBuilder edit(OpenshiftRole item) { + return new OpenshiftRoleBuilder(item); + } + + @Override + public Boolean delete(OkHttpClient client, Config config, String namespace, OpenshiftRole item) { + return new OpenshiftRoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, OpenshiftRole item, Watcher watcher) { + return new OpenshiftRoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); + } + + @Override + public Watch watch(OkHttpClient client, Config config, String namespace, OpenshiftRole item, String resourceVersion, Watcher watcher) { + return new OpenshiftRoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); + } + + @Override + public OpenshiftRole waitUntilReady(OkHttpClient client, Config config, String namespace, OpenshiftRole item, long amount, TimeUnit timeUnit) throws InterruptedException { + return new OpenshiftRoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); + } + + @Override + public OpenshiftRole waitUntilCondition(OkHttpClient client, Config config, String namespace, OpenshiftRole item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { + return new OpenshiftRoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); + } +} diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/RoleBindingHandler.java b/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/RoleBindingHandler.java deleted file mode 100644 index 20f9ef0d8ba..00000000000 --- a/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/RoleBindingHandler.java +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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.openshift.client.handlers; - -import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; -import java.util.function.Predicate; -import okhttp3.OkHttpClient; -import io.fabric8.kubernetes.client.Config; -import io.fabric8.kubernetes.client.ResourceHandler; -import io.fabric8.openshift.api.model.RoleBinding; -import io.fabric8.openshift.api.model.RoleBindingBuilder; -import io.fabric8.openshift.client.OpenShiftConfig; -import io.fabric8.openshift.client.dsl.internal.RoleBindingOperationsImpl; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; - -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; - -@Component -@Service -public class RoleBindingHandler implements ResourceHandler { - - @Override - public String getKind() { - return RoleBinding.class.getSimpleName(); - } - - @Override - public RoleBinding create(OkHttpClient client, Config config, String namespace, RoleBinding item) { - return new RoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); - } - - @Override - public RoleBinding replace(OkHttpClient client, Config config, String namespace, RoleBinding item) { - return new RoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); - } - - @Override - public RoleBinding reload(OkHttpClient client, Config config, String namespace, RoleBinding item) { - return new RoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); - } - - @Override - public RoleBindingBuilder edit(RoleBinding item) { - return new RoleBindingBuilder(item); - } - - @Override - public Boolean delete(OkHttpClient client, Config config, String namespace, RoleBinding item) { - return new RoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, RoleBinding item, Watcher watcher) { - return new RoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, RoleBinding item, String resourceVersion, Watcher watcher) { - return new RoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); - } - - @Override - public RoleBinding waitUntilReady(OkHttpClient client, Config config, String namespace, RoleBinding item, long amount, TimeUnit timeUnit) throws InterruptedException { - return new RoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); - } - - @Override - public RoleBinding waitUntilCondition(OkHttpClient client, Config config, String namespace, RoleBinding item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { - return new RoleBindingOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); - } -} diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/RoleHandler.java b/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/RoleHandler.java deleted file mode 100644 index 55c66998c14..00000000000 --- a/openshift-client/src/main/java/io/fabric8/openshift/client/handlers/RoleHandler.java +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Copyright (C) 2015 Red Hat, Inc. - * - * Licensed 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.openshift.client.handlers; - -import io.fabric8.kubernetes.client.Config; -import io.fabric8.kubernetes.client.ResourceHandler; -import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; -import io.fabric8.openshift.api.model.Role; -import io.fabric8.openshift.api.model.RoleBuilder; -import io.fabric8.openshift.client.OpenShiftConfig; -import io.fabric8.openshift.client.dsl.internal.RoleOperationsImpl; -import java.util.function.Predicate; -import okhttp3.OkHttpClient; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; - -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; - -@Component -@Service -public class RoleHandler implements ResourceHandler { - - @Override - public String getKind() { - return Role.class.getSimpleName(); - } - - @Override - public Role create(OkHttpClient client, Config config, String namespace, Role item) { - return new RoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).create(); - } - - @Override - public Role replace(OkHttpClient client, Config config, String namespace, Role item) { - return new RoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, true, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).replace(item); - } - - @Override - public Role reload(OkHttpClient client, Config config, String namespace, Role item) { - return new RoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).fromServer().get(); - } - - @Override - public RoleBuilder edit(Role item) { - return new RoleBuilder(item); - } - - @Override - public Boolean delete(OkHttpClient client, Config config, String namespace, Role item) { - return new RoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).delete(item); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, Role item, Watcher watcher) { - return new RoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(watcher); - } - - @Override - public Watch watch(OkHttpClient client, Config config, String namespace, Role item, String resourceVersion, Watcher watcher) { - return new RoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).watch(resourceVersion, watcher); - } - - @Override - public Role waitUntilReady(OkHttpClient client, Config config, String namespace, Role item, long amount, TimeUnit timeUnit) throws InterruptedException { - return new RoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilReady(amount, timeUnit); - } - - @Override - public Role waitUntilCondition(OkHttpClient client, Config config, String namespace, Role item, Predicate condition, long amount, TimeUnit timeUnit) throws InterruptedException { - return new RoleOperationsImpl(client, OpenShiftConfig.wrap(config), null, namespace, null, true, item, null, false, -1, new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap(), new TreeMap()).waitUntilCondition(condition, amount, timeUnit); - } -} diff --git a/openshift-client/src/main/java/io/fabric8/openshift/client/osgi/ManagedOpenShiftClient.java b/openshift-client/src/main/java/io/fabric8/openshift/client/osgi/ManagedOpenShiftClient.java index 1469aeb2df0..48197546e8d 100644 --- a/openshift-client/src/main/java/io/fabric8/openshift/client/osgi/ManagedOpenShiftClient.java +++ b/openshift-client/src/main/java/io/fabric8/openshift/client/osgi/ManagedOpenShiftClient.java @@ -17,82 +17,22 @@ package io.fabric8.openshift.client.osgi; import io.fabric8.kubernetes.api.model.*; -import io.fabric8.kubernetes.client.VersionInfo; -import io.fabric8.kubernetes.client.dsl.*; -import io.fabric8.openshift.api.model.DoneableSecurityContextConstraints; -import io.fabric8.openshift.api.model.SecurityContextConstraints; -import io.fabric8.openshift.api.model.SecurityContextConstraintsList; import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList; import io.fabric8.kubernetes.api.model.apiextensions.DoneableCustomResourceDefinition; import io.fabric8.kubernetes.client.BaseClient; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.RequestConfig; +import io.fabric8.kubernetes.client.VersionInfo; +import io.fabric8.kubernetes.client.dsl.*; import io.fabric8.kubernetes.client.utils.URLUtils; -import io.fabric8.openshift.api.model.Build; -import io.fabric8.openshift.api.model.BuildConfig; -import io.fabric8.openshift.api.model.BuildConfigList; -import io.fabric8.openshift.api.model.BuildList; -import io.fabric8.openshift.api.model.ClusterRoleBinding; -import io.fabric8.openshift.api.model.ClusterRoleBindingList; -import io.fabric8.openshift.api.model.DeploymentConfig; -import io.fabric8.openshift.api.model.DeploymentConfigList; -import io.fabric8.openshift.api.model.DoneableBuild; -import io.fabric8.openshift.api.model.DoneableBuildConfig; -import io.fabric8.openshift.api.model.DoneableClusterRoleBinding; -import io.fabric8.openshift.api.model.DoneableDeploymentConfig; -import io.fabric8.openshift.api.model.DoneableGroup; -import io.fabric8.openshift.api.model.DoneableImageStream; -import io.fabric8.openshift.api.model.DoneableImageStreamTag; -import io.fabric8.openshift.api.model.DoneableOAuthAccessToken; -import io.fabric8.openshift.api.model.DoneableOAuthAuthorizeToken; -import io.fabric8.openshift.api.model.DoneableOAuthClient; -import io.fabric8.openshift.api.model.DoneableProject; -import io.fabric8.openshift.api.model.DoneableRole; -import io.fabric8.openshift.api.model.DoneableRoleBinding; -import io.fabric8.openshift.api.model.DoneableRoute; -import io.fabric8.openshift.api.model.DoneableTemplate; -import io.fabric8.openshift.api.model.DoneableUser; -import io.fabric8.openshift.api.model.Group; -import io.fabric8.openshift.api.model.GroupList; -import io.fabric8.openshift.api.model.ImageStream; -import io.fabric8.openshift.api.model.ImageStreamList; -import io.fabric8.openshift.api.model.ImageStreamTag; -import io.fabric8.openshift.api.model.ImageStreamTagList; -import io.fabric8.openshift.api.model.OAuthAccessToken; -import io.fabric8.openshift.api.model.OAuthAccessTokenList; -import io.fabric8.openshift.api.model.OAuthAuthorizeToken; -import io.fabric8.openshift.api.model.OAuthAuthorizeTokenList; -import io.fabric8.openshift.api.model.OAuthClient; -import io.fabric8.openshift.api.model.OAuthClientList; -import io.fabric8.openshift.api.model.Project; -import io.fabric8.openshift.api.model.ProjectList; -import io.fabric8.openshift.api.model.Role; -import io.fabric8.openshift.api.model.RoleBinding; -import io.fabric8.openshift.api.model.RoleBindingList; -import io.fabric8.openshift.api.model.RoleList; -import io.fabric8.openshift.api.model.Route; -import io.fabric8.openshift.api.model.RouteList; -import io.fabric8.openshift.api.model.Template; -import io.fabric8.openshift.api.model.TemplateList; -import io.fabric8.openshift.api.model.User; -import io.fabric8.openshift.api.model.UserList; +import io.fabric8.openshift.api.model.*; import io.fabric8.openshift.client.DefaultOpenShiftClient; import io.fabric8.openshift.client.NamespacedOpenShiftClient; import io.fabric8.openshift.client.OpenShiftClient; import io.fabric8.openshift.client.OpenShiftConfigBuilder; -import io.fabric8.openshift.client.dsl.BuildConfigResource; -import io.fabric8.openshift.client.dsl.BuildResource; -import io.fabric8.openshift.client.dsl.DeployableScalableResource; -import io.fabric8.openshift.client.dsl.ProjectRequestOperation; -import io.fabric8.openshift.client.dsl.SubjectAccessReviewOperation; -import io.fabric8.openshift.client.dsl.TemplateResource; -import io.fabric8.openshift.client.dsl.CreateableLocalSubjectAccessReview; -import io.fabric8.openshift.client.dsl.CreateableSubjectAccessReview; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.ConfigurationPolicy; -import org.apache.felix.scr.annotations.Deactivate; +import io.fabric8.openshift.client.dsl.*; +import org.apache.felix.scr.annotations.*; import org.apache.felix.scr.annotations.Service; import java.io.InputStream; @@ -122,9 +62,7 @@ import static io.fabric8.kubernetes.client.Config.KUBERNETES_WATCH_RECONNECT_LIMIT_SYSTEM_PROPERTY; import static io.fabric8.kubernetes.client.Config.KUBERNETES_WEBSOCKET_PING_INTERVAL_SYSTEM_PROPERTY; import static io.fabric8.kubernetes.client.Config.KUBERNETES_WEBSOCKET_TIMEOUT_SYSTEM_PROPERTY; -import static io.fabric8.openshift.client.OpenShiftConfig.DEFAULT_BUILD_TIMEOUT; -import static io.fabric8.openshift.client.OpenShiftConfig.OPENSHIFT_BUILD_TIMEOUT_SYSTEM_PROPERTY; -import static io.fabric8.openshift.client.OpenShiftConfig.OPENSHIFT_URL_SYTEM_PROPERTY; +import static io.fabric8.openshift.client.OpenShiftConfig.*; @Component(immediate = true, configurationPid = "io.fabric8.openshift.client", policy = ConfigurationPolicy.OPTIONAL) @Service({OpenShiftClient.class, NamespacedOpenShiftClient.class}) @@ -288,12 +226,12 @@ public ProjectRequestOperation projectrequests() { } @Override - public MixedOperation> roles() { + public MixedOperation> roles() { return delegate.roles(); } @Override - public MixedOperation> roleBindings() { + public MixedOperation> roleBindings() { return delegate.roleBindings(); } @@ -318,7 +256,7 @@ public SubjectAccessReviewOperation> clusterRoleBindings() { + public MixedOperation> clusterRoleBindings() { return delegate.clusterRoleBindings(); } diff --git a/openshift-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ResourceHandler b/openshift-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ResourceHandler index ff46ddc96fe..0ef52325713 100644 --- a/openshift-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ResourceHandler +++ b/openshift-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ResourceHandler @@ -9,8 +9,8 @@ io.fabric8.openshift.client.handlers.OAuthAuthorizeTokenHandler io.fabric8.openshift.client.handlers.OAuthClientHandler io.fabric8.openshift.client.handlers.ProjectHandler io.fabric8.openshift.client.handlers.ProjectRequestHandler -io.fabric8.openshift.client.handlers.RoleHandler -io.fabric8.openshift.client.handlers.RoleBindingHandler +io.fabric8.openshift.client.handlers.OpenshiftRoleHandler +io.fabric8.openshift.client.handlers.OpenshiftRoleBindingHandler io.fabric8.openshift.client.handlers.RouteHandler io.fabric8.openshift.client.handlers.SecurityContextConstraintsHandler io.fabric8.openshift.client.handlers.TemplateHandler