import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Use this data source to get a OVHcloud Managed Kubernetes Service cluster. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ovh from "@ovhcloud/pulumi-ovh"; * * const myKubeCluster = ovh.CloudProject.getKube({ * serviceName: "XXXXXX", * kubeId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx", * }); * export const version = myKubeCluster.then(myKubeCluster => myKubeCluster.version); * export const kubeconfig = myKubeCluster.then(myKubeCluster => myKubeCluster.kubeconfig); * export const kubeHost = myKubeCluster.then(myKubeCluster => myKubeCluster.kubeconfigAttributes?.[0]?.host); * ``` */ export declare function getKube(args: GetKubeArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getKube. */ export interface GetKubeArgs { /** * Kubernetes API server customization */ customizationApiservers?: inputs.CloudProject.GetKubeCustomizationApiserver[]; /** * Cilium CNI customization. */ customizationCilium?: inputs.CloudProject.GetKubeCustomizationCilium; /** * Kubernetes kube-proxy customization */ customizationKubeProxy?: inputs.CloudProject.GetKubeCustomizationKubeProxy; /** * **Deprecated** (Optional) Use `customizationApiserver` and `customizationKubeProxy` instead. Kubernetes cluster customization * * @deprecated Use customizationApiserver instead */ customizations?: inputs.CloudProject.GetKubeCustomization[]; /** * IP allocation policy of the cluster. */ ipAllocationPolicy?: inputs.CloudProject.GetKubeIpAllocationPolicy; /** * The id of the managed kubernetes cluster. */ kubeId: string; /** * Selected mode for kube-proxy. */ kubeProxyMode?: string; /** * The name of the managed kubernetes cluster. */ name?: string; /** * Plan of the managed kubernetes cluster. */ plan?: string; /** * The OVHcloud public cloud region ID of the managed kubernetes cluster. */ region?: string; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. */ serviceName: string; /** * Cluster update policy. Choose between [ALWAYS_UPDATE,MINIMAL_DOWNTIME,NEVER_UPDATE]'. */ updatePolicy?: string; /** * Kubernetes version of the managed kubernetes cluster. */ version?: string; } /** * A collection of values returned by getKube. */ export interface GetKubeResult { /** * True if control-plane is up-to-date. */ readonly controlPlaneIsUpToDate: boolean; /** * Kubernetes API server customization */ readonly customizationApiservers: outputs.CloudProject.GetKubeCustomizationApiserver[]; /** * Cilium CNI customization. */ readonly customizationCilium: outputs.CloudProject.GetKubeCustomizationCilium; /** * Kubernetes kube-proxy customization */ readonly customizationKubeProxy?: outputs.CloudProject.GetKubeCustomizationKubeProxy; /** * **Deprecated** (Optional) Use `customizationApiserver` and `customizationKubeProxy` instead. Kubernetes cluster customization * * @deprecated Use customizationApiserver instead */ readonly customizations: outputs.CloudProject.GetKubeCustomization[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * IP allocation policy of the cluster. */ readonly ipAllocationPolicy: outputs.CloudProject.GetKubeIpAllocationPolicy; /** * True if all nodes and control-plane are up-to-date. */ readonly isUpToDate: boolean; /** * See Argument Reference above. */ readonly kubeId: string; /** * Selected mode for kube-proxy. */ readonly kubeProxyMode?: string; /** * (Sensitive) Raw kubeconfig file content for connecting to the cluster. */ readonly kubeconfig: string; /** * (Sensitive) Structured kubeconfig data for connecting to the cluster. */ readonly kubeconfigAttributes: outputs.CloudProject.GetKubeKubeconfigAttribute[]; /** * Openstack private network (or vRack) ID to use for load balancers. */ readonly loadBalancersSubnetId: string; /** * The name of the managed kubernetes cluster. */ readonly name?: string; /** * Kubernetes versions available for upgrade. */ readonly nextUpgradeVersions: string[]; /** * Openstack private network (or vRack) ID to use for nodes. */ readonly nodesSubnetId: string; /** * Cluster nodes URL. */ readonly nodesUrl: string; /** * Plan of the managed kubernetes cluster. */ readonly plan?: string; /** * OpenStack private network (or vrack) ID to use. */ readonly privateNetworkId: string; /** * The OVHcloud public cloud region ID of the managed kubernetes cluster. */ readonly region?: string; /** * See Argument Reference above. */ readonly serviceName: string; /** * Cluster status. Should be normally set to 'READY'. */ readonly status: string; /** * Cluster update policy. Choose between [ALWAYS_UPDATE,MINIMAL_DOWNTIME,NEVER_UPDATE]'. */ readonly updatePolicy?: string; /** * Management URL of your cluster. */ readonly url: string; /** * Kubernetes version of the managed kubernetes cluster. */ readonly version?: string; } /** * Use this data source to get a OVHcloud Managed Kubernetes Service cluster. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ovh from "@ovhcloud/pulumi-ovh"; * * const myKubeCluster = ovh.CloudProject.getKube({ * serviceName: "XXXXXX", * kubeId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx", * }); * export const version = myKubeCluster.then(myKubeCluster => myKubeCluster.version); * export const kubeconfig = myKubeCluster.then(myKubeCluster => myKubeCluster.kubeconfig); * export const kubeHost = myKubeCluster.then(myKubeCluster => myKubeCluster.kubeconfigAttributes?.[0]?.host); * ``` */ export declare function getKubeOutput(args: GetKubeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getKube. */ export interface GetKubeOutputArgs { /** * Kubernetes API server customization */ customizationApiservers?: pulumi.Input[]>; /** * Cilium CNI customization. */ customizationCilium?: pulumi.Input; /** * Kubernetes kube-proxy customization */ customizationKubeProxy?: pulumi.Input; /** * **Deprecated** (Optional) Use `customizationApiserver` and `customizationKubeProxy` instead. Kubernetes cluster customization * * @deprecated Use customizationApiserver instead */ customizations?: pulumi.Input[]>; /** * IP allocation policy of the cluster. */ ipAllocationPolicy?: pulumi.Input; /** * The id of the managed kubernetes cluster. */ kubeId: pulumi.Input; /** * Selected mode for kube-proxy. */ kubeProxyMode?: pulumi.Input; /** * The name of the managed kubernetes cluster. */ name?: pulumi.Input; /** * Plan of the managed kubernetes cluster. */ plan?: pulumi.Input; /** * The OVHcloud public cloud region ID of the managed kubernetes cluster. */ region?: pulumi.Input; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. */ serviceName: pulumi.Input; /** * Cluster update policy. Choose between [ALWAYS_UPDATE,MINIMAL_DOWNTIME,NEVER_UPDATE]'. */ updatePolicy?: pulumi.Input; /** * Kubernetes version of the managed kubernetes cluster. */ version?: pulumi.Input; }