getCluster function
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);
}