1. Packages
  2. Gcore Provider
  3. API Docs
  4. getK8sv2Kubeconfig
gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core

gcore.getK8sv2Kubeconfig

Explore with Pulumi AI

gcore logo
gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core

    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);
    
    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)
    
    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
    	})
    }
    
    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),
        };
    });
    
    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()));
        }
    }
    
    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}
    

    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>
    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]
    func GetK8sv2Kubeconfig(ctx *Context, args *GetK8sv2KubeconfigArgs, opts ...InvokeOption) (*GetK8sv2KubeconfigResult, error)
    func GetK8sv2KubeconfigOutput(ctx *Context, args *GetK8sv2KubeconfigOutputArgs, opts ...InvokeOption) GetK8sv2KubeconfigResultOutput

    > 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)
    }
    public static CompletableFuture<GetK8sv2KubeconfigResult> getK8sv2Kubeconfig(GetK8sv2KubeconfigArgs args, InvokeOptions options)
    public static Output<GetK8sv2KubeconfigResult> getK8sv2Kubeconfig(GetK8sv2KubeconfigArgs args, InvokeOptions options)
    
    fn::invoke:
      function: gcore:index/getK8sv2Kubeconfig:getK8sv2Kubeconfig
      arguments:
        # arguments dictionary

    The following arguments are supported:

    ClusterName string
    Cluster name to fetch kubeconfig
    Id string
    The ID of this resource.
    ProjectId double
    ProjectName string
    RegionId double
    RegionName string
    ClusterName string
    Cluster name to fetch kubeconfig
    Id string
    The ID of this resource.
    ProjectId float64
    ProjectName string
    RegionId float64
    RegionName string
    clusterName String
    Cluster name to fetch kubeconfig
    id String
    The ID of this resource.
    projectId Double
    projectName String
    regionId Double
    regionName String
    clusterName string
    Cluster name to fetch kubeconfig
    id string
    The ID of this resource.
    projectId number
    projectName string
    regionId number
    regionName string
    cluster_name 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 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.
    gcore logo
    gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core