1. Packages
  2. Gcore Provider
  3. API Docs
  4. getK8sv2Kubeconfig
gcore 0.19.0 published on Monday, Apr 14, 2025 by g-core

gcore.getK8sv2Kubeconfig

Explore with Pulumi AI

Represent k8s cluster’s kubeconfig.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gcore from "@pulumi/gcore";

const pr = gcore.getProject({
    name: "test",
});
const rg = gcore.getRegion({
    name: "ED-10 Preprod",
});
const config = Promise.all([rg, pr]).then(([rg, pr]) => gcore.getK8sv2Kubeconfig({
    clusterName: "cluster1",
    regionId: rg.id,
    projectId: pr.id,
}));
export const kubeconfig = config.then(config => config.kubeconfig);
Copy
import pulumi
import pulumi_gcore as gcore

pr = gcore.get_project(name="test")
rg = gcore.get_region(name="ED-10 Preprod")
config = gcore.get_k8sv2_kubeconfig(cluster_name="cluster1",
    region_id=rg.id,
    project_id=pr.id)
pulumi.export("kubeconfig", config.kubeconfig)
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pr, err := gcore.GetProject(ctx, &gcore.GetProjectArgs{
			Name: "test",
		}, nil)
		if err != nil {
			return err
		}
		rg, err := gcore.GetRegion(ctx, &gcore.GetRegionArgs{
			Name: "ED-10 Preprod",
		}, nil)
		if err != nil {
			return err
		}
		config, err := gcore.GetK8sv2Kubeconfig(ctx, &gcore.GetK8sv2KubeconfigArgs{
			ClusterName: "cluster1",
			RegionId:    pulumi.Float64Ref(rg.Id),
			ProjectId:   pulumi.Float64Ref(pr.Id),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("kubeconfig", config.Kubeconfig)
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcore = Pulumi.Gcore;

return await Deployment.RunAsync(() => 
{
    var pr = Gcore.GetProject.Invoke(new()
    {
        Name = "test",
    });

    var rg = Gcore.GetRegion.Invoke(new()
    {
        Name = "ED-10 Preprod",
    });

    var config = Gcore.GetK8sv2Kubeconfig.Invoke(new()
    {
        ClusterName = "cluster1",
        RegionId = rg.Apply(getRegionResult => getRegionResult.Id),
        ProjectId = pr.Apply(getProjectResult => getProjectResult.Id),
    });

    return new Dictionary<string, object?>
    {
        ["kubeconfig"] = config.Apply(getK8sv2KubeconfigResult => getK8sv2KubeconfigResult.Kubeconfig),
    };
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcore.GcoreFunctions;
import com.pulumi.gcore.inputs.GetProjectArgs;
import com.pulumi.gcore.inputs.GetRegionArgs;
import com.pulumi.gcore.inputs.GetK8sv2KubeconfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var pr = GcoreFunctions.getProject(GetProjectArgs.builder()
            .name("test")
            .build());

        final var rg = GcoreFunctions.getRegion(GetRegionArgs.builder()
            .name("ED-10 Preprod")
            .build());

        final var config = GcoreFunctions.getK8sv2Kubeconfig(GetK8sv2KubeconfigArgs.builder()
            .clusterName("cluster1")
            .regionId(rg.applyValue(getRegionResult -> getRegionResult.id()))
            .projectId(pr.applyValue(getProjectResult -> getProjectResult.id()))
            .build());

        ctx.export("kubeconfig", config.applyValue(getK8sv2KubeconfigResult -> getK8sv2KubeconfigResult.kubeconfig()));
    }
}
Copy
variables:
  pr:
    fn::invoke:
      function: gcore:getProject
      arguments:
        name: test
  rg:
    fn::invoke:
      function: gcore:getRegion
      arguments:
        name: ED-10 Preprod
  config:
    fn::invoke:
      function: gcore:getK8sv2Kubeconfig
      arguments:
        clusterName: cluster1
        regionId: ${rg.id}
        projectId: ${pr.id}
outputs:
  # to store kubeconfig in a file pls use
  # // terraform output -raw kubeconfig > config.yaml
  kubeconfig: ${config.kubeconfig}
Copy

Using getK8sv2Kubeconfig

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getK8sv2Kubeconfig(args: GetK8sv2KubeconfigArgs, opts?: InvokeOptions): Promise<GetK8sv2KubeconfigResult>
function getK8sv2KubeconfigOutput(args: GetK8sv2KubeconfigOutputArgs, opts?: InvokeOptions): Output<GetK8sv2KubeconfigResult>
Copy
def get_k8sv2_kubeconfig(cluster_name: Optional[str] = None,
                         id: Optional[str] = None,
                         project_id: Optional[float] = None,
                         project_name: Optional[str] = None,
                         region_id: Optional[float] = None,
                         region_name: Optional[str] = None,
                         opts: Optional[InvokeOptions] = None) -> GetK8sv2KubeconfigResult
def get_k8sv2_kubeconfig_output(cluster_name: Optional[pulumi.Input[str]] = None,
                         id: Optional[pulumi.Input[str]] = None,
                         project_id: Optional[pulumi.Input[float]] = None,
                         project_name: Optional[pulumi.Input[str]] = None,
                         region_id: Optional[pulumi.Input[float]] = None,
                         region_name: Optional[pulumi.Input[str]] = None,
                         opts: Optional[InvokeOptions] = None) -> Output[GetK8sv2KubeconfigResult]
Copy
func GetK8sv2Kubeconfig(ctx *Context, args *GetK8sv2KubeconfigArgs, opts ...InvokeOption) (*GetK8sv2KubeconfigResult, error)
func GetK8sv2KubeconfigOutput(ctx *Context, args *GetK8sv2KubeconfigOutputArgs, opts ...InvokeOption) GetK8sv2KubeconfigResultOutput
Copy

> Note: This function is named GetK8sv2Kubeconfig in the Go SDK.

public static class GetK8sv2Kubeconfig 
{
    public static Task<GetK8sv2KubeconfigResult> InvokeAsync(GetK8sv2KubeconfigArgs args, InvokeOptions? opts = null)
    public static Output<GetK8sv2KubeconfigResult> Invoke(GetK8sv2KubeconfigInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetK8sv2KubeconfigResult> getK8sv2Kubeconfig(GetK8sv2KubeconfigArgs args, InvokeOptions options)
public static Output<GetK8sv2KubeconfigResult> getK8sv2Kubeconfig(GetK8sv2KubeconfigArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: gcore:index/getK8sv2Kubeconfig:getK8sv2Kubeconfig
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

ClusterName This property is required. string
Cluster name to fetch kubeconfig
Id string
The ID of this resource.
ProjectId double
ProjectName string
RegionId double
RegionName string
ClusterName This property is required. string
Cluster name to fetch kubeconfig
Id string
The ID of this resource.
ProjectId float64
ProjectName string
RegionId float64
RegionName string
clusterName This property is required. String
Cluster name to fetch kubeconfig
id String
The ID of this resource.
projectId Double
projectName String
regionId Double
regionName String
clusterName This property is required. string
Cluster name to fetch kubeconfig
id string
The ID of this resource.
projectId number
projectName string
regionId number
regionName string
cluster_name This property is required. str
Cluster name to fetch kubeconfig
id str
The ID of this resource.
project_id float
project_name str
region_id float
region_name str
clusterName This property is required. String
Cluster name to fetch kubeconfig
id String
The ID of this resource.
projectId Number
projectName String
regionId Number
regionName String

getK8sv2Kubeconfig Result

The following output properties are available:

ClusterName string
Cluster name to fetch kubeconfig
Id string
The ID of this resource.
Kubeconfig string
Raw kubeconfig file
ProjectId double
ProjectName string
RegionId double
RegionName string
ClusterName string
Cluster name to fetch kubeconfig
Id string
The ID of this resource.
Kubeconfig string
Raw kubeconfig file
ProjectId float64
ProjectName string
RegionId float64
RegionName string
clusterName String
Cluster name to fetch kubeconfig
id String
The ID of this resource.
kubeconfig String
Raw kubeconfig file
projectId Double
projectName String
regionId Double
regionName String
clusterName string
Cluster name to fetch kubeconfig
id string
The ID of this resource.
kubeconfig string
Raw kubeconfig file
projectId number
projectName string
regionId number
regionName string
cluster_name str
Cluster name to fetch kubeconfig
id str
The ID of this resource.
kubeconfig str
Raw kubeconfig file
project_id float
project_name str
region_id float
region_name str
clusterName String
Cluster name to fetch kubeconfig
id String
The ID of this resource.
kubeconfig String
Raw kubeconfig file
projectId Number
projectName String
regionId Number
regionName String

Package Details

Repository
gcore g-core/terraform-provider-gcore
License
Notes
This Pulumi package is based on the gcore Terraform Provider.