io.alauda.kubernetes.client.DefaultKubernetesClient Maven / Gradle / Ivy
/**
* Copyright (C) 2018 Alauda
*
* 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.alauda.kubernetes.client;
import io.alauda.kubernetes.api.builder.Visitor;
import io.alauda.kubernetes.api.model.*;
import io.alauda.kubernetes.api.model.apiextensions.CustomResourceDefinition;
import io.alauda.kubernetes.api.model.apiextensions.CustomResourceDefinitionList;
import io.alauda.kubernetes.api.model.apiextensions.DoneableCustomResourceDefinition;
import io.alauda.kubernetes.api.model.extensions.DoneablePodSecurityPolicy;
import io.alauda.kubernetes.api.model.extensions.PodSecurityPolicy;
import io.alauda.kubernetes.api.model.extensions.PodSecurityPolicyList;
import io.alauda.kubernetes.client.dsl.AppsAPIGroupDSL;
import io.alauda.kubernetes.client.dsl.AutoscalingAPIGroupDSL;
import io.alauda.kubernetes.client.dsl.ExtensionsAPIGroupDSL;
import io.alauda.kubernetes.client.dsl.FunctionCallable;
import io.alauda.kubernetes.client.dsl.KubernetesListMixedOperation;
import io.alauda.kubernetes.client.dsl.MixedOperation;
import io.alauda.kubernetes.client.dsl.NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable;
import io.alauda.kubernetes.client.dsl.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable;
import io.alauda.kubernetes.client.dsl.NonNamespaceOperation;
import io.alauda.kubernetes.client.dsl.ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable;
import io.alauda.kubernetes.client.dsl.PodResource;
import io.alauda.kubernetes.client.dsl.Resource;
import io.alauda.kubernetes.client.dsl.RollableScalableResource;
import io.alauda.kubernetes.client.dsl.internal.*;
import io.alauda.kubernetes.client.utils.Serialization;
import okhttp3.OkHttpClient;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
public class DefaultKubernetesClient extends BaseClient implements NamespacedKubernetesClient {
public DefaultKubernetesClient() throws KubernetesClientException {
super();
}
public DefaultKubernetesClient(String masterUrl) throws KubernetesClientException {
super(masterUrl);
}
public DefaultKubernetesClient(Config config) throws KubernetesClientException {
super(config);
}
public DefaultKubernetesClient(OkHttpClient httpClient, Config config) throws KubernetesClientException {
super(httpClient, config);
}
public static DefaultKubernetesClient fromConfig(String config) {
return new DefaultKubernetesClient(Serialization.unmarshal(config, Config.class));
}
public static DefaultKubernetesClient fromConfig(InputStream is) {
return new DefaultKubernetesClient(Serialization.unmarshal(is, Config.class));
}
@Override
public MixedOperation> componentstatuses() {
return new ComponentStatusOperationsImpl(httpClient, getConfiguration());
}
@Override
public ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable load(InputStream is) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, new ArrayList(), is, null, false) {
};
}
@Override
public NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable resourceList(KubernetesResourceList item) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, new ArrayList(), item, null, null, -1, false) {
};
}
@Override
public NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable resourceList(HasMetadata... items) {
return resourceList(new KubernetesListBuilder().withItems(items).build());
}
@Override
public NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable resourceList(Collection items) {
return resourceList(new KubernetesListBuilder().withItems(new ArrayList(items)).build());
}
@Override
public ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable resourceList(String s) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, new ArrayList(), s, null, null, -1, false) {
};
}
@Override
public NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable resource(HasMetadata item) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, new ArrayList(), item, -1, false) {
};
}
@Override
public NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable resource(String s) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, new ArrayList(), s, -1, false) {
};
}
@Override
public MixedOperation> endpoints() {
return new EndpointsOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> events() {
return new EventOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public NonNamespaceOperation> namespaces() {
return new NamespaceOperationsImpl(httpClient, getConfiguration());
}
@Override
public NonNamespaceOperation> nodes() {
return new NodeOperationsImpl(httpClient, getConfiguration());
}
@Override
public NonNamespaceOperation> persistentVolumes() {
return new PersistentVolumeOperationsImpl(httpClient, getConfiguration());
}
@Override
public MixedOperation> persistentVolumeClaims() {
return new PersistentVolumeClaimOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> pods() {
return new PodOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> replicationControllers() {
return new ReplicationControllerOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> resourceQuotas() {
return new ResourceQuotaOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> secrets() {
return new SecretOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> services() {
return new ServiceOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> serviceAccounts() {
return new ServiceAccountOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public KubernetesListMixedOperation lists() {
return new KubernetesListOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
//
// @Override
// public NonNamespaceOperation> securityContextConstraints() {
// return new SecurityContextConstraintsOperationsImpl(httpClient, getConfiguration());
// }
@Override
public MixedOperation> configMaps() {
return new ConfigMapOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> limitRanges() {
return new LimitRangeOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public MixedOperation> storageClasses() {
return new StorageClassOperationsImpl(httpClient, getConfiguration());
}
@Override
public MixedOperation> podSecurityPolicies() {
return new PodSecurityPolicyOperationsImpl(httpClient, getConfiguration(), getNamespace());
}
@Override
public NonNamespaceOperation> customResourceDefinitions() {
return new CustomResourceDefinitionOperationsImpl(httpClient, getConfiguration());
}
@Override
public > MixedOperation> customResources(CustomResourceDefinition crd, Class resourceType, Class listClass, Class doneClass) {
return new CustomResourceOperationsImpl(httpClient, getConfiguration(), crd, resourceType, listClass, doneClass);
}
@Override
public > MixedOperation> customResource(CustomResourceDefinition crd, Class resourceType, Class listClass, Class doneClass) {
return customResources(crd, resourceType, listClass, doneClass);
}
@Override
public NamespacedKubernetesClient inNamespace(String namespace)
{
Config updated = new ConfigBuilder(getConfiguration()).withNamespace(namespace).build();
return new DefaultKubernetesClient(httpClient, updated);
}
@Override
public NamespacedKubernetesClient inAnyNamespace() {
return inNamespace(null);
}
@Override
public FunctionCallable withRequestConfig(RequestConfig requestConfig) {
return new WithRequestCallable(this, requestConfig);
}
@Override
public ExtensionsAPIGroupDSL extensions() {
return adapt(ExtensionsAPIGroupClient.class);
}
@Override
public AppsAPIGroupDSL apps() {
return adapt(AppsAPIGroupClient.class);
}
@Override
public AutoscalingAPIGroupDSL autoscaling() {
return adapt(AutoscalingAPIGroupClient.class);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy