From 1b176518f95d8cf05abc46a60bccc33d4be1caa2 Mon Sep 17 00:00:00 2001 From: Rohan Kumar Date: Thu, 16 Jul 2020 19:47:28 +0530 Subject: [PATCH] Fix #2287: Add support for V1 and V1Beta1 CustomResourceDefinition Introduced a new api entrypoint called `client.apiextensions()` which would route to `apiextensions/v1` and `apiextensions/v1beta1` CustomResourceDefinitions --- .../client/ApiextensionsAPIGroupClient.java | 40 + ...ApiextensionsAPIGroupExtensionAdapter.java | 37 + .../client/DefaultKubernetesClient.java | 11 +- .../kubernetes/client/KubernetesClient.java | 14 +- .../client/V1ApiextensionAPIGroupDSL.java | 26 + .../client/V1ApiextensionsAPIGroupClient.java | 38 + ...ApiextensionsAPIGroupExtensionAdapter.java | 35 + .../V1beta1ApiextensionAPIGroupDSL.java | 26 + .../V1beta1ApiextensionsAPIGroupClient.java | 38 + ...ApiextensionsAPIGroupExtensionAdapter.java | 35 + .../client/dsl/ApiextensionsAPIGroupDSL.java | 25 + .../base/CustomResourceDefinitionContext.java | 2 +- .../CustomResourceOperationContext.java | 2 +- ...ustomResourceDefinitionOperationsImpl.java | 6 +- .../client/osgi/ManagedKubernetesClient.java | 12 +- ...fabric8.kubernetes.client.ExtensionAdapter | 3 + .../CustomResourceOperationsImplTest.java | 4 +- .../kubernetes/client/internal/UtilsTest.java | 2 +- .../client/utils/SerializationTest.java | 4 +- .../kubernetes/examples/CRDExample.java | 6 +- .../kubernetes/examples/CRDLoadExample.java | 4 +- .../ListCustomResourceDefinitions.java | 4 +- .../examples/RawCustomResourceExample.java | 2 +- .../cmd/generate/generate.go | 44 +- .../{ => v1}/JSONSchemaPropsOrArraySerDe.java | 2 +- .../{ => v1}/JSONSchemaPropsOrBoolSerDe.java | 2 +- .../JSONSchemaPropsOrStringArraySerDe.java | 2 +- .../v1beta1/JSONSchemaPropsOrArraySerDe.java | 65 + .../v1beta1/JSONSchemaPropsOrBoolSerDe.java | 60 + .../JSONSchemaPropsOrStringArraySerDe.java | 64 + .../main/resources/schema/kube-schema.json | 1104 ++++++++++++-- .../resources/schema/validation-schema.json | 1302 ++++++++++++++--- .../CustomResourceDefinitionTest.java | 5 +- .../JSONSchemaPropsOrArrayTest.java | 3 + .../JSONSchemaPropsOrBoolTest.java | 3 + .../JSONSchemaPropsOrStringArrayTest.java | 3 + .../internal/KubernetesDeserializer.java | 3 +- .../pkg/schemagen/generate.go | 6 + .../client/mock/CustomResourceCrudTest.java | 2 +- .../mock/CustomResourceDefinitionTest.java | 18 +- .../client/mock/CustomResourceTest.java | 6 +- .../client/mock/PropagationPolicyTest.java | 2 +- ...ypedClusterScopeCustomResourceApiTest.java | 4 +- .../mock/TypedCustomResourceApiTest.java | 4 +- .../client/DefaultOpenShiftClient.java | 11 +- .../client/osgi/ManagedOpenShiftClient.java | 11 +- 46 files changed, 2658 insertions(+), 444 deletions(-) create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/ApiextensionsAPIGroupClient.java create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/ApiextensionsAPIGroupExtensionAdapter.java create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionAPIGroupDSL.java create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionsAPIGroupClient.java create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionsAPIGroupExtensionAdapter.java create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionAPIGroupDSL.java create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionsAPIGroupClient.java create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionsAPIGroupExtensionAdapter.java create mode 100644 kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/ApiextensionsAPIGroupDSL.java rename kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/{ => v1}/JSONSchemaPropsOrArraySerDe.java (97%) rename kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/{ => v1}/JSONSchemaPropsOrBoolSerDe.java (97%) rename kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/{ => v1}/JSONSchemaPropsOrStringArraySerDe.java (97%) create mode 100644 kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrArraySerDe.java create mode 100644 kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrBoolSerDe.java create mode 100644 kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrStringArraySerDe.java diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/ApiextensionsAPIGroupClient.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/ApiextensionsAPIGroupClient.java new file mode 100644 index 00000000000..f4a92bc8040 --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/ApiextensionsAPIGroupClient.java @@ -0,0 +1,40 @@ +/** + * 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; + +import io.fabric8.kubernetes.client.dsl.ApiextensionsAPIGroupDSL; +import okhttp3.OkHttpClient; + +public class ApiextensionsAPIGroupClient extends BaseClient implements ApiextensionsAPIGroupDSL { + public ApiextensionsAPIGroupClient() { + super(); + } + + public ApiextensionsAPIGroupClient(OkHttpClient httpClient, final Config config) { + super(httpClient, config); + } + + + @Override + public V1ApiextensionAPIGroupDSL v1() { + return adapt(V1ApiextensionsAPIGroupClient.class); + } + + @Override + public V1beta1ApiextensionAPIGroupDSL v1beta1() { + return adapt(V1beta1ApiextensionsAPIGroupClient.class); + } +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/ApiextensionsAPIGroupExtensionAdapter.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/ApiextensionsAPIGroupExtensionAdapter.java new file mode 100644 index 00000000000..e3b05fe06a5 --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/ApiextensionsAPIGroupExtensionAdapter.java @@ -0,0 +1,37 @@ +/** + * 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; + +import okhttp3.OkHttpClient; + +public class ApiextensionsAPIGroupExtensionAdapter extends APIGroupExtensionAdapter { + + @Override + protected String getAPIGroupName() { + return "apiextension"; + } + + @Override + public Class getExtensionType() { + return ApiextensionsAPIGroupClient.class; + } + + @Override + protected ApiextensionsAPIGroupClient newInstance(Client client) { + return new ApiextensionsAPIGroupClient(client.adapt(OkHttpClient.class), client.getConfiguration()); + } + +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/DefaultKubernetesClient.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/DefaultKubernetesClient.java index c725a93e225..e508a499642 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/DefaultKubernetesClient.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/DefaultKubernetesClient.java @@ -25,9 +25,9 @@ import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.api.model.KubernetesListBuilder; import io.fabric8.kubernetes.api.model.KubernetesResourceList; -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.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.DoneableCustomResourceDefinition; import io.fabric8.kubernetes.api.model.ConfigMap; import io.fabric8.kubernetes.api.model.ConfigMapList; import io.fabric8.kubernetes.api.model.DoneableConfigMap; @@ -288,6 +288,11 @@ public NonNamespaceOperation, D extends Doneable> MixedOperation> customResources(CustomResourceDefinitionContext crdContext, Class resourceType, Class listClass, Class doneClass) { return new CustomResourceOperationsImpl<>(new CustomResourceOperationContext().withOkhttpClient(httpClient).withConfig(getConfiguration()) diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/KubernetesClient.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/KubernetesClient.java index 0e61c5ae5ef..773220ab17e 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/KubernetesClient.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/KubernetesClient.java @@ -73,9 +73,9 @@ import io.fabric8.kubernetes.api.model.coordination.v1.Lease; import io.fabric8.kubernetes.api.model.coordination.v1.LeaseList; import io.fabric8.kubernetes.client.dsl.*; -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.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.DoneableCustomResourceDefinition; import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext; import io.fabric8.kubernetes.client.dsl.internal.RawCustomResourceOperationsImpl; import io.fabric8.kubernetes.client.extended.leaderelection.LeaderElectorBuilder; @@ -98,6 +98,14 @@ public interface KubernetesClient extends Client { */ NonNamespaceOperation> customResourceDefinitions(); + /** + * API entrypoint for apiextensions resources. Currently support both + * v1 and v1beta1 + * + * @return ApiextensionsAPIGroupDSL which routes to v1 or v1beta1 + */ + ApiextensionsAPIGroupDSL apiextensions(); + /** * Typed API for managing CustomResources. You would need to provide POJOs for * CustomResource into this and with it you would be able to instantiate a client diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionAPIGroupDSL.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionAPIGroupDSL.java new file mode 100644 index 00000000000..c2e4033cd25 --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionAPIGroupDSL.java @@ -0,0 +1,26 @@ +/** + * 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; + +import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1.DoneableCustomResourceDefinition; +import io.fabric8.kubernetes.client.dsl.MixedOperation; +import io.fabric8.kubernetes.client.dsl.Resource; + +public interface V1ApiextensionAPIGroupDSL extends Client { + MixedOperation> customResourceDefinitions(); +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionsAPIGroupClient.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionsAPIGroupClient.java new file mode 100644 index 00000000000..ec917750448 --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionsAPIGroupClient.java @@ -0,0 +1,38 @@ +/** + * 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; + +import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1.DoneableCustomResourceDefinition; +import io.fabric8.kubernetes.client.dsl.MixedOperation; +import io.fabric8.kubernetes.client.dsl.Resource; +import io.fabric8.kubernetes.client.dsl.internal.apiextensions.v1.CustomResourceDefinitionOperationsImpl; +import okhttp3.OkHttpClient; + +public class V1ApiextensionsAPIGroupClient extends BaseClient implements V1ApiextensionAPIGroupDSL { + public V1ApiextensionsAPIGroupClient() { + super(); + } + + public V1ApiextensionsAPIGroupClient(OkHttpClient httpClient, final Config config) { + super(httpClient, config); + } + + public MixedOperation> customResourceDefinitions() { + return new CustomResourceDefinitionOperationsImpl(httpClient, getConfiguration()); + } +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionsAPIGroupExtensionAdapter.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionsAPIGroupExtensionAdapter.java new file mode 100644 index 00000000000..0a3df11dfdf --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1ApiextensionsAPIGroupExtensionAdapter.java @@ -0,0 +1,35 @@ +/** + * 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; + +import okhttp3.OkHttpClient; + +public class V1ApiextensionsAPIGroupExtensionAdapter extends APIGroupExtensionAdapter { + @Override + protected String getAPIGroupName() { + return "apiextensions/v1"; + } + + @Override + public Class getExtensionType() { + return V1ApiextensionsAPIGroupClient.class; + } + + @Override + protected V1ApiextensionsAPIGroupClient newInstance(Client client) { + return new V1ApiextensionsAPIGroupClient(client.adapt(OkHttpClient.class), client.getConfiguration()); + } +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionAPIGroupDSL.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionAPIGroupDSL.java new file mode 100644 index 00000000000..2f86d0e6518 --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionAPIGroupDSL.java @@ -0,0 +1,26 @@ +/** + * 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; + +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.DoneableCustomResourceDefinition; +import io.fabric8.kubernetes.client.dsl.MixedOperation; +import io.fabric8.kubernetes.client.dsl.Resource; + +public interface V1beta1ApiextensionAPIGroupDSL extends Client { + MixedOperation> customResourceDefinitions(); +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionsAPIGroupClient.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionsAPIGroupClient.java new file mode 100644 index 00000000000..ffdc044f285 --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionsAPIGroupClient.java @@ -0,0 +1,38 @@ +/** + * 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; + +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.DoneableCustomResourceDefinition; +import io.fabric8.kubernetes.client.dsl.MixedOperation; +import io.fabric8.kubernetes.client.dsl.Resource; +import io.fabric8.kubernetes.client.dsl.internal.apiextensions.v1beta1.CustomResourceDefinitionOperationsImpl; +import okhttp3.OkHttpClient; + +public class V1beta1ApiextensionsAPIGroupClient extends BaseClient implements V1beta1ApiextensionAPIGroupDSL { + public V1beta1ApiextensionsAPIGroupClient() { + super(); + } + + public V1beta1ApiextensionsAPIGroupClient(OkHttpClient httpClient, final Config config) { + super(httpClient, config); + } + + public MixedOperation> customResourceDefinitions() { + return new CustomResourceDefinitionOperationsImpl(httpClient, getConfiguration()); + } +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionsAPIGroupExtensionAdapter.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionsAPIGroupExtensionAdapter.java new file mode 100644 index 00000000000..df0765f17de --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/V1beta1ApiextensionsAPIGroupExtensionAdapter.java @@ -0,0 +1,35 @@ +/** + * 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; + +import okhttp3.OkHttpClient; + +public class V1beta1ApiextensionsAPIGroupExtensionAdapter extends APIGroupExtensionAdapter { + @Override + protected String getAPIGroupName() { + return "apiextensions/v1"; + } + + @Override + public Class getExtensionType() { + return V1beta1ApiextensionsAPIGroupClient.class; + } + + @Override + protected V1beta1ApiextensionsAPIGroupClient newInstance(Client client) { + return new V1beta1ApiextensionsAPIGroupClient(client.adapt(OkHttpClient.class), client.getConfiguration()); + } +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/ApiextensionsAPIGroupDSL.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/ApiextensionsAPIGroupDSL.java new file mode 100644 index 00000000000..3b6e0be77dc --- /dev/null +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/ApiextensionsAPIGroupDSL.java @@ -0,0 +1,25 @@ +/** + * 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.dsl; + +import io.fabric8.kubernetes.client.Client; +import io.fabric8.kubernetes.client.V1ApiextensionAPIGroupDSL; +import io.fabric8.kubernetes.client.V1beta1ApiextensionAPIGroupDSL; + +public interface ApiextensionsAPIGroupDSL extends Client { + V1ApiextensionAPIGroupDSL v1(); + V1beta1ApiextensionAPIGroupDSL v1beta1(); +} diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/base/CustomResourceDefinitionContext.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/base/CustomResourceDefinitionContext.java index b4748dac003..071ed16a9ca 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/base/CustomResourceDefinitionContext.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/base/CustomResourceDefinitionContext.java @@ -15,7 +15,7 @@ */ package io.fabric8.kubernetes.client.dsl.base; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; public class CustomResourceDefinitionContext { private String name; diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/CustomResourceOperationContext.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/CustomResourceOperationContext.java index 044314d6e0d..011d3373214 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/CustomResourceOperationContext.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/CustomResourceOperationContext.java @@ -18,7 +18,7 @@ import java.util.Map; import io.fabric8.kubernetes.api.model.DeletionPropagation; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext; import io.fabric8.kubernetes.client.dsl.base.OperationContext; diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/apiextensions/v1beta1/CustomResourceDefinitionOperationsImpl.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/apiextensions/v1beta1/CustomResourceDefinitionOperationsImpl.java index 3a938556028..336cce1cbb1 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/apiextensions/v1beta1/CustomResourceDefinitionOperationsImpl.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/apiextensions/v1beta1/CustomResourceDefinitionOperationsImpl.java @@ -15,9 +15,9 @@ */ package io.fabric8.kubernetes.client.dsl.internal.apiextensions.v1beta1; -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.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.DoneableCustomResourceDefinition; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.dsl.Resource; import io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation; diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/osgi/ManagedKubernetesClient.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/osgi/ManagedKubernetesClient.java index 2c04f04eda6..853e83ac374 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/osgi/ManagedKubernetesClient.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/osgi/ManagedKubernetesClient.java @@ -69,9 +69,9 @@ 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.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList; -import io.fabric8.kubernetes.api.model.apiextensions.DoneableCustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.DoneableCustomResourceDefinition; import io.fabric8.kubernetes.api.model.coordination.v1.DoneableLease; import io.fabric8.kubernetes.api.model.coordination.v1.Lease; import io.fabric8.kubernetes.api.model.coordination.v1.LeaseList; @@ -89,6 +89,7 @@ import io.fabric8.kubernetes.client.RequestConfig; import io.fabric8.kubernetes.client.Handlers; import io.fabric8.kubernetes.client.VersionInfo; +import io.fabric8.kubernetes.client.dsl.ApiextensionsAPIGroupDSL; import io.fabric8.kubernetes.client.dsl.AppsAPIGroupDSL; import io.fabric8.kubernetes.client.dsl.AutoscalingAPIGroupDSL; import io.fabric8.kubernetes.client.dsl.BatchAPIGroupDSL; @@ -425,6 +426,11 @@ public NonNamespaceOperation, D extends Doneable> MixedOperation> customResources(CustomResourceDefinitionContext crdContext, Class resourceType, Class listClass, Class doneClass) { return delegate.customResources(crdContext, resourceType, listClass, doneClass); diff --git a/kubernetes-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ExtensionAdapter b/kubernetes-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ExtensionAdapter index 87b9eeb3ca7..e4de37b85fe 100644 --- a/kubernetes-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ExtensionAdapter +++ b/kubernetes-client/src/main/resources/META-INF/services/io.fabric8.kubernetes.client.ExtensionAdapter @@ -19,6 +19,7 @@ io.fabric8.kubernetes.client.AdmissionRegistrationAPIGroupExtensionAdapter io.fabric8.kubernetes.client.V1AdmissionRegistrationAPIGroupExtensionAdapter io.fabric8.kubernetes.client.V1beta1AdmissionRegistrationAPIGroupExtensionAdapter io.fabric8.kubernetes.client.AutoscalingAPIGroupExtensionAdapter +io.fabric8.kubernetes.client.ApiextensionsAPIGroupExtensionAdapter io.fabric8.kubernetes.client.V1AutoscalingAPIGroupExtensionAdapter io.fabric8.kubernetes.client.V2beta1AutoscalingAPIGroupExtensionAdapter io.fabric8.kubernetes.client.V2beta2AutoscalingAPIGroupExtensionAdapter @@ -32,3 +33,5 @@ io.fabric8.kubernetes.client.SchedulingAPIGroupExtensionAdapter io.fabric8.kubernetes.client.SettingsAPIGroupExtensionAdapter io.fabric8.kubernetes.client.StorageAPIGroupExtensionAdapter io.fabric8.kubernetes.client.V1APIGroupExtensionAdapter +io.fabric8.kubernetes.client.V1ApiextensionsAPIGroupExtensionAdapter +io.fabric8.kubernetes.client.V1beta1ApiextensionsAPIGroupExtensionAdapter diff --git a/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/dsl/internal/CustomResourceOperationsImplTest.java b/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/dsl/internal/CustomResourceOperationsImplTest.java index 3410d42dfc5..b92176af4c5 100644 --- a/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/dsl/internal/CustomResourceOperationsImplTest.java +++ b/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/dsl/internal/CustomResourceOperationsImplTest.java @@ -18,8 +18,8 @@ import java.io.IOException; import io.fabric8.kubernetes.api.model.KubernetesResource; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionBuilder; import io.fabric8.kubernetes.client.CustomResource; import io.fabric8.kubernetes.client.CustomResourceList; import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext; diff --git a/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/internal/UtilsTest.java b/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/internal/UtilsTest.java index 48c0bfbb193..ac41bf725a1 100644 --- a/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/internal/UtilsTest.java +++ b/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/internal/UtilsTest.java @@ -35,7 +35,7 @@ import io.fabric8.kubernetes.api.model.ServiceAccount; import io.fabric8.kubernetes.api.model.admissionregistration.v1.MutatingWebhookConfiguration; import io.fabric8.kubernetes.api.model.admissionregistration.v1.ValidatingWebhookConfiguration; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; import io.fabric8.kubernetes.api.model.apps.ControllerRevision; import io.fabric8.kubernetes.api.model.apps.DaemonSet; import io.fabric8.kubernetes.api.model.apps.Deployment; diff --git a/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/utils/SerializationTest.java b/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/utils/SerializationTest.java index 549509bf612..02469e3eda9 100644 --- a/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/utils/SerializationTest.java +++ b/kubernetes-client/src/test/java/io/fabric8/kubernetes/client/utils/SerializationTest.java @@ -18,8 +18,8 @@ import io.fabric8.kubernetes.api.model.KubernetesList; import io.fabric8.kubernetes.api.model.KubernetesResource; import io.fabric8.kubernetes.api.model.Service; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps; import io.fabric8.kubernetes.api.model.apps.Deployment; import org.junit.jupiter.api.Disabled; diff --git a/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/CRDExample.java b/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/CRDExample.java index 3cd2f87831f..51d1d5f3b70 100644 --- a/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/CRDExample.java +++ b/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/CRDExample.java @@ -17,9 +17,9 @@ import io.fabric8.kubernetes.api.model.ObjectMeta; import io.fabric8.kubernetes.api.model.RootPaths; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; import io.fabric8.kubernetes.client.CustomResourceList; import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; diff --git a/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/CRDLoadExample.java b/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/CRDLoadExample.java index 77dd9f1858e..5017d8e1edf 100644 --- a/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/CRDLoadExample.java +++ b/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/CRDLoadExample.java @@ -15,8 +15,8 @@ */ package io.fabric8.kubernetes.examples; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; import org.slf4j.Logger; diff --git a/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/ListCustomResourceDefinitions.java b/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/ListCustomResourceDefinitions.java index e6958f3323a..b62aadee3c1 100644 --- a/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/ListCustomResourceDefinitions.java +++ b/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/ListCustomResourceDefinitions.java @@ -15,8 +15,8 @@ */ package io.fabric8.kubernetes.examples; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientException; diff --git a/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/RawCustomResourceExample.java b/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/RawCustomResourceExample.java index a1165e9b441..17afc13a13b 100644 --- a/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/RawCustomResourceExample.java +++ b/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/RawCustomResourceExample.java @@ -15,7 +15,7 @@ */ package io.fabric8.kubernetes.examples; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientException; diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/cmd/generate/generate.go b/kubernetes-model-generator/kubernetes-model-apiextensions/cmd/generate/generate.go index e37284cf663..ffc60972676 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/cmd/generate/generate.go +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/cmd/generate/generate.go @@ -27,6 +27,7 @@ import ( kapi "k8s.io/api/core/v1" apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + v1apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "log" "reflect" @@ -67,6 +68,16 @@ type Schema struct { // Added JSONSchemaPropsorStringArray here because of // https://github.com/joelittlejohn/jsonschema2pojo/issues/866 JSONSchemaPropsOrStringArray apiextensions.JSONSchemaPropsOrStringArray + + V1CustomResourceDefinition v1apiextensions.CustomResourceDefinition + V1CustomResourceDefinitionList v1apiextensions.CustomResourceDefinitionList + V1CustomResourceDefinitionSpec v1apiextensions.CustomResourceDefinitionSpec + V1CustomResourceDefinitionNames v1apiextensions.CustomResourceDefinitionNames + V1CustomResourceDefinitionCondition v1apiextensions.CustomResourceDefinitionCondition + V1CustomResourceDefinitionStatus v1apiextensions.CustomResourceDefinitionStatus + // Added JSONSchemaPropsorStringArray here because of + // https://github.com/joelittlejohn/jsonschema2pojo/issues/866 + V1JSONSchemaPropsOrStringArray v1apiextensions.JSONSchemaPropsOrStringArray } func main() { @@ -76,7 +87,8 @@ func main() { {"k8s.io/apimachinery/pkg/version", "", "io.fabric8.kubernetes.api.model.version", "kubernetes_apimachinery_pkg_version_"}, {"k8s.io/apimachinery/pkg/apis/meta/v1", "", "io.fabric8.kubernetes.api.model", "kubernetes_apimachinery_"}, {"k8s.io/api/core/v1", "", "io.fabric8.kubernetes.api.model", "kubernetes_core_"}, - {"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1", "", "io.fabric8.kubernetes.api.model.apiextensions", "kubernetes_apiextensions_"}, + {"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1", "", "io.fabric8.kubernetes.api.model.apiextensions.v1beta1", "kubernetes_apiextensions_v1beta1_"}, + {"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1", "", "io.fabric8.kubernetes.api.model.apiextensions.v1", "kubernetes_apiextensions_v1_"}, } typeMap := map[reflect.Type]reflect.Type{ @@ -95,17 +107,29 @@ func main() { } serdes := map[string]*schemagen.JavaSerDeDescriptor{ - "kubernetes_apiextensions_JSONSchemaPropsOrBool": &schemagen.JavaSerDeDescriptor{ - Serializer: "JSONSchemaPropsOrBoolSerDe.Serializer.class", - Deserializer: "JSONSchemaPropsOrBoolSerDe.Deserializer.class", + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrBool": &schemagen.JavaSerDeDescriptor{ + Serializer: "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBoolSerDe.Serializer.class", + Deserializer: "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBoolSerDe.Deserializer.class", + }, + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrArray": &schemagen.JavaSerDeDescriptor{ + Serializer: "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArraySerDe.Serializer.class", + Deserializer: "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArraySerDe.Deserializer.class", + }, + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrStringArray": &schemagen.JavaSerDeDescriptor{ + Serializer: "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArraySerDe.Serializer.class", + Deserializer: "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArraySerDe.Deserializer.class", + }, + "kubernetes_apiextensions_v1_JSONSchemaPropsOrBool": &schemagen.JavaSerDeDescriptor{ + Serializer: "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBoolSerDe.Serializer.class", + Deserializer: "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBoolSerDe.Deserializer.class", }, - "kubernetes_apiextensions_JSONSchemaPropsOrArray": &schemagen.JavaSerDeDescriptor{ - Serializer: "JSONSchemaPropsOrArraySerDe.Serializer.class", - Deserializer: "JSONSchemaPropsOrArraySerDe.Deserializer.class", + "kubernetes_apiextensions_v1_JSONSchemaPropsOrArray": &schemagen.JavaSerDeDescriptor{ + Serializer: "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArraySerDe.Serializer.class", + Deserializer: "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArraySerDe.Deserializer.class", }, - "kubernetes_apiextensions_JSONSchemaPropsOrStringArray": &schemagen.JavaSerDeDescriptor{ - Serializer: "JSONSchemaPropsOrStringArraySerDe.Serializer.class", - Deserializer: "JSONSchemaPropsOrStringArraySerDe.Deserializer.class", + "kubernetes_apiextensions_v1_JSONSchemaPropsOrStringArray": &schemagen.JavaSerDeDescriptor{ + Serializer: "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArraySerDe.Serializer.class", + Deserializer: "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArraySerDe.Deserializer.class", }, } diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrArraySerDe.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrArraySerDe.java similarity index 97% rename from kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrArraySerDe.java rename to kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrArraySerDe.java index 77ddebdbdbb..6ce79b81d3a 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrArraySerDe.java +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrArraySerDe.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.fabric8.kubernetes.api.model.apiextensions; +package io.fabric8.kubernetes.api.model.apiextensions.v1; import java.io.IOException; import java.util.List; diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrBoolSerDe.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrBoolSerDe.java similarity index 97% rename from kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrBoolSerDe.java rename to kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrBoolSerDe.java index 63689253186..bd427a22e8c 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrBoolSerDe.java +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrBoolSerDe.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.fabric8.kubernetes.api.model.apiextensions; +package io.fabric8.kubernetes.api.model.apiextensions.v1; import java.io.IOException; diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrStringArraySerDe.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrStringArraySerDe.java similarity index 97% rename from kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrStringArraySerDe.java rename to kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrStringArraySerDe.java index f950bb473a9..557b4ff30b6 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrStringArraySerDe.java +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaPropsOrStringArraySerDe.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.fabric8.kubernetes.api.model.apiextensions; +package io.fabric8.kubernetes.api.model.apiextensions.v1; import java.io.IOException; import java.util.List; diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrArraySerDe.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrArraySerDe.java new file mode 100644 index 00000000000..c9e5724ae42 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrArraySerDe.java @@ -0,0 +1,65 @@ +/** + * 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.api.model.apiextensions.v1beta1; + +import java.io.IOException; +import java.util.List; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +public class JSONSchemaPropsOrArraySerDe { + + private JSONSchemaPropsOrArraySerDe() { + } + + public static class Serializer extends JsonSerializer { + @Override + public void serialize(JSONSchemaPropsOrArray jsonSchemaPropsOrArray, + JsonGenerator jsonGenerator, + SerializerProvider serializerProvider) throws IOException { + if (jsonSchemaPropsOrArray.getJSONSchemas() != null && !jsonSchemaPropsOrArray.getJSONSchemas().isEmpty()) { + jsonGenerator.writeStartArray(); + for (JSONSchemaProps schema : jsonSchemaPropsOrArray.getJSONSchemas()) { + jsonGenerator.writeObject(schema); + } + jsonGenerator.writeEndArray(); + } else { + jsonGenerator.writeObject(jsonSchemaPropsOrArray.getSchema()); + } + } + } + + public static class Deserializer extends JsonDeserializer { + + @Override + public JSONSchemaPropsOrArray deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { + JSONSchemaPropsOrArrayBuilder builder = new JSONSchemaPropsOrArrayBuilder(); + if (jsonParser.isExpectedStartObjectToken()) { + builder.withSchema( + jsonParser.readValueAs(JSONSchemaProps.class)); + } else if (jsonParser.isExpectedStartArrayToken()) { + builder.withJSONSchemas(jsonParser.>readValueAs(new TypeReference>() {})); + } + return builder.build(); + } + } +} diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrBoolSerDe.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrBoolSerDe.java new file mode 100644 index 00000000000..f5431d8497d --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrBoolSerDe.java @@ -0,0 +1,60 @@ +/** + * 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.api.model.apiextensions.v1beta1; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +public class JSONSchemaPropsOrBoolSerDe { + + private JSONSchemaPropsOrBoolSerDe() { + } + + public static class Serializer extends JsonSerializer { + @Override + public void serialize(JSONSchemaPropsOrBool jsonSchemaPropsOrBool, + JsonGenerator jsonGenerator, + SerializerProvider serializerProvider) throws IOException { + if (jsonSchemaPropsOrBool.getSchema() != null) { + jsonGenerator.writeObject(jsonSchemaPropsOrBool.getSchema()); + } else { + jsonGenerator.writeBoolean(jsonSchemaPropsOrBool.getAllows()); + } + } + } + + public static class Deserializer extends JsonDeserializer { + + @Override + public JSONSchemaPropsOrBool deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { + JSONSchemaPropsOrBoolBuilder builder = new JSONSchemaPropsOrBoolBuilder(); + if (jsonParser.isExpectedStartObjectToken()) { + builder.withSchema( + jsonParser.readValueAs(JSONSchemaProps.class)); + builder.withAllows(true); + } else { + builder.withAllows(jsonParser.getBooleanValue()); + } + return builder.build(); + } + } +} diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrStringArraySerDe.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrStringArraySerDe.java new file mode 100644 index 00000000000..adad269a2c7 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaPropsOrStringArraySerDe.java @@ -0,0 +1,64 @@ +/** + * 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.api.model.apiextensions.v1beta1; + +import java.io.IOException; +import java.util.List; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +public class JSONSchemaPropsOrStringArraySerDe { + private JSONSchemaPropsOrStringArraySerDe() { + } + + public static class Serializer extends JsonSerializer { + @Override + public void serialize(JSONSchemaPropsOrStringArray jsonSchemaPropsOrStringArray, + JsonGenerator jsonGenerator, + SerializerProvider serializerProvider) throws IOException { + if (jsonSchemaPropsOrStringArray.getProperty() != null && !jsonSchemaPropsOrStringArray.getProperty().isEmpty()) { + jsonGenerator.writeStartArray(); + for (String property : jsonSchemaPropsOrStringArray.getProperty()) { + jsonGenerator.writeObject(property); + } + jsonGenerator.writeEndArray(); + } else { + jsonGenerator.writeObject(jsonSchemaPropsOrStringArray.getSchema()); + } + } + } + + public static class Deserializer extends JsonDeserializer { + + @Override + public JSONSchemaPropsOrStringArray deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { + JSONSchemaPropsOrStringArrayBuilder builder = new JSONSchemaPropsOrStringArrayBuilder(); + if (jsonParser.isExpectedStartObjectToken()) { + builder.withSchema( + jsonParser.readValueAs(JSONSchemaProps.class)); + } else if (jsonParser.isExpectedStartArrayToken()) { + builder.withProperty(jsonParser.>readValueAs(new TypeReference>() {})); + } + return builder.build(); + } + } +} diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/resources/schema/kube-schema.json b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/resources/schema/kube-schema.json index 2a04daf015a..87542867181 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/resources/schema/kube-schema.json +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/resources/schema/kube-schema.json @@ -18,7 +18,801 @@ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceColumnDefinition": { + "kubernetes_apiextensions_v1_CustomResourceColumnDefinition": { + "type": "object", + "description": "", + "properties": { + "description": { + "type": "string", + "description": "" + }, + "format": { + "type": "string", + "description": "" + }, + "jsonPath": { + "type": "string", + "description": "" + }, + "name": { + "type": "string", + "description": "" + }, + "priority": { + "type": "integer", + "description": "" + }, + "type": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceColumnDefinition", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceConversion": { + "type": "object", + "description": "", + "properties": { + "strategy": { + "type": "string", + "description": "" + }, + "webhook": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_WebhookConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookConversion" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceConversion", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinition": { + "type": "object", + "description": "", + "properties": { + "apiVersion": { + "type": "string", + "description": "", + "default": "apiextensions.k8s.io/v1", + "required": true + }, + "kind": { + "type": "string", + "description": "", + "default": "CustomResourceDefinition", + "required": true + }, + "metadata": { + "$ref": "#/definitions/kubernetes_apimachinery_ObjectMeta", + "javaType": "io.fabric8.kubernetes.api.model.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionSpec" + }, + "status": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionStatus" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.HasMetadata" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionCondition": { + "type": "object", + "description": "", + "properties": { + "lastTransitionTime": { + "$ref": "#/definitions/kubernetes_apimachinery_Time", + "javaType": "String" + }, + "message": { + "type": "string", + "description": "" + }, + "reason": { + "type": "string", + "description": "" + }, + "status": { + "type": "string", + "description": "" + }, + "type": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionCondition", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionList": { + "type": "object", + "description": "", + "properties": { + "apiVersion": { + "type": "string", + "description": "", + "default": "apiextensions.k8s.io/v1", + "required": true + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition" + } + }, + "kind": { + "type": "string", + "description": "", + "default": "CustomResourceDefinitionList", + "required": true + }, + "metadata": { + "$ref": "#/definitions/kubernetes_apimachinery_ListMeta", + "javaType": "io.fabric8.kubernetes.api.model.ListMeta" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionList", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource", + "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition\u003e" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionNames": { + "type": "object", + "description": "", + "properties": { + "categories": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "type": "string", + "description": "" + } + }, + "kind": { + "type": "string", + "description": "" + }, + "listKind": { + "type": "string", + "description": "" + }, + "plural": { + "type": "string", + "description": "" + }, + "shortNames": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "type": "string", + "description": "" + } + }, + "singular": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionSpec": { + "type": "object", + "description": "", + "properties": { + "conversion": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceConversion" + }, + "group": { + "type": "string", + "description": "" + }, + "names": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames" + }, + "preserveUnknownFields": { + "type": "boolean", + "description": "" + }, + "scope": { + "type": "string", + "description": "" + }, + "versions": { + "type": "array", + "description": "", + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionVersion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionVersion" + } + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionSpec", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionStatus": { + "type": "object", + "description": "", + "properties": { + "acceptedNames": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames" + }, + "conditions": { + "type": "array", + "description": "", + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionCondition" + } + }, + "storedVersions": { + "type": "array", + "description": "", + "items": { + "type": "string", + "description": "" + } + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionStatus", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionVersion": { + "type": "object", + "description": "", + "properties": { + "additionalPrinterColumns": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceColumnDefinition" + } + }, + "name": { + "type": "string", + "description": "" + }, + "schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceValidation" + }, + "served": { + "type": "boolean", + "description": "" + }, + "storage": { + "type": "boolean", + "description": "" + }, + "subresources": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresources" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionVersion", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceSubresourceScale": { + "type": "object", + "description": "", + "properties": { + "labelSelectorPath": { + "type": "string", + "description": "" + }, + "specReplicasPath": { + "type": "string", + "description": "" + }, + "statusReplicasPath": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceScale", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceSubresourceStatus": { + "type": "object", + "description": "", + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceStatus", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceSubresources": { + "type": "object", + "description": "", + "properties": { + "scale": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresourceScale", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceScale" + }, + "status": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresourceStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceStatus" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresources", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceValidation": { + "type": "object", + "description": "", + "properties": { + "openAPIV3Schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceValidation", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_ExternalDocumentation": { + "type": "object", + "description": "", + "properties": { + "description": { + "type": "string", + "description": "" + }, + "url": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ExternalDocumentation", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_JSON": { + "type": "object", + "description": "", + "properties": { + "Raw": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_JSONSchemaProps": { + "type": "object", + "description": "", + "properties": { + "$ref": { + "type": "string", + "description": "" + }, + "$schema": { + "type": "string", + "description": "" + }, + "additionalItems": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBool" + }, + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBool" + }, + "allOf": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "anyOf": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "default": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" + }, + "definitions": { + "type": "object", + "description": "", + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + }, + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" + }, + "dependencies": { + "type": "object", + "description": "", + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray" + }, + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray\u003e" + }, + "description": { + "type": "string", + "description": "" + }, + "enum": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" + } + }, + "example": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" + }, + "exclusiveMaximum": { + "type": "boolean", + "description": "" + }, + "exclusiveMinimum": { + "type": "boolean", + "description": "" + }, + "externalDocs": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_ExternalDocumentation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ExternalDocumentation" + }, + "format": { + "type": "string", + "description": "" + }, + "id": { + "type": "string", + "description": "" + }, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArray" + }, + "maxItems": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "maxLength": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "maxProperties": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "maximum": { + "type": "number", + "description": "" + }, + "minItems": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "minLength": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "minProperties": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "minimum": { + "type": "number", + "description": "" + }, + "multipleOf": { + "type": "number", + "description": "" + }, + "not": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + }, + "nullable": { + "type": "boolean", + "description": "" + }, + "oneOf": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "pattern": { + "type": "string", + "description": "" + }, + "patternProperties": { + "type": "object", + "description": "", + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + }, + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" + }, + "properties": { + "type": "object", + "description": "", + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + }, + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" + }, + "required": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "type": "string", + "description": "" + } + }, + "title": { + "type": "string", + "description": "" + }, + "type": { + "type": "string", + "description": "" + }, + "uniqueItems": { + "type": "boolean", + "description": "" + }, + "x-kubernetes-embedded-resource": { + "type": "boolean", + "description": "" + }, + "x-kubernetes-int-or-string": { + "type": "boolean", + "description": "" + }, + "x-kubernetes-list-map-keys": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "type": "string", + "description": "" + } + }, + "x-kubernetes-list-type": { + "type": "string", + "description": "" + }, + "x-kubernetes-map-type": { + "type": "string", + "description": "" + }, + "x-kubernetes-preserve-unknown-fields": { + "type": "boolean", + "description": "" + } + }, + "additionalProperties": false, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_JSONSchemaPropsOrArray": { + "type": "object", + "description": "", + "properties": { + "JSONSchemas": { + "type": "array", + "description": "", + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "Schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArray", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ], + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArraySerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArraySerDe.Deserializer.class" + }, + "kubernetes_apiextensions_v1_JSONSchemaPropsOrBool": { + "type": "object", + "description": "", + "properties": { + "Allows": { + "type": "boolean", + "description": "" + }, + "Schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBool", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ], + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBoolSerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBoolSerDe.Deserializer.class" + }, + "kubernetes_apiextensions_v1_JSONSchemaPropsOrStringArray": { + "type": "object", + "description": "", + "properties": { + "Property": { + "type": "array", + "description": "", + "items": { + "type": "string", + "description": "" + } + }, + "Schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ], + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArraySerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArraySerDe.Deserializer.class" + }, + "kubernetes_apiextensions_v1_ServiceReference": { + "type": "object", + "description": "", + "properties": { + "name": { + "type": "string", + "description": "" + }, + "namespace": { + "type": "string", + "description": "" + }, + "path": { + "type": "string", + "description": "" + }, + "port": { + "type": "integer", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ServiceReference", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_WebhookClientConfig": { + "type": "object", + "description": "", + "properties": { + "caBundle": { + "type": "string", + "description": "" + }, + "service": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_ServiceReference", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ServiceReference" + }, + "url": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookClientConfig", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_WebhookConversion": { + "type": "object", + "description": "", + "properties": { + "clientConfig": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_WebhookClientConfig", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookClientConfig" + }, + "conversionReviewVersions": { + "type": "array", + "description": "", + "items": { + "type": "string", + "description": "" + } + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookConversion", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1beta1_CustomResourceColumnDefinition": { "type": "object", "description": "", "properties": { @@ -48,12 +842,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceColumnDefinition", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceConversion": { + "kubernetes_apiextensions_v1beta1_CustomResourceConversion": { "type": "object", "description": "", "properties": { @@ -71,24 +865,24 @@ "description": "" }, "webhookClientConfig": { - "$ref": "#/definitions/kubernetes_apiextensions_WebhookClientConfig", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.WebhookClientConfig" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_WebhookClientConfig", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.WebhookClientConfig" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceConversion", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinition": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinition": { "type": "object", "description": "", "properties": { "apiVersion": { "type": "string", "description": "", - "default": "apiextensions/v1beta1", + "default": "apiextensions.k8s.io/v1beta1", "required": true }, "kind": { @@ -102,21 +896,21 @@ "javaType": "io.fabric8.kubernetes.api.model.ObjectMeta" }, "spec": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionSpec", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionSpec" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionSpec" }, "status": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionStatus", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionStatus" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionStatus" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionCondition": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionCondition": { "type": "object", "description": "", "properties": { @@ -142,27 +936,27 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionCondition", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionList": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionList": { "type": "object", "description": "", "properties": { "apiVersion": { "type": "string", "description": "", - "default": "apiextensions/v1beta1", + "default": "apiextensions.k8s.io/v1beta1", "required": true }, "items": { "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition" } }, "kind": { @@ -177,13 +971,13 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", - "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition\u003e" + "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition\u003e" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionNames": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames": { "type": "object", "description": "", "properties": { @@ -223,12 +1017,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionSpec": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionSpec": { "type": "object", "description": "", "properties": { @@ -237,21 +1031,21 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceColumnDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceColumnDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceColumnDefinition" } }, "conversion": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceConversion", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceConversion" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceConversion" }, "group": { "type": "string", "description": "" }, "names": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionNames", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames" }, "preserveUnknownFields": { "type": "boolean", @@ -262,12 +1056,12 @@ "description": "" }, "subresources": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresources", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresources" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresources" }, "validation": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceValidation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceValidation" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceValidation" }, "version": { "type": "string", @@ -278,31 +1072,31 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionVersion", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionVersion" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionVersion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionVersion" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionSpec", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionStatus": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionStatus": { "type": "object", "description": "", "properties": { "acceptedNames": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionNames", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames" }, "conditions": { "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionCondition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionCondition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionCondition" } }, "storedVersions": { @@ -315,12 +1109,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionStatus", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionVersion": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionVersion": { "type": "object", "description": "", "properties": { @@ -329,8 +1123,8 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceColumnDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceColumnDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceColumnDefinition" } }, "name": { @@ -338,8 +1132,8 @@ "description": "" }, "schema": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceValidation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceValidation" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceValidation" }, "served": { "type": "boolean", @@ -350,17 +1144,17 @@ "description": "" }, "subresources": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresources", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresources" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresources" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionVersion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionVersion", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceSubresourceScale": { + "kubernetes_apiextensions_v1beta1_CustomResourceSubresourceScale": { "type": "object", "description": "", "properties": { @@ -378,55 +1172,55 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceScale", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresourceScale", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceSubresourceStatus": { + "kubernetes_apiextensions_v1beta1_CustomResourceSubresourceStatus": { "type": "object", "description": "", "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresourceStatus", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceSubresources": { + "kubernetes_apiextensions_v1beta1_CustomResourceSubresources": { "type": "object", "description": "", "properties": { "scale": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresourceScale", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceScale" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresourceScale", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresourceScale" }, "status": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresourceStatus", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceStatus" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresourceStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresourceStatus" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresources", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceValidation": { + "kubernetes_apiextensions_v1beta1_CustomResourceValidation": { "type": "object", "description": "", "properties": { "openAPIV3Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceValidation", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_ExternalDocumentation": { + "kubernetes_apiextensions_v1beta1_ExternalDocumentation": { "type": "object", "description": "", "properties": { @@ -440,12 +1234,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ExternalDocumentation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ExternalDocumentation", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_JSON": { + "kubernetes_apiextensions_v1beta1_JSON": { "type": "object", "description": "", "properties": { @@ -460,7 +1254,7 @@ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_JSONSchemaProps": { + "kubernetes_apiextensions_v1beta1_JSONSchemaProps": { "type": "object", "description": "", "properties": { @@ -473,20 +1267,20 @@ "description": "" }, "additionalItems": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrBool", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrBool" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBool" }, "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrBool", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrBool" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBool" }, "allOf": { "type": "array", "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "anyOf": { @@ -494,31 +1288,31 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "default": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSON", "javaType": "com.fasterxml.jackson.databind.JsonNode" }, "definitions": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps\u003e" }, "dependencies": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrStringArray", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArray" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArray\u003e" }, "description": { "type": "string", @@ -529,12 +1323,12 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSON", "javaType": "com.fasterxml.jackson.databind.JsonNode" } }, "example": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSON", "javaType": "com.fasterxml.jackson.databind.JsonNode" }, "exclusiveMaximum": { @@ -546,8 +1340,8 @@ "description": "" }, "externalDocs": { - "$ref": "#/definitions/kubernetes_apiextensions_ExternalDocumentation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ExternalDocumentation" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_ExternalDocumentation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ExternalDocumentation" }, "format": { "type": "string", @@ -558,8 +1352,8 @@ "description": "" }, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrArray", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrArray" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArray" }, "maxItems": { "type": "integer", @@ -604,8 +1398,8 @@ "description": "" }, "not": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" }, "nullable": { "type": "boolean", @@ -616,8 +1410,8 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "pattern": { @@ -628,19 +1422,19 @@ "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps\u003e" }, "properties": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps\u003e" }, "required": { "type": "array", @@ -694,12 +1488,12 @@ } }, "additionalProperties": false, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_JSONSchemaPropsOrArray": { + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrArray": { "type": "object", "description": "", "properties": { @@ -707,24 +1501,24 @@ "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArray", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ], - "serializer": "JSONSchemaPropsOrArraySerDe.Serializer.class", - "deserializer": "JSONSchemaPropsOrArraySerDe.Deserializer.class" + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArraySerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArraySerDe.Deserializer.class" }, - "kubernetes_apiextensions_JSONSchemaPropsOrBool": { + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrBool": { "type": "object", "description": "", "properties": { @@ -733,19 +1527,19 @@ "description": "" }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBool", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ], - "serializer": "JSONSchemaPropsOrBoolSerDe.Serializer.class", - "deserializer": "JSONSchemaPropsOrBoolSerDe.Deserializer.class" + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBoolSerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBoolSerDe.Deserializer.class" }, - "kubernetes_apiextensions_JSONSchemaPropsOrStringArray": { + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrStringArray": { "type": "object", "description": "", "properties": { @@ -758,19 +1552,19 @@ } }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArray", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ], - "serializer": "JSONSchemaPropsOrStringArraySerDe.Serializer.class", - "deserializer": "JSONSchemaPropsOrStringArraySerDe.Deserializer.class" + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArraySerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArraySerDe.Deserializer.class" }, - "kubernetes_apiextensions_ServiceReference": { + "kubernetes_apiextensions_v1beta1_ServiceReference": { "type": "object", "description": "", "properties": { @@ -792,12 +1586,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ServiceReference", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ServiceReference", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_WebhookClientConfig": { + "kubernetes_apiextensions_v1beta1_WebhookClientConfig": { "type": "object", "description": "", "properties": { @@ -806,8 +1600,8 @@ "description": "" }, "service": { - "$ref": "#/definitions/kubernetes_apiextensions_ServiceReference", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ServiceReference" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_ServiceReference", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ServiceReference" }, "url": { "type": "string", @@ -815,7 +1609,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.WebhookClientConfig", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.WebhookClientConfig", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -1744,28 +2538,28 @@ "javaType": "io.fabric8.kubernetes.api.model.CreateOptions" }, "CustomResourceDefinition": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition" }, "CustomResourceDefinitionCondition": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionCondition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionCondition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionCondition" }, "CustomResourceDefinitionList": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionList", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionList", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList" }, "CustomResourceDefinitionNames": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionNames", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames" }, "CustomResourceDefinitionSpec": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionSpec", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionSpec" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionSpec" }, "CustomResourceDefinitionStatus": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionStatus", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionStatus" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionStatus" }, "DeleteOptions": { "$ref": "#/definitions/kubernetes_apimachinery_DeleteOptions", @@ -1780,8 +2574,8 @@ "javaType": "io.fabric8.kubernetes.api.model.version.Info" }, "JSONSchemaPropsOrStringArray": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrStringArray", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArray" }, "ListOptions": { "$ref": "#/definitions/kubernetes_apimachinery_ListOptions", @@ -1826,6 +2620,34 @@ "UpdateOptions": { "$ref": "#/definitions/kubernetes_apimachinery_UpdateOptions", "javaType": "io.fabric8.kubernetes.api.model.UpdateOptions" + }, + "V1CustomResourceDefinition": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition" + }, + "V1CustomResourceDefinitionCondition": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionCondition" + }, + "V1CustomResourceDefinitionList": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionList", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionList" + }, + "V1CustomResourceDefinitionNames": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames" + }, + "V1CustomResourceDefinitionSpec": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionSpec" + }, + "V1CustomResourceDefinitionStatus": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionStatus" + }, + "V1JSONSchemaPropsOrStringArray": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray" } }, "additionalProperties": true diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/resources/schema/validation-schema.json b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/resources/schema/validation-schema.json index 726fa10b7cd..2a5099fe599 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/resources/schema/validation-schema.json +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/main/resources/schema/validation-schema.json @@ -18,7 +18,801 @@ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceColumnDefinition": { + "kubernetes_apiextensions_v1_CustomResourceColumnDefinition": { + "type": "object", + "description": "", + "properties": { + "description": { + "type": "string", + "description": "" + }, + "format": { + "type": "string", + "description": "" + }, + "jsonPath": { + "type": "string", + "description": "" + }, + "name": { + "type": "string", + "description": "" + }, + "priority": { + "type": "integer", + "description": "" + }, + "type": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceColumnDefinition", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceConversion": { + "type": "object", + "description": "", + "properties": { + "strategy": { + "type": "string", + "description": "" + }, + "webhook": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_WebhookConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookConversion" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceConversion", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinition": { + "type": "object", + "description": "", + "properties": { + "apiVersion": { + "type": "string", + "description": "", + "default": "apiextensions.k8s.io/v1", + "required": true + }, + "kind": { + "type": "string", + "description": "", + "default": "CustomResourceDefinition", + "required": true + }, + "metadata": { + "$ref": "#/definitions/kubernetes_apimachinery_ObjectMeta", + "javaType": "io.fabric8.kubernetes.api.model.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionSpec" + }, + "status": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionStatus" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.HasMetadata" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionCondition": { + "type": "object", + "description": "", + "properties": { + "lastTransitionTime": { + "$ref": "#/definitions/kubernetes_apimachinery_Time", + "javaType": "String" + }, + "message": { + "type": "string", + "description": "" + }, + "reason": { + "type": "string", + "description": "" + }, + "status": { + "type": "string", + "description": "" + }, + "type": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionCondition", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionList": { + "type": "object", + "description": "", + "properties": { + "apiVersion": { + "type": "string", + "description": "", + "default": "apiextensions.k8s.io/v1", + "required": true + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition" + } + }, + "kind": { + "type": "string", + "description": "", + "default": "CustomResourceDefinitionList", + "required": true + }, + "metadata": { + "$ref": "#/definitions/kubernetes_apimachinery_ListMeta", + "javaType": "io.fabric8.kubernetes.api.model.ListMeta" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionList", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource", + "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition\u003e" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionNames": { + "type": "object", + "description": "", + "properties": { + "categories": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "type": "string", + "description": "" + } + }, + "kind": { + "type": "string", + "description": "" + }, + "listKind": { + "type": "string", + "description": "" + }, + "plural": { + "type": "string", + "description": "" + }, + "shortNames": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "type": "string", + "description": "" + } + }, + "singular": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionSpec": { + "type": "object", + "description": "", + "properties": { + "conversion": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceConversion" + }, + "group": { + "type": "string", + "description": "" + }, + "names": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames" + }, + "preserveUnknownFields": { + "type": "boolean", + "description": "" + }, + "scope": { + "type": "string", + "description": "" + }, + "versions": { + "type": "array", + "description": "", + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionVersion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionVersion" + } + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionSpec", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionStatus": { + "type": "object", + "description": "", + "properties": { + "acceptedNames": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames" + }, + "conditions": { + "type": "array", + "description": "", + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionCondition" + } + }, + "storedVersions": { + "type": "array", + "description": "", + "items": { + "type": "string", + "description": "" + } + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionStatus", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceDefinitionVersion": { + "type": "object", + "description": "", + "properties": { + "additionalPrinterColumns": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceColumnDefinition" + } + }, + "name": { + "type": "string", + "description": "" + }, + "schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceValidation" + }, + "served": { + "type": "boolean", + "description": "" + }, + "storage": { + "type": "boolean", + "description": "" + }, + "subresources": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresources" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionVersion", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceSubresourceScale": { + "type": "object", + "description": "", + "properties": { + "labelSelectorPath": { + "type": "string", + "description": "" + }, + "specReplicasPath": { + "type": "string", + "description": "" + }, + "statusReplicasPath": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceScale", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceSubresourceStatus": { + "type": "object", + "description": "", + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceStatus", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceSubresources": { + "type": "object", + "description": "", + "properties": { + "scale": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresourceScale", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceScale" + }, + "status": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresourceStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceStatus" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresources", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_CustomResourceValidation": { + "type": "object", + "description": "", + "properties": { + "openAPIV3Schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceValidation", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_ExternalDocumentation": { + "type": "object", + "description": "", + "properties": { + "description": { + "type": "string", + "description": "" + }, + "url": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ExternalDocumentation", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_JSON": { + "type": "object", + "description": "", + "properties": { + "Raw": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_JSONSchemaProps": { + "type": "object", + "description": "", + "properties": { + "$ref": { + "type": "string", + "description": "" + }, + "$schema": { + "type": "string", + "description": "" + }, + "additionalItems": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBool" + }, + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBool" + }, + "allOf": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "anyOf": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "default": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" + }, + "definitions": { + "type": "object", + "description": "", + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + }, + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" + }, + "dependencies": { + "type": "object", + "description": "", + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray" + }, + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray\u003e" + }, + "description": { + "type": "string", + "description": "" + }, + "enum": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" + } + }, + "example": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" + }, + "exclusiveMaximum": { + "type": "boolean", + "description": "" + }, + "exclusiveMinimum": { + "type": "boolean", + "description": "" + }, + "externalDocs": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_ExternalDocumentation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ExternalDocumentation" + }, + "format": { + "type": "string", + "description": "" + }, + "id": { + "type": "string", + "description": "" + }, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArray" + }, + "maxItems": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "maxLength": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "maxProperties": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "maximum": { + "type": "number", + "description": "" + }, + "minItems": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "minLength": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "minProperties": { + "type": "integer", + "description": "", + "javaType": "Long" + }, + "minimum": { + "type": "number", + "description": "" + }, + "multipleOf": { + "type": "number", + "description": "" + }, + "not": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + }, + "nullable": { + "type": "boolean", + "description": "" + }, + "oneOf": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "pattern": { + "type": "string", + "description": "" + }, + "patternProperties": { + "type": "object", + "description": "", + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + }, + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" + }, + "properties": { + "type": "object", + "description": "", + "additionalProperties": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + }, + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" + }, + "required": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "type": "string", + "description": "" + } + }, + "title": { + "type": "string", + "description": "" + }, + "type": { + "type": "string", + "description": "" + }, + "uniqueItems": { + "type": "boolean", + "description": "" + }, + "x-kubernetes-embedded-resource": { + "type": "boolean", + "description": "" + }, + "x-kubernetes-int-or-string": { + "type": "boolean", + "description": "" + }, + "x-kubernetes-list-map-keys": { + "type": "array", + "description": "", + "javaOmitEmpty": true, + "items": { + "type": "string", + "description": "" + } + }, + "x-kubernetes-list-type": { + "type": "string", + "description": "" + }, + "x-kubernetes-map-type": { + "type": "string", + "description": "" + }, + "x-kubernetes-preserve-unknown-fields": { + "type": "boolean", + "description": "" + } + }, + "additionalProperties": false, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_JSONSchemaPropsOrArray": { + "type": "object", + "description": "", + "properties": { + "JSONSchemas": { + "type": "array", + "description": "", + "items": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "Schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArray", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ], + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArraySerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArraySerDe.Deserializer.class" + }, + "kubernetes_apiextensions_v1_JSONSchemaPropsOrBool": { + "type": "object", + "description": "", + "properties": { + "Allows": { + "type": "boolean", + "description": "" + }, + "Schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBool", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ], + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBoolSerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBoolSerDe.Deserializer.class" + }, + "kubernetes_apiextensions_v1_JSONSchemaPropsOrStringArray": { + "type": "object", + "description": "", + "properties": { + "Property": { + "type": "array", + "description": "", + "items": { + "type": "string", + "description": "" + } + }, + "Schema": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ], + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArraySerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArraySerDe.Deserializer.class" + }, + "kubernetes_apiextensions_v1_ServiceReference": { + "type": "object", + "description": "", + "properties": { + "name": { + "type": "string", + "description": "" + }, + "namespace": { + "type": "string", + "description": "" + }, + "path": { + "type": "string", + "description": "" + }, + "port": { + "type": "integer", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ServiceReference", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_WebhookClientConfig": { + "type": "object", + "description": "", + "properties": { + "caBundle": { + "type": "string", + "description": "" + }, + "service": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_ServiceReference", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ServiceReference" + }, + "url": { + "type": "string", + "description": "" + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookClientConfig", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1_WebhookConversion": { + "type": "object", + "description": "", + "properties": { + "clientConfig": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_WebhookClientConfig", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookClientConfig" + }, + "conversionReviewVersions": { + "type": "array", + "description": "", + "items": { + "type": "string", + "description": "" + } + } + }, + "additionalProperties": true, + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookConversion", + "javaInterfaces": [ + "io.fabric8.kubernetes.api.model.KubernetesResource" + ] + }, + "kubernetes_apiextensions_v1beta1_CustomResourceColumnDefinition": { "type": "object", "description": "", "properties": { @@ -48,12 +842,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceColumnDefinition", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceConversion": { + "kubernetes_apiextensions_v1beta1_CustomResourceConversion": { "type": "object", "description": "", "properties": { @@ -71,24 +865,24 @@ "description": "" }, "webhookClientConfig": { - "$ref": "#/definitions/kubernetes_apiextensions_WebhookClientConfig", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.WebhookClientConfig" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_WebhookClientConfig", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.WebhookClientConfig" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceConversion", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinition": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinition": { "type": "object", "description": "", "properties": { "apiVersion": { "type": "string", "description": "", - "default": "apiextensions/v1beta1", + "default": "apiextensions.k8s.io/v1beta1", "required": true }, "kind": { @@ -102,21 +896,21 @@ "javaType": "io.fabric8.kubernetes.api.model.ObjectMeta" }, "spec": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionSpec", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionSpec" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionSpec" }, "status": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionStatus", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionStatus" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionStatus" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.HasMetadata" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionCondition": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionCondition": { "type": "object", "description": "", "properties": { @@ -142,27 +936,27 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionCondition", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionList": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionList": { "type": "object", "description": "", "properties": { "apiVersion": { "type": "string", "description": "", - "default": "apiextensions/v1beta1", + "default": "apiextensions.k8s.io/v1beta1", "required": true }, "items": { "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition" } }, "kind": { @@ -177,13 +971,13 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource", - "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition\u003e" + "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition\u003e" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionNames": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames": { "type": "object", "description": "", "properties": { @@ -223,12 +1017,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionSpec": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionSpec": { "type": "object", "description": "", "properties": { @@ -237,21 +1031,21 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceColumnDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceColumnDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceColumnDefinition" } }, "conversion": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceConversion", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceConversion" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceConversion" }, "group": { "type": "string", "description": "" }, "names": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionNames", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames" }, "preserveUnknownFields": { "type": "boolean", @@ -262,12 +1056,12 @@ "description": "" }, "subresources": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresources", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresources" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresources" }, "validation": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceValidation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceValidation" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceValidation" }, "version": { "type": "string", @@ -278,31 +1072,31 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionVersion", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionVersion" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionVersion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionVersion" } } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionSpec", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionStatus": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionStatus": { "type": "object", "description": "", "properties": { "acceptedNames": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionNames", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames" }, "conditions": { "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionCondition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionCondition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionCondition" } }, "storedVersions": { @@ -315,12 +1109,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionStatus", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceDefinitionVersion": { + "kubernetes_apiextensions_v1beta1_CustomResourceDefinitionVersion": { "type": "object", "description": "", "properties": { @@ -329,8 +1123,8 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceColumnDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceColumnDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceColumnDefinition" } }, "name": { @@ -338,8 +1132,8 @@ "description": "" }, "schema": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceValidation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceValidation" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceValidation" }, "served": { "type": "boolean", @@ -350,17 +1144,17 @@ "description": "" }, "subresources": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresources", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresources" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresources" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionVersion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionVersion", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceSubresourceScale": { + "kubernetes_apiextensions_v1beta1_CustomResourceSubresourceScale": { "type": "object", "description": "", "properties": { @@ -378,55 +1172,55 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceScale", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresourceScale", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceSubresourceStatus": { + "kubernetes_apiextensions_v1beta1_CustomResourceSubresourceStatus": { "type": "object", "description": "", "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresourceStatus", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceSubresources": { + "kubernetes_apiextensions_v1beta1_CustomResourceSubresources": { "type": "object", "description": "", "properties": { "scale": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresourceScale", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceScale" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresourceScale", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresourceScale" }, "status": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresourceStatus", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceStatus" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresourceStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresourceStatus" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresources", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_CustomResourceValidation": { + "kubernetes_apiextensions_v1beta1_CustomResourceValidation": { "type": "object", "description": "", "properties": { "openAPIV3Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceValidation", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_ExternalDocumentation": { + "kubernetes_apiextensions_v1beta1_ExternalDocumentation": { "type": "object", "description": "", "properties": { @@ -440,12 +1234,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ExternalDocumentation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ExternalDocumentation", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_JSON": { + "kubernetes_apiextensions_v1beta1_JSON": { "type": "object", "description": "", "properties": { @@ -460,7 +1254,7 @@ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_JSONSchemaProps": { + "kubernetes_apiextensions_v1beta1_JSONSchemaProps": { "type": "object", "description": "", "properties": { @@ -473,20 +1267,20 @@ "description": "" }, "additionalItems": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrBool", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrBool" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBool" }, "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrBool", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrBool" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBool" }, "allOf": { "type": "array", "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "anyOf": { @@ -494,31 +1288,31 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "default": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSON", "javaType": "com.fasterxml.jackson.databind.JsonNode" }, "definitions": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps\u003e" }, "dependencies": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrStringArray", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArray" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArray\u003e" }, "description": { "type": "string", @@ -529,12 +1323,12 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSON", "javaType": "com.fasterxml.jackson.databind.JsonNode" } }, "example": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSON", "javaType": "com.fasterxml.jackson.databind.JsonNode" }, "exclusiveMaximum": { @@ -546,8 +1340,8 @@ "description": "" }, "externalDocs": { - "$ref": "#/definitions/kubernetes_apiextensions_ExternalDocumentation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ExternalDocumentation" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_ExternalDocumentation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ExternalDocumentation" }, "format": { "type": "string", @@ -558,8 +1352,8 @@ "description": "" }, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrArray", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrArray" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArray" }, "maxItems": { "type": "integer", @@ -604,8 +1398,8 @@ "description": "" }, "not": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" }, "nullable": { "type": "boolean", @@ -616,8 +1410,8 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "pattern": { @@ -628,19 +1422,19 @@ "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps\u003e" }, "properties": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps\u003e" }, "required": { "type": "array", @@ -694,12 +1488,12 @@ } }, "additionalProperties": false, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_JSONSchemaPropsOrArray": { + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrArray": { "type": "object", "description": "", "properties": { @@ -707,24 +1501,24 @@ "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArray", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ], - "serializer": "JSONSchemaPropsOrArraySerDe.Serializer.class", - "deserializer": "JSONSchemaPropsOrArraySerDe.Deserializer.class" + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArraySerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArraySerDe.Deserializer.class" }, - "kubernetes_apiextensions_JSONSchemaPropsOrBool": { + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrBool": { "type": "object", "description": "", "properties": { @@ -733,19 +1527,19 @@ "description": "" }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBool", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ], - "serializer": "JSONSchemaPropsOrBoolSerDe.Serializer.class", - "deserializer": "JSONSchemaPropsOrBoolSerDe.Deserializer.class" + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBoolSerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBoolSerDe.Deserializer.class" }, - "kubernetes_apiextensions_JSONSchemaPropsOrStringArray": { + "kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrStringArray": { "type": "object", "description": "", "properties": { @@ -758,19 +1552,19 @@ } }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArray", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ], - "serializer": "JSONSchemaPropsOrStringArraySerDe.Serializer.class", - "deserializer": "JSONSchemaPropsOrStringArraySerDe.Deserializer.class" + "serializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArraySerDe.Serializer.class", + "deserializer": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArraySerDe.Deserializer.class" }, - "kubernetes_apiextensions_ServiceReference": { + "kubernetes_apiextensions_v1beta1_ServiceReference": { "type": "object", "description": "", "properties": { @@ -792,12 +1586,12 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ServiceReference", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ServiceReference", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] }, - "kubernetes_apiextensions_WebhookClientConfig": { + "kubernetes_apiextensions_v1beta1_WebhookClientConfig": { "type": "object", "description": "", "properties": { @@ -806,8 +1600,8 @@ "description": "" }, "service": { - "$ref": "#/definitions/kubernetes_apiextensions_ServiceReference", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ServiceReference" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_ServiceReference", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ServiceReference" }, "url": { "type": "string", @@ -815,7 +1609,7 @@ } }, "additionalProperties": true, - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.WebhookClientConfig", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.WebhookClientConfig", "javaInterfaces": [ "io.fabric8.kubernetes.api.model.KubernetesResource" ] @@ -1744,28 +2538,28 @@ "javaType": "io.fabric8.kubernetes.api.model.CreateOptions" }, "CustomResourceDefinition": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition" }, "CustomResourceDefinitionCondition": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionCondition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionCondition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionCondition" }, "CustomResourceDefinitionList": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionList", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionList", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList" }, "CustomResourceDefinitionNames": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionNames", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames" }, "CustomResourceDefinitionSpec": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionSpec", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionSpec" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionSpec" }, "CustomResourceDefinitionStatus": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionStatus", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionStatus" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionStatus" }, "DeleteOptions": { "$ref": "#/definitions/kubernetes_apimachinery_DeleteOptions", @@ -1780,8 +2574,8 @@ "javaType": "io.fabric8.kubernetes.api.model.version.Info" }, "JSONSchemaPropsOrStringArray": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrStringArray", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArray" }, "ListOptions": { "$ref": "#/definitions/kubernetes_apimachinery_ListOptions", @@ -1826,6 +2620,34 @@ "UpdateOptions": { "$ref": "#/definitions/kubernetes_apimachinery_UpdateOptions", "javaType": "io.fabric8.kubernetes.api.model.UpdateOptions" + }, + "V1CustomResourceDefinition": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition" + }, + "V1CustomResourceDefinitionCondition": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionCondition" + }, + "V1CustomResourceDefinitionList": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionList", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionList" + }, + "V1CustomResourceDefinitionNames": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames" + }, + "V1CustomResourceDefinitionSpec": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionSpec" + }, + "V1CustomResourceDefinitionStatus": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionStatus" + }, + "V1JSONSchemaPropsOrStringArray": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray" } }, "additionalProperties": true, @@ -1929,15 +2751,15 @@ }, "customresourcecolumndefinition": { "properties": { - "JSONPath": { + "description": { "type": "string", "description": "" }, - "description": { + "format": { "type": "string", "description": "" }, - "format": { + "jsonPath": { "type": "string", "description": "" }, @@ -1958,22 +2780,13 @@ }, "customresourceconversion": { "properties": { - "conversionReviewVersions": { - "type": "array", - "description": "", - "javaOmitEmpty": true, - "items": { - "type": "string", - "description": "" - } - }, "strategy": { "type": "string", "description": "" }, - "webhookClientConfig": { - "$ref": "#/definitions/kubernetes_apiextensions_WebhookClientConfig", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.WebhookClientConfig" + "webhook": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_WebhookConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookConversion" } }, "additionalProperties": true @@ -1983,7 +2796,7 @@ "apiVersion": { "type": "string", "description": "", - "default": "apiextensions/v1beta1", + "default": "apiextensions.k8s.io/v1", "required": true }, "kind": { @@ -1997,12 +2810,12 @@ "javaType": "io.fabric8.kubernetes.api.model.ObjectMeta" }, "spec": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionSpec", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionSpec" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionSpec", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionSpec" }, "status": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionStatus", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionStatus" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionStatus" } }, "additionalProperties": true @@ -2037,15 +2850,15 @@ "apiVersion": { "type": "string", "description": "", - "default": "apiextensions/v1beta1", + "default": "apiextensions.k8s.io/v1beta1", "required": true }, "items": { "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition" } }, "kind": { @@ -2107,21 +2920,21 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceColumnDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceColumnDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceColumnDefinition" } }, "conversion": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceConversion", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceConversion" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceConversion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceConversion" }, "group": { "type": "string", "description": "" }, "names": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionNames", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionNames" }, "preserveUnknownFields": { "type": "boolean", @@ -2132,12 +2945,12 @@ "description": "" }, "subresources": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresources", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresources" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceSubresources" }, "validation": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceValidation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceValidation" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceValidation" }, "version": { "type": "string", @@ -2148,8 +2961,8 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionVersion", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionVersion" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_CustomResourceDefinitionVersion", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionVersion" } } }, @@ -2158,15 +2971,15 @@ "customresourcedefinitionstatus": { "properties": { "acceptedNames": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionNames", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionNames" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionNames", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionNames" }, "conditions": { "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceDefinitionCondition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionCondition" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceDefinitionCondition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinitionCondition" } }, "storedVersions": { @@ -2187,8 +3000,8 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceColumnDefinition", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceColumnDefinition" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceColumnDefinition", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceColumnDefinition" } }, "name": { @@ -2196,8 +3009,8 @@ "description": "" }, "schema": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceValidation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceValidation" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceValidation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceValidation" }, "served": { "type": "boolean", @@ -2208,8 +3021,8 @@ "description": "" }, "subresources": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresources", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresources" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresources", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresources" } }, "additionalProperties": true @@ -2217,12 +3030,12 @@ "customresourcesubresources": { "properties": { "scale": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresourceScale", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceScale" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresourceScale", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceScale" }, "status": { - "$ref": "#/definitions/kubernetes_apiextensions_CustomResourceSubresourceStatus", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.CustomResourceSubresourceStatus" + "$ref": "#/definitions/kubernetes_apiextensions_v1_CustomResourceSubresourceStatus", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceSubresourceStatus" } }, "additionalProperties": true @@ -2250,8 +3063,8 @@ "customresourcevalidation": { "properties": { "openAPIV3Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true @@ -2413,20 +3226,20 @@ "description": "" }, "additionalItems": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrBool", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrBool" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBool" }, "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrBool", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrBool" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrBool", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrBool" }, "allOf": { "type": "array", "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" } }, "anyOf": { @@ -2434,31 +3247,31 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" } }, "default": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", - "javaType": "com.fasterxml.jackson.databind.JsonNode" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" }, "definitions": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" }, "dependencies": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrStringArray", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrStringArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrStringArray\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrStringArray\u003e" }, "description": { "type": "string", @@ -2469,13 +3282,13 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", - "javaType": "com.fasterxml.jackson.databind.JsonNode" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" } }, "example": { - "$ref": "#/definitions/kubernetes_apiextensions_JSON", - "javaType": "com.fasterxml.jackson.databind.JsonNode" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSON", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSON" }, "exclusiveMaximum": { "type": "boolean", @@ -2486,8 +3299,8 @@ "description": "" }, "externalDocs": { - "$ref": "#/definitions/kubernetes_apiextensions_ExternalDocumentation", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ExternalDocumentation" + "$ref": "#/definitions/kubernetes_apiextensions_v1_ExternalDocumentation", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.ExternalDocumentation" }, "format": { "type": "string", @@ -2498,8 +3311,8 @@ "description": "" }, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaPropsOrArray", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaPropsOrArray" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaPropsOrArray", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaPropsOrArray" }, "maxItems": { "type": "integer", @@ -2544,8 +3357,8 @@ "description": "" }, "not": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" }, "nullable": { "type": "boolean", @@ -2556,8 +3369,8 @@ "description": "", "javaOmitEmpty": true, "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" } }, "pattern": { @@ -2568,19 +3381,19 @@ "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" }, "properties": { "type": "object", "description": "", "additionalProperties": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" }, - "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps\u003e" + "javaType": "java.util.Map\u003cString,io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps\u003e" }, "required": { "type": "array", @@ -2641,13 +3454,13 @@ "type": "array", "description": "", "items": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps" } }, "additionalProperties": true @@ -2659,8 +3472,8 @@ "description": "" }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" } }, "additionalProperties": true @@ -2676,8 +3489,8 @@ } }, "Schema": { - "$ref": "#/definitions/kubernetes_apiextensions_JSONSchemaProps", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps" + "$ref": "#/definitions/kubernetes_apiextensions_v1_JSONSchemaProps", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps" } }, "additionalProperties": true @@ -3233,8 +4046,8 @@ "description": "" }, "service": { - "$ref": "#/definitions/kubernetes_apiextensions_ServiceReference", - "javaType": "io.fabric8.kubernetes.api.model.apiextensions.ServiceReference" + "$ref": "#/definitions/kubernetes_apiextensions_v1beta1_ServiceReference", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.ServiceReference" }, "url": { "type": "string", @@ -3242,6 +4055,23 @@ } }, "additionalProperties": true + }, + "webhookconversion": { + "properties": { + "clientConfig": { + "$ref": "#/definitions/kubernetes_apiextensions_v1_WebhookClientConfig", + "javaType": "io.fabric8.kubernetes.api.model.apiextensions.v1.WebhookClientConfig" + }, + "conversionReviewVersions": { + "type": "array", + "description": "", + "items": { + "type": "string", + "description": "" + } + } + }, + "additionalProperties": true } } } diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/CustomResourceDefinitionTest.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/CustomResourceDefinitionTest.java index adb30ed6f41..26d516cb69e 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/CustomResourceDefinitionTest.java +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/CustomResourceDefinitionTest.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; import io.fabric8.kubernetes.model.util.Helper; import org.junit.jupiter.api.Test; @@ -34,7 +35,7 @@ class CustomResourceDefinitionTest { @Test public void testBuilder() { - CustomResourceDefinition crd = new io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder() + CustomResourceDefinition crd = new io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionBuilder() .withApiVersion("apiextensions.k8s.io/v1beta1") .withNewMetadata() .withName("itests.examples.fabric8.io") @@ -42,7 +43,7 @@ public void testBuilder() { .withNewSpec() .withGroup("examples.fabric8.io") .withVersion("v1") - .addAllToVersions(Collections.singletonList(new io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionVersionBuilder() + .addAllToVersions(Collections.singletonList(new io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionVersionBuilder() .withName("v1") .withServed(true) .withStorage(true) diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrArrayTest.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrArrayTest.java index af50892ce47..50ad9411df1 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrArrayTest.java +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrArrayTest.java @@ -23,6 +23,9 @@ import java.nio.charset.StandardCharsets; import java.util.stream.Collectors; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrArrayBuilder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrBoolTest.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrBoolTest.java index 300ed0c9a1b..6c6826a2aaa 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrBoolTest.java +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrBoolTest.java @@ -23,6 +23,9 @@ import java.nio.charset.StandardCharsets; import java.util.stream.Collectors; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrBoolBuilder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrStringArrayTest.java b/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrStringArrayTest.java index 3dbea3cb26f..313b19b24ad 100644 --- a/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrStringArrayTest.java +++ b/kubernetes-model-generator/kubernetes-model-apiextensions/src/test/java/io/fabric8/kubernetes/api/model/apiextensions/JSONSchemaPropsOrStringArrayTest.java @@ -22,6 +22,9 @@ import java.nio.charset.StandardCharsets; import java.util.stream.Collectors; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaPropsOrStringArrayBuilder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/kubernetes-model-generator/kubernetes-model-core/src/main/java/io/fabric8/kubernetes/internal/KubernetesDeserializer.java b/kubernetes-model-generator/kubernetes-model-core/src/main/java/io/fabric8/kubernetes/internal/KubernetesDeserializer.java index f4a07fafe6c..5d7d65610d2 100644 --- a/kubernetes-model-generator/kubernetes-model-core/src/main/java/io/fabric8/kubernetes/internal/KubernetesDeserializer.java +++ b/kubernetes-model-generator/kubernetes-model-core/src/main/java/io/fabric8/kubernetes/internal/KubernetesDeserializer.java @@ -131,7 +131,8 @@ static class Mapping { "io.fabric8.kubernetes.api.model.admission", "io.fabric8.kubernetes.api.model.admissionregistration.v1.", "io.fabric8.kubernetes.api.model.admissionregistration.v1beta1.", - "io.fabric8.kubernetes.api.model.apiextensions.", + "io.fabric8.kubernetes.api.model.apiextensions.v1.", + "io.fabric8.kubernetes.api.model.apiextensions.v1beta1.", "io.fabric8.kubernetes.api.model.apps.", "io.fabric8.kubernetes.api.model.authentication.", "io.fabric8.kubernetes.api.model.authorization.", diff --git a/kubernetes-model-generator/pkg/schemagen/generate.go b/kubernetes-model-generator/pkg/schemagen/generate.go index b0e9d55d9b4..4c045c75731 100644 --- a/kubernetes-model-generator/pkg/schemagen/generate.go +++ b/kubernetes-model-generator/pkg/schemagen/generate.go @@ -483,6 +483,12 @@ func (g *schemaGenerator) getStructProperties(t reflect.Type) map[string]JSONPro if ok && pkgDesc.ApiGroup != "" { apiGroup = pkgDesc.ApiGroup } + /* + * ApiGroup for apiextensions is apiextensions.k8s.io + */ + if apiGroup == "apiextensions" { + apiGroup = "apiextensions.k8s.io" + } /* * Skip appending apiGroup in apiVersion for case of core and meta resources since diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceCrudTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceCrudTest.java index 70c8cf15f64..6ac1201822e 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceCrudTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceCrudTest.java @@ -29,7 +29,7 @@ import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.dsl.MixedOperation; import io.fabric8.kubernetes.client.dsl.Resource; diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceDefinitionTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceDefinitionTest.java index 2b0ddc97018..0260aa9ead3 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceDefinitionTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceDefinitionTest.java @@ -18,10 +18,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.api.model.KubernetesListBuilder; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList; -import io.fabric8.kubernetes.api.model.apiextensions.JSONSchemaProps; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.JSONSchemaProps; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.server.mock.KubernetesServer; import org.junit.Rule; @@ -78,7 +78,7 @@ void testLoad() { @Test void testLoadWithJsonSchemaPropsOrBool() { KubernetesClient client = server.getClient(); - CustomResourceDefinition customResourceDefinition = client.customResourceDefinitions().load(getClass().getResourceAsStream("/kafka-crd.yml")).get(); + CustomResourceDefinition customResourceDefinition = client.apiextensions().v1beta1().customResourceDefinitions().load(getClass().getResourceAsStream("/kafka-crd.yml")).get(); assertNotNull(customResourceDefinition); assertEquals("kafkatopics.kafka.test", customResourceDefinition.getMetadata().getName()); } @@ -88,7 +88,7 @@ void testGet() { server.expect().get().withPath("/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/sparkclusters.radanalytics.io").andReturn(200, customResourceDefinition).once(); KubernetesClient client = server.getClient(); - CustomResourceDefinition crd = client.customResourceDefinitions().withName("sparkclusters.radanalytics.io").get(); + CustomResourceDefinition crd = client.apiextensions().v1beta1().customResourceDefinitions().withName("sparkclusters.radanalytics.io").get(); assertNotNull(crd); assertEquals("sparkclusters.radanalytics.io", crd.getMetadata().getName()); } @@ -98,7 +98,7 @@ void testCreate() { server.expect().post().withPath("/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions").andReturn(200, customResourceDefinition).once(); KubernetesClient client = server.getClient(); - CustomResourceDefinition crd = client.customResourceDefinitions().createOrReplace(customResourceDefinition); + CustomResourceDefinition crd = client.apiextensions().v1beta1().customResourceDefinitions().createOrReplace(customResourceDefinition); assertNotNull(crd); assertEquals("sparkclusters.radanalytics.io", crd.getMetadata().getName()); // Assertion to test behavior in https://github.com/fabric8io/kubernetes-client/issues/1486 @@ -110,7 +110,7 @@ void testList() { server.expect().get().withPath("/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions").andReturn(200, new KubernetesListBuilder().withItems(customResourceDefinition).build()).once(); KubernetesClient client = server.getClient(); - CustomResourceDefinitionList crdList = client.customResourceDefinitions().list(); + CustomResourceDefinitionList crdList = client.apiextensions().v1beta1().customResourceDefinitions().list(); assertNotNull(crdList); assertEquals(1, crdList.getItems().size()); assertEquals("sparkclusters.radanalytics.io", crdList.getItems().get(0).getMetadata().getName()); @@ -121,7 +121,7 @@ void testDelete() { server.expect().delete().withPath("/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/sparkclusters.radanalytics.io").andReturn(200, customResourceDefinition).once(); KubernetesClient client = server.getClient(); - Boolean deleted = client.customResourceDefinitions().withName("sparkclusters.radanalytics.io").delete(); + Boolean deleted = client.apiextensions().v1beta1().customResourceDefinitions().withName("sparkclusters.radanalytics.io").delete(); assertTrue(deleted); } diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceTest.java index 5fead107cba..d67f86056fc 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/CustomResourceTest.java @@ -44,9 +44,9 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionListBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionListBuilder; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientException; import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext; diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/PropagationPolicyTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/PropagationPolicyTest.java index 8a29cdd1929..3929df9ec01 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/PropagationPolicyTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/PropagationPolicyTest.java @@ -23,7 +23,7 @@ import io.fabric8.kubernetes.api.model.ReplicationControllerBuilder; import io.fabric8.kubernetes.api.model.SecretBuilder; import io.fabric8.kubernetes.api.model.ServiceBuilder; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionBuilder; import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder; import io.fabric8.kubernetes.api.model.apps.StatefulSetBuilder; import io.fabric8.kubernetes.api.model.batch.JobBuilder; diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/TypedClusterScopeCustomResourceApiTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/TypedClusterScopeCustomResourceApiTest.java index 76c64ce9437..bddb2030f16 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/TypedClusterScopeCustomResourceApiTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/TypedClusterScopeCustomResourceApiTest.java @@ -17,8 +17,8 @@ import io.fabric8.kubernetes.api.model.DeletionPropagation; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionBuilder; import io.fabric8.kubernetes.client.dsl.MixedOperation; import io.fabric8.kubernetes.client.dsl.Resource; import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext; diff --git a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/TypedCustomResourceApiTest.java b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/TypedCustomResourceApiTest.java index 5a4bb0440d7..feed9effe2f 100644 --- a/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/TypedCustomResourceApiTest.java +++ b/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock/TypedCustomResourceApiTest.java @@ -17,8 +17,8 @@ import io.fabric8.kubernetes.api.model.DeletionPropagation; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionBuilder; import io.fabric8.kubernetes.client.dsl.MixedOperation; import io.fabric8.kubernetes.client.dsl.Resource; import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext; 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 09697cd549b..1ce7c24f6e5 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 @@ -34,9 +34,9 @@ import io.fabric8.kubernetes.api.model.DoneableService; import io.fabric8.kubernetes.api.model.DoneableServiceAccount; import io.fabric8.kubernetes.api.model.Secret; -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.api.model.apiextensions.v1beta1.CustomResourceDefinition; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinitionList; +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.DoneableCustomResourceDefinition; import io.fabric8.kubernetes.api.model.coordination.v1.DoneableLease; import io.fabric8.kubernetes.api.model.coordination.v1.Lease; import io.fabric8.kubernetes.api.model.coordination.v1.LeaseList; @@ -379,6 +379,11 @@ public NonNamespaceOperation