1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. edgecontainer
  5. Cluster
Google Cloud v8.23.0 published on Monday, Mar 24, 2025 by Pulumi

gcp.edgecontainer.Cluster

Explore with Pulumi AI

Cluster contains information about a Google Distributed Cloud Edge Kubernetes cluster.

To get more information about Cluster, see:

Example Usage

Edgecontainer Cluster

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

const project = gcp.organizations.getProject({});
const _default = new gcp.edgecontainer.Cluster("default", {
    name: "basic-cluster",
    location: "us-central1",
    authorization: {
        adminUsers: {
            username: "admin@hashicorptest.com",
        },
    },
    networking: {
        clusterIpv4CidrBlocks: ["10.0.0.0/16"],
        servicesIpv4CidrBlocks: ["10.1.0.0/16"],
    },
    fleet: {
        project: project.then(project => `projects/${project.number}`),
    },
    labels: {
        my_key: "my_val",
        other_key: "other_val",
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

project = gcp.organizations.get_project()
default = gcp.edgecontainer.Cluster("default",
    name="basic-cluster",
    location="us-central1",
    authorization={
        "admin_users": {
            "username": "admin@hashicorptest.com",
        },
    },
    networking={
        "cluster_ipv4_cidr_blocks": ["10.0.0.0/16"],
        "services_ipv4_cidr_blocks": ["10.1.0.0/16"],
    },
    fleet={
        "project": f"projects/{project.number}",
    },
    labels={
        "my_key": "my_val",
        "other_key": "other_val",
    })
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/edgecontainer"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewCluster(ctx, "default", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("basic-cluster"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.Sprintf("projects/%v", project.Number),
			},
			Labels: pulumi.StringMap{
				"my_key":    pulumi.String("my_val"),
				"other_key": pulumi.String("other_val"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var project = Gcp.Organizations.GetProject.Invoke();

    var @default = new Gcp.EdgeContainer.Cluster("default", new()
    {
        Name = "basic-cluster",
        Location = "us-central1",
        Authorization = new Gcp.EdgeContainer.Inputs.ClusterAuthorizationArgs
        {
            AdminUsers = new Gcp.EdgeContainer.Inputs.ClusterAuthorizationAdminUsersArgs
            {
                Username = "admin@hashicorptest.com",
            },
        },
        Networking = new Gcp.EdgeContainer.Inputs.ClusterNetworkingArgs
        {
            ClusterIpv4CidrBlocks = new[]
            {
                "10.0.0.0/16",
            },
            ServicesIpv4CidrBlocks = new[]
            {
                "10.1.0.0/16",
            },
        },
        Fleet = new Gcp.EdgeContainer.Inputs.ClusterFleetArgs
        {
            Project = $"projects/{project.Apply(getProjectResult => getProjectResult.Number)}",
        },
        Labels = 
        {
            { "my_key", "my_val" },
            { "other_key", "other_val" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.edgecontainer.Cluster;
import com.pulumi.gcp.edgecontainer.ClusterArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterAuthorizationArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterAuthorizationAdminUsersArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterNetworkingArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterFleetArgs;
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 project = OrganizationsFunctions.getProject();

        var default_ = new Cluster("default", ClusterArgs.builder()
            .name("basic-cluster")
            .location("us-central1")
            .authorization(ClusterAuthorizationArgs.builder()
                .adminUsers(ClusterAuthorizationAdminUsersArgs.builder()
                    .username("admin@hashicorptest.com")
                    .build())
                .build())
            .networking(ClusterNetworkingArgs.builder()
                .clusterIpv4CidrBlocks("10.0.0.0/16")
                .servicesIpv4CidrBlocks("10.1.0.0/16")
                .build())
            .fleet(ClusterFleetArgs.builder()
                .project(String.format("projects/%s", project.applyValue(getProjectResult -> getProjectResult.number())))
                .build())
            .labels(Map.ofEntries(
                Map.entry("my_key", "my_val"),
                Map.entry("other_key", "other_val")
            ))
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:edgecontainer:Cluster
    properties:
      name: basic-cluster
      location: us-central1
      authorization:
        adminUsers:
          username: admin@hashicorptest.com
      networking:
        clusterIpv4CidrBlocks:
          - 10.0.0.0/16
        servicesIpv4CidrBlocks:
          - 10.1.0.0/16
      fleet:
        project: projects/${project.number}
      labels:
        my_key: my_val
        other_key: other_val
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Copy

Edgecontainer Cluster With Maintenance Window

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

const project = gcp.organizations.getProject({});
const _default = new gcp.edgecontainer.Cluster("default", {
    name: "cluster-with-maintenance",
    location: "us-central1",
    authorization: {
        adminUsers: {
            username: "admin@hashicorptest.com",
        },
    },
    networking: {
        clusterIpv4CidrBlocks: ["10.0.0.0/16"],
        servicesIpv4CidrBlocks: ["10.1.0.0/16"],
    },
    fleet: {
        project: project.then(project => `projects/${project.number}`),
    },
    maintenancePolicy: {
        window: {
            recurringWindow: {
                window: {
                    startTime: "2023-01-01T08:00:00Z",
                    endTime: "2023-01-01T17:00:00Z",
                },
                recurrence: "FREQ=WEEKLY;BYDAY=SA",
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

project = gcp.organizations.get_project()
default = gcp.edgecontainer.Cluster("default",
    name="cluster-with-maintenance",
    location="us-central1",
    authorization={
        "admin_users": {
            "username": "admin@hashicorptest.com",
        },
    },
    networking={
        "cluster_ipv4_cidr_blocks": ["10.0.0.0/16"],
        "services_ipv4_cidr_blocks": ["10.1.0.0/16"],
    },
    fleet={
        "project": f"projects/{project.number}",
    },
    maintenance_policy={
        "window": {
            "recurring_window": {
                "window": {
                    "start_time": "2023-01-01T08:00:00Z",
                    "end_time": "2023-01-01T17:00:00Z",
                },
                "recurrence": "FREQ=WEEKLY;BYDAY=SA",
            },
        },
    })
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/edgecontainer"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewCluster(ctx, "default", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("cluster-with-maintenance"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.Sprintf("projects/%v", project.Number),
			},
			MaintenancePolicy: &edgecontainer.ClusterMaintenancePolicyArgs{
				Window: &edgecontainer.ClusterMaintenancePolicyWindowArgs{
					RecurringWindow: &edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowArgs{
						Window: &edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs{
							StartTime: pulumi.String("2023-01-01T08:00:00Z"),
							EndTime:   pulumi.String("2023-01-01T17:00:00Z"),
						},
						Recurrence: pulumi.String("FREQ=WEEKLY;BYDAY=SA"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var project = Gcp.Organizations.GetProject.Invoke();

    var @default = new Gcp.EdgeContainer.Cluster("default", new()
    {
        Name = "cluster-with-maintenance",
        Location = "us-central1",
        Authorization = new Gcp.EdgeContainer.Inputs.ClusterAuthorizationArgs
        {
            AdminUsers = new Gcp.EdgeContainer.Inputs.ClusterAuthorizationAdminUsersArgs
            {
                Username = "admin@hashicorptest.com",
            },
        },
        Networking = new Gcp.EdgeContainer.Inputs.ClusterNetworkingArgs
        {
            ClusterIpv4CidrBlocks = new[]
            {
                "10.0.0.0/16",
            },
            ServicesIpv4CidrBlocks = new[]
            {
                "10.1.0.0/16",
            },
        },
        Fleet = new Gcp.EdgeContainer.Inputs.ClusterFleetArgs
        {
            Project = $"projects/{project.Apply(getProjectResult => getProjectResult.Number)}",
        },
        MaintenancePolicy = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyArgs
        {
            Window = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyWindowArgs
            {
                RecurringWindow = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyWindowRecurringWindowArgs
                {
                    Window = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs
                    {
                        StartTime = "2023-01-01T08:00:00Z",
                        EndTime = "2023-01-01T17:00:00Z",
                    },
                    Recurrence = "FREQ=WEEKLY;BYDAY=SA",
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.edgecontainer.Cluster;
import com.pulumi.gcp.edgecontainer.ClusterArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterAuthorizationArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterAuthorizationAdminUsersArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterNetworkingArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterFleetArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterMaintenancePolicyArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterMaintenancePolicyWindowArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterMaintenancePolicyWindowRecurringWindowArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs;
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 project = OrganizationsFunctions.getProject();

        var default_ = new Cluster("default", ClusterArgs.builder()
            .name("cluster-with-maintenance")
            .location("us-central1")
            .authorization(ClusterAuthorizationArgs.builder()
                .adminUsers(ClusterAuthorizationAdminUsersArgs.builder()
                    .username("admin@hashicorptest.com")
                    .build())
                .build())
            .networking(ClusterNetworkingArgs.builder()
                .clusterIpv4CidrBlocks("10.0.0.0/16")
                .servicesIpv4CidrBlocks("10.1.0.0/16")
                .build())
            .fleet(ClusterFleetArgs.builder()
                .project(String.format("projects/%s", project.applyValue(getProjectResult -> getProjectResult.number())))
                .build())
            .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
                .window(ClusterMaintenancePolicyWindowArgs.builder()
                    .recurringWindow(ClusterMaintenancePolicyWindowRecurringWindowArgs.builder()
                        .window(ClusterMaintenancePolicyWindowRecurringWindowWindowArgs.builder()
                            .startTime("2023-01-01T08:00:00Z")
                            .endTime("2023-01-01T17:00:00Z")
                            .build())
                        .recurrence("FREQ=WEEKLY;BYDAY=SA")
                        .build())
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:edgecontainer:Cluster
    properties:
      name: cluster-with-maintenance
      location: us-central1
      authorization:
        adminUsers:
          username: admin@hashicorptest.com
      networking:
        clusterIpv4CidrBlocks:
          - 10.0.0.0/16
        servicesIpv4CidrBlocks:
          - 10.1.0.0/16
      fleet:
        project: projects/${project.number}
      maintenancePolicy:
        window:
          recurringWindow:
            window:
              startTime: 2023-01-01T08:00:00Z
              endTime: 2023-01-01T17:00:00Z
            recurrence: FREQ=WEEKLY;BYDAY=SA
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Copy

Edgecontainer Local Control Plane Cluster

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

const project = gcp.organizations.getProject({});
const _default = new gcp.edgecontainer.Cluster("default", {
    name: "local-control-plane-cluster",
    location: "us-central1",
    authorization: {
        adminUsers: {
            username: "admin@hashicorptest.com",
        },
    },
    networking: {
        clusterIpv4CidrBlocks: ["10.0.0.0/16"],
        servicesIpv4CidrBlocks: ["10.1.0.0/16"],
    },
    fleet: {
        project: project.then(project => `projects/${project.number}`),
    },
    externalLoadBalancerIpv4AddressPools: ["10.100.0.0-10.100.0.10"],
    controlPlane: {
        local: {
            nodeLocation: "us-central1-edge-example-edgesite",
            nodeCount: 1,
            machineFilter: "machine-name",
            sharedDeploymentPolicy: "ALLOWED",
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

project = gcp.organizations.get_project()
default = gcp.edgecontainer.Cluster("default",
    name="local-control-plane-cluster",
    location="us-central1",
    authorization={
        "admin_users": {
            "username": "admin@hashicorptest.com",
        },
    },
    networking={
        "cluster_ipv4_cidr_blocks": ["10.0.0.0/16"],
        "services_ipv4_cidr_blocks": ["10.1.0.0/16"],
    },
    fleet={
        "project": f"projects/{project.number}",
    },
    external_load_balancer_ipv4_address_pools=["10.100.0.0-10.100.0.10"],
    control_plane={
        "local": {
            "node_location": "us-central1-edge-example-edgesite",
            "node_count": 1,
            "machine_filter": "machine-name",
            "shared_deployment_policy": "ALLOWED",
        },
    })
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/edgecontainer"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = edgecontainer.NewCluster(ctx, "default", &edgecontainer.ClusterArgs{
			Name:     pulumi.String("local-control-plane-cluster"),
			Location: pulumi.String("us-central1"),
			Authorization: &edgecontainer.ClusterAuthorizationArgs{
				AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
					Username: pulumi.String("admin@hashicorptest.com"),
				},
			},
			Networking: &edgecontainer.ClusterNetworkingArgs{
				ClusterIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.0.0.0/16"),
				},
				ServicesIpv4CidrBlocks: pulumi.StringArray{
					pulumi.String("10.1.0.0/16"),
				},
			},
			Fleet: &edgecontainer.ClusterFleetArgs{
				Project: pulumi.Sprintf("projects/%v", project.Number),
			},
			ExternalLoadBalancerIpv4AddressPools: pulumi.StringArray{
				pulumi.String("10.100.0.0-10.100.0.10"),
			},
			ControlPlane: &edgecontainer.ClusterControlPlaneArgs{
				Local: &edgecontainer.ClusterControlPlaneLocalArgs{
					NodeLocation:           pulumi.String("us-central1-edge-example-edgesite"),
					NodeCount:              pulumi.Int(1),
					MachineFilter:          pulumi.String("machine-name"),
					SharedDeploymentPolicy: pulumi.String("ALLOWED"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var project = Gcp.Organizations.GetProject.Invoke();

    var @default = new Gcp.EdgeContainer.Cluster("default", new()
    {
        Name = "local-control-plane-cluster",
        Location = "us-central1",
        Authorization = new Gcp.EdgeContainer.Inputs.ClusterAuthorizationArgs
        {
            AdminUsers = new Gcp.EdgeContainer.Inputs.ClusterAuthorizationAdminUsersArgs
            {
                Username = "admin@hashicorptest.com",
            },
        },
        Networking = new Gcp.EdgeContainer.Inputs.ClusterNetworkingArgs
        {
            ClusterIpv4CidrBlocks = new[]
            {
                "10.0.0.0/16",
            },
            ServicesIpv4CidrBlocks = new[]
            {
                "10.1.0.0/16",
            },
        },
        Fleet = new Gcp.EdgeContainer.Inputs.ClusterFleetArgs
        {
            Project = $"projects/{project.Apply(getProjectResult => getProjectResult.Number)}",
        },
        ExternalLoadBalancerIpv4AddressPools = new[]
        {
            "10.100.0.0-10.100.0.10",
        },
        ControlPlane = new Gcp.EdgeContainer.Inputs.ClusterControlPlaneArgs
        {
            Local = new Gcp.EdgeContainer.Inputs.ClusterControlPlaneLocalArgs
            {
                NodeLocation = "us-central1-edge-example-edgesite",
                NodeCount = 1,
                MachineFilter = "machine-name",
                SharedDeploymentPolicy = "ALLOWED",
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.edgecontainer.Cluster;
import com.pulumi.gcp.edgecontainer.ClusterArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterAuthorizationArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterAuthorizationAdminUsersArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterNetworkingArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterFleetArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterControlPlaneArgs;
import com.pulumi.gcp.edgecontainer.inputs.ClusterControlPlaneLocalArgs;
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 project = OrganizationsFunctions.getProject();

        var default_ = new Cluster("default", ClusterArgs.builder()
            .name("local-control-plane-cluster")
            .location("us-central1")
            .authorization(ClusterAuthorizationArgs.builder()
                .adminUsers(ClusterAuthorizationAdminUsersArgs.builder()
                    .username("admin@hashicorptest.com")
                    .build())
                .build())
            .networking(ClusterNetworkingArgs.builder()
                .clusterIpv4CidrBlocks("10.0.0.0/16")
                .servicesIpv4CidrBlocks("10.1.0.0/16")
                .build())
            .fleet(ClusterFleetArgs.builder()
                .project(String.format("projects/%s", project.applyValue(getProjectResult -> getProjectResult.number())))
                .build())
            .externalLoadBalancerIpv4AddressPools("10.100.0.0-10.100.0.10")
            .controlPlane(ClusterControlPlaneArgs.builder()
                .local(ClusterControlPlaneLocalArgs.builder()
                    .nodeLocation("us-central1-edge-example-edgesite")
                    .nodeCount(1)
                    .machineFilter("machine-name")
                    .sharedDeploymentPolicy("ALLOWED")
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:edgecontainer:Cluster
    properties:
      name: local-control-plane-cluster
      location: us-central1
      authorization:
        adminUsers:
          username: admin@hashicorptest.com
      networking:
        clusterIpv4CidrBlocks:
          - 10.0.0.0/16
        servicesIpv4CidrBlocks:
          - 10.1.0.0/16
      fleet:
        project: projects/${project.number}
      externalLoadBalancerIpv4AddressPools:
        - 10.100.0.0-10.100.0.10
      controlPlane:
        local:
          nodeLocation: us-central1-edge-example-edgesite
          nodeCount: 1
          machineFilter: machine-name
          sharedDeploymentPolicy: ALLOWED
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Copy

Create Cluster Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
@overload
def Cluster(resource_name: str,
            args: ClusterArgs,
            opts: Optional[ResourceOptions] = None)

@overload
def Cluster(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            fleet: Optional[ClusterFleetArgs] = None,
            networking: Optional[ClusterNetworkingArgs] = None,
            location: Optional[str] = None,
            authorization: Optional[ClusterAuthorizationArgs] = None,
            labels: Optional[Mapping[str, str]] = None,
            external_load_balancer_ipv4_address_pools: Optional[Sequence[str]] = None,
            default_max_pods_per_node: Optional[int] = None,
            control_plane_encryption: Optional[ClusterControlPlaneEncryptionArgs] = None,
            maintenance_policy: Optional[ClusterMaintenancePolicyArgs] = None,
            name: Optional[str] = None,
            control_plane: Optional[ClusterControlPlaneArgs] = None,
            project: Optional[str] = None,
            release_channel: Optional[str] = None,
            system_addons_config: Optional[ClusterSystemAddonsConfigArgs] = None,
            target_version: Optional[str] = None)
func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: gcp:edgecontainer:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var exampleclusterResourceResourceFromEdgecontainercluster = new Gcp.EdgeContainer.Cluster("exampleclusterResourceResourceFromEdgecontainercluster", new()
{
    Fleet = new Gcp.EdgeContainer.Inputs.ClusterFleetArgs
    {
        Project = "string",
        Membership = "string",
    },
    Networking = new Gcp.EdgeContainer.Inputs.ClusterNetworkingArgs
    {
        ClusterIpv4CidrBlocks = new[]
        {
            "string",
        },
        ServicesIpv4CidrBlocks = new[]
        {
            "string",
        },
        ClusterIpv6CidrBlocks = new[]
        {
            "string",
        },
        NetworkType = "string",
        ServicesIpv6CidrBlocks = new[]
        {
            "string",
        },
    },
    Location = "string",
    Authorization = new Gcp.EdgeContainer.Inputs.ClusterAuthorizationArgs
    {
        AdminUsers = new Gcp.EdgeContainer.Inputs.ClusterAuthorizationAdminUsersArgs
        {
            Username = "string",
        },
    },
    Labels = 
    {
        { "string", "string" },
    },
    ExternalLoadBalancerIpv4AddressPools = new[]
    {
        "string",
    },
    DefaultMaxPodsPerNode = 0,
    ControlPlaneEncryption = new Gcp.EdgeContainer.Inputs.ClusterControlPlaneEncryptionArgs
    {
        KmsKey = "string",
        KmsKeyActiveVersion = "string",
        KmsKeyState = "string",
        KmsStatuses = new[]
        {
            new Gcp.EdgeContainer.Inputs.ClusterControlPlaneEncryptionKmsStatusArgs
            {
                Code = 0,
                Message = "string",
            },
        },
    },
    MaintenancePolicy = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyArgs
    {
        Window = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyWindowArgs
        {
            RecurringWindow = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyWindowRecurringWindowArgs
            {
                Recurrence = "string",
                Window = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs
                {
                    EndTime = "string",
                    StartTime = "string",
                },
            },
        },
        MaintenanceExclusions = new[]
        {
            new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyMaintenanceExclusionArgs
            {
                Id = "string",
                Window = new Gcp.EdgeContainer.Inputs.ClusterMaintenancePolicyMaintenanceExclusionWindowArgs
                {
                    EndTime = "string",
                    StartTime = "string",
                },
            },
        },
    },
    Name = "string",
    ControlPlane = new Gcp.EdgeContainer.Inputs.ClusterControlPlaneArgs
    {
        Local = new Gcp.EdgeContainer.Inputs.ClusterControlPlaneLocalArgs
        {
            MachineFilter = "string",
            NodeCount = 0,
            NodeLocation = "string",
            SharedDeploymentPolicy = "string",
        },
        Remote = new Gcp.EdgeContainer.Inputs.ClusterControlPlaneRemoteArgs
        {
            NodeLocation = "string",
        },
    },
    Project = "string",
    ReleaseChannel = "string",
    SystemAddonsConfig = new Gcp.EdgeContainer.Inputs.ClusterSystemAddonsConfigArgs
    {
        Ingress = new Gcp.EdgeContainer.Inputs.ClusterSystemAddonsConfigIngressArgs
        {
            Disabled = false,
            Ipv4Vip = "string",
        },
    },
    TargetVersion = "string",
});
Copy
example, err := edgecontainer.NewCluster(ctx, "exampleclusterResourceResourceFromEdgecontainercluster", &edgecontainer.ClusterArgs{
	Fleet: &edgecontainer.ClusterFleetArgs{
		Project:    pulumi.String("string"),
		Membership: pulumi.String("string"),
	},
	Networking: &edgecontainer.ClusterNetworkingArgs{
		ClusterIpv4CidrBlocks: pulumi.StringArray{
			pulumi.String("string"),
		},
		ServicesIpv4CidrBlocks: pulumi.StringArray{
			pulumi.String("string"),
		},
		ClusterIpv6CidrBlocks: pulumi.StringArray{
			pulumi.String("string"),
		},
		NetworkType: pulumi.String("string"),
		ServicesIpv6CidrBlocks: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	Location: pulumi.String("string"),
	Authorization: &edgecontainer.ClusterAuthorizationArgs{
		AdminUsers: &edgecontainer.ClusterAuthorizationAdminUsersArgs{
			Username: pulumi.String("string"),
		},
	},
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	ExternalLoadBalancerIpv4AddressPools: pulumi.StringArray{
		pulumi.String("string"),
	},
	DefaultMaxPodsPerNode: pulumi.Int(0),
	ControlPlaneEncryption: &edgecontainer.ClusterControlPlaneEncryptionArgs{
		KmsKey:              pulumi.String("string"),
		KmsKeyActiveVersion: pulumi.String("string"),
		KmsKeyState:         pulumi.String("string"),
		KmsStatuses: edgecontainer.ClusterControlPlaneEncryptionKmsStatusArray{
			&edgecontainer.ClusterControlPlaneEncryptionKmsStatusArgs{
				Code:    pulumi.Int(0),
				Message: pulumi.String("string"),
			},
		},
	},
	MaintenancePolicy: &edgecontainer.ClusterMaintenancePolicyArgs{
		Window: &edgecontainer.ClusterMaintenancePolicyWindowArgs{
			RecurringWindow: &edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowArgs{
				Recurrence: pulumi.String("string"),
				Window: &edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs{
					EndTime:   pulumi.String("string"),
					StartTime: pulumi.String("string"),
				},
			},
		},
		MaintenanceExclusions: edgecontainer.ClusterMaintenancePolicyMaintenanceExclusionArray{
			&edgecontainer.ClusterMaintenancePolicyMaintenanceExclusionArgs{
				Id: pulumi.String("string"),
				Window: &edgecontainer.ClusterMaintenancePolicyMaintenanceExclusionWindowArgs{
					EndTime:   pulumi.String("string"),
					StartTime: pulumi.String("string"),
				},
			},
		},
	},
	Name: pulumi.String("string"),
	ControlPlane: &edgecontainer.ClusterControlPlaneArgs{
		Local: &edgecontainer.ClusterControlPlaneLocalArgs{
			MachineFilter:          pulumi.String("string"),
			NodeCount:              pulumi.Int(0),
			NodeLocation:           pulumi.String("string"),
			SharedDeploymentPolicy: pulumi.String("string"),
		},
		Remote: &edgecontainer.ClusterControlPlaneRemoteArgs{
			NodeLocation: pulumi.String("string"),
		},
	},
	Project:        pulumi.String("string"),
	ReleaseChannel: pulumi.String("string"),
	SystemAddonsConfig: &edgecontainer.ClusterSystemAddonsConfigArgs{
		Ingress: &edgecontainer.ClusterSystemAddonsConfigIngressArgs{
			Disabled: pulumi.Bool(false),
			Ipv4Vip:  pulumi.String("string"),
		},
	},
	TargetVersion: pulumi.String("string"),
})
Copy
var exampleclusterResourceResourceFromEdgecontainercluster = new Cluster("exampleclusterResourceResourceFromEdgecontainercluster", ClusterArgs.builder()
    .fleet(ClusterFleetArgs.builder()
        .project("string")
        .membership("string")
        .build())
    .networking(ClusterNetworkingArgs.builder()
        .clusterIpv4CidrBlocks("string")
        .servicesIpv4CidrBlocks("string")
        .clusterIpv6CidrBlocks("string")
        .networkType("string")
        .servicesIpv6CidrBlocks("string")
        .build())
    .location("string")
    .authorization(ClusterAuthorizationArgs.builder()
        .adminUsers(ClusterAuthorizationAdminUsersArgs.builder()
            .username("string")
            .build())
        .build())
    .labels(Map.of("string", "string"))
    .externalLoadBalancerIpv4AddressPools("string")
    .defaultMaxPodsPerNode(0)
    .controlPlaneEncryption(ClusterControlPlaneEncryptionArgs.builder()
        .kmsKey("string")
        .kmsKeyActiveVersion("string")
        .kmsKeyState("string")
        .kmsStatuses(ClusterControlPlaneEncryptionKmsStatusArgs.builder()
            .code(0)
            .message("string")
            .build())
        .build())
    .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
        .window(ClusterMaintenancePolicyWindowArgs.builder()
            .recurringWindow(ClusterMaintenancePolicyWindowRecurringWindowArgs.builder()
                .recurrence("string")
                .window(ClusterMaintenancePolicyWindowRecurringWindowWindowArgs.builder()
                    .endTime("string")
                    .startTime("string")
                    .build())
                .build())
            .build())
        .maintenanceExclusions(ClusterMaintenancePolicyMaintenanceExclusionArgs.builder()
            .id("string")
            .window(ClusterMaintenancePolicyMaintenanceExclusionWindowArgs.builder()
                .endTime("string")
                .startTime("string")
                .build())
            .build())
        .build())
    .name("string")
    .controlPlane(ClusterControlPlaneArgs.builder()
        .local(ClusterControlPlaneLocalArgs.builder()
            .machineFilter("string")
            .nodeCount(0)
            .nodeLocation("string")
            .sharedDeploymentPolicy("string")
            .build())
        .remote(ClusterControlPlaneRemoteArgs.builder()
            .nodeLocation("string")
            .build())
        .build())
    .project("string")
    .releaseChannel("string")
    .systemAddonsConfig(ClusterSystemAddonsConfigArgs.builder()
        .ingress(ClusterSystemAddonsConfigIngressArgs.builder()
            .disabled(false)
            .ipv4Vip("string")
            .build())
        .build())
    .targetVersion("string")
    .build());
Copy
examplecluster_resource_resource_from_edgecontainercluster = gcp.edgecontainer.Cluster("exampleclusterResourceResourceFromEdgecontainercluster",
    fleet={
        "project": "string",
        "membership": "string",
    },
    networking={
        "cluster_ipv4_cidr_blocks": ["string"],
        "services_ipv4_cidr_blocks": ["string"],
        "cluster_ipv6_cidr_blocks": ["string"],
        "network_type": "string",
        "services_ipv6_cidr_blocks": ["string"],
    },
    location="string",
    authorization={
        "admin_users": {
            "username": "string",
        },
    },
    labels={
        "string": "string",
    },
    external_load_balancer_ipv4_address_pools=["string"],
    default_max_pods_per_node=0,
    control_plane_encryption={
        "kms_key": "string",
        "kms_key_active_version": "string",
        "kms_key_state": "string",
        "kms_statuses": [{
            "code": 0,
            "message": "string",
        }],
    },
    maintenance_policy={
        "window": {
            "recurring_window": {
                "recurrence": "string",
                "window": {
                    "end_time": "string",
                    "start_time": "string",
                },
            },
        },
        "maintenance_exclusions": [{
            "id": "string",
            "window": {
                "end_time": "string",
                "start_time": "string",
            },
        }],
    },
    name="string",
    control_plane={
        "local": {
            "machine_filter": "string",
            "node_count": 0,
            "node_location": "string",
            "shared_deployment_policy": "string",
        },
        "remote": {
            "node_location": "string",
        },
    },
    project="string",
    release_channel="string",
    system_addons_config={
        "ingress": {
            "disabled": False,
            "ipv4_vip": "string",
        },
    },
    target_version="string")
Copy
const exampleclusterResourceResourceFromEdgecontainercluster = new gcp.edgecontainer.Cluster("exampleclusterResourceResourceFromEdgecontainercluster", {
    fleet: {
        project: "string",
        membership: "string",
    },
    networking: {
        clusterIpv4CidrBlocks: ["string"],
        servicesIpv4CidrBlocks: ["string"],
        clusterIpv6CidrBlocks: ["string"],
        networkType: "string",
        servicesIpv6CidrBlocks: ["string"],
    },
    location: "string",
    authorization: {
        adminUsers: {
            username: "string",
        },
    },
    labels: {
        string: "string",
    },
    externalLoadBalancerIpv4AddressPools: ["string"],
    defaultMaxPodsPerNode: 0,
    controlPlaneEncryption: {
        kmsKey: "string",
        kmsKeyActiveVersion: "string",
        kmsKeyState: "string",
        kmsStatuses: [{
            code: 0,
            message: "string",
        }],
    },
    maintenancePolicy: {
        window: {
            recurringWindow: {
                recurrence: "string",
                window: {
                    endTime: "string",
                    startTime: "string",
                },
            },
        },
        maintenanceExclusions: [{
            id: "string",
            window: {
                endTime: "string",
                startTime: "string",
            },
        }],
    },
    name: "string",
    controlPlane: {
        local: {
            machineFilter: "string",
            nodeCount: 0,
            nodeLocation: "string",
            sharedDeploymentPolicy: "string",
        },
        remote: {
            nodeLocation: "string",
        },
    },
    project: "string",
    releaseChannel: "string",
    systemAddonsConfig: {
        ingress: {
            disabled: false,
            ipv4Vip: "string",
        },
    },
    targetVersion: "string",
});
Copy
type: gcp:edgecontainer:Cluster
properties:
    authorization:
        adminUsers:
            username: string
    controlPlane:
        local:
            machineFilter: string
            nodeCount: 0
            nodeLocation: string
            sharedDeploymentPolicy: string
        remote:
            nodeLocation: string
    controlPlaneEncryption:
        kmsKey: string
        kmsKeyActiveVersion: string
        kmsKeyState: string
        kmsStatuses:
            - code: 0
              message: string
    defaultMaxPodsPerNode: 0
    externalLoadBalancerIpv4AddressPools:
        - string
    fleet:
        membership: string
        project: string
    labels:
        string: string
    location: string
    maintenancePolicy:
        maintenanceExclusions:
            - id: string
              window:
                endTime: string
                startTime: string
        window:
            recurringWindow:
                recurrence: string
                window:
                    endTime: string
                    startTime: string
    name: string
    networking:
        clusterIpv4CidrBlocks:
            - string
        clusterIpv6CidrBlocks:
            - string
        networkType: string
        servicesIpv4CidrBlocks:
            - string
        servicesIpv6CidrBlocks:
            - string
    project: string
    releaseChannel: string
    systemAddonsConfig:
        ingress:
            disabled: false
            ipv4Vip: string
    targetVersion: string
Copy

Cluster Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Cluster resource accepts the following input properties:

Authorization
This property is required.
Changes to this property will trigger replacement.
ClusterAuthorization
RBAC policy that will be applied and managed by GEC. Structure is documented below.
Fleet
This property is required.
Changes to this property will trigger replacement.
ClusterFleet
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
Location
This property is required.
Changes to this property will trigger replacement.
string
The location of the resource.
Networking This property is required. ClusterNetworking
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
ControlPlane ClusterControlPlane
The configuration of the cluster control plane.
ControlPlaneEncryption ClusterControlPlaneEncryption
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
DefaultMaxPodsPerNode int
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
ExternalLoadBalancerIpv4AddressPools List<string>
Address pools for cluster data plane external load balancing.
Labels Dictionary<string, string>
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
MaintenancePolicy ClusterMaintenancePolicy
Cluster-wide maintenance policy configuration.
Name Changes to this property will trigger replacement. string
The GDCE cluster name.
Project Changes to this property will trigger replacement. string
ReleaseChannel string
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
SystemAddonsConfig ClusterSystemAddonsConfig
Config that customers are allowed to define for GDCE system add-ons.
TargetVersion string
(Output) The target version of the cluster.
Authorization
This property is required.
Changes to this property will trigger replacement.
ClusterAuthorizationArgs
RBAC policy that will be applied and managed by GEC. Structure is documented below.
Fleet
This property is required.
Changes to this property will trigger replacement.
ClusterFleetArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
Location
This property is required.
Changes to this property will trigger replacement.
string
The location of the resource.
Networking This property is required. ClusterNetworkingArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
ControlPlane ClusterControlPlaneArgs
The configuration of the cluster control plane.
ControlPlaneEncryption ClusterControlPlaneEncryptionArgs
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
DefaultMaxPodsPerNode int
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
ExternalLoadBalancerIpv4AddressPools []string
Address pools for cluster data plane external load balancing.
Labels map[string]string
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
MaintenancePolicy ClusterMaintenancePolicyArgs
Cluster-wide maintenance policy configuration.
Name Changes to this property will trigger replacement. string
The GDCE cluster name.
Project Changes to this property will trigger replacement. string
ReleaseChannel string
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
SystemAddonsConfig ClusterSystemAddonsConfigArgs
Config that customers are allowed to define for GDCE system add-ons.
TargetVersion string
(Output) The target version of the cluster.
authorization
This property is required.
Changes to this property will trigger replacement.
ClusterAuthorization
RBAC policy that will be applied and managed by GEC. Structure is documented below.
fleet
This property is required.
Changes to this property will trigger replacement.
ClusterFleet
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
String
The location of the resource.
networking This property is required. ClusterNetworking
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
controlPlane ClusterControlPlane
The configuration of the cluster control plane.
controlPlaneEncryption ClusterControlPlaneEncryption
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
defaultMaxPodsPerNode Integer
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
externalLoadBalancerIpv4AddressPools List<String>
Address pools for cluster data plane external load balancing.
labels Map<String,String>
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
maintenancePolicy ClusterMaintenancePolicy
Cluster-wide maintenance policy configuration.
name Changes to this property will trigger replacement. String
The GDCE cluster name.
project Changes to this property will trigger replacement. String
releaseChannel String
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
systemAddonsConfig ClusterSystemAddonsConfig
Config that customers are allowed to define for GDCE system add-ons.
targetVersion String
(Output) The target version of the cluster.
authorization
This property is required.
Changes to this property will trigger replacement.
ClusterAuthorization
RBAC policy that will be applied and managed by GEC. Structure is documented below.
fleet
This property is required.
Changes to this property will trigger replacement.
ClusterFleet
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
string
The location of the resource.
networking This property is required. ClusterNetworking
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
controlPlane ClusterControlPlane
The configuration of the cluster control plane.
controlPlaneEncryption ClusterControlPlaneEncryption
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
defaultMaxPodsPerNode number
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
externalLoadBalancerIpv4AddressPools string[]
Address pools for cluster data plane external load balancing.
labels {[key: string]: string}
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
maintenancePolicy ClusterMaintenancePolicy
Cluster-wide maintenance policy configuration.
name Changes to this property will trigger replacement. string
The GDCE cluster name.
project Changes to this property will trigger replacement. string
releaseChannel string
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
systemAddonsConfig ClusterSystemAddonsConfig
Config that customers are allowed to define for GDCE system add-ons.
targetVersion string
(Output) The target version of the cluster.
authorization
This property is required.
Changes to this property will trigger replacement.
ClusterAuthorizationArgs
RBAC policy that will be applied and managed by GEC. Structure is documented below.
fleet
This property is required.
Changes to this property will trigger replacement.
ClusterFleetArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
str
The location of the resource.
networking This property is required. ClusterNetworkingArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
control_plane ClusterControlPlaneArgs
The configuration of the cluster control plane.
control_plane_encryption ClusterControlPlaneEncryptionArgs
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
default_max_pods_per_node int
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
external_load_balancer_ipv4_address_pools Sequence[str]
Address pools for cluster data plane external load balancing.
labels Mapping[str, str]
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
maintenance_policy ClusterMaintenancePolicyArgs
Cluster-wide maintenance policy configuration.
name Changes to this property will trigger replacement. str
The GDCE cluster name.
project Changes to this property will trigger replacement. str
release_channel str
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
system_addons_config ClusterSystemAddonsConfigArgs
Config that customers are allowed to define for GDCE system add-ons.
target_version str
(Output) The target version of the cluster.
authorization
This property is required.
Changes to this property will trigger replacement.
Property Map
RBAC policy that will be applied and managed by GEC. Structure is documented below.
fleet
This property is required.
Changes to this property will trigger replacement.
Property Map
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
String
The location of the resource.
networking This property is required. Property Map
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
controlPlane Property Map
The configuration of the cluster control plane.
controlPlaneEncryption Property Map
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
defaultMaxPodsPerNode Number
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
externalLoadBalancerIpv4AddressPools List<String>
Address pools for cluster data plane external load balancing.
labels Map<String>
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
maintenancePolicy Property Map
Cluster-wide maintenance policy configuration.
name Changes to this property will trigger replacement. String
The GDCE cluster name.
project Changes to this property will trigger replacement. String
releaseChannel String
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
systemAddonsConfig Property Map
Config that customers are allowed to define for GDCE system add-ons.
targetVersion String
(Output) The target version of the cluster.

Outputs

All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:

ClusterCaCertificate string
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
ControlPlaneVersion string
The control plane release version.
CreateTime string
(Output) The time when the maintenance event request was created.
EffectiveLabels Dictionary<string, string>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Endpoint string
The IP address of the Kubernetes API server.
Id string
The provider-assigned unique ID for this managed resource.
MaintenanceEvents List<ClusterMaintenanceEvent>
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
NodeVersion string
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
Port int
The port number of the Kubernetes API server.
PulumiLabels Dictionary<string, string>
The combination of labels configured directly on the resource and default labels configured on the provider.
Status string
Indicates the status of the cluster.
UpdateTime string
(Output) The time when the maintenance event message was updated.
ClusterCaCertificate string
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
ControlPlaneVersion string
The control plane release version.
CreateTime string
(Output) The time when the maintenance event request was created.
EffectiveLabels map[string]string
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Endpoint string
The IP address of the Kubernetes API server.
Id string
The provider-assigned unique ID for this managed resource.
MaintenanceEvents []ClusterMaintenanceEvent
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
NodeVersion string
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
Port int
The port number of the Kubernetes API server.
PulumiLabels map[string]string
The combination of labels configured directly on the resource and default labels configured on the provider.
Status string
Indicates the status of the cluster.
UpdateTime string
(Output) The time when the maintenance event message was updated.
clusterCaCertificate String
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
controlPlaneVersion String
The control plane release version.
createTime String
(Output) The time when the maintenance event request was created.
effectiveLabels Map<String,String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
endpoint String
The IP address of the Kubernetes API server.
id String
The provider-assigned unique ID for this managed resource.
maintenanceEvents List<ClusterMaintenanceEvent>
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
nodeVersion String
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
port Integer
The port number of the Kubernetes API server.
pulumiLabels Map<String,String>
The combination of labels configured directly on the resource and default labels configured on the provider.
status String
Indicates the status of the cluster.
updateTime String
(Output) The time when the maintenance event message was updated.
clusterCaCertificate string
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
controlPlaneVersion string
The control plane release version.
createTime string
(Output) The time when the maintenance event request was created.
effectiveLabels {[key: string]: string}
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
endpoint string
The IP address of the Kubernetes API server.
id string
The provider-assigned unique ID for this managed resource.
maintenanceEvents ClusterMaintenanceEvent[]
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
nodeVersion string
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
port number
The port number of the Kubernetes API server.
pulumiLabels {[key: string]: string}
The combination of labels configured directly on the resource and default labels configured on the provider.
status string
Indicates the status of the cluster.
updateTime string
(Output) The time when the maintenance event message was updated.
cluster_ca_certificate str
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
control_plane_version str
The control plane release version.
create_time str
(Output) The time when the maintenance event request was created.
effective_labels Mapping[str, str]
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
endpoint str
The IP address of the Kubernetes API server.
id str
The provider-assigned unique ID for this managed resource.
maintenance_events Sequence[ClusterMaintenanceEvent]
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
node_version str
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
port int
The port number of the Kubernetes API server.
pulumi_labels Mapping[str, str]
The combination of labels configured directly on the resource and default labels configured on the provider.
status str
Indicates the status of the cluster.
update_time str
(Output) The time when the maintenance event message was updated.
clusterCaCertificate String
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
controlPlaneVersion String
The control plane release version.
createTime String
(Output) The time when the maintenance event request was created.
effectiveLabels Map<String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
endpoint String
The IP address of the Kubernetes API server.
id String
The provider-assigned unique ID for this managed resource.
maintenanceEvents List<Property Map>
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
nodeVersion String
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
port Number
The port number of the Kubernetes API server.
pulumiLabels Map<String>
The combination of labels configured directly on the resource and default labels configured on the provider.
status String
Indicates the status of the cluster.
updateTime String
(Output) The time when the maintenance event message was updated.

Look up Existing Cluster Resource

Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Cluster
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        authorization: Optional[ClusterAuthorizationArgs] = None,
        cluster_ca_certificate: Optional[str] = None,
        control_plane: Optional[ClusterControlPlaneArgs] = None,
        control_plane_encryption: Optional[ClusterControlPlaneEncryptionArgs] = None,
        control_plane_version: Optional[str] = None,
        create_time: Optional[str] = None,
        default_max_pods_per_node: Optional[int] = None,
        effective_labels: Optional[Mapping[str, str]] = None,
        endpoint: Optional[str] = None,
        external_load_balancer_ipv4_address_pools: Optional[Sequence[str]] = None,
        fleet: Optional[ClusterFleetArgs] = None,
        labels: Optional[Mapping[str, str]] = None,
        location: Optional[str] = None,
        maintenance_events: Optional[Sequence[ClusterMaintenanceEventArgs]] = None,
        maintenance_policy: Optional[ClusterMaintenancePolicyArgs] = None,
        name: Optional[str] = None,
        networking: Optional[ClusterNetworkingArgs] = None,
        node_version: Optional[str] = None,
        port: Optional[int] = None,
        project: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None,
        release_channel: Optional[str] = None,
        status: Optional[str] = None,
        system_addons_config: Optional[ClusterSystemAddonsConfigArgs] = None,
        target_version: Optional[str] = None,
        update_time: Optional[str] = None) -> Cluster
func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)
resources:  _:    type: gcp:edgecontainer:Cluster    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Authorization Changes to this property will trigger replacement. ClusterAuthorization
RBAC policy that will be applied and managed by GEC. Structure is documented below.
ClusterCaCertificate string
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
ControlPlane ClusterControlPlane
The configuration of the cluster control plane.
ControlPlaneEncryption ClusterControlPlaneEncryption
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
ControlPlaneVersion string
The control plane release version.
CreateTime string
(Output) The time when the maintenance event request was created.
DefaultMaxPodsPerNode int
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
EffectiveLabels Dictionary<string, string>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Endpoint string
The IP address of the Kubernetes API server.
ExternalLoadBalancerIpv4AddressPools List<string>
Address pools for cluster data plane external load balancing.
Fleet Changes to this property will trigger replacement. ClusterFleet
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
Labels Dictionary<string, string>
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
Location Changes to this property will trigger replacement. string
The location of the resource.
MaintenanceEvents List<ClusterMaintenanceEvent>
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
MaintenancePolicy ClusterMaintenancePolicy
Cluster-wide maintenance policy configuration.
Name Changes to this property will trigger replacement. string
The GDCE cluster name.
Networking ClusterNetworking
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
NodeVersion string
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
Port int
The port number of the Kubernetes API server.
Project Changes to this property will trigger replacement. string
PulumiLabels Dictionary<string, string>
The combination of labels configured directly on the resource and default labels configured on the provider.
ReleaseChannel string
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
Status string
Indicates the status of the cluster.
SystemAddonsConfig ClusterSystemAddonsConfig
Config that customers are allowed to define for GDCE system add-ons.
TargetVersion string
(Output) The target version of the cluster.
UpdateTime string
(Output) The time when the maintenance event message was updated.
Authorization Changes to this property will trigger replacement. ClusterAuthorizationArgs
RBAC policy that will be applied and managed by GEC. Structure is documented below.
ClusterCaCertificate string
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
ControlPlane ClusterControlPlaneArgs
The configuration of the cluster control plane.
ControlPlaneEncryption ClusterControlPlaneEncryptionArgs
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
ControlPlaneVersion string
The control plane release version.
CreateTime string
(Output) The time when the maintenance event request was created.
DefaultMaxPodsPerNode int
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
EffectiveLabels map[string]string
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Endpoint string
The IP address of the Kubernetes API server.
ExternalLoadBalancerIpv4AddressPools []string
Address pools for cluster data plane external load balancing.
Fleet Changes to this property will trigger replacement. ClusterFleetArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
Labels map[string]string
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
Location Changes to this property will trigger replacement. string
The location of the resource.
MaintenanceEvents []ClusterMaintenanceEventArgs
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
MaintenancePolicy ClusterMaintenancePolicyArgs
Cluster-wide maintenance policy configuration.
Name Changes to this property will trigger replacement. string
The GDCE cluster name.
Networking ClusterNetworkingArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
NodeVersion string
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
Port int
The port number of the Kubernetes API server.
Project Changes to this property will trigger replacement. string
PulumiLabels map[string]string
The combination of labels configured directly on the resource and default labels configured on the provider.
ReleaseChannel string
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
Status string
Indicates the status of the cluster.
SystemAddonsConfig ClusterSystemAddonsConfigArgs
Config that customers are allowed to define for GDCE system add-ons.
TargetVersion string
(Output) The target version of the cluster.
UpdateTime string
(Output) The time when the maintenance event message was updated.
authorization Changes to this property will trigger replacement. ClusterAuthorization
RBAC policy that will be applied and managed by GEC. Structure is documented below.
clusterCaCertificate String
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
controlPlane ClusterControlPlane
The configuration of the cluster control plane.
controlPlaneEncryption ClusterControlPlaneEncryption
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
controlPlaneVersion String
The control plane release version.
createTime String
(Output) The time when the maintenance event request was created.
defaultMaxPodsPerNode Integer
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
effectiveLabels Map<String,String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
endpoint String
The IP address of the Kubernetes API server.
externalLoadBalancerIpv4AddressPools List<String>
Address pools for cluster data plane external load balancing.
fleet Changes to this property will trigger replacement. ClusterFleet
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
labels Map<String,String>
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
location Changes to this property will trigger replacement. String
The location of the resource.
maintenanceEvents List<ClusterMaintenanceEvent>
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
maintenancePolicy ClusterMaintenancePolicy
Cluster-wide maintenance policy configuration.
name Changes to this property will trigger replacement. String
The GDCE cluster name.
networking ClusterNetworking
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
nodeVersion String
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
port Integer
The port number of the Kubernetes API server.
project Changes to this property will trigger replacement. String
pulumiLabels Map<String,String>
The combination of labels configured directly on the resource and default labels configured on the provider.
releaseChannel String
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
status String
Indicates the status of the cluster.
systemAddonsConfig ClusterSystemAddonsConfig
Config that customers are allowed to define for GDCE system add-ons.
targetVersion String
(Output) The target version of the cluster.
updateTime String
(Output) The time when the maintenance event message was updated.
authorization Changes to this property will trigger replacement. ClusterAuthorization
RBAC policy that will be applied and managed by GEC. Structure is documented below.
clusterCaCertificate string
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
controlPlane ClusterControlPlane
The configuration of the cluster control plane.
controlPlaneEncryption ClusterControlPlaneEncryption
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
controlPlaneVersion string
The control plane release version.
createTime string
(Output) The time when the maintenance event request was created.
defaultMaxPodsPerNode number
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
effectiveLabels {[key: string]: string}
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
endpoint string
The IP address of the Kubernetes API server.
externalLoadBalancerIpv4AddressPools string[]
Address pools for cluster data plane external load balancing.
fleet Changes to this property will trigger replacement. ClusterFleet
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
labels {[key: string]: string}
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
location Changes to this property will trigger replacement. string
The location of the resource.
maintenanceEvents ClusterMaintenanceEvent[]
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
maintenancePolicy ClusterMaintenancePolicy
Cluster-wide maintenance policy configuration.
name Changes to this property will trigger replacement. string
The GDCE cluster name.
networking ClusterNetworking
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
nodeVersion string
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
port number
The port number of the Kubernetes API server.
project Changes to this property will trigger replacement. string
pulumiLabels {[key: string]: string}
The combination of labels configured directly on the resource and default labels configured on the provider.
releaseChannel string
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
status string
Indicates the status of the cluster.
systemAddonsConfig ClusterSystemAddonsConfig
Config that customers are allowed to define for GDCE system add-ons.
targetVersion string
(Output) The target version of the cluster.
updateTime string
(Output) The time when the maintenance event message was updated.
authorization Changes to this property will trigger replacement. ClusterAuthorizationArgs
RBAC policy that will be applied and managed by GEC. Structure is documented below.
cluster_ca_certificate str
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
control_plane ClusterControlPlaneArgs
The configuration of the cluster control plane.
control_plane_encryption ClusterControlPlaneEncryptionArgs
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
control_plane_version str
The control plane release version.
create_time str
(Output) The time when the maintenance event request was created.
default_max_pods_per_node int
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
effective_labels Mapping[str, str]
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
endpoint str
The IP address of the Kubernetes API server.
external_load_balancer_ipv4_address_pools Sequence[str]
Address pools for cluster data plane external load balancing.
fleet Changes to this property will trigger replacement. ClusterFleetArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
labels Mapping[str, str]
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
location Changes to this property will trigger replacement. str
The location of the resource.
maintenance_events Sequence[ClusterMaintenanceEventArgs]
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
maintenance_policy ClusterMaintenancePolicyArgs
Cluster-wide maintenance policy configuration.
name Changes to this property will trigger replacement. str
The GDCE cluster name.
networking ClusterNetworkingArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
node_version str
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
port int
The port number of the Kubernetes API server.
project Changes to this property will trigger replacement. str
pulumi_labels Mapping[str, str]
The combination of labels configured directly on the resource and default labels configured on the provider.
release_channel str
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
status str
Indicates the status of the cluster.
system_addons_config ClusterSystemAddonsConfigArgs
Config that customers are allowed to define for GDCE system add-ons.
target_version str
(Output) The target version of the cluster.
update_time str
(Output) The time when the maintenance event message was updated.
authorization Changes to this property will trigger replacement. Property Map
RBAC policy that will be applied and managed by GEC. Structure is documented below.
clusterCaCertificate String
The PEM-encoded public certificate of the cluster's CA. Note: This property is sensitive and will not be displayed in the plan.
controlPlane Property Map
The configuration of the cluster control plane.
controlPlaneEncryption Property Map
Remote control plane disk encryption options. This field is only used when enabling CMEK support.
controlPlaneVersion String
The control plane release version.
createTime String
(Output) The time when the maintenance event request was created.
defaultMaxPodsPerNode Number
The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.
effectiveLabels Map<String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
endpoint String
The IP address of the Kubernetes API server.
externalLoadBalancerIpv4AddressPools List<String>
Address pools for cluster data plane external load balancing.
fleet Changes to this property will trigger replacement. Property Map
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
labels Map<String>
User-defined labels for the edgecloud cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
location Changes to this property will trigger replacement. String
The location of the resource.
maintenanceEvents List<Property Map>
All the maintenance events scheduled for the cluster, including the ones ongoing, planned for the future and done in the past (up to 90 days). Structure is documented below.
maintenancePolicy Property Map
Cluster-wide maintenance policy configuration.
name Changes to this property will trigger replacement. String
The GDCE cluster name.
networking Property Map
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. Structure is documented below.
nodeVersion String
The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.
port Number
The port number of the Kubernetes API server.
project Changes to this property will trigger replacement. String
pulumiLabels Map<String>
The combination of labels configured directly on the resource and default labels configured on the provider.
releaseChannel String
The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
status String
Indicates the status of the cluster.
systemAddonsConfig Property Map
Config that customers are allowed to define for GDCE system add-ons.
targetVersion String
(Output) The target version of the cluster.
updateTime String
(Output) The time when the maintenance event message was updated.

Supporting Types

ClusterAuthorization
, ClusterAuthorizationArgs

AdminUsers This property is required. ClusterAuthorizationAdminUsers
User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future. Structure is documented below.
AdminUsers This property is required. ClusterAuthorizationAdminUsers
User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future. Structure is documented below.
adminUsers This property is required. ClusterAuthorizationAdminUsers
User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future. Structure is documented below.
adminUsers This property is required. ClusterAuthorizationAdminUsers
User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future. Structure is documented below.
admin_users This property is required. ClusterAuthorizationAdminUsers
User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future. Structure is documented below.
adminUsers This property is required. Property Map
User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future. Structure is documented below.

ClusterAuthorizationAdminUsers
, ClusterAuthorizationAdminUsersArgs

Username This property is required. string
An active Google username.


Username This property is required. string
An active Google username.


username This property is required. String
An active Google username.


username This property is required. string
An active Google username.


username This property is required. str
An active Google username.


username This property is required. String
An active Google username.


ClusterControlPlane
, ClusterControlPlaneArgs

Local Changes to this property will trigger replacement. ClusterControlPlaneLocal
Local control plane configuration. Structure is documented below.
Remote Changes to this property will trigger replacement. ClusterControlPlaneRemote
Remote control plane configuration. Structure is documented below.
Local Changes to this property will trigger replacement. ClusterControlPlaneLocal
Local control plane configuration. Structure is documented below.
Remote Changes to this property will trigger replacement. ClusterControlPlaneRemote
Remote control plane configuration. Structure is documented below.
local Changes to this property will trigger replacement. ClusterControlPlaneLocal
Local control plane configuration. Structure is documented below.
remote Changes to this property will trigger replacement. ClusterControlPlaneRemote
Remote control plane configuration. Structure is documented below.
local Changes to this property will trigger replacement. ClusterControlPlaneLocal
Local control plane configuration. Structure is documented below.
remote Changes to this property will trigger replacement. ClusterControlPlaneRemote
Remote control plane configuration. Structure is documented below.
local Changes to this property will trigger replacement. ClusterControlPlaneLocal
Local control plane configuration. Structure is documented below.
remote Changes to this property will trigger replacement. ClusterControlPlaneRemote
Remote control plane configuration. Structure is documented below.
local Changes to this property will trigger replacement. Property Map
Local control plane configuration. Structure is documented below.
remote Changes to this property will trigger replacement. Property Map
Remote control plane configuration. Structure is documented below.

ClusterControlPlaneEncryption
, ClusterControlPlaneEncryptionArgs

KmsKey Changes to this property will trigger replacement. string
The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting control plane disks. If not specified, a Google-managed key will be used instead.
KmsKeyActiveVersion string
(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting control plane disks. Only applicable if kms_key is set.
KmsKeyState string
(Output) Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
KmsStatuses List<ClusterControlPlaneEncryptionKmsStatus>

(Output) Error status returned by Cloud KMS when using this key. This field may be populated only if kms_key_state is not KMS_KEY_STATE_KEY_AVAILABLE. If populated, this field contains the error status reported by Cloud KMS. Structure is documented below.

The kms_status block contains:

KmsKey Changes to this property will trigger replacement. string
The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting control plane disks. If not specified, a Google-managed key will be used instead.
KmsKeyActiveVersion string
(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting control plane disks. Only applicable if kms_key is set.
KmsKeyState string
(Output) Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
KmsStatuses []ClusterControlPlaneEncryptionKmsStatus

(Output) Error status returned by Cloud KMS when using this key. This field may be populated only if kms_key_state is not KMS_KEY_STATE_KEY_AVAILABLE. If populated, this field contains the error status reported by Cloud KMS. Structure is documented below.

The kms_status block contains:

kmsKey Changes to this property will trigger replacement. String
The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting control plane disks. If not specified, a Google-managed key will be used instead.
kmsKeyActiveVersion String
(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting control plane disks. Only applicable if kms_key is set.
kmsKeyState String
(Output) Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
kmsStatuses List<ClusterControlPlaneEncryptionKmsStatus>

(Output) Error status returned by Cloud KMS when using this key. This field may be populated only if kms_key_state is not KMS_KEY_STATE_KEY_AVAILABLE. If populated, this field contains the error status reported by Cloud KMS. Structure is documented below.

The kms_status block contains:

kmsKey Changes to this property will trigger replacement. string
The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting control plane disks. If not specified, a Google-managed key will be used instead.
kmsKeyActiveVersion string
(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting control plane disks. Only applicable if kms_key is set.
kmsKeyState string
(Output) Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
kmsStatuses ClusterControlPlaneEncryptionKmsStatus[]

(Output) Error status returned by Cloud KMS when using this key. This field may be populated only if kms_key_state is not KMS_KEY_STATE_KEY_AVAILABLE. If populated, this field contains the error status reported by Cloud KMS. Structure is documented below.

The kms_status block contains:

kms_key Changes to this property will trigger replacement. str
The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting control plane disks. If not specified, a Google-managed key will be used instead.
kms_key_active_version str
(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting control plane disks. Only applicable if kms_key is set.
kms_key_state str
(Output) Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
kms_statuses Sequence[ClusterControlPlaneEncryptionKmsStatus]

(Output) Error status returned by Cloud KMS when using this key. This field may be populated only if kms_key_state is not KMS_KEY_STATE_KEY_AVAILABLE. If populated, this field contains the error status reported by Cloud KMS. Structure is documented below.

The kms_status block contains:

kmsKey Changes to this property will trigger replacement. String
The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting control plane disks. If not specified, a Google-managed key will be used instead.
kmsKeyActiveVersion String
(Output) The Cloud KMS CryptoKeyVersion currently in use for protecting control plane disks. Only applicable if kms_key is set.
kmsKeyState String
(Output) Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
kmsStatuses List<Property Map>

(Output) Error status returned by Cloud KMS when using this key. This field may be populated only if kms_key_state is not KMS_KEY_STATE_KEY_AVAILABLE. If populated, this field contains the error status reported by Cloud KMS. Structure is documented below.

The kms_status block contains:

ClusterControlPlaneEncryptionKmsStatus
, ClusterControlPlaneEncryptionKmsStatusArgs

Code int
The status code, which should be an enum value of google.rpc.Code.
Message string
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
Code int
The status code, which should be an enum value of google.rpc.Code.
Message string
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
code Integer
The status code, which should be an enum value of google.rpc.Code.
message String
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
code number
The status code, which should be an enum value of google.rpc.Code.
message string
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
code int
The status code, which should be an enum value of google.rpc.Code.
message str
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
code Number
The status code, which should be an enum value of google.rpc.Code.
message String
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

ClusterControlPlaneLocal
, ClusterControlPlaneLocalArgs

MachineFilter string
Only machines matching this filter will be allowed to host control plane nodes. The filtering language accepts strings like "name=", and is documented here: AIP-160.
NodeCount int
The number of nodes to serve as replicas of the Control Plane. Only 1 and 3 are supported.
NodeLocation Changes to this property will trigger replacement. string
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
SharedDeploymentPolicy string
Policy configuration about how user applications are deployed. Possible values are: SHARED_DEPLOYMENT_POLICY_UNSPECIFIED, ALLOWED, DISALLOWED.
MachineFilter string
Only machines matching this filter will be allowed to host control plane nodes. The filtering language accepts strings like "name=", and is documented here: AIP-160.
NodeCount int
The number of nodes to serve as replicas of the Control Plane. Only 1 and 3 are supported.
NodeLocation Changes to this property will trigger replacement. string
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
SharedDeploymentPolicy string
Policy configuration about how user applications are deployed. Possible values are: SHARED_DEPLOYMENT_POLICY_UNSPECIFIED, ALLOWED, DISALLOWED.
machineFilter String
Only machines matching this filter will be allowed to host control plane nodes. The filtering language accepts strings like "name=", and is documented here: AIP-160.
nodeCount Integer
The number of nodes to serve as replicas of the Control Plane. Only 1 and 3 are supported.
nodeLocation Changes to this property will trigger replacement. String
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
sharedDeploymentPolicy String
Policy configuration about how user applications are deployed. Possible values are: SHARED_DEPLOYMENT_POLICY_UNSPECIFIED, ALLOWED, DISALLOWED.
machineFilter string
Only machines matching this filter will be allowed to host control plane nodes. The filtering language accepts strings like "name=", and is documented here: AIP-160.
nodeCount number
The number of nodes to serve as replicas of the Control Plane. Only 1 and 3 are supported.
nodeLocation Changes to this property will trigger replacement. string
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
sharedDeploymentPolicy string
Policy configuration about how user applications are deployed. Possible values are: SHARED_DEPLOYMENT_POLICY_UNSPECIFIED, ALLOWED, DISALLOWED.
machine_filter str
Only machines matching this filter will be allowed to host control plane nodes. The filtering language accepts strings like "name=", and is documented here: AIP-160.
node_count int
The number of nodes to serve as replicas of the Control Plane. Only 1 and 3 are supported.
node_location Changes to this property will trigger replacement. str
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
shared_deployment_policy str
Policy configuration about how user applications are deployed. Possible values are: SHARED_DEPLOYMENT_POLICY_UNSPECIFIED, ALLOWED, DISALLOWED.
machineFilter String
Only machines matching this filter will be allowed to host control plane nodes. The filtering language accepts strings like "name=", and is documented here: AIP-160.
nodeCount Number
The number of nodes to serve as replicas of the Control Plane. Only 1 and 3 are supported.
nodeLocation Changes to this property will trigger replacement. String
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
sharedDeploymentPolicy String
Policy configuration about how user applications are deployed. Possible values are: SHARED_DEPLOYMENT_POLICY_UNSPECIFIED, ALLOWED, DISALLOWED.

ClusterControlPlaneRemote
, ClusterControlPlaneRemoteArgs

NodeLocation Changes to this property will trigger replacement. string
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
NodeLocation Changes to this property will trigger replacement. string
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
nodeLocation Changes to this property will trigger replacement. String
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
nodeLocation Changes to this property will trigger replacement. string
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
node_location Changes to this property will trigger replacement. str
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
nodeLocation Changes to this property will trigger replacement. String
Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.

ClusterFleet
, ClusterFleetArgs

Project
This property is required.
Changes to this property will trigger replacement.
string
The name of the Fleet host project where this cluster will be registered. Project names are formatted as projects/<project-number>.
Membership string
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/global/membership/<cluster-id>.
Project
This property is required.
Changes to this property will trigger replacement.
string
The name of the Fleet host project where this cluster will be registered. Project names are formatted as projects/<project-number>.
Membership string
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/global/membership/<cluster-id>.
project
This property is required.
Changes to this property will trigger replacement.
String
The name of the Fleet host project where this cluster will be registered. Project names are formatted as projects/<project-number>.
membership String
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/global/membership/<cluster-id>.
project
This property is required.
Changes to this property will trigger replacement.
string
The name of the Fleet host project where this cluster will be registered. Project names are formatted as projects/<project-number>.
membership string
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/global/membership/<cluster-id>.
project
This property is required.
Changes to this property will trigger replacement.
str
The name of the Fleet host project where this cluster will be registered. Project names are formatted as projects/<project-number>.
membership str
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/global/membership/<cluster-id>.
project
This property is required.
Changes to this property will trigger replacement.
String
The name of the Fleet host project where this cluster will be registered. Project names are formatted as projects/<project-number>.
membership String
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/global/membership/<cluster-id>.

ClusterMaintenanceEvent
, ClusterMaintenanceEventArgs

CreateTime string
(Output) The time when the maintenance event request was created.
EndTime string
(Output) The time when the maintenance event ended, either successfully or not. If the maintenance event is split into multiple maintenance windows, end_time is only updated when the whole flow ends.
Operation string
(Output) The operation for running the maintenance event. Specified in the format projects//locations//operations/*. If the maintenance event is split into multiple operations (e.g. due to maintenance windows), the latest one is recorded.
Schedule string
(Output) The schedule of the maintenance event.
StartTime string
(Output) The time when the maintenance event started.
State string
(Output) Indicates the maintenance event state.
TargetVersion string
(Output) The target version of the cluster.
Type string
(Output) Indicates the maintenance event type.
UpdateTime string
(Output) The time when the maintenance event message was updated.
Uuid string
(Output) UUID of the maintenance event.
CreateTime string
(Output) The time when the maintenance event request was created.
EndTime string
(Output) The time when the maintenance event ended, either successfully or not. If the maintenance event is split into multiple maintenance windows, end_time is only updated when the whole flow ends.
Operation string
(Output) The operation for running the maintenance event. Specified in the format projects//locations//operations/*. If the maintenance event is split into multiple operations (e.g. due to maintenance windows), the latest one is recorded.
Schedule string
(Output) The schedule of the maintenance event.
StartTime string
(Output) The time when the maintenance event started.
State string
(Output) Indicates the maintenance event state.
TargetVersion string
(Output) The target version of the cluster.
Type string
(Output) Indicates the maintenance event type.
UpdateTime string
(Output) The time when the maintenance event message was updated.
Uuid string
(Output) UUID of the maintenance event.
createTime String
(Output) The time when the maintenance event request was created.
endTime String
(Output) The time when the maintenance event ended, either successfully or not. If the maintenance event is split into multiple maintenance windows, end_time is only updated when the whole flow ends.
operation String
(Output) The operation for running the maintenance event. Specified in the format projects//locations//operations/*. If the maintenance event is split into multiple operations (e.g. due to maintenance windows), the latest one is recorded.
schedule String
(Output) The schedule of the maintenance event.
startTime String
(Output) The time when the maintenance event started.
state String
(Output) Indicates the maintenance event state.
targetVersion String
(Output) The target version of the cluster.
type String
(Output) Indicates the maintenance event type.
updateTime String
(Output) The time when the maintenance event message was updated.
uuid String
(Output) UUID of the maintenance event.
createTime string
(Output) The time when the maintenance event request was created.
endTime string
(Output) The time when the maintenance event ended, either successfully or not. If the maintenance event is split into multiple maintenance windows, end_time is only updated when the whole flow ends.
operation string
(Output) The operation for running the maintenance event. Specified in the format projects//locations//operations/*. If the maintenance event is split into multiple operations (e.g. due to maintenance windows), the latest one is recorded.
schedule string
(Output) The schedule of the maintenance event.
startTime string
(Output) The time when the maintenance event started.
state string
(Output) Indicates the maintenance event state.
targetVersion string
(Output) The target version of the cluster.
type string
(Output) Indicates the maintenance event type.
updateTime string
(Output) The time when the maintenance event message was updated.
uuid string
(Output) UUID of the maintenance event.
create_time str
(Output) The time when the maintenance event request was created.
end_time str
(Output) The time when the maintenance event ended, either successfully or not. If the maintenance event is split into multiple maintenance windows, end_time is only updated when the whole flow ends.
operation str
(Output) The operation for running the maintenance event. Specified in the format projects//locations//operations/*. If the maintenance event is split into multiple operations (e.g. due to maintenance windows), the latest one is recorded.
schedule str
(Output) The schedule of the maintenance event.
start_time str
(Output) The time when the maintenance event started.
state str
(Output) Indicates the maintenance event state.
target_version str
(Output) The target version of the cluster.
type str
(Output) Indicates the maintenance event type.
update_time str
(Output) The time when the maintenance event message was updated.
uuid str
(Output) UUID of the maintenance event.
createTime String
(Output) The time when the maintenance event request was created.
endTime String
(Output) The time when the maintenance event ended, either successfully or not. If the maintenance event is split into multiple maintenance windows, end_time is only updated when the whole flow ends.
operation String
(Output) The operation for running the maintenance event. Specified in the format projects//locations//operations/*. If the maintenance event is split into multiple operations (e.g. due to maintenance windows), the latest one is recorded.
schedule String
(Output) The schedule of the maintenance event.
startTime String
(Output) The time when the maintenance event started.
state String
(Output) Indicates the maintenance event state.
targetVersion String
(Output) The target version of the cluster.
type String
(Output) Indicates the maintenance event type.
updateTime String
(Output) The time when the maintenance event message was updated.
uuid String
(Output) UUID of the maintenance event.

ClusterMaintenancePolicy
, ClusterMaintenancePolicyArgs

Window This property is required. ClusterMaintenancePolicyWindow
Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
MaintenanceExclusions List<ClusterMaintenancePolicyMaintenanceExclusion>
Exclusions to automatic maintenance. Non-emergency maintenance should not occur in these windows. Each exclusion has a unique name and may be active or expired. The max number of maintenance exclusions allowed at a given time is 3. Structure is documented below.
Window This property is required. ClusterMaintenancePolicyWindow
Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
MaintenanceExclusions []ClusterMaintenancePolicyMaintenanceExclusion
Exclusions to automatic maintenance. Non-emergency maintenance should not occur in these windows. Each exclusion has a unique name and may be active or expired. The max number of maintenance exclusions allowed at a given time is 3. Structure is documented below.
window This property is required. ClusterMaintenancePolicyWindow
Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
maintenanceExclusions List<ClusterMaintenancePolicyMaintenanceExclusion>
Exclusions to automatic maintenance. Non-emergency maintenance should not occur in these windows. Each exclusion has a unique name and may be active or expired. The max number of maintenance exclusions allowed at a given time is 3. Structure is documented below.
window This property is required. ClusterMaintenancePolicyWindow
Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
maintenanceExclusions ClusterMaintenancePolicyMaintenanceExclusion[]
Exclusions to automatic maintenance. Non-emergency maintenance should not occur in these windows. Each exclusion has a unique name and may be active or expired. The max number of maintenance exclusions allowed at a given time is 3. Structure is documented below.
window This property is required. ClusterMaintenancePolicyWindow
Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
maintenance_exclusions Sequence[ClusterMaintenancePolicyMaintenanceExclusion]
Exclusions to automatic maintenance. Non-emergency maintenance should not occur in these windows. Each exclusion has a unique name and may be active or expired. The max number of maintenance exclusions allowed at a given time is 3. Structure is documented below.
window This property is required. Property Map
Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
maintenanceExclusions List<Property Map>
Exclusions to automatic maintenance. Non-emergency maintenance should not occur in these windows. Each exclusion has a unique name and may be active or expired. The max number of maintenance exclusions allowed at a given time is 3. Structure is documented below.

ClusterMaintenancePolicyMaintenanceExclusion
, ClusterMaintenancePolicyMaintenanceExclusionArgs

Id string
A unique (per cluster) id for the window.
Window ClusterMaintenancePolicyMaintenanceExclusionWindow
Represents an arbitrary window of time. Structure is documented below.
Id string
A unique (per cluster) id for the window.
Window ClusterMaintenancePolicyMaintenanceExclusionWindow
Represents an arbitrary window of time. Structure is documented below.
id String
A unique (per cluster) id for the window.
window ClusterMaintenancePolicyMaintenanceExclusionWindow
Represents an arbitrary window of time. Structure is documented below.
id string
A unique (per cluster) id for the window.
window ClusterMaintenancePolicyMaintenanceExclusionWindow
Represents an arbitrary window of time. Structure is documented below.
id str
A unique (per cluster) id for the window.
window ClusterMaintenancePolicyMaintenanceExclusionWindow
Represents an arbitrary window of time. Structure is documented below.
id String
A unique (per cluster) id for the window.
window Property Map
Represents an arbitrary window of time. Structure is documented below.

ClusterMaintenancePolicyMaintenanceExclusionWindow
, ClusterMaintenancePolicyMaintenanceExclusionWindowArgs

EndTime string
The time that the window ends. The end time must take place after the start time.
StartTime string
The time that the window first starts.
EndTime string
The time that the window ends. The end time must take place after the start time.
StartTime string
The time that the window first starts.
endTime String
The time that the window ends. The end time must take place after the start time.
startTime String
The time that the window first starts.
endTime string
The time that the window ends. The end time must take place after the start time.
startTime string
The time that the window first starts.
end_time str
The time that the window ends. The end time must take place after the start time.
start_time str
The time that the window first starts.
endTime String
The time that the window ends. The end time must take place after the start time.
startTime String
The time that the window first starts.

ClusterMaintenancePolicyWindow
, ClusterMaintenancePolicyWindowArgs

RecurringWindow This property is required. ClusterMaintenancePolicyWindowRecurringWindow
Represents an arbitrary window of time that recurs. Structure is documented below.
RecurringWindow This property is required. ClusterMaintenancePolicyWindowRecurringWindow
Represents an arbitrary window of time that recurs. Structure is documented below.
recurringWindow This property is required. ClusterMaintenancePolicyWindowRecurringWindow
Represents an arbitrary window of time that recurs. Structure is documented below.
recurringWindow This property is required. ClusterMaintenancePolicyWindowRecurringWindow
Represents an arbitrary window of time that recurs. Structure is documented below.
recurring_window This property is required. ClusterMaintenancePolicyWindowRecurringWindow
Represents an arbitrary window of time that recurs. Structure is documented below.
recurringWindow This property is required. Property Map
Represents an arbitrary window of time that recurs. Structure is documented below.

ClusterMaintenancePolicyWindowRecurringWindow
, ClusterMaintenancePolicyWindowRecurringWindowArgs

Recurrence string
An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.
Window ClusterMaintenancePolicyWindowRecurringWindowWindow
Represents an arbitrary window of time. Structure is documented below.
Recurrence string
An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.
Window ClusterMaintenancePolicyWindowRecurringWindowWindow
Represents an arbitrary window of time. Structure is documented below.
recurrence String
An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.
window ClusterMaintenancePolicyWindowRecurringWindowWindow
Represents an arbitrary window of time. Structure is documented below.
recurrence string
An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.
window ClusterMaintenancePolicyWindowRecurringWindowWindow
Represents an arbitrary window of time. Structure is documented below.
recurrence str
An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.
window ClusterMaintenancePolicyWindowRecurringWindowWindow
Represents an arbitrary window of time. Structure is documented below.
recurrence String
An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.
window Property Map
Represents an arbitrary window of time. Structure is documented below.

ClusterMaintenancePolicyWindowRecurringWindowWindow
, ClusterMaintenancePolicyWindowRecurringWindowWindowArgs

EndTime string
The time that the window ends. The end time must take place after the start time.
StartTime string
The time that the window first starts.
EndTime string
The time that the window ends. The end time must take place after the start time.
StartTime string
The time that the window first starts.
endTime String
The time that the window ends. The end time must take place after the start time.
startTime String
The time that the window first starts.
endTime string
The time that the window ends. The end time must take place after the start time.
startTime string
The time that the window first starts.
end_time str
The time that the window ends. The end time must take place after the start time.
start_time str
The time that the window first starts.
endTime String
The time that the window ends. The end time must take place after the start time.
startTime String
The time that the window first starts.

ClusterNetworking
, ClusterNetworkingArgs

ClusterIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
List<string>
All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
ServicesIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
List<string>
All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
ClusterIpv6CidrBlocks Changes to this property will trigger replacement. List<string>
If specified, dual stack mode is enabled and all pods in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
NetworkType string
(Output) IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
ServicesIpv6CidrBlocks Changes to this property will trigger replacement. List<string>
If specified, dual stack mode is enabled and all services in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
ClusterIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
[]string
All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
ServicesIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
[]string
All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
ClusterIpv6CidrBlocks Changes to this property will trigger replacement. []string
If specified, dual stack mode is enabled and all pods in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
NetworkType string
(Output) IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
ServicesIpv6CidrBlocks Changes to this property will trigger replacement. []string
If specified, dual stack mode is enabled and all services in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
clusterIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
List<String>
All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
servicesIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
List<String>
All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
clusterIpv6CidrBlocks Changes to this property will trigger replacement. List<String>
If specified, dual stack mode is enabled and all pods in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
networkType String
(Output) IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
servicesIpv6CidrBlocks Changes to this property will trigger replacement. List<String>
If specified, dual stack mode is enabled and all services in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
clusterIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
string[]
All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
servicesIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
string[]
All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
clusterIpv6CidrBlocks Changes to this property will trigger replacement. string[]
If specified, dual stack mode is enabled and all pods in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
networkType string
(Output) IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
servicesIpv6CidrBlocks Changes to this property will trigger replacement. string[]
If specified, dual stack mode is enabled and all services in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
cluster_ipv4_cidr_blocks
This property is required.
Changes to this property will trigger replacement.
Sequence[str]
All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
services_ipv4_cidr_blocks
This property is required.
Changes to this property will trigger replacement.
Sequence[str]
All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
cluster_ipv6_cidr_blocks Changes to this property will trigger replacement. Sequence[str]
If specified, dual stack mode is enabled and all pods in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
network_type str
(Output) IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
services_ipv6_cidr_blocks Changes to this property will trigger replacement. Sequence[str]
If specified, dual stack mode is enabled and all services in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
clusterIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
List<String>
All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
servicesIpv4CidrBlocks
This property is required.
Changes to this property will trigger replacement.
List<String>
All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.
clusterIpv6CidrBlocks Changes to this property will trigger replacement. List<String>
If specified, dual stack mode is enabled and all pods in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.
networkType String
(Output) IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
servicesIpv6CidrBlocks Changes to this property will trigger replacement. List<String>
If specified, dual stack mode is enabled and all services in the cluster are assigned an IPv6 address from these blocks alongside from an IPv4 address. Only a single block is supported. This field cannot be changed after creation.

ClusterSystemAddonsConfig
, ClusterSystemAddonsConfigArgs

Ingress ClusterSystemAddonsConfigIngress
Config for the Ingress add-on which allows customers to create an Ingress object to manage external access to the servers in a cluster. The add-on consists of istiod and istio-ingress. Structure is documented below.
Ingress ClusterSystemAddonsConfigIngress
Config for the Ingress add-on which allows customers to create an Ingress object to manage external access to the servers in a cluster. The add-on consists of istiod and istio-ingress. Structure is documented below.
ingress ClusterSystemAddonsConfigIngress
Config for the Ingress add-on which allows customers to create an Ingress object to manage external access to the servers in a cluster. The add-on consists of istiod and istio-ingress. Structure is documented below.
ingress ClusterSystemAddonsConfigIngress
Config for the Ingress add-on which allows customers to create an Ingress object to manage external access to the servers in a cluster. The add-on consists of istiod and istio-ingress. Structure is documented below.
ingress ClusterSystemAddonsConfigIngress
Config for the Ingress add-on which allows customers to create an Ingress object to manage external access to the servers in a cluster. The add-on consists of istiod and istio-ingress. Structure is documented below.
ingress Property Map
Config for the Ingress add-on which allows customers to create an Ingress object to manage external access to the servers in a cluster. The add-on consists of istiod and istio-ingress. Structure is documented below.

ClusterSystemAddonsConfigIngress
, ClusterSystemAddonsConfigIngressArgs

Disabled bool
Whether Ingress is disabled.
Ipv4Vip string
Ingress VIP.
Disabled bool
Whether Ingress is disabled.
Ipv4Vip string
Ingress VIP.
disabled Boolean
Whether Ingress is disabled.
ipv4Vip String
Ingress VIP.
disabled boolean
Whether Ingress is disabled.
ipv4Vip string
Ingress VIP.
disabled bool
Whether Ingress is disabled.
ipv4_vip str
Ingress VIP.
disabled Boolean
Whether Ingress is disabled.
ipv4Vip String
Ingress VIP.

Import

Cluster can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/clusters/{{name}}

  • {{project}}/{{location}}/{{name}}

  • {{location}}/{{name}}

When using the pulumi import command, Cluster can be imported using one of the formats above. For example:

$ pulumi import gcp:edgecontainer/cluster:Cluster default projects/{{project}}/locations/{{location}}/clusters/{{name}}
Copy
$ pulumi import gcp:edgecontainer/cluster:Cluster default {{project}}/{{location}}/{{name}}
Copy
$ pulumi import gcp:edgecontainer/cluster:Cluster default {{location}}/{{name}}
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.