getCluster function

Future<GetClusterResult> getCluster(
  1. GetClusterArgs args, {
  2. InvokeOptions? options,
})

Get info about a GKE cluster from its name and location.

Example Usage

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

const myCluster = gcp.container.getCluster({
    name: "my-cluster",
    location: "us-east1-a",
});
export const endpoint = myCluster.then(myCluster => myCluster.endpoint);
export const instanceGroupUrls = myCluster.then(myCluster => myCluster.nodePools?.[0]?.instanceGroupUrls);
export const nodeConfig = myCluster.then(myCluster => myCluster.nodeConfigs);
export const nodePools = myCluster.then(myCluster => myCluster.nodePools);
import pulumi
import pulumi_gcp as gcp

my_cluster = gcp.container.get_cluster(name="my-cluster",
    location="us-east1-a")
pulumi.export("endpoint", my_cluster.endpoint)
pulumi.export("instanceGroupUrls", my_cluster.node_pools[0].instance_group_urls)
pulumi.export("nodeConfig", my_cluster.node_configs)
pulumi.export("nodePools", my_cluster.node_pools)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() =>
{
    var myCluster = Gcp.Container.GetCluster.Invoke(new()
    {
        Name = "my-cluster",
        Location = "us-east1-a",
    });

    return new Dictionary<string, object?>
    {
        ["endpoint"] = myCluster.Apply(getClusterResult => getClusterResult.Endpoint),
        ["instanceGroupUrls"] = myCluster.Apply(getClusterResult => getClusterResult.NodePools[0]?.InstanceGroupUrls),
        ["nodeConfig"] = myCluster.Apply(getClusterResult => getClusterResult.NodeConfigs),
        ["nodePools"] = myCluster.Apply(getClusterResult => getClusterResult.NodePools),
    };
});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/container"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myCluster, err := container.LookupCluster(ctx, &container.LookupClusterArgs{
			Name:     "my-cluster",
			Location: pulumi.StringRef("us-east1-a"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("endpoint", myCluster.Endpoint)
		ctx.Export("instanceGroupUrls", myCluster.NodePools[0].InstanceGroupUrls)
		ctx.Export("nodeConfig", myCluster.NodeConfigs)
		ctx.Export("nodePools", myCluster.NodePools)
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
  }
}

data "gcp_container_getcluster" "myCluster" {
  name     = "my-cluster"
  location = "us-east1-a"
}

output "endpoint" {
  value = data.gcp_container_getcluster.myCluster.endpoint
}
output "instanceGroupUrls" {
  value = data.gcp_container_getcluster.myCluster.node_pools[0].instance_group_urls
}
output "nodeConfig" {
  value = data.gcp_container_getcluster.myCluster.node_configs
}
output "nodePools" {
  value = data.gcp_container_getcluster.myCluster.node_pools
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.container.ContainerFunctions;
import com.pulumi.gcp.container.inputs.GetClusterArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 myCluster = ContainerFunctions.getCluster(GetClusterArgs.builder()
            .name("my-cluster")
            .location("us-east1-a")
            .build());

        ctx.export("endpoint", myCluster.endpoint());
        ctx.export("instanceGroupUrls", myCluster.nodePools()[0].instanceGroupUrls());
        ctx.export("nodeConfig", myCluster.nodeConfigs());
        ctx.export("nodePools", myCluster.nodePools());
    }
}
variables:
  myCluster:
    fn::invoke:
      function: gcp:container:getCluster
      arguments:
        name: my-cluster
        location: us-east1-a
outputs:
  endpoint: ${myCluster.endpoint}
  instanceGroupUrls: ${myCluster.nodePools[0].instanceGroupUrls}
  nodeConfig: ${myCluster.nodeConfigs}
  nodePools: ${myCluster.nodePools}

Autopilot

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

const _default = new gcp.serviceaccount.Account("default", {
    accountId: "service-account-id",
    displayName: "Service Account",
});
const primary = new gcp.container.Cluster("primary", {
    name: "marcellus-wallace",
    location: "us-central1-a",
    enableAutopilot: true,
});
import pulumi
import pulumi_gcp as gcp

default = gcp.serviceaccount.Account("default",
    account_id="service-account-id",
    display_name="Service Account")
primary = gcp.container.Cluster("primary",
    name="marcellus-wallace",
    location="us-central1-a",
    enable_autopilot=True)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() =>
{
    var @default = new Gcp.ServiceAccount.Account("default", new()
    {
        AccountId = "service-account-id",
        DisplayName = "Service Account",
    });

    var primary = new Gcp.Container.Cluster("primary", new()
    {
        Name = "marcellus-wallace",
        Location = "us-central1-a",
        EnableAutopilot = true,
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/container"
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/serviceaccount"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := serviceaccount.NewAccount(ctx, "default", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("service-account-id"),
			DisplayName: pulumi.String("Service Account"),
		})
		if err != nil {
			return err
		}
		_, err = container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Name:            pulumi.String("marcellus-wallace"),
			Location:        pulumi.String("us-central1-a"),
			EnableAutopilot: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
  }
}

resource "gcp_serviceaccount_account" "default" {
  account_id   = "service-account-id"
  display_name = "Service Account"
}
resource "gcp_container_cluster" "primary" {
  name             = "marcellus-wallace"
  location         = "us-central1-a"
  enable_autopilot = true
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.serviceaccount.Account;
import com.pulumi.gcp.serviceaccount.AccountArgs;
import com.pulumi.gcp.container.Cluster;
import com.pulumi.gcp.container.ClusterArgs;
import java.util.ArrayList;
import java.util.Arrays;
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) {
        var default_ = new Account("default", AccountArgs.builder()
            .accountId("service-account-id")
            .displayName("Service Account")
            .build());

        var primary = new Cluster("primary", ClusterArgs.builder()
            .name("marcellus-wallace")
            .location("us-central1-a")
            .enableAutopilot(true)
            .build());

    }
}
resources:
  default:
    type: gcp:serviceaccount:Account
    properties:
      accountId: service-account-id
      displayName: Service Account
  primary:
    type: gcp:container:Cluster
    properties:
      name: marcellus-wallace
      location: us-central1-a
      enableAutopilot: true

args Arguments passed to this invoke. Arguments for getCluster. options Invoke options controlling this call.

Implementation

Future<GetClusterResult> getCluster(
  GetClusterArgs args, {
  pulumi.InvokeOptions? options,
}) async {
  final deployment = pulumi.Deployment.instance;
  final result = await deployment.invoke<Map<String, dynamic>>(
    'gcp:container/getCluster:getCluster',
    args.toMap(),
    options: pulumi.toDeploymentInvokeOptions(options),
  );
  return GetClusterResult.fromMap(result);
}