import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * ## Import * * OVHcloud Managed Kubernetes Service clusters can be imported using the `service_name` and the `id` of the cluster, separated by "/" E.g., * * bash * * ```sh * $ pulumi import ovh:CloudProject/kube:Kube my_kube_cluster service_name/kube_id * ``` */ export declare class Kube extends pulumi.CustomResource { /** * Get an existing Kube resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: KubeState, opts?: pulumi.CustomResourceOptions): Kube; /** * Returns true if the given object is an instance of Kube. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Kube; /** * True if control-plane is up-to-date. */ readonly controlPlaneIsUpToDate: pulumi.Output; /** * Kubernetes API server customization */ readonly customizationApiservers: pulumi.Output; /** * Cilium CNI customization. */ readonly customizationCilium: pulumi.Output; /** * Kubernetes kube-proxy customization */ readonly customizationKubeProxy: pulumi.Output; /** * **Deprecated** (Optional) Use `customizationApiserver` and `customizationKubeProxy` instead. Kubernetes cluster customization * * @deprecated Use customizationApiserver instead */ readonly customizations: pulumi.Output; /** * IP allocation policy of the cluster. **Changing this value recreates the resource.** */ readonly ipAllocationPolicy: pulumi.Output; /** * True if all nodes and control-plane are up-to-date. */ readonly isUpToDate: pulumi.Output; /** * Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. */ readonly kubeProxyMode: pulumi.Output; /** * The kubeconfig file. Use this file to connect to your kubernetes cluster. */ readonly kubeconfig: pulumi.Output; /** * The kubeconfig file attributes. */ readonly kubeconfigAttributes: pulumi.Output; /** * Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. */ readonly loadBalancersSubnetId: pulumi.Output; /** * The name of the kubernetes cluster. */ readonly name: pulumi.Output; /** * Kubernetes versions available for upgrade. */ readonly nextUpgradeVersions: pulumi.Output; /** * Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** */ readonly nodesSubnetId: pulumi.Output; /** * Cluster nodes URL. */ readonly nodesUrl: pulumi.Output; /** * Plan of the MKS cluster `free` or `standard`. Default to `free`. Migration to another plan is not implemented yet. */ readonly plan: pulumi.Output; /** * The private network configuration. If this is set then the 2 parameters below shall be defined. */ readonly privateNetworkConfiguration: pulumi.Output; /** * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > **WARNING** Updating the private network ID resets the cluster so that all user data is deleted. */ readonly privateNetworkId: pulumi.Output; /** * a valid OVHcloud public cloud region ID in which the kubernetes cluster will be available. Ex.: "GRA9". Defaults to all public cloud regions. **Changing this value recreates the resource.** */ readonly region: pulumi.Output; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. **Changing this value recreates the resource.** */ readonly serviceName: pulumi.Output; /** * Cluster status. Should be normally set to 'READY'. */ readonly status: pulumi.Output; /** * Cluster update policy. Choose between [ALWAYS_UPDATE, MINIMAL_DOWNTIME, NEVER_UPDATE]. */ readonly updatePolicy: pulumi.Output; /** * Management URL of your cluster. */ readonly url: pulumi.Output; /** * kubernetes version to use. Changing this value updates the resource. Defaults to the latest available. */ readonly version: pulumi.Output; /** * Create a Kube resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: KubeArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Kube resources. */ export interface KubeState { /** * True if control-plane is up-to-date. */ controlPlaneIsUpToDate?: pulumi.Input; /** * 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. **Changing this value recreates the resource.** */ ipAllocationPolicy?: pulumi.Input; /** * True if all nodes and control-plane are up-to-date. */ isUpToDate?: pulumi.Input; /** * Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. */ kubeProxyMode?: pulumi.Input; /** * The kubeconfig file. Use this file to connect to your kubernetes cluster. */ kubeconfig?: pulumi.Input; /** * The kubeconfig file attributes. */ kubeconfigAttributes?: pulumi.Input[]>; /** * Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. */ loadBalancersSubnetId?: pulumi.Input; /** * The name of the kubernetes cluster. */ name?: pulumi.Input; /** * Kubernetes versions available for upgrade. */ nextUpgradeVersions?: pulumi.Input[]>; /** * Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** */ nodesSubnetId?: pulumi.Input; /** * Cluster nodes URL. */ nodesUrl?: pulumi.Input; /** * Plan of the MKS cluster `free` or `standard`. Default to `free`. Migration to another plan is not implemented yet. */ plan?: pulumi.Input; /** * The private network configuration. If this is set then the 2 parameters below shall be defined. */ privateNetworkConfiguration?: pulumi.Input; /** * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > **WARNING** Updating the private network ID resets the cluster so that all user data is deleted. */ privateNetworkId?: pulumi.Input; /** * a valid OVHcloud public cloud region ID in which the kubernetes cluster will be available. Ex.: "GRA9". Defaults to all public cloud regions. **Changing this value recreates the resource.** */ region?: pulumi.Input; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. **Changing this value recreates the resource.** */ serviceName?: pulumi.Input; /** * Cluster status. Should be normally set to 'READY'. */ status?: pulumi.Input; /** * Cluster update policy. Choose between [ALWAYS_UPDATE, MINIMAL_DOWNTIME, NEVER_UPDATE]. */ updatePolicy?: pulumi.Input; /** * Management URL of your cluster. */ url?: pulumi.Input; /** * kubernetes version to use. Changing this value updates the resource. Defaults to the latest available. */ version?: pulumi.Input; } /** * The set of arguments for constructing a Kube resource. */ export interface KubeArgs { /** * 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. **Changing this value recreates the resource.** */ ipAllocationPolicy?: pulumi.Input; /** * Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. */ kubeProxyMode?: pulumi.Input; /** * Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. */ loadBalancersSubnetId?: pulumi.Input; /** * The name of the kubernetes cluster. */ name?: pulumi.Input; /** * Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** */ nodesSubnetId?: pulumi.Input; /** * Plan of the MKS cluster `free` or `standard`. Default to `free`. Migration to another plan is not implemented yet. */ plan?: pulumi.Input; /** * The private network configuration. If this is set then the 2 parameters below shall be defined. */ privateNetworkConfiguration?: pulumi.Input; /** * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > **WARNING** Updating the private network ID resets the cluster so that all user data is deleted. */ privateNetworkId?: pulumi.Input; /** * a valid OVHcloud public cloud region ID in which the kubernetes cluster will be available. Ex.: "GRA9". Defaults to all public cloud regions. **Changing this value recreates the resource.** */ region: pulumi.Input; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. **Changing this value recreates the resource.** */ serviceName?: pulumi.Input; /** * Cluster update policy. Choose between [ALWAYS_UPDATE, MINIMAL_DOWNTIME, NEVER_UPDATE]. */ updatePolicy?: pulumi.Input; /** * kubernetes version to use. Changing this value updates the resource. Defaults to the latest available. */ version?: pulumi.Input; }