All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.alauda.kubernetes.client.KubernetesClient 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.model.*;
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.fabric8.openshift.api.model.DoneableSecurityContextConstraints;
import io.fabric8.openshift.api.model.SecurityContextConstraints;
import io.fabric8.openshift.api.model.SecurityContextConstraintsList;
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.client.dsl.AppsAPIGroupDSL;
import io.alauda.kubernetes.client.dsl.AutoscalingAPIGroupDSL;
import io.alauda.kubernetes.client.dsl.ExtensionsAPIGroupDSL;
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 java.io.InputStream;
import java.util.Collection;

public interface KubernetesClient extends Client {

  NonNamespaceOperation> customResourceDefinitions();

  > MixedOperation> customResources(CustomResourceDefinition crd, Class resourceType, Class listClass, Class doneClass);

  /**
   * @deprecated Use {@link #customResources(CustomResourceDefinition, Class, Class, Class)} instead.
   */
  > MixedOperation> customResource(CustomResourceDefinition crd, Class resourceType, Class listClass, Class doneClass);

  ExtensionsAPIGroupDSL extensions();

  AppsAPIGroupDSL apps();

  AutoscalingAPIGroupDSL autoscaling();

  MixedOperation> componentstatuses();

  ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable load(InputStream is);

  ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable resourceList(String s);

  NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable resourceList(KubernetesResourceList list);

  NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable resourceList(HasMetadata... items);

  NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable resourceList(Collection items);

   NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable resource(T is);

  NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable resource(String s);

  MixedOperation> endpoints();

  MixedOperation> events();

  NonNamespaceOperation< Namespace, NamespaceList, DoneableNamespace, Resource> namespaces();

  NonNamespaceOperation> nodes();

  NonNamespaceOperation> persistentVolumes();

  MixedOperation> persistentVolumeClaims();

  MixedOperation> pods();

  MixedOperation> replicationControllers();

  MixedOperation> resourceQuotas();

  MixedOperation> secrets();

  MixedOperation> services();

  MixedOperation> serviceAccounts();

  KubernetesListMixedOperation lists();

  NonNamespaceOperation> securityContextConstraints();

  MixedOperation> configMaps();

  MixedOperation> limitRanges();

  MixedOperation> storageClasses();

  MixedOperation> podSecurityPolicies();
  
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy