Class DefaultKubernetesClient

    • Constructor Detail

      • DefaultKubernetesClient

        public DefaultKubernetesClient()
      • DefaultKubernetesClient

        public DefaultKubernetesClient​(String masterUrl)
      • DefaultKubernetesClient

        public DefaultKubernetesClient​(Config config)
      • DefaultKubernetesClient

        public DefaultKubernetesClient​(okhttp3.OkHttpClient httpClient,
                                       Config config)
    • Method Detail

      • componentstatuses

        public MixedOperation<io.fabric8.kubernetes.api.model.ComponentStatus,​io.fabric8.kubernetes.api.model.ComponentStatusList,​Resource<io.fabric8.kubernetes.api.model.ComponentStatus>> componentstatuses()
        API entrypoint for dealing with core/v1/ComponentStatus
        Specified by:
        componentstatuses in interface KubernetesClient
        Returns:
        MixedOperation object with which you can do basic operations for ComponentStatus
      • resourceList

        public NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable<io.fabric8.kubernetes.api.model.HasMetadata> resourceList​(io.fabric8.kubernetes.api.model.KubernetesResourceList item)
        KubernetesResourceList operations
        Specified by:
        resourceList in interface KubernetesClient
        Parameters:
        item - KubernetesResourceList object containing kubernetes resource items
        Returns:
        operations object for KubernetesResourceList
      • resource

        public NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable<io.fabric8.kubernetes.api.model.HasMetadata> resource​(io.fabric8.kubernetes.api.model.HasMetadata item)
        KubernetesResource operations. You can pass any Kubernetes resource as a HasMetadata object and do all operations
        Specified by:
        resource in interface KubernetesClient
        Parameters:
        item - Kubernetes resource object
        Returns:
        operations object for Kubernetes resource
      • bindings

        public MixedOperation<io.fabric8.kubernetes.api.model.Binding,​io.fabric8.kubernetes.api.model.KubernetesResourceList<io.fabric8.kubernetes.api.model.Binding>,​Resource<io.fabric8.kubernetes.api.model.Binding>> bindings()
        Operations for Binding resource in APIgroup core/v1
        Specified by:
        bindings in interface KubernetesClient
        Returns:
        MixedOperation object for doing operations for Binding
      • endpoints

        public MixedOperation<io.fabric8.kubernetes.api.model.Endpoints,​io.fabric8.kubernetes.api.model.EndpointsList,​Resource<io.fabric8.kubernetes.api.model.Endpoints>> endpoints()
        API entrypoint for Endpoints with APIGroup core/v1
        Specified by:
        endpoints in interface KubernetesClient
        Returns:
        MixedOperation object for doing operations for Endpoints
      • namespaces

        public NonNamespaceOperation<io.fabric8.kubernetes.api.model.Namespace,​io.fabric8.kubernetes.api.model.NamespaceList,​Resource<io.fabric8.kubernetes.api.model.Namespace>> namespaces()
        API entrypoint for namespace related operations in Kubernetes. Namespace (core/v1)
        Specified by:
        namespaces in interface KubernetesClient
        Returns:
        NonNamespaceOperation object for Namespace related operations
      • nodes

        public NonNamespaceOperation<io.fabric8.kubernetes.api.model.Node,​io.fabric8.kubernetes.api.model.NodeList,​Resource<io.fabric8.kubernetes.api.model.Node>> nodes()
        API entrypoint for node related operations in Kubernetes. Node (core/v1)
        Specified by:
        nodes in interface KubernetesClient
        Returns:
        NonNamespaceOperation object for Node related operations
      • persistentVolumes

        public NonNamespaceOperation<io.fabric8.kubernetes.api.model.PersistentVolume,​io.fabric8.kubernetes.api.model.PersistentVolumeList,​Resource<io.fabric8.kubernetes.api.model.PersistentVolume>> persistentVolumes()
        API entrypoint for PersistentVolume related operations. PersistentVolume (core/v1)
        Specified by:
        persistentVolumes in interface KubernetesClient
        Returns:
        NonNamespaceOperation object for PersistentVolume related operations.
      • persistentVolumeClaims

        public MixedOperation<io.fabric8.kubernetes.api.model.PersistentVolumeClaim,​io.fabric8.kubernetes.api.model.PersistentVolumeClaimList,​Resource<io.fabric8.kubernetes.api.model.PersistentVolumeClaim>> persistentVolumeClaims()
        API entrypoint for PersistentVolumeClaim related operations. PersistentVolumeClaim (core/v1)
        Specified by:
        persistentVolumeClaims in interface KubernetesClient
        Returns:
        MixedOperation object for PersistentVolumeClaim related operations.
      • pods

        public MixedOperation<io.fabric8.kubernetes.api.model.Pod,​io.fabric8.kubernetes.api.model.PodList,​PodResource<io.fabric8.kubernetes.api.model.Pod>> pods()
        API entrypoint for Pod related operations. Pod (core/v1)
        Specified by:
        pods in interface KubernetesClient
        Returns:
        MixedOperation object for Pod related operations
      • replicationControllers

        public MixedOperation<io.fabric8.kubernetes.api.model.ReplicationController,​io.fabric8.kubernetes.api.model.ReplicationControllerList,​RollableScalableResource<io.fabric8.kubernetes.api.model.ReplicationController>> replicationControllers()
        API entrypoint for ReplicationController related operations. ReplicationController (core/v1)
        Specified by:
        replicationControllers in interface KubernetesClient
        Returns:
        MixedOperation object for ReplicationController related operations.
      • resourceQuotas

        public MixedOperation<io.fabric8.kubernetes.api.model.ResourceQuota,​io.fabric8.kubernetes.api.model.ResourceQuotaList,​Resource<io.fabric8.kubernetes.api.model.ResourceQuota>> resourceQuotas()
        API entrypoint for ResourceQuota related operations. ResourceQuota (core/v1)
        Specified by:
        resourceQuotas in interface KubernetesClient
        Returns:
        MixedOperation object for ResourceQuota related operations.
      • scheduling

        public SchedulingAPIGroupDSL scheduling()
        API entrypoint for kubernetes resources with APIGroup scheduling/v1beta1
        Specified by:
        scheduling in interface KubernetesClient
        Returns:
        SchedulingAPIGroupDSL which offers entrypoint to specific resources in this APIGroup
      • secrets

        public MixedOperation<io.fabric8.kubernetes.api.model.Secret,​io.fabric8.kubernetes.api.model.SecretList,​Resource<io.fabric8.kubernetes.api.model.Secret>> secrets()
        Description copied from interface: KubernetesClient
        API entrypoint for Secret related operations. Secret (core/v1)
        Specified by:
        secrets in interface KubernetesClient
        Returns:
        MixedOperation object for Secret related operations.
      • services

        public MixedOperation<io.fabric8.kubernetes.api.model.Service,​io.fabric8.kubernetes.api.model.ServiceList,​ServiceResource<io.fabric8.kubernetes.api.model.Service>> services()
        API entrypoint for Service related operations. Service (core/v1)
        Specified by:
        services in interface KubernetesClient
        Returns:
        MixedOperation object for Service related operations.
      • serviceAccounts

        public MixedOperation<io.fabric8.kubernetes.api.model.ServiceAccount,​io.fabric8.kubernetes.api.model.ServiceAccountList,​Resource<io.fabric8.kubernetes.api.model.ServiceAccount>> serviceAccounts()
        API entrypoint for ServiceAccount related operations. ServiceAccount (core/v1)
        Specified by:
        serviceAccounts in interface KubernetesClient
        Returns:
        MixedOperation object for ServiceAccount related operations.
      • apiServices

        public MixedOperation<io.fabric8.kubernetes.api.model.APIService,​io.fabric8.kubernetes.api.model.APIServiceList,​Resource<io.fabric8.kubernetes.api.model.APIService>> apiServices()
        API entrypoint for APIService related operations. APIService (apiregistration.k8s.io/v1)
        Specified by:
        apiServices in interface KubernetesClient
        Returns:
        MixedOperation object for APIService related operations
      • configMaps

        public MixedOperation<io.fabric8.kubernetes.api.model.ConfigMap,​io.fabric8.kubernetes.api.model.ConfigMapList,​Resource<io.fabric8.kubernetes.api.model.ConfigMap>> configMaps()
        API entrypoint for ConfigMap related operations. ConfigMap (core/v1)
        Specified by:
        configMaps in interface KubernetesClient
        Returns:
        MixedOperation object for ConfigMap related operations.
      • limitRanges

        public MixedOperation<io.fabric8.kubernetes.api.model.LimitRange,​io.fabric8.kubernetes.api.model.LimitRangeList,​Resource<io.fabric8.kubernetes.api.model.LimitRange>> limitRanges()
        API entrypoint for LimitRange related operations. LimitRange (core/v1)
        Specified by:
        limitRanges in interface KubernetesClient
        Returns:
        MixedOperation object for LimitRange related operations.
      • apiextensions

        public ApiextensionsAPIGroupDSL apiextensions()
        API entrypoint for apiextensions resources. Currently support both v1 and v1beta1
        Specified by:
        apiextensions in interface KubernetesClient
        Returns:
        ApiextensionsAPIGroupDSL which routes to v1 or v1beta1
      • certificateSigningRequests

        public NonNamespaceOperation<io.fabric8.kubernetes.api.model.certificates.v1beta1.CertificateSigningRequest,​io.fabric8.kubernetes.api.model.certificates.v1beta1.CertificateSigningRequestList,​Resource<io.fabric8.kubernetes.api.model.certificates.v1beta1.CertificateSigningRequest>> certificateSigningRequests()
        API entrypoint for using CertificateSigningRequest(certificates.k8s.io/v1beta1)
        Specified by:
        certificateSigningRequests in interface KubernetesClient
        Returns:
        NonNamespaceOperation for CertificateSigningRequest class
      • authorization

        public AuthorizationAPIGroupDSL authorization()
        Authorization operations. (authorization.k8s.io/v1 and authorization.k8s.io/v1beta1)
        Specified by:
        authorization in interface KubernetesClient
        Returns:
        AuthorizationAPIGroupDSL object for dealing with Authorization objects
      • tokenReviews

        public Createable<io.fabric8.kubernetes.api.model.authentication.TokenReview> tokenReviews()
        API for creating authentication.k8s.io/v1 TokenReviews
        Specified by:
        tokenReviews in interface KubernetesClient
        Returns:
        CreateOnlyResourceOperations instance for creating TokenReview object
      • customResources

        public <T extends CustomResourceMixedOperation<T,​io.fabric8.kubernetes.api.model.KubernetesResourceList<T>,​Resource<T>> customResources​(Class<T> resourceType)
        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 specific to CustomResource.

        Note: your CustomResource POJO (T in this context) must implement Namespaced if it is a namespace-scoped resource.

        Specified by:
        customResources in interface KubernetesClient
        Type Parameters:
        T - T type represents CustomResource type. If it's a namespaced resource, it must implement Namespaced
        Parameters:
        resourceType - Class for CustomResource
        Returns:
        returns a MixedOperation object with which you can do basic CustomResource operations
      • customResources

        public <T extends CustomResource,​L extends io.fabric8.kubernetes.api.model.KubernetesResourceList<T>> MixedOperation<T,​L,​Resource<T>> customResources​(Class<T> resourceType,
                                                                                                                                                                                Class<L> listClass)
        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 specific to CustomResource.

        Note: your CustomResource POJO (T in this context) must implement Namespaced if it is a namespace-scoped resource.

        Specified by:
        customResources in interface KubernetesClient
        Type Parameters:
        T - T type represents CustomResource type. If it's a namespace-scoped resource, it must implement Namespaced
        L - L type represents CustomResourceList type
        Parameters:
        resourceType - Class for CustomResource
        listClass - Class for list object for CustomResource
        Returns:
        returns a MixedOperation object with which you can do basic CustomResource operations
      • customResources

        public <T extends io.fabric8.kubernetes.api.model.HasMetadata,​L extends io.fabric8.kubernetes.api.model.KubernetesResourceList<T>> MixedOperation<T,​L,​Resource<T>> customResources​(CustomResourceDefinitionContext crdContext,
                                                                                                                                                                                                             Class<T> resourceType,
                                                                                                                                                                                                             Class<L> listClass)
        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 specific to CustomResource.

        Note: your CustomResource POJO (T in this context) must implement io.fabric8.kubernetes.api.model.Namespaced if it is a Namespaced scoped resource.

        Specified by:
        customResources in interface KubernetesClient
        Type Parameters:
        T - T type represents CustomResource type. If it's Namespaced resource, it must implement io.fabric8.kubernetes.api.model.Namespaced
        L - L type represents CustomResourceList type
        Parameters:
        crdContext - CustomResourceDefinitionContext describes the core fields used to search for CustomResources
        resourceType - Class for CustomResource
        listClass - Class for list object for CustomResource
        Returns:
        returns a MixedOperation object with which you can do basic CustomResource operations
      • customResource

        public RawCustomResourceOperationsImpl customResource​(CustomResourceDefinitionContext customResourceDefinition)
        Typeless API for interacting with CustomResources. You can do basic operations with CustomResources without having any model. You just need to pass an object providing basic information of CustomResource. CustomResource objects are parsed as HashMaps.
        Specified by:
        customResource in interface KubernetesClient
        Parameters:
        customResourceDefinition - CustomResourceDefinitionContext - information about CustomResource like versioning, namespaced or not and group etc
        Returns:
        a RawCustomResourceOperations object which offers several functions for creating, deleting, updating, watching CustomResources.
      • extensions

        public ExtensionsAPIGroupDSL extensions()
        Extensions API entrypoint for APIGroup extensions/v1beta1
        Specified by:
        extensions in interface KubernetesClient
        Returns:
        ExtensionsAPIGroupDSL with which you can access entrypoints for extension objects
      • getVersion

        public VersionInfo getVersion()
        Get Kubernetes API server version
        Specified by:
        getVersion in interface KubernetesClient
        Returns:
        VersionInfo object containing versioning information
      • v1

        public V1APIGroupDSL v1()
        API entrypoint for Core Kubernetes Resources (core/v1). Right now other core resources have their own DSL entrypoints. But in future, all core/v1 resources would be added here.
        Specified by:
        v1 in interface KubernetesClient
        Returns:
        V1APIGroupDSL DSL object for core v1 resources
      • admissionRegistration

        public AdmissionRegistrationAPIGroupDSL admissionRegistration()
        API entrypoint for kubernetes resources with APIGroup admissionregistration.k8s.io/v1beta1
        Specified by:
        admissionRegistration in interface KubernetesClient
        Returns:
        AdmissionRegistrationAPIGroupDSL which offers entrypoints to specific resources in this API group
      • apps

        public AppsAPIGroupDSL apps()
        API entrypoint for kubernetes resources with APIGroup apps/v1
        Specified by:
        apps in interface KubernetesClient
        Returns:
        AppsAPIGroupDSL which offers entrypoints to specific resources in this API group
      • autoscaling

        public AutoscalingAPIGroupDSL autoscaling()
        API entrypoint for kubernetes resources with APIGroup autoscaling/v2beta1
        Specified by:
        autoscaling in interface KubernetesClient
        Returns:
        AutoScalingAPIGroupDSL which offers entrypoints to specific resources in this API group
      • network

        public NetworkAPIGroupDSL network()
        API entrypoint for kubernetes resources with APIGroup networking/v1
        Specified by:
        network in interface KubernetesClient
        Returns:
        NetworkAPIGroupDSL which offers entrypoints to specific resources in this APIGroup
      • storage

        public StorageAPIGroupDSL storage()
        API entrypoint for kubernetes resources with APIGroup storage/v1
        Specified by:
        storage in interface KubernetesClient
        Returns:
        StorageAPIGroupDSL which offers entrypoints to specific resources in this APIGroup
      • batch

        public BatchAPIGroupDSL batch()
        API entrypoint for kubernetes resources with APIGroup batch/v1beta1
        Specified by:
        batch in interface KubernetesClient
        Returns:
        BatchAPIGroupDSL which offers entrypoint to specific resources in this APIGroup
      • top

        public MetricAPIGroupDSL top()
        API entrypoint for kubernetes metrics
        Specified by:
        top in interface KubernetesClient
        Returns:
        MetricAPIGroupDSL which offers for fetching metrics
      • policy

        public PolicyAPIGroupDSL policy()
        API entrypoint for kubernetes resources with APIGroup policy/v1beta1
        Specified by:
        policy in interface KubernetesClient
        Returns:
        PolicyAPIGroupDSL which offers entrypoint to specific resources in this APIGroup
      • rbac

        public RbacAPIGroupDSL rbac()
        API entrypoint for kubernetes resources with APIGroup rbac/v1
        Specified by:
        rbac in interface KubernetesClient
        Returns:
        RbacAPIGroupDSL which offers entrypoint to specific resources in this APIGroup
      • informers

        public SharedInformerFactory informers()
        Get an instance of Kubernetes Client informer factory. It allows you to construct and cache informers for API types. With it you can subscribe to all the events related to your Kubernetes type. It's like watch but a bit organized.
        Specified by:
        informers in interface KubernetesClient
        Returns:
        SharedInformerFactory object
      • informers

        public SharedInformerFactory informers​(ExecutorService executorService)
        Get an instance of Kubernetes Client informer factory. It allows you to construct and cache informers for API types. With it you can subscribe to all the events related to your Kubernetes type. It's like watch but a bit organized.
        Specified by:
        informers in interface KubernetesClient
        Parameters:
        executorService - thread pool for informer factory
        Returns:
        SharedInformerFactory object
      • leases

        public MixedOperation<io.fabric8.kubernetes.api.model.coordination.v1.Lease,​io.fabric8.kubernetes.api.model.coordination.v1.LeaseList,​Resource<io.fabric8.kubernetes.api.model.coordination.v1.Lease>> leases()
        API entrypoint for Lease related operations. Lease (coordination.k8s.io/v1)
        Specified by:
        leases in interface KubernetesClient
        Returns:
        MixedOperation object for Lease related operations.
      • runtimeClasses

        public NonNamespaceOperation<io.fabric8.kubernetes.api.model.node.v1beta1.RuntimeClass,​io.fabric8.kubernetes.api.model.node.v1beta1.RuntimeClassList,​Resource<io.fabric8.kubernetes.api.model.node.v1beta1.RuntimeClass>> runtimeClasses()
        API entrypoint for RuntimeClass (node.k8s.io/v1beta1)
        Specified by:
        runtimeClasses in interface KubernetesClient
        Returns:
        NonNamespaceOperation for RuntimeClass