1. Registry
  2. Packages
  3. Google Cloud (GCP)
  4. API Docs
  5. gkehub
  6. RolloutSequence
Viewing docs for Google Cloud v10.1.1
published on Tuesday, Oct 13, 2026 by Pulumi
gcp logo
Viewing docs for Google Cloud v10.1.1
published on Tuesday, Oct 13, 2026 by Pulumi

    RolloutSequence defines the desired order of upgrades.

    To get more information about RolloutSequence, see:

    Example Usage

    Gke Hub Rollout Sequence Create

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as time from "@pulumiverse/time";
    
    const project = new gcp.organizations.Project("project", {
        projectId: "rs-project",
        name: "rs-project",
        orgId: "123456789",
        billingAccount: "000000-0000000-0000000-000000",
        deletionPolicy: "DELETE",
    });
    const gkehub = new gcp.projects.Service("gkehub", {
        project: project.projectId,
        service: "gkehub.googleapis.com",
    });
    // wait for API enablement
    const wait120Seconds = new time.Sleep("wait_120_seconds", {createDuration: "120s"}, {
        dependsOn: [gkehub],
    });
    const _default = new gcp.gkehub.Fleet("default", {
        displayName: "rs-fleet",
        project: project.projectId,
    }, {
        dependsOn: [wait120Seconds],
    });
    const rolloutSequence = new gcp.gkehub.RolloutSequence("rollout_sequence", {
        project: project.projectId,
        rolloutSequenceId: "rs-basic",
        displayName: "Basic Rollout Sequence",
        ignoredClustersSelector: {
            labelSelector: "resource.labels.ignored == 'true'",
        },
        stages: [{
            fleetProjects: [pulumi.interpolate`projects/${project.projectId}`],
            soakDuration: "1h",
        }],
        autoUpgradeConfig: {
            rolloutCreationScope: {
                upgradeTypes: [
                    "CONTROL_PLANE_MINOR",
                    "CONTROL_PLANE_PATCH",
                    "NODE_MINOR",
                    "NODE_PATCH",
                ],
            },
        },
    }, {
        dependsOn: [_default],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumiverse_time as time
    
    project = gcp.organizations.Project("project",
        project_id="rs-project",
        name="rs-project",
        org_id="123456789",
        billing_account="000000-0000000-0000000-000000",
        deletion_policy="DELETE")
    gkehub = gcp.projects.Service("gkehub",
        project=project.project_id,
        service="gkehub.googleapis.com")
    # wait for API enablement
    wait120_seconds = time.Sleep("wait_120_seconds", create_duration="120s",
    opts = pulumi.ResourceOptions(depends_on=[gkehub]))
    default = gcp.gkehub.Fleet("default",
        display_name="rs-fleet",
        project=project.project_id,
        opts = pulumi.ResourceOptions(depends_on=[wait120_seconds]))
    rollout_sequence = gcp.gkehub.RolloutSequence("rollout_sequence",
        project=project.project_id,
        rollout_sequence_id="rs-basic",
        display_name="Basic Rollout Sequence",
        ignored_clusters_selector={
            "label_selector": "resource.labels.ignored == 'true'",
        },
        stages=[{
            "fleet_projects": [project.project_id.apply(lambda project_id: f"projects/{project_id}")],
            "soak_duration": "1h",
        }],
        auto_upgrade_config={
            "rollout_creation_scope": {
                "upgrade_types": [
                    "CONTROL_PLANE_MINOR",
                    "CONTROL_PLANE_PATCH",
                    "NODE_MINOR",
                    "NODE_PATCH",
                ],
            },
        },
        opts = pulumi.ResourceOptions(depends_on=[default]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/gkehub"
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/projects"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-time/sdk/go/time"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		project, err := organizations.NewProject(ctx, "project", &organizations.ProjectArgs{
    			ProjectId:      pulumi.String("rs-project"),
    			Name:           pulumi.String("rs-project"),
    			OrgId:          pulumi.String("123456789"),
    			BillingAccount: pulumi.String("000000-0000000-0000000-000000"),
    			DeletionPolicy: pulumi.String("DELETE"),
    		})
    		if err != nil {
    			return err
    		}
    		gkehub2, err := projects.NewService(ctx, "gkehub", &projects.ServiceArgs{
    			Project: project.ProjectId,
    			Service: pulumi.String("gkehub.googleapis.com"),
    		})
    		if err != nil {
    			return err
    		}
    		// wait for API enablement
    		wait120Seconds, err := time.NewSleep(ctx, "wait_120_seconds", &time.SleepArgs{
    			CreateDuration: pulumi.String("120s"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			gkehub2,
    		}))
    		if err != nil {
    			return err
    		}
    		_default, err := gkehub.NewFleet(ctx, "default", &gkehub.FleetArgs{
    			DisplayName: pulumi.String("rs-fleet"),
    			Project:     project.ProjectId,
    		}, pulumi.DependsOn([]pulumi.Resource{
    			wait120Seconds,
    		}))
    		if err != nil {
    			return err
    		}
    		_, err = gkehub.NewRolloutSequence(ctx, "rollout_sequence", &gkehub.RolloutSequenceArgs{
    			Project:           project.ProjectId,
    			RolloutSequenceId: pulumi.String("rs-basic"),
    			DisplayName:       pulumi.String("Basic Rollout Sequence"),
    			IgnoredClustersSelector: &gkehub.RolloutSequenceIgnoredClustersSelectorArgs{
    				LabelSelector: pulumi.String("resource.labels.ignored == 'true'"),
    			},
    			Stages: gkehub.RolloutSequenceStageArray{
    				&gkehub.RolloutSequenceStageArgs{
    					FleetProjects: pulumi.StringArray{
    						project.ProjectId.ApplyT(func(projectId string) (string, error) {
    							return fmt.Sprintf("projects/%v", projectId), nil
    						}).(pulumi.StringOutput),
    					},
    					SoakDuration: pulumi.String("1h"),
    				},
    			},
    			AutoUpgradeConfig: &gkehub.RolloutSequenceAutoUpgradeConfigArgs{
    				RolloutCreationScope: &gkehub.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs{
    					UpgradeTypes: pulumi.StringArray{
    						pulumi.String("CONTROL_PLANE_MINOR"),
    						pulumi.String("CONTROL_PLANE_PATCH"),
    						pulumi.String("NODE_MINOR"),
    						pulumi.String("NODE_PATCH"),
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			_default,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Time = Pulumiverse.Time;
    
    return await Deployment.RunAsync(() => 
    {
        var project = new Gcp.Organizations.Project("project", new()
        {
            ProjectId = "rs-project",
            Name = "rs-project",
            OrgId = "123456789",
            BillingAccount = "000000-0000000-0000000-000000",
            DeletionPolicy = "DELETE",
        });
    
        var gkehub = new Gcp.Projects.Service("gkehub", new()
        {
            Project = project.ProjectId,
            ServiceName = "gkehub.googleapis.com",
        });
    
        // wait for API enablement
        var wait120Seconds = new Time.Sleep("wait_120_seconds", new()
        {
            CreateDuration = "120s",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                gkehub,
            },
        });
    
        var @default = new Gcp.GkeHub.Fleet("default", new()
        {
            DisplayName = "rs-fleet",
            Project = project.ProjectId,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                wait120Seconds,
            },
        });
    
        var rolloutSequence = new Gcp.GkeHub.RolloutSequence("rollout_sequence", new()
        {
            Project = project.ProjectId,
            RolloutSequenceId = "rs-basic",
            DisplayName = "Basic Rollout Sequence",
            IgnoredClustersSelector = new Gcp.GkeHub.Inputs.RolloutSequenceIgnoredClustersSelectorArgs
            {
                LabelSelector = "resource.labels.ignored == 'true'",
            },
            Stages = new[]
            {
                new Gcp.GkeHub.Inputs.RolloutSequenceStageArgs
                {
                    FleetProjects = new[]
                    {
                        project.ProjectId.Apply(projectId => $"projects/{projectId}"),
                    },
                    SoakDuration = "1h",
                },
            },
            AutoUpgradeConfig = new Gcp.GkeHub.Inputs.RolloutSequenceAutoUpgradeConfigArgs
            {
                RolloutCreationScope = new Gcp.GkeHub.Inputs.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs
                {
                    UpgradeTypes = new[]
                    {
                        "CONTROL_PLANE_MINOR",
                        "CONTROL_PLANE_PATCH",
                        "NODE_MINOR",
                        "NODE_PATCH",
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                @default,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.organizations.Project;
    import com.pulumi.gcp.organizations.ProjectArgs;
    import com.pulumi.gcp.projects.Service;
    import com.pulumi.gcp.projects.ServiceArgs;
    import com.pulumiverse.time.Sleep;
    import com.pulumiverse.time.SleepArgs;
    import com.pulumi.gcp.gkehub.Fleet;
    import com.pulumi.gcp.gkehub.FleetArgs;
    import com.pulumi.gcp.gkehub.RolloutSequence;
    import com.pulumi.gcp.gkehub.RolloutSequenceArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceIgnoredClustersSelectorArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceStageArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceAutoUpgradeConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var project = new Project("project", ProjectArgs.builder()
                .projectId("rs-project")
                .name("rs-project")
                .orgId("123456789")
                .billingAccount("000000-0000000-0000000-000000")
                .deletionPolicy("DELETE")
                .build());
    
            var gkehub = new Service("gkehub", ServiceArgs.builder()
                .project(project.projectId())
                .service("gkehub.googleapis.com")
                .build());
    
            // wait for API enablement
            var wait120Seconds = new Sleep("wait120Seconds", SleepArgs.builder()
                .createDuration("120s")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(gkehub)
                    .build());
    
            var default_ = new Fleet("default", FleetArgs.builder()
                .displayName("rs-fleet")
                .project(project.projectId())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(wait120Seconds)
                    .build());
    
            var rolloutSequence = new RolloutSequence("rolloutSequence", RolloutSequenceArgs.builder()
                .project(project.projectId())
                .rolloutSequenceId("rs-basic")
                .displayName("Basic Rollout Sequence")
                .ignoredClustersSelector(RolloutSequenceIgnoredClustersSelectorArgs.builder()
                    .labelSelector("resource.labels.ignored == 'true'")
                    .build())
                .stages(RolloutSequenceStageArgs.builder()
                    .fleetProjects(project.projectId().applyValue(_projectId -> String.format("projects/%s", _projectId)))
                    .soakDuration("1h")
                    .build())
                .autoUpgradeConfig(RolloutSequenceAutoUpgradeConfigArgs.builder()
                    .rolloutCreationScope(RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs.builder()
                        .upgradeTypes(                    
                            "CONTROL_PLANE_MINOR",
                            "CONTROL_PLANE_PATCH",
                            "NODE_MINOR",
                            "NODE_PATCH")
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(default_)
                    .build());
    
        }
    }
    
    resources:
      project:
        type: gcp:organizations:Project
        properties:
          projectId: rs-project
          name: rs-project
          orgId: '123456789'
          billingAccount: 000000-0000000-0000000-000000
          deletionPolicy: DELETE
      gkehub:
        type: gcp:projects:Service
        properties:
          project: ${project.projectId}
          service: gkehub.googleapis.com
      # wait for API enablement
      wait120Seconds:
        type: time:Sleep
        name: wait_120_seconds
        properties:
          createDuration: 120s
        options:
          dependsOn:
            - ${gkehub}
      default:
        type: gcp:gkehub:Fleet
        properties:
          displayName: rs-fleet
          project: ${project.projectId}
        options:
          dependsOn:
            - ${wait120Seconds}
      rolloutSequence:
        type: gcp:gkehub:RolloutSequence
        name: rollout_sequence
        properties:
          project: ${project.projectId}
          rolloutSequenceId: rs-basic
          displayName: Basic Rollout Sequence
          ignoredClustersSelector:
            labelSelector: resource.labels.ignored == 'true'
          stages:
            - fleetProjects:
                - projects/${project.projectId}
              soakDuration: 1h
          autoUpgradeConfig:
            rolloutCreationScope:
              upgradeTypes:
                - CONTROL_PLANE_MINOR
                - CONTROL_PLANE_PATCH
                - NODE_MINOR
                - NODE_PATCH
        options:
          dependsOn:
            - ${default}
    
    terraform {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
        time = {
          source = "pulumi/time"
        }
      }
    }
    
    resource "gcp_organizations_project" "project" {
      lifecycle {
        create_before_destroy = true
      }
      project_id      = "rs-project"
      name            = "rs-project"
      org_id          = "123456789"
      billing_account = "000000-0000000-0000000-000000"
      deletion_policy = "DELETE"
    }
    resource "gcp_projects_service" "gkehub" {
      lifecycle {
        create_before_destroy = true
      }
      project = gcp_organizations_project.project.project_id
      service = "gkehub.googleapis.com"
    }
    // wait for API enablement
    resource "time_sleep" "wait_120_seconds" {
      depends_on = [gcp_projects_service.gkehub]
      lifecycle {
        create_before_destroy = true
      }
      create_duration = "120s"
    }
    resource "gcp_gkehub_fleet" "default" {
      depends_on = [time_sleep.wait_120_seconds]
      lifecycle {
        create_before_destroy = true
      }
      display_name = "rs-fleet"
      project      = gcp_organizations_project.project.project_id
    }
    resource "gcp_gkehub_rollout_sequence" "rollout_sequence" {
      depends_on = [gcp_gkehub_fleet.default]
      lifecycle {
        create_before_destroy = true
      }
      project             = gcp_organizations_project.project.project_id
      rollout_sequence_id = "rs-basic"
      display_name        = "Basic Rollout Sequence"
      ignored_clusters_selector = {
        label_selector = "resource.labels.ignored == 'true'"
      }
      stages {
        fleet_projects = ["projects/${gcp_organizations_project.project.project_id}"]
        soak_duration  = "1h"
      }
      auto_upgrade_config = {
        rollout_creation_scope = {
          upgrade_types = ["CONTROL_PLANE_MINOR", "CONTROL_PLANE_PATCH", "NODE_MINOR", "NODE_PATCH"]
        }
      }
    }
    

    Gke Hub Rollout Sequence Update

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as time from "@pulumiverse/time";
    
    const project = new gcp.organizations.Project("project", {
        projectId: "rs-project",
        name: "rs-project",
        orgId: "123456789",
        billingAccount: "000000-0000000-0000000-000000",
        deletionPolicy: "DELETE",
    });
    const gkehub = new gcp.projects.Service("gkehub", {
        project: project.projectId,
        service: "gkehub.googleapis.com",
    });
    // wait for API enablement
    const wait120Seconds = new time.Sleep("wait_120_seconds", {createDuration: "120s"}, {
        dependsOn: [gkehub],
    });
    const _default = new gcp.gkehub.Fleet("default", {
        displayName: "rs-fleet",
        project: project.projectId,
    }, {
        dependsOn: [wait120Seconds],
    });
    const rolloutSequence = new gcp.gkehub.RolloutSequence("rollout_sequence", {
        project: project.projectId,
        rolloutSequenceId: "rs-basic",
        displayName: "Modified Rollout Sequence",
        ignoredClustersSelector: {
            labelSelector: "resource.labels.ignored == 'super_true'",
        },
        stages: [
            {
                fleetProjects: [pulumi.interpolate`projects/${project.projectId}`],
                clusterSelector: {
                    labelSelector: "resource.labels.canary=='true'",
                },
                soakDuration: "2h",
            },
            {
                fleetProjects: [pulumi.interpolate`projects/${project.projectId}`],
                soakDuration: "1d",
            },
        ],
        autoUpgradeConfig: {
            rolloutCreationScope: {
                upgradeTypes: [
                    "CONTROL_PLANE_PATCH",
                    "NODE_PATCH",
                ],
            },
        },
        labels: {
            some_key: "some_value",
        },
    }, {
        dependsOn: [_default],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumiverse_time as time
    
    project = gcp.organizations.Project("project",
        project_id="rs-project",
        name="rs-project",
        org_id="123456789",
        billing_account="000000-0000000-0000000-000000",
        deletion_policy="DELETE")
    gkehub = gcp.projects.Service("gkehub",
        project=project.project_id,
        service="gkehub.googleapis.com")
    # wait for API enablement
    wait120_seconds = time.Sleep("wait_120_seconds", create_duration="120s",
    opts = pulumi.ResourceOptions(depends_on=[gkehub]))
    default = gcp.gkehub.Fleet("default",
        display_name="rs-fleet",
        project=project.project_id,
        opts = pulumi.ResourceOptions(depends_on=[wait120_seconds]))
    rollout_sequence = gcp.gkehub.RolloutSequence("rollout_sequence",
        project=project.project_id,
        rollout_sequence_id="rs-basic",
        display_name="Modified Rollout Sequence",
        ignored_clusters_selector={
            "label_selector": "resource.labels.ignored == 'super_true'",
        },
        stages=[
            {
                "fleet_projects": [project.project_id.apply(lambda project_id: f"projects/{project_id}")],
                "cluster_selector": {
                    "label_selector": "resource.labels.canary=='true'",
                },
                "soak_duration": "2h",
            },
            {
                "fleet_projects": [project.project_id.apply(lambda project_id: f"projects/{project_id}")],
                "soak_duration": "1d",
            },
        ],
        auto_upgrade_config={
            "rollout_creation_scope": {
                "upgrade_types": [
                    "CONTROL_PLANE_PATCH",
                    "NODE_PATCH",
                ],
            },
        },
        labels={
            "some_key": "some_value",
        },
        opts = pulumi.ResourceOptions(depends_on=[default]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/gkehub"
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/projects"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-time/sdk/go/time"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		project, err := organizations.NewProject(ctx, "project", &organizations.ProjectArgs{
    			ProjectId:      pulumi.String("rs-project"),
    			Name:           pulumi.String("rs-project"),
    			OrgId:          pulumi.String("123456789"),
    			BillingAccount: pulumi.String("000000-0000000-0000000-000000"),
    			DeletionPolicy: pulumi.String("DELETE"),
    		})
    		if err != nil {
    			return err
    		}
    		gkehub2, err := projects.NewService(ctx, "gkehub", &projects.ServiceArgs{
    			Project: project.ProjectId,
    			Service: pulumi.String("gkehub.googleapis.com"),
    		})
    		if err != nil {
    			return err
    		}
    		// wait for API enablement
    		wait120Seconds, err := time.NewSleep(ctx, "wait_120_seconds", &time.SleepArgs{
    			CreateDuration: pulumi.String("120s"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			gkehub2,
    		}))
    		if err != nil {
    			return err
    		}
    		_default, err := gkehub.NewFleet(ctx, "default", &gkehub.FleetArgs{
    			DisplayName: pulumi.String("rs-fleet"),
    			Project:     project.ProjectId,
    		}, pulumi.DependsOn([]pulumi.Resource{
    			wait120Seconds,
    		}))
    		if err != nil {
    			return err
    		}
    		_, err = gkehub.NewRolloutSequence(ctx, "rollout_sequence", &gkehub.RolloutSequenceArgs{
    			Project:           project.ProjectId,
    			RolloutSequenceId: pulumi.String("rs-basic"),
    			DisplayName:       pulumi.String("Modified Rollout Sequence"),
    			IgnoredClustersSelector: &gkehub.RolloutSequenceIgnoredClustersSelectorArgs{
    				LabelSelector: pulumi.String("resource.labels.ignored == 'super_true'"),
    			},
    			Stages: gkehub.RolloutSequenceStageArray{
    				&gkehub.RolloutSequenceStageArgs{
    					FleetProjects: pulumi.StringArray{
    						project.ProjectId.ApplyT(func(projectId string) (string, error) {
    							return fmt.Sprintf("projects/%v", projectId), nil
    						}).(pulumi.StringOutput),
    					},
    					ClusterSelector: &gkehub.RolloutSequenceStageClusterSelectorArgs{
    						LabelSelector: pulumi.String("resource.labels.canary=='true'"),
    					},
    					SoakDuration: pulumi.String("2h"),
    				},
    				&gkehub.RolloutSequenceStageArgs{
    					FleetProjects: pulumi.StringArray{
    						project.ProjectId.ApplyT(func(projectId string) (string, error) {
    							return fmt.Sprintf("projects/%v", projectId), nil
    						}).(pulumi.StringOutput),
    					},
    					SoakDuration: pulumi.String("1d"),
    				},
    			},
    			AutoUpgradeConfig: &gkehub.RolloutSequenceAutoUpgradeConfigArgs{
    				RolloutCreationScope: &gkehub.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs{
    					UpgradeTypes: pulumi.StringArray{
    						pulumi.String("CONTROL_PLANE_PATCH"),
    						pulumi.String("NODE_PATCH"),
    					},
    				},
    			},
    			Labels: pulumi.StringMap{
    				"some_key": pulumi.String("some_value"),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			_default,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Time = Pulumiverse.Time;
    
    return await Deployment.RunAsync(() => 
    {
        var project = new Gcp.Organizations.Project("project", new()
        {
            ProjectId = "rs-project",
            Name = "rs-project",
            OrgId = "123456789",
            BillingAccount = "000000-0000000-0000000-000000",
            DeletionPolicy = "DELETE",
        });
    
        var gkehub = new Gcp.Projects.Service("gkehub", new()
        {
            Project = project.ProjectId,
            ServiceName = "gkehub.googleapis.com",
        });
    
        // wait for API enablement
        var wait120Seconds = new Time.Sleep("wait_120_seconds", new()
        {
            CreateDuration = "120s",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                gkehub,
            },
        });
    
        var @default = new Gcp.GkeHub.Fleet("default", new()
        {
            DisplayName = "rs-fleet",
            Project = project.ProjectId,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                wait120Seconds,
            },
        });
    
        var rolloutSequence = new Gcp.GkeHub.RolloutSequence("rollout_sequence", new()
        {
            Project = project.ProjectId,
            RolloutSequenceId = "rs-basic",
            DisplayName = "Modified Rollout Sequence",
            IgnoredClustersSelector = new Gcp.GkeHub.Inputs.RolloutSequenceIgnoredClustersSelectorArgs
            {
                LabelSelector = "resource.labels.ignored == 'super_true'",
            },
            Stages = new[]
            {
                new Gcp.GkeHub.Inputs.RolloutSequenceStageArgs
                {
                    FleetProjects = new[]
                    {
                        project.ProjectId.Apply(projectId => $"projects/{projectId}"),
                    },
                    ClusterSelector = new Gcp.GkeHub.Inputs.RolloutSequenceStageClusterSelectorArgs
                    {
                        LabelSelector = "resource.labels.canary=='true'",
                    },
                    SoakDuration = "2h",
                },
                new Gcp.GkeHub.Inputs.RolloutSequenceStageArgs
                {
                    FleetProjects = new[]
                    {
                        project.ProjectId.Apply(projectId => $"projects/{projectId}"),
                    },
                    SoakDuration = "1d",
                },
            },
            AutoUpgradeConfig = new Gcp.GkeHub.Inputs.RolloutSequenceAutoUpgradeConfigArgs
            {
                RolloutCreationScope = new Gcp.GkeHub.Inputs.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs
                {
                    UpgradeTypes = new[]
                    {
                        "CONTROL_PLANE_PATCH",
                        "NODE_PATCH",
                    },
                },
            },
            Labels = 
            {
                { "some_key", "some_value" },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                @default,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.organizations.Project;
    import com.pulumi.gcp.organizations.ProjectArgs;
    import com.pulumi.gcp.projects.Service;
    import com.pulumi.gcp.projects.ServiceArgs;
    import com.pulumiverse.time.Sleep;
    import com.pulumiverse.time.SleepArgs;
    import com.pulumi.gcp.gkehub.Fleet;
    import com.pulumi.gcp.gkehub.FleetArgs;
    import com.pulumi.gcp.gkehub.RolloutSequence;
    import com.pulumi.gcp.gkehub.RolloutSequenceArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceIgnoredClustersSelectorArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceStageArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceStageClusterSelectorArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceAutoUpgradeConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var project = new Project("project", ProjectArgs.builder()
                .projectId("rs-project")
                .name("rs-project")
                .orgId("123456789")
                .billingAccount("000000-0000000-0000000-000000")
                .deletionPolicy("DELETE")
                .build());
    
            var gkehub = new Service("gkehub", ServiceArgs.builder()
                .project(project.projectId())
                .service("gkehub.googleapis.com")
                .build());
    
            // wait for API enablement
            var wait120Seconds = new Sleep("wait120Seconds", SleepArgs.builder()
                .createDuration("120s")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(gkehub)
                    .build());
    
            var default_ = new Fleet("default", FleetArgs.builder()
                .displayName("rs-fleet")
                .project(project.projectId())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(wait120Seconds)
                    .build());
    
            var rolloutSequence = new RolloutSequence("rolloutSequence", RolloutSequenceArgs.builder()
                .project(project.projectId())
                .rolloutSequenceId("rs-basic")
                .displayName("Modified Rollout Sequence")
                .ignoredClustersSelector(RolloutSequenceIgnoredClustersSelectorArgs.builder()
                    .labelSelector("resource.labels.ignored == 'super_true'")
                    .build())
                .stages(            
                    RolloutSequenceStageArgs.builder()
                        .fleetProjects(project.projectId().applyValue(_projectId -> String.format("projects/%s", _projectId)))
                        .clusterSelector(RolloutSequenceStageClusterSelectorArgs.builder()
                            .labelSelector("resource.labels.canary=='true'")
                            .build())
                        .soakDuration("2h")
                        .build(),
                    RolloutSequenceStageArgs.builder()
                        .fleetProjects(project.projectId().applyValue(_projectId -> String.format("projects/%s", _projectId)))
                        .soakDuration("1d")
                        .build())
                .autoUpgradeConfig(RolloutSequenceAutoUpgradeConfigArgs.builder()
                    .rolloutCreationScope(RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs.builder()
                        .upgradeTypes(                    
                            "CONTROL_PLANE_PATCH",
                            "NODE_PATCH")
                        .build())
                    .build())
                .labels(Map.of("some_key", "some_value"))
                .build(), CustomResourceOptions.builder()
                    .dependsOn(default_)
                    .build());
    
        }
    }
    
    resources:
      project:
        type: gcp:organizations:Project
        properties:
          projectId: rs-project
          name: rs-project
          orgId: '123456789'
          billingAccount: 000000-0000000-0000000-000000
          deletionPolicy: DELETE
      gkehub:
        type: gcp:projects:Service
        properties:
          project: ${project.projectId}
          service: gkehub.googleapis.com
      # wait for API enablement
      wait120Seconds:
        type: time:Sleep
        name: wait_120_seconds
        properties:
          createDuration: 120s
        options:
          dependsOn:
            - ${gkehub}
      default:
        type: gcp:gkehub:Fleet
        properties:
          displayName: rs-fleet
          project: ${project.projectId}
        options:
          dependsOn:
            - ${wait120Seconds}
      rolloutSequence:
        type: gcp:gkehub:RolloutSequence
        name: rollout_sequence
        properties:
          project: ${project.projectId}
          rolloutSequenceId: rs-basic
          displayName: Modified Rollout Sequence
          ignoredClustersSelector:
            labelSelector: resource.labels.ignored == 'super_true'
          stages:
            - fleetProjects:
                - projects/${project.projectId}
              clusterSelector:
                labelSelector: resource.labels.canary=='true'
              soakDuration: 2h
            - fleetProjects:
                - projects/${project.projectId}
              soakDuration: 1d
          autoUpgradeConfig:
            rolloutCreationScope:
              upgradeTypes:
                - CONTROL_PLANE_PATCH
                - NODE_PATCH
          labels:
            some_key: some_value
        options:
          dependsOn:
            - ${default}
    
    terraform {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
        time = {
          source = "pulumi/time"
        }
      }
    }
    
    resource "gcp_organizations_project" "project" {
      lifecycle {
        create_before_destroy = true
      }
      project_id      = "rs-project"
      name            = "rs-project"
      org_id          = "123456789"
      billing_account = "000000-0000000-0000000-000000"
      deletion_policy = "DELETE"
    }
    resource "gcp_projects_service" "gkehub" {
      lifecycle {
        create_before_destroy = true
      }
      project = gcp_organizations_project.project.project_id
      service = "gkehub.googleapis.com"
    }
    // wait for API enablement
    resource "time_sleep" "wait_120_seconds" {
      depends_on = [gcp_projects_service.gkehub]
      lifecycle {
        create_before_destroy = true
      }
      create_duration = "120s"
    }
    resource "gcp_gkehub_fleet" "default" {
      depends_on = [time_sleep.wait_120_seconds]
      lifecycle {
        create_before_destroy = true
      }
      display_name = "rs-fleet"
      project      = gcp_organizations_project.project.project_id
    }
    resource "gcp_gkehub_rollout_sequence" "rollout_sequence" {
      depends_on = [gcp_gkehub_fleet.default]
      lifecycle {
        create_before_destroy = true
      }
      project             = gcp_organizations_project.project.project_id
      rollout_sequence_id = "rs-basic"
      display_name        = "Modified Rollout Sequence"
      ignored_clusters_selector = {
        label_selector = "resource.labels.ignored == 'super_true'"
      }
      stages {
        fleet_projects = ["projects/${gcp_organizations_project.project.project_id}"]
        cluster_selector = {
          label_selector = "resource.labels.canary=='true'"
        }
        soak_duration = "2h"
      }
      stages {
        fleet_projects = ["projects/${gcp_organizations_project.project.project_id}"]
        soak_duration  = "1d"
      }
      auto_upgrade_config = {
        rollout_creation_scope = {
          upgrade_types = ["CONTROL_PLANE_PATCH", "NODE_PATCH"]
        }
      }
      labels = {
        "some_key" = "some_value"
      }
    }
    

    Gke Hub Rollout Sequence User Triggered Create

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as time from "@pulumiverse/time";
    
    const project = new gcp.organizations.Project("project", {
        projectId: "rs-project",
        name: "rs-project",
        orgId: "123456789",
        billingAccount: "000000-0000000-0000000-000000",
        deletionPolicy: "DELETE",
    });
    // Enable APIs in a deterministic order to avoid inconsistent VCR recordings
    const gkehub = new gcp.projects.Service("gkehub", {
        project: project.projectId,
        service: "gkehub.googleapis.com",
    });
    const container = new gcp.projects.Service("container", {
        project: project.projectId,
        service: "container.googleapis.com",
    }, {
        dependsOn: [gkehub],
    });
    const compute = new gcp.projects.Service("compute", {
        project: project.projectId,
        service: "compute.googleapis.com",
    }, {
        dependsOn: [container],
    });
    // wait for API enablement
    const wait120Seconds = new time.Sleep("wait_120_seconds", {createDuration: "120s"}, {
        dependsOn: [compute],
    });
    const _default = new gcp.gkehub.Fleet("default", {
        displayName: "rs-fleet",
        project: project.projectId,
    }, {
        dependsOn: [wait120Seconds],
    });
    const versions = gcp.container.getEngineVersionsOutput({
        location: "us-central1-a",
        project: project.projectId,
    });
    const primary = new gcp.container.Cluster("primary", {
        project: project.projectId,
        name: "rs-cluster",
        location: "us-central1-a",
        initialNodeCount: 1,
        minMasterVersion: versions.apply(versions => versions.releaseChannelDefaultVersion?.REGULAR),
        nodeVersion: versions.apply(versions => versions.releaseChannelDefaultVersion?.REGULAR),
        deletionProtection: false,
        releaseChannel: {
            channel: "REGULAR",
        },
        resourceLabels: {
            rs_test_cluster: "tf-test-_90221",
        },
        fleet: {
            project: project.number,
        },
    }, {
        dependsOn: [_default],
    });
    const rolloutSequence = new gcp.gkehub.RolloutSequence("rollout_sequence", {
        project: project.projectId,
        rolloutSequenceId: "rs-user-triggered",
        displayName: "User Triggered Rollout Sequence",
        minControlPlaneVersion: versions.apply(versions => versions.releaseChannelLatestVersion?.REGULAR),
        ignoredClustersSelector: {
            labelSelector: "!(has(resource.labels.rs_test_cluster) && resource.labels.rs_test_cluster == 'tf-test-_88987')",
        },
        stages: [{
            fleetProjects: [pulumi.interpolate`projects/${project.projectId}`],
            soakDuration: "30s",
        }],
        autoUpgradeConfig: {
            rolloutCreationScope: {
                upgradeTypes: [],
            },
        },
    }, {
        dependsOn: [primary],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumiverse_time as time
    
    project = gcp.organizations.Project("project",
        project_id="rs-project",
        name="rs-project",
        org_id="123456789",
        billing_account="000000-0000000-0000000-000000",
        deletion_policy="DELETE")
    # Enable APIs in a deterministic order to avoid inconsistent VCR recordings
    gkehub = gcp.projects.Service("gkehub",
        project=project.project_id,
        service="gkehub.googleapis.com")
    container = gcp.projects.Service("container",
        project=project.project_id,
        service="container.googleapis.com",
        opts = pulumi.ResourceOptions(depends_on=[gkehub]))
    compute = gcp.projects.Service("compute",
        project=project.project_id,
        service="compute.googleapis.com",
        opts = pulumi.ResourceOptions(depends_on=[container]))
    # wait for API enablement
    wait120_seconds = time.Sleep("wait_120_seconds", create_duration="120s",
    opts = pulumi.ResourceOptions(depends_on=[compute]))
    default = gcp.gkehub.Fleet("default",
        display_name="rs-fleet",
        project=project.project_id,
        opts = pulumi.ResourceOptions(depends_on=[wait120_seconds]))
    versions = gcp.container.get_engine_versions_output(location="us-central1-a",
        project=project.project_id)
    primary = gcp.container.Cluster("primary",
        project=project.project_id,
        name="rs-cluster",
        location="us-central1-a",
        initial_node_count=1,
        min_master_version=versions.release_channel_default_version["REGULAR"],
        node_version=versions.release_channel_default_version["REGULAR"],
        deletion_protection=False,
        release_channel={
            "channel": "REGULAR",
        },
        resource_labels={
            "rs_test_cluster": "tf-test-_90221",
        },
        fleet={
            "project": project.number,
        },
        opts = pulumi.ResourceOptions(depends_on=[default]))
    rollout_sequence = gcp.gkehub.RolloutSequence("rollout_sequence",
        project=project.project_id,
        rollout_sequence_id="rs-user-triggered",
        display_name="User Triggered Rollout Sequence",
        min_control_plane_version=versions.release_channel_latest_version["REGULAR"],
        ignored_clusters_selector={
            "label_selector": "!(has(resource.labels.rs_test_cluster) && resource.labels.rs_test_cluster == 'tf-test-_88987')",
        },
        stages=[{
            "fleet_projects": [project.project_id.apply(lambda project_id: f"projects/{project_id}")],
            "soak_duration": "30s",
        }],
        auto_upgrade_config={
            "rollout_creation_scope": {
                "upgrade_types": [],
            },
        },
        opts = pulumi.ResourceOptions(depends_on=[primary]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/container"
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/gkehub"
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v10/go/gcp/projects"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-time/sdk/go/time"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		project, err := organizations.NewProject(ctx, "project", &organizations.ProjectArgs{
    			ProjectId:      pulumi.String("rs-project"),
    			Name:           pulumi.String("rs-project"),
    			OrgId:          pulumi.String("123456789"),
    			BillingAccount: pulumi.String("000000-0000000-0000000-000000"),
    			DeletionPolicy: pulumi.String("DELETE"),
    		})
    		if err != nil {
    			return err
    		}
    		// Enable APIs in a deterministic order to avoid inconsistent VCR recordings
    		gkehub2, err := projects.NewService(ctx, "gkehub", &projects.ServiceArgs{
    			Project: project.ProjectId,
    			Service: pulumi.String("gkehub.googleapis.com"),
    		})
    		if err != nil {
    			return err
    		}
    		container2, err := projects.NewService(ctx, "container", &projects.ServiceArgs{
    			Project: project.ProjectId,
    			Service: pulumi.String("container.googleapis.com"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			gkehub2,
    		}))
    		if err != nil {
    			return err
    		}
    		compute, err := projects.NewService(ctx, "compute", &projects.ServiceArgs{
    			Project: project.ProjectId,
    			Service: pulumi.String("compute.googleapis.com"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			container2,
    		}))
    		if err != nil {
    			return err
    		}
    		// wait for API enablement
    		wait120Seconds, err := time.NewSleep(ctx, "wait_120_seconds", &time.SleepArgs{
    			CreateDuration: pulumi.String("120s"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			compute,
    		}))
    		if err != nil {
    			return err
    		}
    		_default, err := gkehub.NewFleet(ctx, "default", &gkehub.FleetArgs{
    			DisplayName: pulumi.String("rs-fleet"),
    			Project:     project.ProjectId,
    		}, pulumi.DependsOn([]pulumi.Resource{
    			wait120Seconds,
    		}))
    		if err != nil {
    			return err
    		}
    		versions := container.GetEngineVersionsOutput(ctx, container.GetEngineVersionsOutputArgs{
    			Location: pulumi.String("us-central1-a"),
    			Project:  project.ProjectId,
    		}, nil)
    		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
    			Project:          project.ProjectId,
    			Name:             pulumi.String("rs-cluster"),
    			Location:         pulumi.String("us-central1-a"),
    			InitialNodeCount: pulumi.Int(1),
    			MinMasterVersion: versions.ApplyT(func(versions container.GetEngineVersionsResult) (*string, error) {
    				return &versions.ReleaseChannelDefaultVersion.REGULAR, nil
    			}).(pulumi.StringPtrOutput),
    			NodeVersion: versions.ApplyT(func(versions container.GetEngineVersionsResult) (*string, error) {
    				return &versions.ReleaseChannelDefaultVersion.REGULAR, nil
    			}).(pulumi.StringPtrOutput),
    			DeletionProtection: pulumi.Bool(false),
    			ReleaseChannel: &container.ClusterReleaseChannelArgs{
    				Channel: pulumi.String("REGULAR"),
    			},
    			ResourceLabels: pulumi.StringMap{
    				"rs_test_cluster": pulumi.String("tf-test-_90221"),
    			},
    			Fleet: &container.ClusterFleetArgs{
    				Project: project.Number,
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			_default,
    		}))
    		if err != nil {
    			return err
    		}
    		_, err = gkehub.NewRolloutSequence(ctx, "rollout_sequence", &gkehub.RolloutSequenceArgs{
    			Project:           project.ProjectId,
    			RolloutSequenceId: pulumi.String("rs-user-triggered"),
    			DisplayName:       pulumi.String("User Triggered Rollout Sequence"),
    			MinControlPlaneVersion: versions.ApplyT(func(versions container.GetEngineVersionsResult) (*string, error) {
    				return &versions.ReleaseChannelLatestVersion.REGULAR, nil
    			}).(pulumi.StringPtrOutput),
    			IgnoredClustersSelector: &gkehub.RolloutSequenceIgnoredClustersSelectorArgs{
    				LabelSelector: pulumi.String("!(has(resource.labels.rs_test_cluster) && resource.labels.rs_test_cluster == 'tf-test-_88987')"),
    			},
    			Stages: gkehub.RolloutSequenceStageArray{
    				&gkehub.RolloutSequenceStageArgs{
    					FleetProjects: pulumi.StringArray{
    						project.ProjectId.ApplyT(func(projectId string) (string, error) {
    							return fmt.Sprintf("projects/%v", projectId), nil
    						}).(pulumi.StringOutput),
    					},
    					SoakDuration: pulumi.String("30s"),
    				},
    			},
    			AutoUpgradeConfig: &gkehub.RolloutSequenceAutoUpgradeConfigArgs{
    				RolloutCreationScope: &gkehub.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs{
    					UpgradeTypes: pulumi.StringArray{},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			primary,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Time = Pulumiverse.Time;
    
    return await Deployment.RunAsync(() => 
    {
        var project = new Gcp.Organizations.Project("project", new()
        {
            ProjectId = "rs-project",
            Name = "rs-project",
            OrgId = "123456789",
            BillingAccount = "000000-0000000-0000000-000000",
            DeletionPolicy = "DELETE",
        });
    
        // Enable APIs in a deterministic order to avoid inconsistent VCR recordings
        var gkehub = new Gcp.Projects.Service("gkehub", new()
        {
            Project = project.ProjectId,
            ServiceName = "gkehub.googleapis.com",
        });
    
        var container = new Gcp.Projects.Service("container", new()
        {
            Project = project.ProjectId,
            ServiceName = "container.googleapis.com",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                gkehub,
            },
        });
    
        var compute = new Gcp.Projects.Service("compute", new()
        {
            Project = project.ProjectId,
            ServiceName = "compute.googleapis.com",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                container,
            },
        });
    
        // wait for API enablement
        var wait120Seconds = new Time.Sleep("wait_120_seconds", new()
        {
            CreateDuration = "120s",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                compute,
            },
        });
    
        var @default = new Gcp.GkeHub.Fleet("default", new()
        {
            DisplayName = "rs-fleet",
            Project = project.ProjectId,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                wait120Seconds,
            },
        });
    
        var versions = Gcp.Container.GetEngineVersions.Invoke(new()
        {
            Location = "us-central1-a",
            Project = project.ProjectId,
        });
    
        var primary = new Gcp.Container.Cluster("primary", new()
        {
            Project = project.ProjectId,
            Name = "rs-cluster",
            Location = "us-central1-a",
            InitialNodeCount = 1,
            MinMasterVersion = versions.Apply(getEngineVersionsResult => getEngineVersionsResult.ReleaseChannelDefaultVersion?.REGULAR),
            NodeVersion = versions.Apply(getEngineVersionsResult => getEngineVersionsResult.ReleaseChannelDefaultVersion?.REGULAR),
            DeletionProtection = false,
            ReleaseChannel = new Gcp.Container.Inputs.ClusterReleaseChannelArgs
            {
                Channel = "REGULAR",
            },
            ResourceLabels = 
            {
                { "rs_test_cluster", "tf-test-_90221" },
            },
            Fleet = new Gcp.Container.Inputs.ClusterFleetArgs
            {
                Project = project.Number,
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                @default,
            },
        });
    
        var rolloutSequence = new Gcp.GkeHub.RolloutSequence("rollout_sequence", new()
        {
            Project = project.ProjectId,
            RolloutSequenceId = "rs-user-triggered",
            DisplayName = "User Triggered Rollout Sequence",
            MinControlPlaneVersion = versions.Apply(getEngineVersionsResult => getEngineVersionsResult.ReleaseChannelLatestVersion?.REGULAR),
            IgnoredClustersSelector = new Gcp.GkeHub.Inputs.RolloutSequenceIgnoredClustersSelectorArgs
            {
                LabelSelector = "!(has(resource.labels.rs_test_cluster) && resource.labels.rs_test_cluster == 'tf-test-_88987')",
            },
            Stages = new[]
            {
                new Gcp.GkeHub.Inputs.RolloutSequenceStageArgs
                {
                    FleetProjects = new[]
                    {
                        project.ProjectId.Apply(projectId => $"projects/{projectId}"),
                    },
                    SoakDuration = "30s",
                },
            },
            AutoUpgradeConfig = new Gcp.GkeHub.Inputs.RolloutSequenceAutoUpgradeConfigArgs
            {
                RolloutCreationScope = new Gcp.GkeHub.Inputs.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs
                {
                    UpgradeTypes = new() { },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                primary,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.organizations.Project;
    import com.pulumi.gcp.organizations.ProjectArgs;
    import com.pulumi.gcp.projects.Service;
    import com.pulumi.gcp.projects.ServiceArgs;
    import com.pulumiverse.time.Sleep;
    import com.pulumiverse.time.SleepArgs;
    import com.pulumi.gcp.gkehub.Fleet;
    import com.pulumi.gcp.gkehub.FleetArgs;
    import com.pulumi.gcp.container.ContainerFunctions;
    import com.pulumi.gcp.container.inputs.GetEngineVersionsArgs;
    import com.pulumi.gcp.container.Cluster;
    import com.pulumi.gcp.container.ClusterArgs;
    import com.pulumi.gcp.container.inputs.ClusterReleaseChannelArgs;
    import com.pulumi.gcp.container.inputs.ClusterFleetArgs;
    import com.pulumi.gcp.gkehub.RolloutSequence;
    import com.pulumi.gcp.gkehub.RolloutSequenceArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceIgnoredClustersSelectorArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceStageArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceAutoUpgradeConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var project = new Project("project", ProjectArgs.builder()
                .projectId("rs-project")
                .name("rs-project")
                .orgId("123456789")
                .billingAccount("000000-0000000-0000000-000000")
                .deletionPolicy("DELETE")
                .build());
    
            // Enable APIs in a deterministic order to avoid inconsistent VCR recordings
            var gkehub = new Service("gkehub", ServiceArgs.builder()
                .project(project.projectId())
                .service("gkehub.googleapis.com")
                .build());
    
            var container = new Service("container", ServiceArgs.builder()
                .project(project.projectId())
                .service("container.googleapis.com")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(gkehub)
                    .build());
    
            var compute = new Service("compute", ServiceArgs.builder()
                .project(project.projectId())
                .service("compute.googleapis.com")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(container)
                    .build());
    
            // wait for API enablement
            var wait120Seconds = new Sleep("wait120Seconds", SleepArgs.builder()
                .createDuration("120s")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(compute)
                    .build());
    
            var default_ = new Fleet("default", FleetArgs.builder()
                .displayName("rs-fleet")
                .project(project.projectId())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(wait120Seconds)
                    .build());
    
            final var versions = ContainerFunctions.getEngineVersions(GetEngineVersionsArgs.builder()
                .location("us-central1-a")
                .project(project.projectId())
                .build());
    
            var primary = new Cluster("primary", ClusterArgs.builder()
                .project(project.projectId())
                .name("rs-cluster")
                .location("us-central1-a")
                .initialNodeCount(1)
                .minMasterVersion(versions.applyValue(_versions -> _versions.releaseChannelDefaultVersion().get("REGULAR")))
                .nodeVersion(versions.applyValue(_versions -> _versions.releaseChannelDefaultVersion().get("REGULAR")))
                .deletionProtection(false)
                .releaseChannel(ClusterReleaseChannelArgs.builder()
                    .channel("REGULAR")
                    .build())
                .resourceLabels(Map.of("rs_test_cluster", "tf-test-_90221"))
                .fleet(ClusterFleetArgs.builder()
                    .project(project.number())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(default_)
                    .build());
    
            var rolloutSequence = new RolloutSequence("rolloutSequence", RolloutSequenceArgs.builder()
                .project(project.projectId())
                .rolloutSequenceId("rs-user-triggered")
                .displayName("User Triggered Rollout Sequence")
                .minControlPlaneVersion(versions.applyValue(_versions -> _versions.releaseChannelLatestVersion().get("REGULAR")))
                .ignoredClustersSelector(RolloutSequenceIgnoredClustersSelectorArgs.builder()
                    .labelSelector("!(has(resource.labels.rs_test_cluster) && resource.labels.rs_test_cluster == 'tf-test-_88987')")
                    .build())
                .stages(RolloutSequenceStageArgs.builder()
                    .fleetProjects(project.projectId().applyValue(_projectId -> String.format("projects/%s", _projectId)))
                    .soakDuration("30s")
                    .build())
                .autoUpgradeConfig(RolloutSequenceAutoUpgradeConfigArgs.builder()
                    .rolloutCreationScope(RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs.builder()
                        .upgradeTypes()
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(primary)
                    .build());
    
        }
    }
    
    resources:
      project:
        type: gcp:organizations:Project
        properties:
          projectId: rs-project
          name: rs-project
          orgId: '123456789'
          billingAccount: 000000-0000000-0000000-000000
          deletionPolicy: DELETE
      # Enable APIs in a deterministic order to avoid inconsistent VCR recordings
      gkehub:
        type: gcp:projects:Service
        properties:
          project: ${project.projectId}
          service: gkehub.googleapis.com
      container:
        type: gcp:projects:Service
        properties:
          project: ${project.projectId}
          service: container.googleapis.com
        options:
          dependsOn:
            - ${gkehub}
      compute:
        type: gcp:projects:Service
        properties:
          project: ${project.projectId}
          service: compute.googleapis.com
        options:
          dependsOn:
            - ${container}
      # wait for API enablement
      wait120Seconds:
        type: time:Sleep
        name: wait_120_seconds
        properties:
          createDuration: 120s
        options:
          dependsOn:
            - ${compute}
      default:
        type: gcp:gkehub:Fleet
        properties:
          displayName: rs-fleet
          project: ${project.projectId}
        options:
          dependsOn:
            - ${wait120Seconds}
      primary:
        type: gcp:container:Cluster
        properties:
          project: ${project.projectId}
          name: rs-cluster
          location: us-central1-a
          initialNodeCount: 1
          minMasterVersion: ${versions.releaseChannelDefaultVersion.REGULAR}
          nodeVersion: ${versions.releaseChannelDefaultVersion.REGULAR}
          deletionProtection: false
          releaseChannel:
            channel: REGULAR
          resourceLabels:
            rs_test_cluster: tf-test-_90221
          fleet:
            project: ${project.number}
        options:
          dependsOn:
            - ${default}
      rolloutSequence:
        type: gcp:gkehub:RolloutSequence
        name: rollout_sequence
        properties:
          project: ${project.projectId}
          rolloutSequenceId: rs-user-triggered
          displayName: User Triggered Rollout Sequence
          minControlPlaneVersion: ${versions.releaseChannelLatestVersion.REGULAR}
          ignoredClustersSelector:
            labelSelector: '!(has(resource.labels.rs_test_cluster) && resource.labels.rs_test_cluster == ''tf-test-_88987'')'
          stages:
            - fleetProjects:
                - projects/${project.projectId}
              soakDuration: 30s
          autoUpgradeConfig:
            rolloutCreationScope:
              upgradeTypes: []
        options:
          dependsOn:
            - ${primary}
    variables:
      versions:
        fn::invoke:
          function: gcp:container:getEngineVersions
          arguments:
            location: us-central1-a
            project: ${project.projectId}
    
    terraform {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
        time = {
          source = "pulumi/time"
        }
      }
    }
    
    data "gcp_container_engine_versions" "versions" {
      location = "us-central1-a"
      project  = gcp_organizations_project.project.project_id
    }
    
    resource "gcp_organizations_project" "project" {
      lifecycle {
        create_before_destroy = true
      }
      project_id      = "rs-project"
      name            = "rs-project"
      org_id          = "123456789"
      billing_account = "000000-0000000-0000000-000000"
      deletion_policy = "DELETE"
    }
    // Enable APIs in a deterministic order to avoid inconsistent VCR recordings
    resource "gcp_projects_service" "gkehub" {
      lifecycle {
        create_before_destroy = true
      }
      project = gcp_organizations_project.project.project_id
      service = "gkehub.googleapis.com"
    }
    resource "gcp_projects_service" "container" {
      depends_on = [gcp_projects_service.gkehub]
      lifecycle {
        create_before_destroy = true
      }
      project = gcp_organizations_project.project.project_id
      service = "container.googleapis.com"
    }
    resource "gcp_projects_service" "compute" {
      depends_on = [gcp_projects_service.container]
      lifecycle {
        create_before_destroy = true
      }
      project = gcp_organizations_project.project.project_id
      service = "compute.googleapis.com"
    }
    // wait for API enablement
    resource "time_sleep" "wait_120_seconds" {
      depends_on = [gcp_projects_service.compute]
      lifecycle {
        create_before_destroy = true
      }
      create_duration = "120s"
    }
    resource "gcp_gkehub_fleet" "default" {
      depends_on = [time_sleep.wait_120_seconds]
      lifecycle {
        create_before_destroy = true
      }
      display_name = "rs-fleet"
      project      = gcp_organizations_project.project.project_id
    }
    resource "gcp_container_cluster" "primary" {
      depends_on = [gcp_gkehub_fleet.default]
      lifecycle {
        create_before_destroy = true
      }
      project             = gcp_organizations_project.project.project_id
      name                = "rs-cluster"
      location            = "us-central1-a"
      initial_node_count  = 1
      min_master_version  = data.gcp_container_engine_versions.versions.release_channel_default_version["REGULAR"]
      node_version        = data.gcp_container_engine_versions.versions.release_channel_default_version["REGULAR"]
      deletion_protection = false
      release_channel = {
        channel = "REGULAR"
      }
      resource_labels = {
        "rs_test_cluster" = "tf-test-_90221"
      }
      fleet = {
        project = gcp_organizations_project.project.number
      }
    }
    resource "gcp_gkehub_rollout_sequence" "rollout_sequence" {
      depends_on = [gcp_container_cluster.primary]
      lifecycle {
        create_before_destroy = true
      }
      project                   = gcp_organizations_project.project.project_id
      rollout_sequence_id       = "rs-user-triggered"
      display_name              = "User Triggered Rollout Sequence"
      min_control_plane_version = data.gcp_container_engine_versions.versions.release_channel_latest_version["REGULAR"]
      ignored_clusters_selector = {
        label_selector = "!(has(resource.labels.rs_test_cluster) && resource.labels.rs_test_cluster == 'tf-test-_88987')"
      }
      stages {
        fleet_projects = ["projects/${gcp_organizations_project.project.project_id}"]
        soak_duration  = "30s"
      }
      auto_upgrade_config = {
        rollout_creation_scope = {
          upgrade_types = []
        }
      }
    }
    

    Create RolloutSequence Resource

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

    Constructor syntax

    new RolloutSequence(name: string, args: RolloutSequenceArgs, opts?: CustomResourceOptions);
    @overload
    def RolloutSequence(resource_name: str,
                        args: RolloutSequenceArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def RolloutSequence(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        rollout_sequence_id: Optional[str] = None,
                        stages: Optional[Sequence[RolloutSequenceStageArgs]] = None,
                        auto_upgrade_config: Optional[RolloutSequenceAutoUpgradeConfigArgs] = None,
                        deletion_policy: Optional[str] = None,
                        display_name: Optional[str] = None,
                        ignored_clusters_selector: Optional[RolloutSequenceIgnoredClustersSelectorArgs] = None,
                        labels: Optional[Mapping[str, str]] = None,
                        min_control_plane_version: Optional[str] = None,
                        min_node_version: Optional[str] = None,
                        project: Optional[str] = None)
    func NewRolloutSequence(ctx *Context, name string, args RolloutSequenceArgs, opts ...ResourceOption) (*RolloutSequence, error)
    public RolloutSequence(string name, RolloutSequenceArgs args, CustomResourceOptions? opts = null)
    public RolloutSequence(String name, RolloutSequenceArgs args)
    public RolloutSequence(String name, RolloutSequenceArgs args, CustomResourceOptions options)
    
    type: gcp:gkehub:RolloutSequence
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "gcp_gkehub_rollout_sequence" "name" {
        # resource properties
    }

    Parameters

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

    Constructor example

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

    var rolloutSequenceResource = new Gcp.GkeHub.RolloutSequence("rolloutSequenceResource", new()
    {
        RolloutSequenceId = "string",
        Stages = new[]
        {
            new Gcp.GkeHub.Inputs.RolloutSequenceStageArgs
            {
                FleetProjects = new[]
                {
                    "string",
                },
                ClusterSelector = new Gcp.GkeHub.Inputs.RolloutSequenceStageClusterSelectorArgs
                {
                    LabelSelector = "string",
                },
                SoakDuration = "string",
            },
        },
        AutoUpgradeConfig = new Gcp.GkeHub.Inputs.RolloutSequenceAutoUpgradeConfigArgs
        {
            RolloutCreationScope = new Gcp.GkeHub.Inputs.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs
            {
                UpgradeTypes = new[]
                {
                    "string",
                },
            },
        },
        DeletionPolicy = "string",
        DisplayName = "string",
        IgnoredClustersSelector = new Gcp.GkeHub.Inputs.RolloutSequenceIgnoredClustersSelectorArgs
        {
            LabelSelector = "string",
        },
        Labels = 
        {
            { "string", "string" },
        },
        MinControlPlaneVersion = "string",
        MinNodeVersion = "string",
        Project = "string",
    });
    
    example, err := gkehub.NewRolloutSequence(ctx, "rolloutSequenceResource", &gkehub.RolloutSequenceArgs{
    	RolloutSequenceId: pulumi.String("string"),
    	Stages: gkehub.RolloutSequenceStageArray{
    		&gkehub.RolloutSequenceStageArgs{
    			FleetProjects: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ClusterSelector: &gkehub.RolloutSequenceStageClusterSelectorArgs{
    				LabelSelector: pulumi.String("string"),
    			},
    			SoakDuration: pulumi.String("string"),
    		},
    	},
    	AutoUpgradeConfig: &gkehub.RolloutSequenceAutoUpgradeConfigArgs{
    		RolloutCreationScope: &gkehub.RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs{
    			UpgradeTypes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	DeletionPolicy: pulumi.String("string"),
    	DisplayName:    pulumi.String("string"),
    	IgnoredClustersSelector: &gkehub.RolloutSequenceIgnoredClustersSelectorArgs{
    		LabelSelector: pulumi.String("string"),
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	MinControlPlaneVersion: pulumi.String("string"),
    	MinNodeVersion:         pulumi.String("string"),
    	Project:                pulumi.String("string"),
    })
    
    resource "gcp_gkehub_rollout_sequence" "rolloutSequenceResource" {
      lifecycle {
        create_before_destroy = true
      }
      rollout_sequence_id = "string"
      stages {
        fleet_projects = ["string"]
        cluster_selector = {
          label_selector = "string"
        }
        soak_duration = "string"
      }
      auto_upgrade_config = {
        rollout_creation_scope = {
          upgrade_types = ["string"]
        }
      }
      deletion_policy = "string"
      display_name    = "string"
      ignored_clusters_selector = {
        label_selector = "string"
      }
      labels = {
        "string" = "string"
      }
      min_control_plane_version = "string"
      min_node_version          = "string"
      project                   = "string"
    }
    
    var rolloutSequenceResource = new RolloutSequence("rolloutSequenceResource", RolloutSequenceArgs.builder()
        .rolloutSequenceId("string")
        .stages(RolloutSequenceStageArgs.builder()
            .fleetProjects("string")
            .clusterSelector(RolloutSequenceStageClusterSelectorArgs.builder()
                .labelSelector("string")
                .build())
            .soakDuration("string")
            .build())
        .autoUpgradeConfig(RolloutSequenceAutoUpgradeConfigArgs.builder()
            .rolloutCreationScope(RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs.builder()
                .upgradeTypes("string")
                .build())
            .build())
        .deletionPolicy("string")
        .displayName("string")
        .ignoredClustersSelector(RolloutSequenceIgnoredClustersSelectorArgs.builder()
            .labelSelector("string")
            .build())
        .labels(Map.of("string", "string"))
        .minControlPlaneVersion("string")
        .minNodeVersion("string")
        .project("string")
        .build());
    
    rollout_sequence_resource = gcp.gkehub.RolloutSequence("rolloutSequenceResource",
        rollout_sequence_id="string",
        stages=[{
            "fleet_projects": ["string"],
            "cluster_selector": {
                "label_selector": "string",
            },
            "soak_duration": "string",
        }],
        auto_upgrade_config={
            "rollout_creation_scope": {
                "upgrade_types": ["string"],
            },
        },
        deletion_policy="string",
        display_name="string",
        ignored_clusters_selector={
            "label_selector": "string",
        },
        labels={
            "string": "string",
        },
        min_control_plane_version="string",
        min_node_version="string",
        project="string")
    
    const rolloutSequenceResource = new gcp.gkehub.RolloutSequence("rolloutSequenceResource", {
        rolloutSequenceId: "string",
        stages: [{
            fleetProjects: ["string"],
            clusterSelector: {
                labelSelector: "string",
            },
            soakDuration: "string",
        }],
        autoUpgradeConfig: {
            rolloutCreationScope: {
                upgradeTypes: ["string"],
            },
        },
        deletionPolicy: "string",
        displayName: "string",
        ignoredClustersSelector: {
            labelSelector: "string",
        },
        labels: {
            string: "string",
        },
        minControlPlaneVersion: "string",
        minNodeVersion: "string",
        project: "string",
    });
    
    type: gcp:gkehub:RolloutSequence
    properties:
        autoUpgradeConfig:
            rolloutCreationScope:
                upgradeTypes:
                    - string
        deletionPolicy: string
        displayName: string
        ignoredClustersSelector:
            labelSelector: string
        labels:
            string: string
        minControlPlaneVersion: string
        minNodeVersion: string
        project: string
        rolloutSequenceId: string
        stages:
            - clusterSelector:
                labelSelector: string
              fleetProjects:
                - string
              soakDuration: string
    

    RolloutSequence Resource Properties

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

    Inputs

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

    The RolloutSequence resource accepts the following input properties:

    RolloutSequenceId string
    The user-provided identifier of the RolloutSequence.
    Stages List<RolloutSequenceStage>
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    AutoUpgradeConfig RolloutSequenceAutoUpgradeConfig
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    DeletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    DisplayName string
    Human readable display name of the Rollout Sequence.
    IgnoredClustersSelector RolloutSequenceIgnoredClustersSelector
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    Labels Dictionary<string, string>

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    MinControlPlaneVersion string
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    MinNodeVersion string
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    RolloutSequenceId string
    The user-provided identifier of the RolloutSequence.
    Stages []RolloutSequenceStageArgs
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    AutoUpgradeConfig RolloutSequenceAutoUpgradeConfigArgs
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    DeletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    DisplayName string
    Human readable display name of the Rollout Sequence.
    IgnoredClustersSelector RolloutSequenceIgnoredClustersSelectorArgs
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    Labels map[string]string

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    MinControlPlaneVersion string
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    MinNodeVersion string
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    rollout_sequence_id string
    The user-provided identifier of the RolloutSequence.
    stages list(object)
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    auto_upgrade_config object
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    deletion_policy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    display_name string
    Human readable display name of the Rollout Sequence.
    ignored_clusters_selector object
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels map(string)

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    min_control_plane_version string
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    min_node_version string
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    rolloutSequenceId String
    The user-provided identifier of the RolloutSequence.
    stages List<RolloutSequenceStage>
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    autoUpgradeConfig RolloutSequenceAutoUpgradeConfig
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    deletionPolicy String
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    displayName String
    Human readable display name of the Rollout Sequence.
    ignoredClustersSelector RolloutSequenceIgnoredClustersSelector
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels Map<String,String>

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    minControlPlaneVersion String
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    minNodeVersion String
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    rolloutSequenceId string
    The user-provided identifier of the RolloutSequence.
    stages RolloutSequenceStage[]
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    autoUpgradeConfig RolloutSequenceAutoUpgradeConfig
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    deletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    displayName string
    Human readable display name of the Rollout Sequence.
    ignoredClustersSelector RolloutSequenceIgnoredClustersSelector
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels {[key: string]: string}

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    minControlPlaneVersion string
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    minNodeVersion string
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    rollout_sequence_id str
    The user-provided identifier of the RolloutSequence.
    stages Sequence[RolloutSequenceStageArgs]
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    auto_upgrade_config RolloutSequenceAutoUpgradeConfigArgs
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    deletion_policy str
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    display_name str
    Human readable display name of the Rollout Sequence.
    ignored_clusters_selector RolloutSequenceIgnoredClustersSelectorArgs
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels Mapping[str, str]

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    min_control_plane_version str
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    min_node_version str
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    rolloutSequenceId String
    The user-provided identifier of the RolloutSequence.
    stages List<Property Map>
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    autoUpgradeConfig Property Map
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    deletionPolicy String
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    displayName String
    Human readable display name of the Rollout Sequence.
    ignoredClustersSelector Property Map
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels Map<String>

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    minControlPlaneVersion String
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    minNodeVersion String
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    Outputs

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

    CreateTime string
    The timestamp at which the Rollout Sequence was created.
    DeleteTime string
    The timestamp at the Rollout Sequence was deleted.
    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.
    Etag string
    etag of the Rollout Sequence.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The full resource name of the RolloutSequence.
    OperationalStates List<RolloutSequenceOperationalState>
    The operational state of the rollout sequence. Structure is documented below.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    TargetControlPlaneVersion string
    The current target control plane version.
    TargetNodeVersion string
    The current target node version.
    Uid string
    Google-generated UUID for this resource.
    UpdateTime string
    The timestamp at which the Rollout Sequence was last updated.
    CreateTime string
    The timestamp at which the Rollout Sequence was created.
    DeleteTime string
    The timestamp at the Rollout Sequence was deleted.
    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.
    Etag string
    etag of the Rollout Sequence.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The full resource name of the RolloutSequence.
    OperationalStates []RolloutSequenceOperationalState
    The operational state of the rollout sequence. Structure is documented below.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    TargetControlPlaneVersion string
    The current target control plane version.
    TargetNodeVersion string
    The current target node version.
    Uid string
    Google-generated UUID for this resource.
    UpdateTime string
    The timestamp at which the Rollout Sequence was last updated.
    create_time string
    The timestamp at which the Rollout Sequence was created.
    delete_time string
    The timestamp at the Rollout Sequence was deleted.
    effective_labels map(string)
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag string
    etag of the Rollout Sequence.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The full resource name of the RolloutSequence.
    operational_states list(object)
    The operational state of the rollout sequence. Structure is documented below.
    pulumi_labels map(string)
    The combination of labels configured directly on the resource and default labels configured on the provider.
    target_control_plane_version string
    The current target control plane version.
    target_node_version string
    The current target node version.
    uid string
    Google-generated UUID for this resource.
    update_time string
    The timestamp at which the Rollout Sequence was last updated.
    createTime String
    The timestamp at which the Rollout Sequence was created.
    deleteTime String
    The timestamp at the Rollout Sequence was deleted.
    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.
    etag String
    etag of the Rollout Sequence.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The full resource name of the RolloutSequence.
    operationalStates List<RolloutSequenceOperationalState>
    The operational state of the rollout sequence. Structure is documented below.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    targetControlPlaneVersion String
    The current target control plane version.
    targetNodeVersion String
    The current target node version.
    uid String
    Google-generated UUID for this resource.
    updateTime String
    The timestamp at which the Rollout Sequence was last updated.
    createTime string
    The timestamp at which the Rollout Sequence was created.
    deleteTime string
    The timestamp at the Rollout Sequence was deleted.
    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.
    etag string
    etag of the Rollout Sequence.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The full resource name of the RolloutSequence.
    operationalStates RolloutSequenceOperationalState[]
    The operational state of the rollout sequence. Structure is documented below.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    targetControlPlaneVersion string
    The current target control plane version.
    targetNodeVersion string
    The current target node version.
    uid string
    Google-generated UUID for this resource.
    updateTime string
    The timestamp at which the Rollout Sequence was last updated.
    create_time str
    The timestamp at which the Rollout Sequence was created.
    delete_time str
    The timestamp at the Rollout Sequence was deleted.
    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.
    etag str
    etag of the Rollout Sequence.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The full resource name of the RolloutSequence.
    operational_states Sequence[RolloutSequenceOperationalState]
    The operational state of the rollout sequence. Structure is documented below.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    target_control_plane_version str
    The current target control plane version.
    target_node_version str
    The current target node version.
    uid str
    Google-generated UUID for this resource.
    update_time str
    The timestamp at which the Rollout Sequence was last updated.
    createTime String
    The timestamp at which the Rollout Sequence was created.
    deleteTime String
    The timestamp at the Rollout Sequence was deleted.
    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.
    etag String
    etag of the Rollout Sequence.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The full resource name of the RolloutSequence.
    operationalStates List<Property Map>
    The operational state of the rollout sequence. Structure is documented below.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    targetControlPlaneVersion String
    The current target control plane version.
    targetNodeVersion String
    The current target node version.
    uid String
    Google-generated UUID for this resource.
    updateTime String
    The timestamp at which the Rollout Sequence was last updated.

    Look up Existing RolloutSequence Resource

    Get an existing RolloutSequence 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?: RolloutSequenceState, opts?: CustomResourceOptions): RolloutSequence
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            auto_upgrade_config: Optional[RolloutSequenceAutoUpgradeConfigArgs] = None,
            create_time: Optional[str] = None,
            delete_time: Optional[str] = None,
            deletion_policy: Optional[str] = None,
            display_name: Optional[str] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            etag: Optional[str] = None,
            ignored_clusters_selector: Optional[RolloutSequenceIgnoredClustersSelectorArgs] = None,
            labels: Optional[Mapping[str, str]] = None,
            min_control_plane_version: Optional[str] = None,
            min_node_version: Optional[str] = None,
            name: Optional[str] = None,
            operational_states: Optional[Sequence[RolloutSequenceOperationalStateArgs]] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            rollout_sequence_id: Optional[str] = None,
            stages: Optional[Sequence[RolloutSequenceStageArgs]] = None,
            target_control_plane_version: Optional[str] = None,
            target_node_version: Optional[str] = None,
            uid: Optional[str] = None,
            update_time: Optional[str] = None) -> RolloutSequence
    func GetRolloutSequence(ctx *Context, name string, id IDInput, state *RolloutSequenceState, opts ...ResourceOption) (*RolloutSequence, error)
    public static RolloutSequence Get(string name, Input<string> id, RolloutSequenceState? state, CustomResourceOptions? opts = null)
    public static RolloutSequence get(String name, Output<String> id, RolloutSequenceState state, CustomResourceOptions options)
    resources:  _:    type: gcp:gkehub:RolloutSequence    get:      id: ${id}
    import {
      to = gcp_gkehub_rollout_sequence.example
      id = "${id}"
    }
    
    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:
    AutoUpgradeConfig RolloutSequenceAutoUpgradeConfig
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    CreateTime string
    The timestamp at which the Rollout Sequence was created.
    DeleteTime string
    The timestamp at the Rollout Sequence was deleted.
    DeletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    DisplayName string
    Human readable display name of the Rollout Sequence.
    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.
    Etag string
    etag of the Rollout Sequence.
    IgnoredClustersSelector RolloutSequenceIgnoredClustersSelector
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    Labels Dictionary<string, string>

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    MinControlPlaneVersion string
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    MinNodeVersion string
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    Name string
    The full resource name of the RolloutSequence.
    OperationalStates List<RolloutSequenceOperationalState>
    The operational state of the rollout sequence. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    RolloutSequenceId string
    The user-provided identifier of the RolloutSequence.
    Stages List<RolloutSequenceStage>
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    TargetControlPlaneVersion string
    The current target control plane version.
    TargetNodeVersion string
    The current target node version.
    Uid string
    Google-generated UUID for this resource.
    UpdateTime string
    The timestamp at which the Rollout Sequence was last updated.
    AutoUpgradeConfig RolloutSequenceAutoUpgradeConfigArgs
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    CreateTime string
    The timestamp at which the Rollout Sequence was created.
    DeleteTime string
    The timestamp at the Rollout Sequence was deleted.
    DeletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    DisplayName string
    Human readable display name of the Rollout Sequence.
    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.
    Etag string
    etag of the Rollout Sequence.
    IgnoredClustersSelector RolloutSequenceIgnoredClustersSelectorArgs
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    Labels map[string]string

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    MinControlPlaneVersion string
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    MinNodeVersion string
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    Name string
    The full resource name of the RolloutSequence.
    OperationalStates []RolloutSequenceOperationalStateArgs
    The operational state of the rollout sequence. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    RolloutSequenceId string
    The user-provided identifier of the RolloutSequence.
    Stages []RolloutSequenceStageArgs
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    TargetControlPlaneVersion string
    The current target control plane version.
    TargetNodeVersion string
    The current target node version.
    Uid string
    Google-generated UUID for this resource.
    UpdateTime string
    The timestamp at which the Rollout Sequence was last updated.
    auto_upgrade_config object
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    create_time string
    The timestamp at which the Rollout Sequence was created.
    delete_time string
    The timestamp at the Rollout Sequence was deleted.
    deletion_policy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    display_name string
    Human readable display name of the Rollout Sequence.
    effective_labels map(string)
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag string
    etag of the Rollout Sequence.
    ignored_clusters_selector object
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels map(string)

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    min_control_plane_version string
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    min_node_version string
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    name string
    The full resource name of the RolloutSequence.
    operational_states list(object)
    The operational state of the rollout sequence. Structure is documented below.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumi_labels map(string)
    The combination of labels configured directly on the resource and default labels configured on the provider.
    rollout_sequence_id string
    The user-provided identifier of the RolloutSequence.
    stages list(object)
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    target_control_plane_version string
    The current target control plane version.
    target_node_version string
    The current target node version.
    uid string
    Google-generated UUID for this resource.
    update_time string
    The timestamp at which the Rollout Sequence was last updated.
    autoUpgradeConfig RolloutSequenceAutoUpgradeConfig
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    createTime String
    The timestamp at which the Rollout Sequence was created.
    deleteTime String
    The timestamp at the Rollout Sequence was deleted.
    deletionPolicy String
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    displayName String
    Human readable display name of the Rollout Sequence.
    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.
    etag String
    etag of the Rollout Sequence.
    ignoredClustersSelector RolloutSequenceIgnoredClustersSelector
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels Map<String,String>

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    minControlPlaneVersion String
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    minNodeVersion String
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    name String
    The full resource name of the RolloutSequence.
    operationalStates List<RolloutSequenceOperationalState>
    The operational state of the rollout sequence. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    rolloutSequenceId String
    The user-provided identifier of the RolloutSequence.
    stages List<RolloutSequenceStage>
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    targetControlPlaneVersion String
    The current target control plane version.
    targetNodeVersion String
    The current target node version.
    uid String
    Google-generated UUID for this resource.
    updateTime String
    The timestamp at which the Rollout Sequence was last updated.
    autoUpgradeConfig RolloutSequenceAutoUpgradeConfig
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    createTime string
    The timestamp at which the Rollout Sequence was created.
    deleteTime string
    The timestamp at the Rollout Sequence was deleted.
    deletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    displayName string
    Human readable display name of the Rollout Sequence.
    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.
    etag string
    etag of the Rollout Sequence.
    ignoredClustersSelector RolloutSequenceIgnoredClustersSelector
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels {[key: string]: string}

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    minControlPlaneVersion string
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    minNodeVersion string
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    name string
    The full resource name of the RolloutSequence.
    operationalStates RolloutSequenceOperationalState[]
    The operational state of the rollout sequence. Structure is documented below.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    rolloutSequenceId string
    The user-provided identifier of the RolloutSequence.
    stages RolloutSequenceStage[]
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    targetControlPlaneVersion string
    The current target control plane version.
    targetNodeVersion string
    The current target node version.
    uid string
    Google-generated UUID for this resource.
    updateTime string
    The timestamp at which the Rollout Sequence was last updated.
    auto_upgrade_config RolloutSequenceAutoUpgradeConfigArgs
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    create_time str
    The timestamp at which the Rollout Sequence was created.
    delete_time str
    The timestamp at the Rollout Sequence was deleted.
    deletion_policy str
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    display_name str
    Human readable display name of the Rollout Sequence.
    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.
    etag str
    etag of the Rollout Sequence.
    ignored_clusters_selector RolloutSequenceIgnoredClustersSelectorArgs
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels Mapping[str, str]

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    min_control_plane_version str
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    min_node_version str
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    name str
    The full resource name of the RolloutSequence.
    operational_states Sequence[RolloutSequenceOperationalStateArgs]
    The operational state of the rollout sequence. Structure is documented below.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    rollout_sequence_id str
    The user-provided identifier of the RolloutSequence.
    stages Sequence[RolloutSequenceStageArgs]
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    target_control_plane_version str
    The current target control plane version.
    target_node_version str
    The current target node version.
    uid str
    Google-generated UUID for this resource.
    update_time str
    The timestamp at which the Rollout Sequence was last updated.
    autoUpgradeConfig Property Map
    Configuration for automatic upgrades. If not specified, the system applies default behavior. Structure is documented below.
    createTime String
    The timestamp at which the Rollout Sequence was created.
    deleteTime String
    The timestamp at the Rollout Sequence was deleted.
    deletionPolicy String
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    displayName String
    Human readable display name of the Rollout Sequence.
    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.
    etag String
    etag of the Rollout Sequence.
    ignoredClustersSelector Property Map
    Selector for clusters to exclude from the Rollout Sequence. Structure is documented below.
    labels Map<String>

    Labels for this Rollout Sequence.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effectiveLabels for all of the labels present on the resource.

    minControlPlaneVersion String
    Minimum control plane version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    minNodeVersion String
    Minimum node version that the clusters in the sequence should be upgraded to. Setting this field will cause the creation of a rollout to the specified version. Any rollout of the same type already running on the first stage of the sequence will be cancelled to allow for the creation of the new rollout. Should be a valid semantic version. Version aliases are supported, as described in the cluster version docs. Note that the latest and - aliases are not supported for this field. Supported formats: 1.X, 1.X.Y, 1.X.Y-gke.N.
    name String
    The full resource name of the RolloutSequence.
    operationalStates List<Property Map>
    The operational state of the rollout sequence. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    rolloutSequenceId String
    The user-provided identifier of the RolloutSequence.
    stages List<Property Map>
    Ordered list of stages that constitute this Rollout Sequence. Structure is documented below.
    targetControlPlaneVersion String
    The current target control plane version.
    targetNodeVersion String
    The current target node version.
    uid String
    Google-generated UUID for this resource.
    updateTime String
    The timestamp at which the Rollout Sequence was last updated.

    Supporting Types

    RolloutSequenceAutoUpgradeConfig, RolloutSequenceAutoUpgradeConfigArgs

    RolloutCreationScope RolloutSequenceAutoUpgradeConfigRolloutCreationScope
    Specifies the scope of automation for the creation of rollouts. Represents the types of rollouts (version upgrades) the sequence should initiate automatically. If this field is not specified, it defaults to all types. If this field is specified, but the nested upgradeTypes field is empty, most automatic rollouts are disabled for this sequence. Exceptions are rollouts enforcing our security policies (e.g. such as end-of-support and outdated control plane patch enforcements). These policy enforcements cannot be disabled. Structure is documented below.
    RolloutCreationScope RolloutSequenceAutoUpgradeConfigRolloutCreationScope
    Specifies the scope of automation for the creation of rollouts. Represents the types of rollouts (version upgrades) the sequence should initiate automatically. If this field is not specified, it defaults to all types. If this field is specified, but the nested upgradeTypes field is empty, most automatic rollouts are disabled for this sequence. Exceptions are rollouts enforcing our security policies (e.g. such as end-of-support and outdated control plane patch enforcements). These policy enforcements cannot be disabled. Structure is documented below.
    rollout_creation_scope object
    Specifies the scope of automation for the creation of rollouts. Represents the types of rollouts (version upgrades) the sequence should initiate automatically. If this field is not specified, it defaults to all types. If this field is specified, but the nested upgradeTypes field is empty, most automatic rollouts are disabled for this sequence. Exceptions are rollouts enforcing our security policies (e.g. such as end-of-support and outdated control plane patch enforcements). These policy enforcements cannot be disabled. Structure is documented below.
    rolloutCreationScope RolloutSequenceAutoUpgradeConfigRolloutCreationScope
    Specifies the scope of automation for the creation of rollouts. Represents the types of rollouts (version upgrades) the sequence should initiate automatically. If this field is not specified, it defaults to all types. If this field is specified, but the nested upgradeTypes field is empty, most automatic rollouts are disabled for this sequence. Exceptions are rollouts enforcing our security policies (e.g. such as end-of-support and outdated control plane patch enforcements). These policy enforcements cannot be disabled. Structure is documented below.
    rolloutCreationScope RolloutSequenceAutoUpgradeConfigRolloutCreationScope
    Specifies the scope of automation for the creation of rollouts. Represents the types of rollouts (version upgrades) the sequence should initiate automatically. If this field is not specified, it defaults to all types. If this field is specified, but the nested upgradeTypes field is empty, most automatic rollouts are disabled for this sequence. Exceptions are rollouts enforcing our security policies (e.g. such as end-of-support and outdated control plane patch enforcements). These policy enforcements cannot be disabled. Structure is documented below.
    rollout_creation_scope RolloutSequenceAutoUpgradeConfigRolloutCreationScope
    Specifies the scope of automation for the creation of rollouts. Represents the types of rollouts (version upgrades) the sequence should initiate automatically. If this field is not specified, it defaults to all types. If this field is specified, but the nested upgradeTypes field is empty, most automatic rollouts are disabled for this sequence. Exceptions are rollouts enforcing our security policies (e.g. such as end-of-support and outdated control plane patch enforcements). These policy enforcements cannot be disabled. Structure is documented below.
    rolloutCreationScope Property Map
    Specifies the scope of automation for the creation of rollouts. Represents the types of rollouts (version upgrades) the sequence should initiate automatically. If this field is not specified, it defaults to all types. If this field is specified, but the nested upgradeTypes field is empty, most automatic rollouts are disabled for this sequence. Exceptions are rollouts enforcing our security policies (e.g. such as end-of-support and outdated control plane patch enforcements). These policy enforcements cannot be disabled. Structure is documented below.

    RolloutSequenceAutoUpgradeConfigRolloutCreationScope, RolloutSequenceAutoUpgradeConfigRolloutCreationScopeArgs

    UpgradeTypes List<string>
    The list of enabled upgrade types. Current valid values are CONTROL_PLANE_MINOR, CONTROL_PLANE_PATCH, NODE_MINOR, and NODE_PATCH.
    UpgradeTypes []string
    The list of enabled upgrade types. Current valid values are CONTROL_PLANE_MINOR, CONTROL_PLANE_PATCH, NODE_MINOR, and NODE_PATCH.
    upgrade_types list(string)
    The list of enabled upgrade types. Current valid values are CONTROL_PLANE_MINOR, CONTROL_PLANE_PATCH, NODE_MINOR, and NODE_PATCH.
    upgradeTypes List<String>
    The list of enabled upgrade types. Current valid values are CONTROL_PLANE_MINOR, CONTROL_PLANE_PATCH, NODE_MINOR, and NODE_PATCH.
    upgradeTypes string[]
    The list of enabled upgrade types. Current valid values are CONTROL_PLANE_MINOR, CONTROL_PLANE_PATCH, NODE_MINOR, and NODE_PATCH.
    upgrade_types Sequence[str]
    The list of enabled upgrade types. Current valid values are CONTROL_PLANE_MINOR, CONTROL_PLANE_PATCH, NODE_MINOR, and NODE_PATCH.
    upgradeTypes List<String>
    The list of enabled upgrade types. Current valid values are CONTROL_PLANE_MINOR, CONTROL_PLANE_PATCH, NODE_MINOR, and NODE_PATCH.

    RolloutSequenceIgnoredClustersSelector, RolloutSequenceIgnoredClustersSelectorArgs

    LabelSelector string
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    LabelSelector string
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    label_selector string
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    labelSelector String
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    labelSelector string
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    label_selector str
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    labelSelector String
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.

    RolloutSequenceOperationalState, RolloutSequenceOperationalStateArgs

    State string
    (Output) The state of the rollout sequence.
    State string
    (Output) The state of the rollout sequence.
    state string
    (Output) The state of the rollout sequence.
    state String
    (Output) The state of the rollout sequence.
    state string
    (Output) The state of the rollout sequence.
    state str
    (Output) The state of the rollout sequence.
    state String
    (Output) The state of the rollout sequence.

    RolloutSequenceStage, RolloutSequenceStageArgs

    FleetProjects List<string>
    List of Fleet projects to select the clusters from. Expected format: projects/{project}
    ClusterSelector RolloutSequenceStageClusterSelector
    Filter to select a subset of clusters from the specified Fleet projects. If not specified, all clusters in the fleet projects are selected. Structure is documented below.
    SoakDuration string
    Soak time after upgrading all the clusters in the stage. Has to be specified in seconds, minutes, hours or days.
    FleetProjects []string
    List of Fleet projects to select the clusters from. Expected format: projects/{project}
    ClusterSelector RolloutSequenceStageClusterSelector
    Filter to select a subset of clusters from the specified Fleet projects. If not specified, all clusters in the fleet projects are selected. Structure is documented below.
    SoakDuration string
    Soak time after upgrading all the clusters in the stage. Has to be specified in seconds, minutes, hours or days.
    fleet_projects list(string)
    List of Fleet projects to select the clusters from. Expected format: projects/{project}
    cluster_selector object
    Filter to select a subset of clusters from the specified Fleet projects. If not specified, all clusters in the fleet projects are selected. Structure is documented below.
    soak_duration string
    Soak time after upgrading all the clusters in the stage. Has to be specified in seconds, minutes, hours or days.
    fleetProjects List<String>
    List of Fleet projects to select the clusters from. Expected format: projects/{project}
    clusterSelector RolloutSequenceStageClusterSelector
    Filter to select a subset of clusters from the specified Fleet projects. If not specified, all clusters in the fleet projects are selected. Structure is documented below.
    soakDuration String
    Soak time after upgrading all the clusters in the stage. Has to be specified in seconds, minutes, hours or days.
    fleetProjects string[]
    List of Fleet projects to select the clusters from. Expected format: projects/{project}
    clusterSelector RolloutSequenceStageClusterSelector
    Filter to select a subset of clusters from the specified Fleet projects. If not specified, all clusters in the fleet projects are selected. Structure is documented below.
    soakDuration string
    Soak time after upgrading all the clusters in the stage. Has to be specified in seconds, minutes, hours or days.
    fleet_projects Sequence[str]
    List of Fleet projects to select the clusters from. Expected format: projects/{project}
    cluster_selector RolloutSequenceStageClusterSelector
    Filter to select a subset of clusters from the specified Fleet projects. If not specified, all clusters in the fleet projects are selected. Structure is documented below.
    soak_duration str
    Soak time after upgrading all the clusters in the stage. Has to be specified in seconds, minutes, hours or days.
    fleetProjects List<String>
    List of Fleet projects to select the clusters from. Expected format: projects/{project}
    clusterSelector Property Map
    Filter to select a subset of clusters from the specified Fleet projects. If not specified, all clusters in the fleet projects are selected. Structure is documented below.
    soakDuration String
    Soak time after upgrading all the clusters in the stage. Has to be specified in seconds, minutes, hours or days.

    RolloutSequenceStageClusterSelector, RolloutSequenceStageClusterSelectorArgs

    LabelSelector string
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    LabelSelector string
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    label_selector string
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    labelSelector String
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    labelSelector string
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    label_selector str
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.
    labelSelector String
    The label selector must be a valid CEL (Common Expression Language) expression which evaluates resource.labels.

    Import

    RolloutSequence can be imported using any of these accepted formats:

    • projects/{{project}}/locations/global/rolloutSequences/{{rollout_sequence_id}}
    • {{project}}/{{rollout_sequence_id}}
    • {{rollout_sequence_id}}

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

    $ pulumi import gcp:gkehub/rolloutSequence:RolloutSequence default projects/{{project}}/locations/global/rolloutSequences/{{rollout_sequence_id}}
    $ pulumi import gcp:gkehub/rolloutSequence:RolloutSequence default {{project}}/{{rollout_sequence_id}}
    $ pulumi import gcp:gkehub/rolloutSequence:RolloutSequence default {{rollout_sequence_id}}
    

    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
    Viewing docs for Google Cloud v10.1.1
    published on Tuesday, Oct 13, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial