1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. edgecontainer
  5. Cluster
Google Cloud Classic v7.23.0 published on Wednesday, May 15, 2024 by Pulumi

gcp.edgecontainer.Cluster

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.23.0 published on Wednesday, May 15, 2024 by Pulumi

    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",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    project = gcp.organizations.get_project()
    default = gcp.edgecontainer.Cluster("default",
        name="basic-cluster",
        location="us-central1",
        authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
            admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
                username="admin@hashicorptest.com",
            ),
        ),
        networking=gcp.edgecontainer.ClusterNetworkingArgs(
            cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
            services_ipv4_cidr_blocks=["10.1.0.0/16"],
        ),
        fleet=gcp.edgecontainer.ClusterFleetArgs(
            project=f"projects/{project.number}",
        ),
        labels={
            "my_key": "my_val",
            "other_key": "other_val",
        })
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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, nil, 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.String(fmt.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
    	})
    }
    
    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" },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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: {}
    

    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",
                },
            },
        },
    });
    
    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=gcp.edgecontainer.ClusterAuthorizationArgs(
            admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
                username="admin@hashicorptest.com",
            ),
        ),
        networking=gcp.edgecontainer.ClusterNetworkingArgs(
            cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
            services_ipv4_cidr_blocks=["10.1.0.0/16"],
        ),
        fleet=gcp.edgecontainer.ClusterFleetArgs(
            project=f"projects/{project.number}",
        ),
        maintenance_policy=gcp.edgecontainer.ClusterMaintenancePolicyArgs(
            window=gcp.edgecontainer.ClusterMaintenancePolicyWindowArgs(
                recurring_window=gcp.edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowArgs(
                    window=gcp.edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs(
                        start_time="2023-01-01T08:00:00Z",
                        end_time="2023-01-01T17:00:00Z",
                    ),
                    recurrence="FREQ=WEEKLY;BYDAY=SA",
                ),
            ),
        ))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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, nil, 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.String(fmt.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
    	})
    }
    
    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",
                    },
                },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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: {}
    

    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",
            },
        },
    });
    
    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=gcp.edgecontainer.ClusterAuthorizationArgs(
            admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
                username="admin@hashicorptest.com",
            ),
        ),
        networking=gcp.edgecontainer.ClusterNetworkingArgs(
            cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
            services_ipv4_cidr_blocks=["10.1.0.0/16"],
        ),
        fleet=gcp.edgecontainer.ClusterFleetArgs(
            project=f"projects/{project.number}",
        ),
        external_load_balancer_ipv4_address_pools=["10.100.0.0-10.100.0.10"],
        control_plane=gcp.edgecontainer.ClusterControlPlaneArgs(
            local=gcp.edgecontainer.ClusterControlPlaneLocalArgs(
                node_location="us-central1-edge-example-edgesite",
                node_count=1,
                machine_filter="machine-name",
                shared_deployment_policy="ALLOWED",
            ),
        ))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/edgecontainer"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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, nil, 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.String(fmt.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
    	})
    }
    
    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",
                },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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: {}
    

    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 string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args 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 string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    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",
                    },
                },
            },
        },
        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",
    });
    
    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"),
    				},
    			},
    		},
    	},
    	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"),
    })
    
    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())
            .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());
    
    examplecluster_resource_resource_from_edgecontainercluster = gcp.edgecontainer.Cluster("exampleclusterResourceResourceFromEdgecontainercluster",
        fleet=gcp.edgecontainer.ClusterFleetArgs(
            project="string",
            membership="string",
        ),
        networking=gcp.edgecontainer.ClusterNetworkingArgs(
            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=gcp.edgecontainer.ClusterAuthorizationArgs(
            admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
                username="string",
            ),
        ),
        labels={
            "string": "string",
        },
        external_load_balancer_ipv4_address_pools=["string"],
        default_max_pods_per_node=0,
        control_plane_encryption=gcp.edgecontainer.ClusterControlPlaneEncryptionArgs(
            kms_key="string",
            kms_key_active_version="string",
            kms_key_state="string",
            kms_statuses=[gcp.edgecontainer.ClusterControlPlaneEncryptionKmsStatusArgs(
                code=0,
                message="string",
            )],
        ),
        maintenance_policy=gcp.edgecontainer.ClusterMaintenancePolicyArgs(
            window=gcp.edgecontainer.ClusterMaintenancePolicyWindowArgs(
                recurring_window=gcp.edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowArgs(
                    recurrence="string",
                    window=gcp.edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs(
                        end_time="string",
                        start_time="string",
                    ),
                ),
            ),
        ),
        name="string",
        control_plane=gcp.edgecontainer.ClusterControlPlaneArgs(
            local=gcp.edgecontainer.ClusterControlPlaneLocalArgs(
                machine_filter="string",
                node_count=0,
                node_location="string",
                shared_deployment_policy="string",
            ),
            remote=gcp.edgecontainer.ClusterControlPlaneRemoteArgs(
                node_location="string",
            ),
        ),
        project="string",
        release_channel="string",
        system_addons_config=gcp.edgecontainer.ClusterSystemAddonsConfigArgs(
            ingress=gcp.edgecontainer.ClusterSystemAddonsConfigIngressArgs(
                disabled=False,
                ipv4_vip="string",
            ),
        ),
        target_version="string")
    
    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",
                    },
                },
            },
        },
        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",
    });
    
    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:
            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
    

    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

    The Cluster resource accepts the following input properties:

    Authorization ClusterAuthorization
    RBAC policy that will be applied and managed by GEC. Structure is documented below.
    Fleet 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 string
    The location of the resource.
    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.
    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 string
    The GDCE cluster name.
    Project 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 ClusterAuthorizationArgs
    RBAC policy that will be applied and managed by GEC. Structure is documented below.
    Fleet 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 string
    The location of the resource.
    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.
    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 string
    The GDCE cluster name.
    Project 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 ClusterAuthorization
    RBAC policy that will be applied and managed by GEC. Structure is documented below.
    fleet 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 String
    The location of the resource.
    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.
    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 String
    The GDCE cluster name.
    project 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 ClusterAuthorization
    RBAC policy that will be applied and managed by GEC. Structure is documented below.
    fleet 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 string
    The location of the resource.
    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.
    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 string
    The GDCE cluster name.
    project 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 ClusterAuthorizationArgs
    RBAC policy that will be applied and managed by GEC. Structure is documented below.
    fleet 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 str
    The location of the resource.
    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.
    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 str
    The GDCE cluster name.
    project 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 Property Map
    RBAC policy that will be applied and managed by GEC. Structure is documented below.
    fleet 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 String
    The location of the resource.
    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.
    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 String
    The GDCE cluster name.
    project 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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 string
    An active Google username.


    Username string
    An active Google username.


    username String
    An active Google username.


    username string
    An active Google username.


    username str
    An active Google username.


    username String
    An active Google username.


    ClusterControlPlane, ClusterControlPlaneArgs

    Local ClusterControlPlaneLocal
    Local control plane configuration. Structure is documented below.
    Remote ClusterControlPlaneRemote
    Remote control plane configuration. Structure is documented below.
    Local ClusterControlPlaneLocal
    Local control plane configuration. Structure is documented below.
    Remote ClusterControlPlaneRemote
    Remote control plane configuration. Structure is documented below.
    local ClusterControlPlaneLocal
    Local control plane configuration. Structure is documented below.
    remote ClusterControlPlaneRemote
    Remote control plane configuration. Structure is documented below.
    local ClusterControlPlaneLocal
    Local control plane configuration. Structure is documented below.
    remote ClusterControlPlaneRemote
    Remote control plane configuration. Structure is documented below.
    local ClusterControlPlaneLocal
    Local control plane configuration. Structure is documented below.
    remote ClusterControlPlaneRemote
    Remote control plane configuration. Structure is documented below.
    local Property Map
    Local control plane configuration. Structure is documented below.
    remote Property Map
    Remote control plane configuration. Structure is documented below.

    ClusterControlPlaneEncryption, ClusterControlPlaneEncryptionArgs

    KmsKey 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 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 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 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 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 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 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 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 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 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 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 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 string
    Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
    NodeLocation string
    Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
    nodeLocation String
    Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
    nodeLocation 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 str
    Name of the Google Distributed Cloud Edge zones where this node pool will be created. For example: us-central1-edge-customer-a.
    nodeLocation 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 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 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 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 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 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 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 ClusterMaintenancePolicyWindow
    Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
    Window ClusterMaintenancePolicyWindow
    Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
    window ClusterMaintenancePolicyWindow
    Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
    window ClusterMaintenancePolicyWindow
    Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
    window ClusterMaintenancePolicyWindow
    Specifies the maintenance window in which maintenance may be performed. Structure is documented below.
    window Property Map
    Specifies the maintenance window in which maintenance may be performed. Structure is documented below.

    ClusterMaintenancePolicyWindow, ClusterMaintenancePolicyWindowArgs

    RecurringWindow ClusterMaintenancePolicyWindowRecurringWindow
    Represents an arbitrary window of time that recurs. Structure is documented below.
    RecurringWindow ClusterMaintenancePolicyWindowRecurringWindow
    Represents an arbitrary window of time that recurs. Structure is documented below.
    recurringWindow ClusterMaintenancePolicyWindowRecurringWindow
    Represents an arbitrary window of time that recurs. Structure is documented below.
    recurringWindow ClusterMaintenancePolicyWindowRecurringWindow
    Represents an arbitrary window of time that recurs. Structure is documented below.
    recurring_window ClusterMaintenancePolicyWindowRecurringWindow
    Represents an arbitrary window of time that recurs. Structure is documented below.
    recurringWindow 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 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 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 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 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 []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 []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 []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 []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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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}}
    
    $ pulumi import gcp:edgecontainer/cluster:Cluster default {{project}}/{{location}}/{{name}}
    
    $ pulumi import gcp:edgecontainer/cluster:Cluster default {{location}}/{{name}}
    

    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.
    gcp logo
    Google Cloud Classic v7.23.0 published on Wednesday, May 15, 2024 by Pulumi