1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. gkehub
  5. Feature
Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi

gcp.gkehub.Feature

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi

    Feature represents the settings and status of any Hub Feature.

    To get more information about Feature, see:

    Example Usage

    Gkehub Feature Multi Cluster Ingress

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const cluster = new gcp.container.Cluster("cluster", {
        name: "my-cluster",
        location: "us-central1-a",
        initialNodeCount: 1,
    });
    const membership = new gcp.gkehub.Membership("membership", {
        membershipId: "my-membership",
        endpoint: {
            gkeCluster: {
                resourceLink: pulumi.interpolate`//container.googleapis.com/${cluster.id}`,
            },
        },
        description: "Membership",
    });
    const feature = new gcp.gkehub.Feature("feature", {
        name: "multiclusteringress",
        location: "global",
        spec: {
            multiclusteringress: {
                configMembership: membership.id,
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    cluster = gcp.container.Cluster("cluster",
        name="my-cluster",
        location="us-central1-a",
        initial_node_count=1)
    membership = gcp.gkehub.Membership("membership",
        membership_id="my-membership",
        endpoint=gcp.gkehub.MembershipEndpointArgs(
            gke_cluster=gcp.gkehub.MembershipEndpointGkeClusterArgs(
                resource_link=cluster.id.apply(lambda id: f"//container.googleapis.com/{id}"),
            ),
        ),
        description="Membership")
    feature = gcp.gkehub.Feature("feature",
        name="multiclusteringress",
        location="global",
        spec=gcp.gkehub.FeatureSpecArgs(
            multiclusteringress=gcp.gkehub.FeatureSpecMulticlusteringressArgs(
                config_membership=membership.id,
            ),
        ))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cluster, err := container.NewCluster(ctx, "cluster", &container.ClusterArgs{
    			Name:             pulumi.String("my-cluster"),
    			Location:         pulumi.String("us-central1-a"),
    			InitialNodeCount: pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		membership, err := gkehub.NewMembership(ctx, "membership", &gkehub.MembershipArgs{
    			MembershipId: pulumi.String("my-membership"),
    			Endpoint: &gkehub.MembershipEndpointArgs{
    				GkeCluster: &gkehub.MembershipEndpointGkeClusterArgs{
    					ResourceLink: cluster.ID().ApplyT(func(id string) (string, error) {
    						return fmt.Sprintf("//container.googleapis.com/%v", id), nil
    					}).(pulumi.StringOutput),
    				},
    			},
    			Description: pulumi.String("Membership"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("multiclusteringress"),
    			Location: pulumi.String("global"),
    			Spec: &gkehub.FeatureSpecArgs{
    				Multiclusteringress: &gkehub.FeatureSpecMulticlusteringressArgs{
    					ConfigMembership: membership.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var cluster = new Gcp.Container.Cluster("cluster", new()
        {
            Name = "my-cluster",
            Location = "us-central1-a",
            InitialNodeCount = 1,
        });
    
        var membership = new Gcp.GkeHub.Membership("membership", new()
        {
            MembershipId = "my-membership",
            Endpoint = new Gcp.GkeHub.Inputs.MembershipEndpointArgs
            {
                GkeCluster = new Gcp.GkeHub.Inputs.MembershipEndpointGkeClusterArgs
                {
                    ResourceLink = cluster.Id.Apply(id => $"//container.googleapis.com/{id}"),
                },
            },
            Description = "Membership",
        });
    
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "multiclusteringress",
            Location = "global",
            Spec = new Gcp.GkeHub.Inputs.FeatureSpecArgs
            {
                Multiclusteringress = new Gcp.GkeHub.Inputs.FeatureSpecMulticlusteringressArgs
                {
                    ConfigMembership = membership.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.container.Cluster;
    import com.pulumi.gcp.container.ClusterArgs;
    import com.pulumi.gcp.gkehub.Membership;
    import com.pulumi.gcp.gkehub.MembershipArgs;
    import com.pulumi.gcp.gkehub.inputs.MembershipEndpointArgs;
    import com.pulumi.gcp.gkehub.inputs.MembershipEndpointGkeClusterArgs;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecMulticlusteringressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var cluster = new Cluster("cluster", ClusterArgs.builder()
                .name("my-cluster")
                .location("us-central1-a")
                .initialNodeCount(1)
                .build());
    
            var membership = new Membership("membership", MembershipArgs.builder()
                .membershipId("my-membership")
                .endpoint(MembershipEndpointArgs.builder()
                    .gkeCluster(MembershipEndpointGkeClusterArgs.builder()
                        .resourceLink(cluster.id().applyValue(id -> String.format("//container.googleapis.com/%s", id)))
                        .build())
                    .build())
                .description("Membership")
                .build());
    
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("multiclusteringress")
                .location("global")
                .spec(FeatureSpecArgs.builder()
                    .multiclusteringress(FeatureSpecMulticlusteringressArgs.builder()
                        .configMembership(membership.id())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      cluster:
        type: gcp:container:Cluster
        properties:
          name: my-cluster
          location: us-central1-a
          initialNodeCount: 1
      membership:
        type: gcp:gkehub:Membership
        properties:
          membershipId: my-membership
          endpoint:
            gkeCluster:
              resourceLink: //container.googleapis.com/${cluster.id}
          description: Membership
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: multiclusteringress
          location: global
          spec:
            multiclusteringress:
              configMembership: ${membership.id}
    

    Gkehub Feature Multi Cluster Service Discovery

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "multiclusterservicediscovery",
        location: "global",
        labels: {
            foo: "bar",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="multiclusterservicediscovery",
        location="global",
        labels={
            "foo": "bar",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("multiclusterservicediscovery"),
    			Location: pulumi.String("global"),
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "multiclusterservicediscovery",
            Location = "global",
            Labels = 
            {
                { "foo", "bar" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("multiclusterservicediscovery")
                .location("global")
                .labels(Map.of("foo", "bar"))
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: multiclusterservicediscovery
          location: global
          labels:
            foo: bar
    

    Gkehub Feature Anthos Service Mesh

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "servicemesh",
        location: "global",
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="servicemesh",
        location="global")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("servicemesh"),
    			Location: pulumi.String("global"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "servicemesh",
            Location = "global",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("servicemesh")
                .location("global")
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: servicemesh
          location: global
    

    Enable Fleet Observability For Default Logs With Copy

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "fleetobservability",
        location: "global",
        spec: {
            fleetobservability: {
                loggingConfig: {
                    defaultConfig: {
                        mode: "COPY",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="fleetobservability",
        location="global",
        spec=gcp.gkehub.FeatureSpecArgs(
            fleetobservability=gcp.gkehub.FeatureSpecFleetobservabilityArgs(
                logging_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigArgs(
                    default_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs(
                        mode="COPY",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("fleetobservability"),
    			Location: pulumi.String("global"),
    			Spec: &gkehub.FeatureSpecArgs{
    				Fleetobservability: &gkehub.FeatureSpecFleetobservabilityArgs{
    					LoggingConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigArgs{
    						DefaultConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs{
    							Mode: pulumi.String("COPY"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "fleetobservability",
            Location = "global",
            Spec = new Gcp.GkeHub.Inputs.FeatureSpecArgs
            {
                Fleetobservability = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityArgs
                {
                    LoggingConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigArgs
                    {
                        DefaultConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs
                        {
                            Mode = "COPY",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityLoggingConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("fleetobservability")
                .location("global")
                .spec(FeatureSpecArgs.builder()
                    .fleetobservability(FeatureSpecFleetobservabilityArgs.builder()
                        .loggingConfig(FeatureSpecFleetobservabilityLoggingConfigArgs.builder()
                            .defaultConfig(FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs.builder()
                                .mode("COPY")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: fleetobservability
          location: global
          spec:
            fleetobservability:
              loggingConfig:
                defaultConfig:
                  mode: COPY
    

    Enable Fleet Observability For Scope Logs With Move

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "fleetobservability",
        location: "global",
        spec: {
            fleetobservability: {
                loggingConfig: {
                    fleetScopeLogsConfig: {
                        mode: "MOVE",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="fleetobservability",
        location="global",
        spec=gcp.gkehub.FeatureSpecArgs(
            fleetobservability=gcp.gkehub.FeatureSpecFleetobservabilityArgs(
                logging_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigArgs(
                    fleet_scope_logs_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs(
                        mode="MOVE",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("fleetobservability"),
    			Location: pulumi.String("global"),
    			Spec: &gkehub.FeatureSpecArgs{
    				Fleetobservability: &gkehub.FeatureSpecFleetobservabilityArgs{
    					LoggingConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigArgs{
    						FleetScopeLogsConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs{
    							Mode: pulumi.String("MOVE"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "fleetobservability",
            Location = "global",
            Spec = new Gcp.GkeHub.Inputs.FeatureSpecArgs
            {
                Fleetobservability = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityArgs
                {
                    LoggingConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigArgs
                    {
                        FleetScopeLogsConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs
                        {
                            Mode = "MOVE",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityLoggingConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("fleetobservability")
                .location("global")
                .spec(FeatureSpecArgs.builder()
                    .fleetobservability(FeatureSpecFleetobservabilityArgs.builder()
                        .loggingConfig(FeatureSpecFleetobservabilityLoggingConfigArgs.builder()
                            .fleetScopeLogsConfig(FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs.builder()
                                .mode("MOVE")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: fleetobservability
          location: global
          spec:
            fleetobservability:
              loggingConfig:
                fleetScopeLogsConfig:
                  mode: MOVE
    

    Enable Fleet Observability For Both Default And Scope Logs

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "fleetobservability",
        location: "global",
        spec: {
            fleetobservability: {
                loggingConfig: {
                    defaultConfig: {
                        mode: "COPY",
                    },
                    fleetScopeLogsConfig: {
                        mode: "MOVE",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="fleetobservability",
        location="global",
        spec=gcp.gkehub.FeatureSpecArgs(
            fleetobservability=gcp.gkehub.FeatureSpecFleetobservabilityArgs(
                logging_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigArgs(
                    default_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs(
                        mode="COPY",
                    ),
                    fleet_scope_logs_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs(
                        mode="MOVE",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("fleetobservability"),
    			Location: pulumi.String("global"),
    			Spec: &gkehub.FeatureSpecArgs{
    				Fleetobservability: &gkehub.FeatureSpecFleetobservabilityArgs{
    					LoggingConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigArgs{
    						DefaultConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs{
    							Mode: pulumi.String("COPY"),
    						},
    						FleetScopeLogsConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs{
    							Mode: pulumi.String("MOVE"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "fleetobservability",
            Location = "global",
            Spec = new Gcp.GkeHub.Inputs.FeatureSpecArgs
            {
                Fleetobservability = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityArgs
                {
                    LoggingConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigArgs
                    {
                        DefaultConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs
                        {
                            Mode = "COPY",
                        },
                        FleetScopeLogsConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs
                        {
                            Mode = "MOVE",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityLoggingConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("fleetobservability")
                .location("global")
                .spec(FeatureSpecArgs.builder()
                    .fleetobservability(FeatureSpecFleetobservabilityArgs.builder()
                        .loggingConfig(FeatureSpecFleetobservabilityLoggingConfigArgs.builder()
                            .defaultConfig(FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs.builder()
                                .mode("COPY")
                                .build())
                            .fleetScopeLogsConfig(FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs.builder()
                                .mode("MOVE")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: fleetobservability
          location: global
          spec:
            fleetobservability:
              loggingConfig:
                defaultConfig:
                  mode: COPY
                fleetScopeLogsConfig:
                  mode: MOVE
    

    Enable Fleet Default Member Config Service Mesh

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "servicemesh",
        location: "global",
        fleetDefaultMemberConfig: {
            mesh: {
                management: "MANAGEMENT_AUTOMATIC",
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="servicemesh",
        location="global",
        fleet_default_member_config=gcp.gkehub.FeatureFleetDefaultMemberConfigArgs(
            mesh=gcp.gkehub.FeatureFleetDefaultMemberConfigMeshArgs(
                management="MANAGEMENT_AUTOMATIC",
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("servicemesh"),
    			Location: pulumi.String("global"),
    			FleetDefaultMemberConfig: &gkehub.FeatureFleetDefaultMemberConfigArgs{
    				Mesh: &gkehub.FeatureFleetDefaultMemberConfigMeshArgs{
    					Management: pulumi.String("MANAGEMENT_AUTOMATIC"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "servicemesh",
            Location = "global",
            FleetDefaultMemberConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigArgs
            {
                Mesh = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigMeshArgs
                {
                    Management = "MANAGEMENT_AUTOMATIC",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigMeshArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("servicemesh")
                .location("global")
                .fleetDefaultMemberConfig(FeatureFleetDefaultMemberConfigArgs.builder()
                    .mesh(FeatureFleetDefaultMemberConfigMeshArgs.builder()
                        .management("MANAGEMENT_AUTOMATIC")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: servicemesh
          location: global
          fleetDefaultMemberConfig:
            mesh:
              management: MANAGEMENT_AUTOMATIC
    

    Enable Fleet Default Member Config Configmanagement

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "configmanagement",
        location: "global",
        fleetDefaultMemberConfig: {
            configmanagement: {
                configSync: {
                    git: {
                        syncRepo: "https://github.com/hashicorp/terraform",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="configmanagement",
        location="global",
        fleet_default_member_config=gcp.gkehub.FeatureFleetDefaultMemberConfigArgs(
            configmanagement=gcp.gkehub.FeatureFleetDefaultMemberConfigConfigmanagementArgs(
                config_sync=gcp.gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs(
                    git=gcp.gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs(
                        sync_repo="https://github.com/hashicorp/terraform",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("configmanagement"),
    			Location: pulumi.String("global"),
    			FleetDefaultMemberConfig: &gkehub.FeatureFleetDefaultMemberConfigArgs{
    				Configmanagement: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementArgs{
    					ConfigSync: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs{
    						Git: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs{
    							SyncRepo: pulumi.String("https://github.com/hashicorp/terraform"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "configmanagement",
            Location = "global",
            FleetDefaultMemberConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigArgs
            {
                Configmanagement = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementArgs
                {
                    ConfigSync = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs
                    {
                        Git = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs
                        {
                            SyncRepo = "https://github.com/hashicorp/terraform",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigConfigmanagementArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("configmanagement")
                .location("global")
                .fleetDefaultMemberConfig(FeatureFleetDefaultMemberConfigArgs.builder()
                    .configmanagement(FeatureFleetDefaultMemberConfigConfigmanagementArgs.builder()
                        .configSync(FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs.builder()
                            .git(FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs.builder()
                                .syncRepo("https://github.com/hashicorp/terraform")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: configmanagement
          location: global
          fleetDefaultMemberConfig:
            configmanagement:
              configSync:
                git:
                  syncRepo: https://github.com/hashicorp/terraform
    

    Enable Fleet Default Member Config Policycontroller

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "policycontroller",
        location: "global",
        fleetDefaultMemberConfig: {
            policycontroller: {
                policyControllerHubConfig: {
                    installSpec: "INSTALL_SPEC_ENABLED",
                    exemptableNamespaces: ["foo"],
                    policyContent: {
                        bundles: [{
                            bundle: "policy-essentials-v2022",
                            exemptedNamespaces: [
                                "foo",
                                "bar",
                            ],
                        }],
                        templateLibrary: {
                            installation: "ALL",
                        },
                    },
                    auditIntervalSeconds: 30,
                    referentialRulesEnabled: true,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="policycontroller",
        location="global",
        fleet_default_member_config=gcp.gkehub.FeatureFleetDefaultMemberConfigArgs(
            policycontroller=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerArgs(
                policy_controller_hub_config=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs(
                    install_spec="INSTALL_SPEC_ENABLED",
                    exemptable_namespaces=["foo"],
                    policy_content=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs(
                        bundles=[gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs(
                            bundle="policy-essentials-v2022",
                            exempted_namespaces=[
                                "foo",
                                "bar",
                            ],
                        )],
                        template_library=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs(
                            installation="ALL",
                        ),
                    ),
                    audit_interval_seconds=30,
                    referential_rules_enabled=True,
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("policycontroller"),
    			Location: pulumi.String("global"),
    			FleetDefaultMemberConfig: &gkehub.FeatureFleetDefaultMemberConfigArgs{
    				Policycontroller: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerArgs{
    					PolicyControllerHubConfig: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs{
    						InstallSpec: pulumi.String("INSTALL_SPEC_ENABLED"),
    						ExemptableNamespaces: pulumi.StringArray{
    							pulumi.String("foo"),
    						},
    						PolicyContent: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs{
    							Bundles: gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArray{
    								&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs{
    									Bundle: pulumi.String("policy-essentials-v2022"),
    									ExemptedNamespaces: pulumi.StringArray{
    										pulumi.String("foo"),
    										pulumi.String("bar"),
    									},
    								},
    							},
    							TemplateLibrary: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs{
    								Installation: pulumi.String("ALL"),
    							},
    						},
    						AuditIntervalSeconds:    pulumi.Int(30),
    						ReferentialRulesEnabled: pulumi.Bool(true),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "policycontroller",
            Location = "global",
            FleetDefaultMemberConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigArgs
            {
                Policycontroller = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerArgs
                {
                    PolicyControllerHubConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs
                    {
                        InstallSpec = "INSTALL_SPEC_ENABLED",
                        ExemptableNamespaces = new[]
                        {
                            "foo",
                        },
                        PolicyContent = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs
                        {
                            Bundles = new[]
                            {
                                new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs
                                {
                                    Bundle = "policy-essentials-v2022",
                                    ExemptedNamespaces = new[]
                                    {
                                        "foo",
                                        "bar",
                                    },
                                },
                            },
                            TemplateLibrary = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs
                            {
                                Installation = "ALL",
                            },
                        },
                        AuditIntervalSeconds = 30,
                        ReferentialRulesEnabled = true,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("policycontroller")
                .location("global")
                .fleetDefaultMemberConfig(FeatureFleetDefaultMemberConfigArgs.builder()
                    .policycontroller(FeatureFleetDefaultMemberConfigPolicycontrollerArgs.builder()
                        .policyControllerHubConfig(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs.builder()
                            .installSpec("INSTALL_SPEC_ENABLED")
                            .exemptableNamespaces("foo")
                            .policyContent(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs.builder()
                                .bundles(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs.builder()
                                    .bundle("policy-essentials-v2022")
                                    .exemptedNamespaces(                                
                                        "foo",
                                        "bar")
                                    .build())
                                .templateLibrary(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs.builder()
                                    .installation("ALL")
                                    .build())
                                .build())
                            .auditIntervalSeconds(30)
                            .referentialRulesEnabled(true)
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: policycontroller
          location: global
          fleetDefaultMemberConfig:
            policycontroller:
              policyControllerHubConfig:
                installSpec: INSTALL_SPEC_ENABLED
                exemptableNamespaces:
                  - foo
                policyContent:
                  bundles:
                    - bundle: policy-essentials-v2022
                      exemptedNamespaces:
                        - foo
                        - bar
                  templateLibrary:
                    installation: ALL
                auditIntervalSeconds: 30
                referentialRulesEnabled: true
    

    Enable Fleet Default Member Config Policycontroller Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "policycontroller",
        location: "global",
        fleetDefaultMemberConfig: {
            policycontroller: {
                policyControllerHubConfig: {
                    installSpec: "INSTALL_SPEC_SUSPENDED",
                    policyContent: {
                        bundles: [
                            {
                                bundle: "pci-dss-v3.2.1",
                                exemptedNamespaces: [
                                    "baz",
                                    "bar",
                                ],
                            },
                            {
                                bundle: "nist-sp-800-190",
                                exemptedNamespaces: [],
                            },
                        ],
                        templateLibrary: {
                            installation: "ALL",
                        },
                    },
                    constraintViolationLimit: 50,
                    referentialRulesEnabled: true,
                    logDeniesEnabled: true,
                    mutationEnabled: true,
                    deploymentConfigs: [
                        {
                            component: "admission",
                            replicaCount: 2,
                            podAffinity: "ANTI_AFFINITY",
                        },
                        {
                            component: "audit",
                            containerResources: {
                                limits: {
                                    memory: "1Gi",
                                    cpu: "1.5",
                                },
                                requests: {
                                    memory: "500Mi",
                                    cpu: "150m",
                                },
                            },
                            podTolerations: [{
                                key: "key1",
                                operator: "Equal",
                                value: "value1",
                                effect: "NoSchedule",
                            }],
                        },
                    ],
                    monitoring: {
                        backends: ["PROMETHEUS"],
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="policycontroller",
        location="global",
        fleet_default_member_config=gcp.gkehub.FeatureFleetDefaultMemberConfigArgs(
            policycontroller=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerArgs(
                policy_controller_hub_config=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs(
                    install_spec="INSTALL_SPEC_SUSPENDED",
                    policy_content=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs(
                        bundles=[
                            gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs(
                                bundle="pci-dss-v3.2.1",
                                exempted_namespaces=[
                                    "baz",
                                    "bar",
                                ],
                            ),
                            gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs(
                                bundle="nist-sp-800-190",
                                exempted_namespaces=[],
                            ),
                        ],
                        template_library=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs(
                            installation="ALL",
                        ),
                    ),
                    constraint_violation_limit=50,
                    referential_rules_enabled=True,
                    log_denies_enabled=True,
                    mutation_enabled=True,
                    deployment_configs=[
                        gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs(
                            component="admission",
                            replica_count=2,
                            pod_affinity="ANTI_AFFINITY",
                        ),
                        gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs(
                            component="audit",
                            container_resources=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs(
                                limits=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs(
                                    memory="1Gi",
                                    cpu="1.5",
                                ),
                                requests=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs(
                                    memory="500Mi",
                                    cpu="150m",
                                ),
                            ),
                            pod_tolerations=[gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs(
                                key="key1",
                                operator="Equal",
                                value="value1",
                                effect="NoSchedule",
                            )],
                        ),
                    ],
                    monitoring=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs(
                        backends=["PROMETHEUS"],
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("policycontroller"),
    			Location: pulumi.String("global"),
    			FleetDefaultMemberConfig: &gkehub.FeatureFleetDefaultMemberConfigArgs{
    				Policycontroller: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerArgs{
    					PolicyControllerHubConfig: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs{
    						InstallSpec: pulumi.String("INSTALL_SPEC_SUSPENDED"),
    						PolicyContent: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs{
    							Bundles: gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArray{
    								&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs{
    									Bundle: pulumi.String("pci-dss-v3.2.1"),
    									ExemptedNamespaces: pulumi.StringArray{
    										pulumi.String("baz"),
    										pulumi.String("bar"),
    									},
    								},
    								&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs{
    									Bundle:             pulumi.String("nist-sp-800-190"),
    									ExemptedNamespaces: pulumi.StringArray{},
    								},
    							},
    							TemplateLibrary: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs{
    								Installation: pulumi.String("ALL"),
    							},
    						},
    						ConstraintViolationLimit: pulumi.Int(50),
    						ReferentialRulesEnabled:  pulumi.Bool(true),
    						LogDeniesEnabled:         pulumi.Bool(true),
    						MutationEnabled:          pulumi.Bool(true),
    						DeploymentConfigs: gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArray{
    							&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs{
    								Component:    pulumi.String("admission"),
    								ReplicaCount: pulumi.Int(2),
    								PodAffinity:  pulumi.String("ANTI_AFFINITY"),
    							},
    							&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs{
    								Component: pulumi.String("audit"),
    								ContainerResources: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs{
    									Limits: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs{
    										Memory: pulumi.String("1Gi"),
    										Cpu:    pulumi.String("1.5"),
    									},
    									Requests: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs{
    										Memory: pulumi.String("500Mi"),
    										Cpu:    pulumi.String("150m"),
    									},
    								},
    								PodTolerations: gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArray{
    									&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs{
    										Key:      pulumi.String("key1"),
    										Operator: pulumi.String("Equal"),
    										Value:    pulumi.String("value1"),
    										Effect:   pulumi.String("NoSchedule"),
    									},
    								},
    							},
    						},
    						Monitoring: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs{
    							Backends: pulumi.StringArray{
    								pulumi.String("PROMETHEUS"),
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "policycontroller",
            Location = "global",
            FleetDefaultMemberConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigArgs
            {
                Policycontroller = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerArgs
                {
                    PolicyControllerHubConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs
                    {
                        InstallSpec = "INSTALL_SPEC_SUSPENDED",
                        PolicyContent = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs
                        {
                            Bundles = new[]
                            {
                                new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs
                                {
                                    Bundle = "pci-dss-v3.2.1",
                                    ExemptedNamespaces = new[]
                                    {
                                        "baz",
                                        "bar",
                                    },
                                },
                                new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs
                                {
                                    Bundle = "nist-sp-800-190",
                                    ExemptedNamespaces = new() { },
                                },
                            },
                            TemplateLibrary = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs
                            {
                                Installation = "ALL",
                            },
                        },
                        ConstraintViolationLimit = 50,
                        ReferentialRulesEnabled = true,
                        LogDeniesEnabled = true,
                        MutationEnabled = true,
                        DeploymentConfigs = new[]
                        {
                            new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs
                            {
                                Component = "admission",
                                ReplicaCount = 2,
                                PodAffinity = "ANTI_AFFINITY",
                            },
                            new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs
                            {
                                Component = "audit",
                                ContainerResources = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs
                                {
                                    Limits = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs
                                    {
                                        Memory = "1Gi",
                                        Cpu = "1.5",
                                    },
                                    Requests = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs
                                    {
                                        Memory = "500Mi",
                                        Cpu = "150m",
                                    },
                                },
                                PodTolerations = new[]
                                {
                                    new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs
                                    {
                                        Key = "key1",
                                        Operator = "Equal",
                                        Value = "value1",
                                        Effect = "NoSchedule",
                                    },
                                },
                            },
                        },
                        Monitoring = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs
                        {
                            Backends = new[]
                            {
                                "PROMETHEUS",
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("policycontroller")
                .location("global")
                .fleetDefaultMemberConfig(FeatureFleetDefaultMemberConfigArgs.builder()
                    .policycontroller(FeatureFleetDefaultMemberConfigPolicycontrollerArgs.builder()
                        .policyControllerHubConfig(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs.builder()
                            .installSpec("INSTALL_SPEC_SUSPENDED")
                            .policyContent(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs.builder()
                                .bundles(                            
                                    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs.builder()
                                        .bundle("pci-dss-v3.2.1")
                                        .exemptedNamespaces(                                    
                                            "baz",
                                            "bar")
                                        .build(),
                                    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs.builder()
                                        .bundle("nist-sp-800-190")
                                        .exemptedNamespaces()
                                        .build())
                                .templateLibrary(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs.builder()
                                    .installation("ALL")
                                    .build())
                                .build())
                            .constraintViolationLimit(50)
                            .referentialRulesEnabled(true)
                            .logDeniesEnabled(true)
                            .mutationEnabled(true)
                            .deploymentConfigs(                        
                                FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs.builder()
                                    .component("admission")
                                    .replicaCount(2)
                                    .podAffinity("ANTI_AFFINITY")
                                    .build(),
                                FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs.builder()
                                    .component("audit")
                                    .containerResources(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs.builder()
                                        .limits(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs.builder()
                                            .memory("1Gi")
                                            .cpu("1.5")
                                            .build())
                                        .requests(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs.builder()
                                            .memory("500Mi")
                                            .cpu("150m")
                                            .build())
                                        .build())
                                    .podTolerations(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs.builder()
                                        .key("key1")
                                        .operator("Equal")
                                        .value("value1")
                                        .effect("NoSchedule")
                                        .build())
                                    .build())
                            .monitoring(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs.builder()
                                .backends("PROMETHEUS")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: policycontroller
          location: global
          fleetDefaultMemberConfig:
            policycontroller:
              policyControllerHubConfig:
                installSpec: INSTALL_SPEC_SUSPENDED
                policyContent:
                  bundles:
                    - bundle: pci-dss-v3.2.1
                      exemptedNamespaces:
                        - baz
                        - bar
                    - bundle: nist-sp-800-190
                      exemptedNamespaces: []
                  templateLibrary:
                    installation: ALL
                constraintViolationLimit: 50
                referentialRulesEnabled: true
                logDeniesEnabled: true
                mutationEnabled: true
                deploymentConfigs:
                  - component: admission
                    replicaCount: 2
                    podAffinity: ANTI_AFFINITY
                  - component: audit
                    containerResources:
                      limits:
                        memory: 1Gi
                        cpu: '1.5'
                      requests:
                        memory: 500Mi
                        cpu: 150m
                    podTolerations:
                      - key: key1
                        operator: Equal
                        value: value1
                        effect: NoSchedule
                monitoring:
                  backends:
                    - PROMETHEUS
    

    Enable Fleet Default Member Config Policycontroller Minimal

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "policycontroller",
        location: "global",
        fleetDefaultMemberConfig: {
            policycontroller: {
                policyControllerHubConfig: {
                    installSpec: "INSTALL_SPEC_ENABLED",
                    policyContent: {},
                    constraintViolationLimit: 50,
                    referentialRulesEnabled: true,
                    logDeniesEnabled: true,
                    mutationEnabled: true,
                    deploymentConfigs: [{
                        component: "admission",
                    }],
                    monitoring: {},
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="policycontroller",
        location="global",
        fleet_default_member_config=gcp.gkehub.FeatureFleetDefaultMemberConfigArgs(
            policycontroller=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerArgs(
                policy_controller_hub_config=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs(
                    install_spec="INSTALL_SPEC_ENABLED",
                    policy_content=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs(),
                    constraint_violation_limit=50,
                    referential_rules_enabled=True,
                    log_denies_enabled=True,
                    mutation_enabled=True,
                    deployment_configs=[gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs(
                        component="admission",
                    )],
                    monitoring=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs(),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("policycontroller"),
    			Location: pulumi.String("global"),
    			FleetDefaultMemberConfig: &gkehub.FeatureFleetDefaultMemberConfigArgs{
    				Policycontroller: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerArgs{
    					PolicyControllerHubConfig: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs{
    						InstallSpec:              pulumi.String("INSTALL_SPEC_ENABLED"),
    						PolicyContent:            nil,
    						ConstraintViolationLimit: pulumi.Int(50),
    						ReferentialRulesEnabled:  pulumi.Bool(true),
    						LogDeniesEnabled:         pulumi.Bool(true),
    						MutationEnabled:          pulumi.Bool(true),
    						DeploymentConfigs: gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArray{
    							&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs{
    								Component: pulumi.String("admission"),
    							},
    						},
    						Monitoring: nil,
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "policycontroller",
            Location = "global",
            FleetDefaultMemberConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigArgs
            {
                Policycontroller = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerArgs
                {
                    PolicyControllerHubConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs
                    {
                        InstallSpec = "INSTALL_SPEC_ENABLED",
                        PolicyContent = null,
                        ConstraintViolationLimit = 50,
                        ReferentialRulesEnabled = true,
                        LogDeniesEnabled = true,
                        MutationEnabled = true,
                        DeploymentConfigs = new[]
                        {
                            new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs
                            {
                                Component = "admission",
                            },
                        },
                        Monitoring = null,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("policycontroller")
                .location("global")
                .fleetDefaultMemberConfig(FeatureFleetDefaultMemberConfigArgs.builder()
                    .policycontroller(FeatureFleetDefaultMemberConfigPolicycontrollerArgs.builder()
                        .policyControllerHubConfig(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs.builder()
                            .installSpec("INSTALL_SPEC_ENABLED")
                            .policyContent()
                            .constraintViolationLimit(50)
                            .referentialRulesEnabled(true)
                            .logDeniesEnabled(true)
                            .mutationEnabled(true)
                            .deploymentConfigs(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs.builder()
                                .component("admission")
                                .build())
                            .monitoring()
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: policycontroller
          location: global
          fleetDefaultMemberConfig:
            policycontroller:
              policyControllerHubConfig:
                installSpec: INSTALL_SPEC_ENABLED
                policyContent: {}
                constraintViolationLimit: 50
                referentialRulesEnabled: true
                logDeniesEnabled: true
                mutationEnabled: true
                deploymentConfigs:
                  - component: admission
                monitoring: {}
    

    Gkehub Feature Clusterupgrade

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const feature = new gcp.gkehub.Feature("feature", {
        name: "clusterupgrade",
        location: "global",
        spec: {
            clusterupgrade: {
                upstreamFleets: [],
                postConditions: {
                    soaking: "60s",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    feature = gcp.gkehub.Feature("feature",
        name="clusterupgrade",
        location="global",
        spec=gcp.gkehub.FeatureSpecArgs(
            clusterupgrade=gcp.gkehub.FeatureSpecClusterupgradeArgs(
                upstream_fleets=[],
                post_conditions=gcp.gkehub.FeatureSpecClusterupgradePostConditionsArgs(
                    soaking="60s",
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkehub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
    			Name:     pulumi.String("clusterupgrade"),
    			Location: pulumi.String("global"),
    			Spec: &gkehub.FeatureSpecArgs{
    				Clusterupgrade: &gkehub.FeatureSpecClusterupgradeArgs{
    					UpstreamFleets: pulumi.StringArray{},
    					PostConditions: &gkehub.FeatureSpecClusterupgradePostConditionsArgs{
    						Soaking: pulumi.String("60s"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var feature = new Gcp.GkeHub.Feature("feature", new()
        {
            Name = "clusterupgrade",
            Location = "global",
            Spec = new Gcp.GkeHub.Inputs.FeatureSpecArgs
            {
                Clusterupgrade = new Gcp.GkeHub.Inputs.FeatureSpecClusterupgradeArgs
                {
                    UpstreamFleets = new() { },
                    PostConditions = new Gcp.GkeHub.Inputs.FeatureSpecClusterupgradePostConditionsArgs
                    {
                        Soaking = "60s",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.gkehub.Feature;
    import com.pulumi.gcp.gkehub.FeatureArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecClusterupgradeArgs;
    import com.pulumi.gcp.gkehub.inputs.FeatureSpecClusterupgradePostConditionsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var feature = new Feature("feature", FeatureArgs.builder()
                .name("clusterupgrade")
                .location("global")
                .spec(FeatureSpecArgs.builder()
                    .clusterupgrade(FeatureSpecClusterupgradeArgs.builder()
                        .upstreamFleets()
                        .postConditions(FeatureSpecClusterupgradePostConditionsArgs.builder()
                            .soaking("60s")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      feature:
        type: gcp:gkehub:Feature
        properties:
          name: clusterupgrade
          location: global
          spec:
            clusterupgrade:
              upstreamFleets: []
              postConditions:
                soaking: 60s
    

    Create Feature Resource

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

    Constructor syntax

    new Feature(name: string, args: FeatureArgs, opts?: CustomResourceOptions);
    @overload
    def Feature(resource_name: str,
                args: FeatureArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Feature(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                location: Optional[str] = None,
                fleet_default_member_config: Optional[FeatureFleetDefaultMemberConfigArgs] = None,
                labels: Optional[Mapping[str, str]] = None,
                name: Optional[str] = None,
                project: Optional[str] = None,
                spec: Optional[FeatureSpecArgs] = None)
    func NewFeature(ctx *Context, name string, args FeatureArgs, opts ...ResourceOption) (*Feature, error)
    public Feature(string name, FeatureArgs args, CustomResourceOptions? opts = null)
    public Feature(String name, FeatureArgs args)
    public Feature(String name, FeatureArgs args, CustomResourceOptions options)
    
    type: gcp:gkehub:Feature
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args FeatureArgs
    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 FeatureArgs
    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 FeatureArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FeatureArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FeatureArgs
    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 featureResource = new Gcp.GkeHub.Feature("featureResource", new()
    {
        Location = "string",
        FleetDefaultMemberConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigArgs
        {
            Configmanagement = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementArgs
            {
                ConfigSync = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs
                {
                    Git = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs
                    {
                        SecretType = "string",
                        GcpServiceAccountEmail = "string",
                        HttpsProxy = "string",
                        PolicyDir = "string",
                        SyncBranch = "string",
                        SyncRepo = "string",
                        SyncRev = "string",
                        SyncWaitSecs = "string",
                    },
                    Oci = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs
                    {
                        SecretType = "string",
                        GcpServiceAccountEmail = "string",
                        PolicyDir = "string",
                        SyncRepo = "string",
                        SyncWaitSecs = "string",
                    },
                    PreventDrift = false,
                    SourceFormat = "string",
                },
                Version = "string",
            },
            Mesh = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigMeshArgs
            {
                Management = "string",
            },
            Policycontroller = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerArgs
            {
                PolicyControllerHubConfig = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs
                {
                    InstallSpec = "string",
                    AuditIntervalSeconds = 0,
                    ConstraintViolationLimit = 0,
                    DeploymentConfigs = new[]
                    {
                        new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs
                        {
                            Component = "string",
                            ContainerResources = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs
                            {
                                Limits = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs
                                {
                                    Cpu = "string",
                                    Memory = "string",
                                },
                                Requests = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs
                                {
                                    Cpu = "string",
                                    Memory = "string",
                                },
                            },
                            PodAffinity = "string",
                            PodTolerations = new[]
                            {
                                new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs
                                {
                                    Effect = "string",
                                    Key = "string",
                                    Operator = "string",
                                    Value = "string",
                                },
                            },
                            ReplicaCount = 0,
                        },
                    },
                    ExemptableNamespaces = new[]
                    {
                        "string",
                    },
                    LogDeniesEnabled = false,
                    Monitoring = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs
                    {
                        Backends = new[]
                        {
                            "string",
                        },
                    },
                    MutationEnabled = false,
                    PolicyContent = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs
                    {
                        Bundles = new[]
                        {
                            new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs
                            {
                                Bundle = "string",
                                ExemptedNamespaces = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        TemplateLibrary = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs
                        {
                            Installation = "string",
                        },
                    },
                    ReferentialRulesEnabled = false,
                },
                Version = "string",
            },
        },
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        Project = "string",
        Spec = new Gcp.GkeHub.Inputs.FeatureSpecArgs
        {
            Clusterupgrade = new Gcp.GkeHub.Inputs.FeatureSpecClusterupgradeArgs
            {
                UpstreamFleets = new[]
                {
                    "string",
                },
                GkeUpgradeOverrides = new[]
                {
                    new Gcp.GkeHub.Inputs.FeatureSpecClusterupgradeGkeUpgradeOverrideArgs
                    {
                        PostConditions = new Gcp.GkeHub.Inputs.FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs
                        {
                            Soaking = "string",
                        },
                        Upgrade = new Gcp.GkeHub.Inputs.FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs
                        {
                            Name = "string",
                            Version = "string",
                        },
                    },
                },
                PostConditions = new Gcp.GkeHub.Inputs.FeatureSpecClusterupgradePostConditionsArgs
                {
                    Soaking = "string",
                },
            },
            Fleetobservability = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityArgs
            {
                LoggingConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigArgs
                {
                    DefaultConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs
                    {
                        Mode = "string",
                    },
                    FleetScopeLogsConfig = new Gcp.GkeHub.Inputs.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs
                    {
                        Mode = "string",
                    },
                },
            },
            Multiclusteringress = new Gcp.GkeHub.Inputs.FeatureSpecMulticlusteringressArgs
            {
                ConfigMembership = "string",
            },
        },
    });
    
    example, err := gkehub.NewFeature(ctx, "featureResource", &gkehub.FeatureArgs{
    	Location: pulumi.String("string"),
    	FleetDefaultMemberConfig: &gkehub.FeatureFleetDefaultMemberConfigArgs{
    		Configmanagement: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementArgs{
    			ConfigSync: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs{
    				Git: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs{
    					SecretType:             pulumi.String("string"),
    					GcpServiceAccountEmail: pulumi.String("string"),
    					HttpsProxy:             pulumi.String("string"),
    					PolicyDir:              pulumi.String("string"),
    					SyncBranch:             pulumi.String("string"),
    					SyncRepo:               pulumi.String("string"),
    					SyncRev:                pulumi.String("string"),
    					SyncWaitSecs:           pulumi.String("string"),
    				},
    				Oci: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs{
    					SecretType:             pulumi.String("string"),
    					GcpServiceAccountEmail: pulumi.String("string"),
    					PolicyDir:              pulumi.String("string"),
    					SyncRepo:               pulumi.String("string"),
    					SyncWaitSecs:           pulumi.String("string"),
    				},
    				PreventDrift: pulumi.Bool(false),
    				SourceFormat: pulumi.String("string"),
    			},
    			Version: pulumi.String("string"),
    		},
    		Mesh: &gkehub.FeatureFleetDefaultMemberConfigMeshArgs{
    			Management: pulumi.String("string"),
    		},
    		Policycontroller: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerArgs{
    			PolicyControllerHubConfig: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs{
    				InstallSpec:              pulumi.String("string"),
    				AuditIntervalSeconds:     pulumi.Int(0),
    				ConstraintViolationLimit: pulumi.Int(0),
    				DeploymentConfigs: gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArray{
    					&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs{
    						Component: pulumi.String("string"),
    						ContainerResources: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs{
    							Limits: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs{
    								Cpu:    pulumi.String("string"),
    								Memory: pulumi.String("string"),
    							},
    							Requests: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs{
    								Cpu:    pulumi.String("string"),
    								Memory: pulumi.String("string"),
    							},
    						},
    						PodAffinity: pulumi.String("string"),
    						PodTolerations: gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArray{
    							&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs{
    								Effect:   pulumi.String("string"),
    								Key:      pulumi.String("string"),
    								Operator: pulumi.String("string"),
    								Value:    pulumi.String("string"),
    							},
    						},
    						ReplicaCount: pulumi.Int(0),
    					},
    				},
    				ExemptableNamespaces: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				LogDeniesEnabled: pulumi.Bool(false),
    				Monitoring: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs{
    					Backends: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				MutationEnabled: pulumi.Bool(false),
    				PolicyContent: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs{
    					Bundles: gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArray{
    						&gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs{
    							Bundle: pulumi.String("string"),
    							ExemptedNamespaces: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					TemplateLibrary: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs{
    						Installation: pulumi.String("string"),
    					},
    				},
    				ReferentialRulesEnabled: pulumi.Bool(false),
    			},
    			Version: pulumi.String("string"),
    		},
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name:    pulumi.String("string"),
    	Project: pulumi.String("string"),
    	Spec: &gkehub.FeatureSpecArgs{
    		Clusterupgrade: &gkehub.FeatureSpecClusterupgradeArgs{
    			UpstreamFleets: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			GkeUpgradeOverrides: gkehub.FeatureSpecClusterupgradeGkeUpgradeOverrideArray{
    				&gkehub.FeatureSpecClusterupgradeGkeUpgradeOverrideArgs{
    					PostConditions: &gkehub.FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs{
    						Soaking: pulumi.String("string"),
    					},
    					Upgrade: &gkehub.FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs{
    						Name:    pulumi.String("string"),
    						Version: pulumi.String("string"),
    					},
    				},
    			},
    			PostConditions: &gkehub.FeatureSpecClusterupgradePostConditionsArgs{
    				Soaking: pulumi.String("string"),
    			},
    		},
    		Fleetobservability: &gkehub.FeatureSpecFleetobservabilityArgs{
    			LoggingConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigArgs{
    				DefaultConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs{
    					Mode: pulumi.String("string"),
    				},
    				FleetScopeLogsConfig: &gkehub.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs{
    					Mode: pulumi.String("string"),
    				},
    			},
    		},
    		Multiclusteringress: &gkehub.FeatureSpecMulticlusteringressArgs{
    			ConfigMembership: pulumi.String("string"),
    		},
    	},
    })
    
    var featureResource = new Feature("featureResource", FeatureArgs.builder()
        .location("string")
        .fleetDefaultMemberConfig(FeatureFleetDefaultMemberConfigArgs.builder()
            .configmanagement(FeatureFleetDefaultMemberConfigConfigmanagementArgs.builder()
                .configSync(FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs.builder()
                    .git(FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs.builder()
                        .secretType("string")
                        .gcpServiceAccountEmail("string")
                        .httpsProxy("string")
                        .policyDir("string")
                        .syncBranch("string")
                        .syncRepo("string")
                        .syncRev("string")
                        .syncWaitSecs("string")
                        .build())
                    .oci(FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs.builder()
                        .secretType("string")
                        .gcpServiceAccountEmail("string")
                        .policyDir("string")
                        .syncRepo("string")
                        .syncWaitSecs("string")
                        .build())
                    .preventDrift(false)
                    .sourceFormat("string")
                    .build())
                .version("string")
                .build())
            .mesh(FeatureFleetDefaultMemberConfigMeshArgs.builder()
                .management("string")
                .build())
            .policycontroller(FeatureFleetDefaultMemberConfigPolicycontrollerArgs.builder()
                .policyControllerHubConfig(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs.builder()
                    .installSpec("string")
                    .auditIntervalSeconds(0)
                    .constraintViolationLimit(0)
                    .deploymentConfigs(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs.builder()
                        .component("string")
                        .containerResources(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs.builder()
                            .limits(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs.builder()
                                .cpu("string")
                                .memory("string")
                                .build())
                            .requests(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs.builder()
                                .cpu("string")
                                .memory("string")
                                .build())
                            .build())
                        .podAffinity("string")
                        .podTolerations(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs.builder()
                            .effect("string")
                            .key("string")
                            .operator("string")
                            .value("string")
                            .build())
                        .replicaCount(0)
                        .build())
                    .exemptableNamespaces("string")
                    .logDeniesEnabled(false)
                    .monitoring(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs.builder()
                        .backends("string")
                        .build())
                    .mutationEnabled(false)
                    .policyContent(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs.builder()
                        .bundles(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs.builder()
                            .bundle("string")
                            .exemptedNamespaces("string")
                            .build())
                        .templateLibrary(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs.builder()
                            .installation("string")
                            .build())
                        .build())
                    .referentialRulesEnabled(false)
                    .build())
                .version("string")
                .build())
            .build())
        .labels(Map.of("string", "string"))
        .name("string")
        .project("string")
        .spec(FeatureSpecArgs.builder()
            .clusterupgrade(FeatureSpecClusterupgradeArgs.builder()
                .upstreamFleets("string")
                .gkeUpgradeOverrides(FeatureSpecClusterupgradeGkeUpgradeOverrideArgs.builder()
                    .postConditions(FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs.builder()
                        .soaking("string")
                        .build())
                    .upgrade(FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs.builder()
                        .name("string")
                        .version("string")
                        .build())
                    .build())
                .postConditions(FeatureSpecClusterupgradePostConditionsArgs.builder()
                    .soaking("string")
                    .build())
                .build())
            .fleetobservability(FeatureSpecFleetobservabilityArgs.builder()
                .loggingConfig(FeatureSpecFleetobservabilityLoggingConfigArgs.builder()
                    .defaultConfig(FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs.builder()
                        .mode("string")
                        .build())
                    .fleetScopeLogsConfig(FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs.builder()
                        .mode("string")
                        .build())
                    .build())
                .build())
            .multiclusteringress(FeatureSpecMulticlusteringressArgs.builder()
                .configMembership("string")
                .build())
            .build())
        .build());
    
    feature_resource = gcp.gkehub.Feature("featureResource",
        location="string",
        fleet_default_member_config=gcp.gkehub.FeatureFleetDefaultMemberConfigArgs(
            configmanagement=gcp.gkehub.FeatureFleetDefaultMemberConfigConfigmanagementArgs(
                config_sync=gcp.gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs(
                    git=gcp.gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs(
                        secret_type="string",
                        gcp_service_account_email="string",
                        https_proxy="string",
                        policy_dir="string",
                        sync_branch="string",
                        sync_repo="string",
                        sync_rev="string",
                        sync_wait_secs="string",
                    ),
                    oci=gcp.gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs(
                        secret_type="string",
                        gcp_service_account_email="string",
                        policy_dir="string",
                        sync_repo="string",
                        sync_wait_secs="string",
                    ),
                    prevent_drift=False,
                    source_format="string",
                ),
                version="string",
            ),
            mesh=gcp.gkehub.FeatureFleetDefaultMemberConfigMeshArgs(
                management="string",
            ),
            policycontroller=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerArgs(
                policy_controller_hub_config=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs(
                    install_spec="string",
                    audit_interval_seconds=0,
                    constraint_violation_limit=0,
                    deployment_configs=[gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs(
                        component="string",
                        container_resources=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs(
                            limits=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs(
                                cpu="string",
                                memory="string",
                            ),
                            requests=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs(
                                cpu="string",
                                memory="string",
                            ),
                        ),
                        pod_affinity="string",
                        pod_tolerations=[gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs(
                            effect="string",
                            key="string",
                            operator="string",
                            value="string",
                        )],
                        replica_count=0,
                    )],
                    exemptable_namespaces=["string"],
                    log_denies_enabled=False,
                    monitoring=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs(
                        backends=["string"],
                    ),
                    mutation_enabled=False,
                    policy_content=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs(
                        bundles=[gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs(
                            bundle="string",
                            exempted_namespaces=["string"],
                        )],
                        template_library=gcp.gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs(
                            installation="string",
                        ),
                    ),
                    referential_rules_enabled=False,
                ),
                version="string",
            ),
        ),
        labels={
            "string": "string",
        },
        name="string",
        project="string",
        spec=gcp.gkehub.FeatureSpecArgs(
            clusterupgrade=gcp.gkehub.FeatureSpecClusterupgradeArgs(
                upstream_fleets=["string"],
                gke_upgrade_overrides=[gcp.gkehub.FeatureSpecClusterupgradeGkeUpgradeOverrideArgs(
                    post_conditions=gcp.gkehub.FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs(
                        soaking="string",
                    ),
                    upgrade=gcp.gkehub.FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs(
                        name="string",
                        version="string",
                    ),
                )],
                post_conditions=gcp.gkehub.FeatureSpecClusterupgradePostConditionsArgs(
                    soaking="string",
                ),
            ),
            fleetobservability=gcp.gkehub.FeatureSpecFleetobservabilityArgs(
                logging_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigArgs(
                    default_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs(
                        mode="string",
                    ),
                    fleet_scope_logs_config=gcp.gkehub.FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs(
                        mode="string",
                    ),
                ),
            ),
            multiclusteringress=gcp.gkehub.FeatureSpecMulticlusteringressArgs(
                config_membership="string",
            ),
        ))
    
    const featureResource = new gcp.gkehub.Feature("featureResource", {
        location: "string",
        fleetDefaultMemberConfig: {
            configmanagement: {
                configSync: {
                    git: {
                        secretType: "string",
                        gcpServiceAccountEmail: "string",
                        httpsProxy: "string",
                        policyDir: "string",
                        syncBranch: "string",
                        syncRepo: "string",
                        syncRev: "string",
                        syncWaitSecs: "string",
                    },
                    oci: {
                        secretType: "string",
                        gcpServiceAccountEmail: "string",
                        policyDir: "string",
                        syncRepo: "string",
                        syncWaitSecs: "string",
                    },
                    preventDrift: false,
                    sourceFormat: "string",
                },
                version: "string",
            },
            mesh: {
                management: "string",
            },
            policycontroller: {
                policyControllerHubConfig: {
                    installSpec: "string",
                    auditIntervalSeconds: 0,
                    constraintViolationLimit: 0,
                    deploymentConfigs: [{
                        component: "string",
                        containerResources: {
                            limits: {
                                cpu: "string",
                                memory: "string",
                            },
                            requests: {
                                cpu: "string",
                                memory: "string",
                            },
                        },
                        podAffinity: "string",
                        podTolerations: [{
                            effect: "string",
                            key: "string",
                            operator: "string",
                            value: "string",
                        }],
                        replicaCount: 0,
                    }],
                    exemptableNamespaces: ["string"],
                    logDeniesEnabled: false,
                    monitoring: {
                        backends: ["string"],
                    },
                    mutationEnabled: false,
                    policyContent: {
                        bundles: [{
                            bundle: "string",
                            exemptedNamespaces: ["string"],
                        }],
                        templateLibrary: {
                            installation: "string",
                        },
                    },
                    referentialRulesEnabled: false,
                },
                version: "string",
            },
        },
        labels: {
            string: "string",
        },
        name: "string",
        project: "string",
        spec: {
            clusterupgrade: {
                upstreamFleets: ["string"],
                gkeUpgradeOverrides: [{
                    postConditions: {
                        soaking: "string",
                    },
                    upgrade: {
                        name: "string",
                        version: "string",
                    },
                }],
                postConditions: {
                    soaking: "string",
                },
            },
            fleetobservability: {
                loggingConfig: {
                    defaultConfig: {
                        mode: "string",
                    },
                    fleetScopeLogsConfig: {
                        mode: "string",
                    },
                },
            },
            multiclusteringress: {
                configMembership: "string",
            },
        },
    });
    
    type: gcp:gkehub:Feature
    properties:
        fleetDefaultMemberConfig:
            configmanagement:
                configSync:
                    git:
                        gcpServiceAccountEmail: string
                        httpsProxy: string
                        policyDir: string
                        secretType: string
                        syncBranch: string
                        syncRepo: string
                        syncRev: string
                        syncWaitSecs: string
                    oci:
                        gcpServiceAccountEmail: string
                        policyDir: string
                        secretType: string
                        syncRepo: string
                        syncWaitSecs: string
                    preventDrift: false
                    sourceFormat: string
                version: string
            mesh:
                management: string
            policycontroller:
                policyControllerHubConfig:
                    auditIntervalSeconds: 0
                    constraintViolationLimit: 0
                    deploymentConfigs:
                        - component: string
                          containerResources:
                            limits:
                                cpu: string
                                memory: string
                            requests:
                                cpu: string
                                memory: string
                          podAffinity: string
                          podTolerations:
                            - effect: string
                              key: string
                              operator: string
                              value: string
                          replicaCount: 0
                    exemptableNamespaces:
                        - string
                    installSpec: string
                    logDeniesEnabled: false
                    monitoring:
                        backends:
                            - string
                    mutationEnabled: false
                    policyContent:
                        bundles:
                            - bundle: string
                              exemptedNamespaces:
                                - string
                        templateLibrary:
                            installation: string
                    referentialRulesEnabled: false
                version: string
        labels:
            string: string
        location: string
        name: string
        project: string
        spec:
            clusterupgrade:
                gkeUpgradeOverrides:
                    - postConditions:
                        soaking: string
                      upgrade:
                        name: string
                        version: string
                postConditions:
                    soaking: string
                upstreamFleets:
                    - string
            fleetobservability:
                loggingConfig:
                    defaultConfig:
                        mode: string
                    fleetScopeLogsConfig:
                        mode: string
            multiclusteringress:
                configMembership: string
    

    Feature Resource Properties

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

    Inputs

    The Feature resource accepts the following input properties:

    Location string
    The location for the resource


    FleetDefaultMemberConfig FeatureFleetDefaultMemberConfig
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    Labels Dictionary<string, string>
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    Name string
    The full, unique name of this Feature resource
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Spec FeatureSpec
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    Location string
    The location for the resource


    FleetDefaultMemberConfig FeatureFleetDefaultMemberConfigArgs
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    Labels map[string]string
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    Name string
    The full, unique name of this Feature resource
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Spec FeatureSpecArgs
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    location String
    The location for the resource


    fleetDefaultMemberConfig FeatureFleetDefaultMemberConfig
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    labels Map<String,String>
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    name String
    The full, unique name of this Feature resource
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    spec FeatureSpec
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    location string
    The location for the resource


    fleetDefaultMemberConfig FeatureFleetDefaultMemberConfig
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    labels {[key: string]: string}
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    name string
    The full, unique name of this Feature resource
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    spec FeatureSpec
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    location str
    The location for the resource


    fleet_default_member_config FeatureFleetDefaultMemberConfigArgs
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    labels Mapping[str, str]
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    name str
    The full, unique name of this Feature resource
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    spec FeatureSpecArgs
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    location String
    The location for the resource


    fleetDefaultMemberConfig Property Map
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    labels Map<String>
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    name String
    The full, unique name of this Feature resource
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    spec Property Map
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.

    Outputs

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

    CreateTime string
    Output only. When the Feature resource was created.
    DeleteTime string
    Output only. When the Feature resource 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.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    ResourceStates List<FeatureResourceState>
    State of the Feature resource itself. Structure is documented below.
    States List<FeatureState>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    UpdateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    CreateTime string
    Output only. When the Feature resource was created.
    DeleteTime string
    Output only. When the Feature resource 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.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    ResourceStates []FeatureResourceState
    State of the Feature resource itself. Structure is documented below.
    States []FeatureStateType
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    UpdateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    createTime String
    Output only. When the Feature resource was created.
    deleteTime String
    Output only. When the Feature resource 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.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    resourceStates List<FeatureResourceState>
    State of the Feature resource itself. Structure is documented below.
    states List<FeatureState>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    updateTime String
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    createTime string
    Output only. When the Feature resource was created.
    deleteTime string
    Output only. When the Feature resource 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.
    id string
    The provider-assigned unique ID for this managed resource.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    resourceStates FeatureResourceState[]
    State of the Feature resource itself. Structure is documented below.
    states FeatureState[]
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    updateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    create_time str
    Output only. When the Feature resource was created.
    delete_time str
    Output only. When the Feature resource 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.
    id str
    The provider-assigned unique ID for this managed resource.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    resource_states Sequence[FeatureResourceState]
    State of the Feature resource itself. Structure is documented below.
    states Sequence[FeatureState]
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    update_time str
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    createTime String
    Output only. When the Feature resource was created.
    deleteTime String
    Output only. When the Feature resource 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.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    resourceStates List<Property Map>
    State of the Feature resource itself. Structure is documented below.
    states List<Property Map>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    updateTime String
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"

    Look up Existing Feature Resource

    Get an existing Feature 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?: FeatureState, opts?: CustomResourceOptions): Feature
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            create_time: Optional[str] = None,
            delete_time: Optional[str] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            fleet_default_member_config: Optional[FeatureFleetDefaultMemberConfigArgs] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            resource_states: Optional[Sequence[FeatureResourceStateArgs]] = None,
            spec: Optional[FeatureSpecArgs] = None,
            states: Optional[Sequence[FeatureStateArgs]] = None,
            update_time: Optional[str] = None) -> Feature
    func GetFeature(ctx *Context, name string, id IDInput, state *FeatureState, opts ...ResourceOption) (*Feature, error)
    public static Feature Get(string name, Input<string> id, FeatureState? state, CustomResourceOptions? opts = null)
    public static Feature get(String name, Output<String> id, FeatureState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreateTime string
    Output only. When the Feature resource was created.
    DeleteTime string
    Output only. When the Feature resource 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.
    FleetDefaultMemberConfig FeatureFleetDefaultMemberConfig
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    Labels Dictionary<string, string>
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    Location string
    The location for the resource


    Name string
    The full, unique name of this Feature resource
    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.
    ResourceStates List<FeatureResourceState>
    State of the Feature resource itself. Structure is documented below.
    Spec FeatureSpec
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    States List<FeatureState>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    UpdateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    CreateTime string
    Output only. When the Feature resource was created.
    DeleteTime string
    Output only. When the Feature resource 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.
    FleetDefaultMemberConfig FeatureFleetDefaultMemberConfigArgs
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    Labels map[string]string
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    Location string
    The location for the resource


    Name string
    The full, unique name of this Feature resource
    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.
    ResourceStates []FeatureResourceStateArgs
    State of the Feature resource itself. Structure is documented below.
    Spec FeatureSpecArgs
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    States []FeatureStateTypeArgs
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    UpdateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    createTime String
    Output only. When the Feature resource was created.
    deleteTime String
    Output only. When the Feature resource 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.
    fleetDefaultMemberConfig FeatureFleetDefaultMemberConfig
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    labels Map<String,String>
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    location String
    The location for the resource


    name String
    The full, unique name of this Feature resource
    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.
    resourceStates List<FeatureResourceState>
    State of the Feature resource itself. Structure is documented below.
    spec FeatureSpec
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    states List<FeatureState>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    updateTime String
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    createTime string
    Output only. When the Feature resource was created.
    deleteTime string
    Output only. When the Feature resource 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.
    fleetDefaultMemberConfig FeatureFleetDefaultMemberConfig
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    labels {[key: string]: string}
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    location string
    The location for the resource


    name string
    The full, unique name of this Feature resource
    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.
    resourceStates FeatureResourceState[]
    State of the Feature resource itself. Structure is documented below.
    spec FeatureSpec
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    states FeatureState[]
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    updateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    create_time str
    Output only. When the Feature resource was created.
    delete_time str
    Output only. When the Feature resource 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.
    fleet_default_member_config FeatureFleetDefaultMemberConfigArgs
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    labels Mapping[str, str]
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    location str
    The location for the resource


    name str
    The full, unique name of this Feature resource
    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.
    resource_states Sequence[FeatureResourceStateArgs]
    State of the Feature resource itself. Structure is documented below.
    spec FeatureSpecArgs
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    states Sequence[FeatureStateArgs]
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    update_time str
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    createTime String
    Output only. When the Feature resource was created.
    deleteTime String
    Output only. When the Feature resource 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.
    fleetDefaultMemberConfig Property Map
    Optional. Fleet Default Membership Configuration. Structure is documented below.
    labels Map<String>
    GCP labels for this Feature. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    location String
    The location for the resource


    name String
    The full, unique name of this Feature resource
    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.
    resourceStates List<Property Map>
    State of the Feature resource itself. Structure is documented below.
    spec Property Map
    Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Structure is documented below.
    states List<Property Map>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    updateTime String
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"

    Supporting Types

    FeatureFleetDefaultMemberConfig, FeatureFleetDefaultMemberConfigArgs

    Configmanagement FeatureFleetDefaultMemberConfigConfigmanagement
    Config Management spec Structure is documented below.
    Mesh FeatureFleetDefaultMemberConfigMesh
    Service Mesh spec Structure is documented below.
    Policycontroller FeatureFleetDefaultMemberConfigPolicycontroller
    Policy Controller spec Structure is documented below.
    Configmanagement FeatureFleetDefaultMemberConfigConfigmanagement
    Config Management spec Structure is documented below.
    Mesh FeatureFleetDefaultMemberConfigMesh
    Service Mesh spec Structure is documented below.
    Policycontroller FeatureFleetDefaultMemberConfigPolicycontroller
    Policy Controller spec Structure is documented below.
    configmanagement FeatureFleetDefaultMemberConfigConfigmanagement
    Config Management spec Structure is documented below.
    mesh FeatureFleetDefaultMemberConfigMesh
    Service Mesh spec Structure is documented below.
    policycontroller FeatureFleetDefaultMemberConfigPolicycontroller
    Policy Controller spec Structure is documented below.
    configmanagement FeatureFleetDefaultMemberConfigConfigmanagement
    Config Management spec Structure is documented below.
    mesh FeatureFleetDefaultMemberConfigMesh
    Service Mesh spec Structure is documented below.
    policycontroller FeatureFleetDefaultMemberConfigPolicycontroller
    Policy Controller spec Structure is documented below.
    configmanagement FeatureFleetDefaultMemberConfigConfigmanagement
    Config Management spec Structure is documented below.
    mesh FeatureFleetDefaultMemberConfigMesh
    Service Mesh spec Structure is documented below.
    policycontroller FeatureFleetDefaultMemberConfigPolicycontroller
    Policy Controller spec Structure is documented below.
    configmanagement Property Map
    Config Management spec Structure is documented below.
    mesh Property Map
    Service Mesh spec Structure is documented below.
    policycontroller Property Map
    Policy Controller spec Structure is documented below.

    FeatureFleetDefaultMemberConfigConfigmanagement, FeatureFleetDefaultMemberConfigConfigmanagementArgs

    ConfigSync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
    ConfigSync configuration for the cluster Structure is documented below.
    Version string
    Version of ACM installed
    ConfigSync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
    ConfigSync configuration for the cluster Structure is documented below.
    Version string
    Version of ACM installed
    configSync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
    ConfigSync configuration for the cluster Structure is documented below.
    version String
    Version of ACM installed
    configSync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
    ConfigSync configuration for the cluster Structure is documented below.
    version string
    Version of ACM installed
    config_sync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
    ConfigSync configuration for the cluster Structure is documented below.
    version str
    Version of ACM installed
    configSync Property Map
    ConfigSync configuration for the cluster Structure is documented below.
    version String
    Version of ACM installed

    FeatureFleetDefaultMemberConfigConfigmanagementConfigSync, FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs

    Git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
    Git repo configuration for the cluster Structure is documented below.
    Oci FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci
    OCI repo configuration for the cluster Structure is documented below.
    PreventDrift bool
    Set to true to enable the Config Sync admission webhook to prevent drifts. If set to false, disables the Config Sync admission webhook and does not prevent drifts.
    SourceFormat string
    Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
    Git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
    Git repo configuration for the cluster Structure is documented below.
    Oci FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci
    OCI repo configuration for the cluster Structure is documented below.
    PreventDrift bool
    Set to true to enable the Config Sync admission webhook to prevent drifts. If set to false, disables the Config Sync admission webhook and does not prevent drifts.
    SourceFormat string
    Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
    git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
    Git repo configuration for the cluster Structure is documented below.
    oci FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci
    OCI repo configuration for the cluster Structure is documented below.
    preventDrift Boolean
    Set to true to enable the Config Sync admission webhook to prevent drifts. If set to false, disables the Config Sync admission webhook and does not prevent drifts.
    sourceFormat String
    Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
    git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
    Git repo configuration for the cluster Structure is documented below.
    oci FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci
    OCI repo configuration for the cluster Structure is documented below.
    preventDrift boolean
    Set to true to enable the Config Sync admission webhook to prevent drifts. If set to false, disables the Config Sync admission webhook and does not prevent drifts.
    sourceFormat string
    Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
    git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
    Git repo configuration for the cluster Structure is documented below.
    oci FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci
    OCI repo configuration for the cluster Structure is documented below.
    prevent_drift bool
    Set to true to enable the Config Sync admission webhook to prevent drifts. If set to false, disables the Config Sync admission webhook and does not prevent drifts.
    source_format str
    Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
    git Property Map
    Git repo configuration for the cluster Structure is documented below.
    oci Property Map
    OCI repo configuration for the cluster Structure is documented below.
    preventDrift Boolean
    Set to true to enable the Config Sync admission webhook to prevent drifts. If set to false, disables the Config Sync admission webhook and does not prevent drifts.
    sourceFormat String
    Specifies whether the Config Sync Repo is in hierarchical or unstructured mode

    FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit, FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs

    SecretType string
    Type of secret configured for access to the Git repo
    GcpServiceAccountEmail string
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    HttpsProxy string
    URL for the HTTPS Proxy to be used when communicating with the Git repo
    PolicyDir string
    The path within the Git repository that represents the top level of the repo to sync
    SyncBranch string
    The branch of the repository to sync from. Default: master
    SyncRepo string
    The URL of the Git repository to use as the source of truth
    SyncRev string
    Git revision (tag or hash) to check out. Default HEAD
    SyncWaitSecs string
    Period in seconds between consecutive syncs. Default: 15
    SecretType string
    Type of secret configured for access to the Git repo
    GcpServiceAccountEmail string
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    HttpsProxy string
    URL for the HTTPS Proxy to be used when communicating with the Git repo
    PolicyDir string
    The path within the Git repository that represents the top level of the repo to sync
    SyncBranch string
    The branch of the repository to sync from. Default: master
    SyncRepo string
    The URL of the Git repository to use as the source of truth
    SyncRev string
    Git revision (tag or hash) to check out. Default HEAD
    SyncWaitSecs string
    Period in seconds between consecutive syncs. Default: 15
    secretType String
    Type of secret configured for access to the Git repo
    gcpServiceAccountEmail String
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    httpsProxy String
    URL for the HTTPS Proxy to be used when communicating with the Git repo
    policyDir String
    The path within the Git repository that represents the top level of the repo to sync
    syncBranch String
    The branch of the repository to sync from. Default: master
    syncRepo String
    The URL of the Git repository to use as the source of truth
    syncRev String
    Git revision (tag or hash) to check out. Default HEAD
    syncWaitSecs String
    Period in seconds between consecutive syncs. Default: 15
    secretType string
    Type of secret configured for access to the Git repo
    gcpServiceAccountEmail string
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    httpsProxy string
    URL for the HTTPS Proxy to be used when communicating with the Git repo
    policyDir string
    The path within the Git repository that represents the top level of the repo to sync
    syncBranch string
    The branch of the repository to sync from. Default: master
    syncRepo string
    The URL of the Git repository to use as the source of truth
    syncRev string
    Git revision (tag or hash) to check out. Default HEAD
    syncWaitSecs string
    Period in seconds between consecutive syncs. Default: 15
    secret_type str
    Type of secret configured for access to the Git repo
    gcp_service_account_email str
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    https_proxy str
    URL for the HTTPS Proxy to be used when communicating with the Git repo
    policy_dir str
    The path within the Git repository that represents the top level of the repo to sync
    sync_branch str
    The branch of the repository to sync from. Default: master
    sync_repo str
    The URL of the Git repository to use as the source of truth
    sync_rev str
    Git revision (tag or hash) to check out. Default HEAD
    sync_wait_secs str
    Period in seconds between consecutive syncs. Default: 15
    secretType String
    Type of secret configured for access to the Git repo
    gcpServiceAccountEmail String
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    httpsProxy String
    URL for the HTTPS Proxy to be used when communicating with the Git repo
    policyDir String
    The path within the Git repository that represents the top level of the repo to sync
    syncBranch String
    The branch of the repository to sync from. Default: master
    syncRepo String
    The URL of the Git repository to use as the source of truth
    syncRev String
    Git revision (tag or hash) to check out. Default HEAD
    syncWaitSecs String
    Period in seconds between consecutive syncs. Default: 15

    FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci, FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs

    SecretType string
    Type of secret configured for access to the Git repo
    GcpServiceAccountEmail string
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    PolicyDir string
    The absolute path of the directory that contains the local resources. Default: the root directory of the image
    SyncRepo string
    The OCI image repository URL for the package to sync from
    SyncWaitSecs string
    Period in seconds between consecutive syncs. Default: 15
    Version string

    (Optional, Deprecated) Version of ACM installed

    Warning: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    Deprecated: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    SecretType string
    Type of secret configured for access to the Git repo
    GcpServiceAccountEmail string
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    PolicyDir string
    The absolute path of the directory that contains the local resources. Default: the root directory of the image
    SyncRepo string
    The OCI image repository URL for the package to sync from
    SyncWaitSecs string
    Period in seconds between consecutive syncs. Default: 15
    Version string

    (Optional, Deprecated) Version of ACM installed

    Warning: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    Deprecated: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    secretType String
    Type of secret configured for access to the Git repo
    gcpServiceAccountEmail String
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    policyDir String
    The absolute path of the directory that contains the local resources. Default: the root directory of the image
    syncRepo String
    The OCI image repository URL for the package to sync from
    syncWaitSecs String
    Period in seconds between consecutive syncs. Default: 15
    version String

    (Optional, Deprecated) Version of ACM installed

    Warning: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    Deprecated: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    secretType string
    Type of secret configured for access to the Git repo
    gcpServiceAccountEmail string
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    policyDir string
    The absolute path of the directory that contains the local resources. Default: the root directory of the image
    syncRepo string
    The OCI image repository URL for the package to sync from
    syncWaitSecs string
    Period in seconds between consecutive syncs. Default: 15
    version string

    (Optional, Deprecated) Version of ACM installed

    Warning: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    Deprecated: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    secret_type str
    Type of secret configured for access to the Git repo
    gcp_service_account_email str
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    policy_dir str
    The absolute path of the directory that contains the local resources. Default: the root directory of the image
    sync_repo str
    The OCI image repository URL for the package to sync from
    sync_wait_secs str
    Period in seconds between consecutive syncs. Default: 15
    version str

    (Optional, Deprecated) Version of ACM installed

    Warning: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    Deprecated: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    secretType String
    Type of secret configured for access to the Git repo
    gcpServiceAccountEmail String
    The Google Cloud Service Account Email used for auth when secretType is gcpServiceAccount
    policyDir String
    The absolute path of the directory that contains the local resources. Default: the root directory of the image
    syncRepo String
    The OCI image repository URL for the package to sync from
    syncWaitSecs String
    Period in seconds between consecutive syncs. Default: 15
    version String

    (Optional, Deprecated) Version of ACM installed

    Warning: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    Deprecated: The configmanagement.config_sync.oci.version field is deprecated and will be removed in a future major release. Please use configmanagement.version field to specify the version of ACM installed instead.

    FeatureFleetDefaultMemberConfigMesh, FeatureFleetDefaultMemberConfigMeshArgs

    Management string
    Whether to automatically manage Service Mesh Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
    Management string
    Whether to automatically manage Service Mesh Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
    management String
    Whether to automatically manage Service Mesh Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
    management string
    Whether to automatically manage Service Mesh Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
    management str
    Whether to automatically manage Service Mesh Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
    management String
    Whether to automatically manage Service Mesh Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.

    FeatureFleetDefaultMemberConfigPolicycontroller, FeatureFleetDefaultMemberConfigPolicycontrollerArgs

    PolicyControllerHubConfig FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfig
    Configuration of Policy Controller Structure is documented below.
    Version string
    Configures the version of Policy Controller
    PolicyControllerHubConfig FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfig
    Configuration of Policy Controller Structure is documented below.
    Version string
    Configures the version of Policy Controller
    policyControllerHubConfig FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfig
    Configuration of Policy Controller Structure is documented below.
    version String
    Configures the version of Policy Controller
    policyControllerHubConfig FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfig
    Configuration of Policy Controller Structure is documented below.
    version string
    Configures the version of Policy Controller
    policy_controller_hub_config FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfig
    Configuration of Policy Controller Structure is documented below.
    version str
    Configures the version of Policy Controller
    policyControllerHubConfig Property Map
    Configuration of Policy Controller Structure is documented below.
    version String
    Configures the version of Policy Controller

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfig, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs

    InstallSpec string
    Configures the mode of the Policy Controller installation Possible values are: INSTALL_SPEC_UNSPECIFIED, INSTALL_SPEC_NOT_INSTALLED, INSTALL_SPEC_ENABLED, INSTALL_SPEC_SUSPENDED, INSTALL_SPEC_DETACHED.
    AuditIntervalSeconds int
    Interval for Policy Controller Audit scans (in seconds). When set to 0, this disables audit functionality altogether.
    ConstraintViolationLimit int
    The maximum number of audit violations to be stored in a constraint. If not set, the internal default of 20 will be used.
    DeploymentConfigs List<FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfig>
    Map of deployment configs to deployments ("admission", "audit", "mutation"). Structure is documented below.
    ExemptableNamespaces List<string>
    The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
    LogDeniesEnabled bool
    Logs all denies and dry run failures.
    Monitoring FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoring
    Monitoring specifies the configuration of monitoring Policy Controller. Structure is documented below.
    MutationEnabled bool
    Enables the ability to mutate resources using Policy Controller.
    PolicyContent FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContent
    Specifies the desired policy content on the cluster. Structure is documented below.
    ReferentialRulesEnabled bool
    Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
    InstallSpec string
    Configures the mode of the Policy Controller installation Possible values are: INSTALL_SPEC_UNSPECIFIED, INSTALL_SPEC_NOT_INSTALLED, INSTALL_SPEC_ENABLED, INSTALL_SPEC_SUSPENDED, INSTALL_SPEC_DETACHED.
    AuditIntervalSeconds int
    Interval for Policy Controller Audit scans (in seconds). When set to 0, this disables audit functionality altogether.
    ConstraintViolationLimit int
    The maximum number of audit violations to be stored in a constraint. If not set, the internal default of 20 will be used.
    DeploymentConfigs []FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfig
    Map of deployment configs to deployments ("admission", "audit", "mutation"). Structure is documented below.
    ExemptableNamespaces []string
    The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
    LogDeniesEnabled bool
    Logs all denies and dry run failures.
    Monitoring FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoring
    Monitoring specifies the configuration of monitoring Policy Controller. Structure is documented below.
    MutationEnabled bool
    Enables the ability to mutate resources using Policy Controller.
    PolicyContent FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContent
    Specifies the desired policy content on the cluster. Structure is documented below.
    ReferentialRulesEnabled bool
    Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
    installSpec String
    Configures the mode of the Policy Controller installation Possible values are: INSTALL_SPEC_UNSPECIFIED, INSTALL_SPEC_NOT_INSTALLED, INSTALL_SPEC_ENABLED, INSTALL_SPEC_SUSPENDED, INSTALL_SPEC_DETACHED.
    auditIntervalSeconds Integer
    Interval for Policy Controller Audit scans (in seconds). When set to 0, this disables audit functionality altogether.
    constraintViolationLimit Integer
    The maximum number of audit violations to be stored in a constraint. If not set, the internal default of 20 will be used.
    deploymentConfigs List<FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfig>
    Map of deployment configs to deployments ("admission", "audit", "mutation"). Structure is documented below.
    exemptableNamespaces List<String>
    The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
    logDeniesEnabled Boolean
    Logs all denies and dry run failures.
    monitoring FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoring
    Monitoring specifies the configuration of monitoring Policy Controller. Structure is documented below.
    mutationEnabled Boolean
    Enables the ability to mutate resources using Policy Controller.
    policyContent FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContent
    Specifies the desired policy content on the cluster. Structure is documented below.
    referentialRulesEnabled Boolean
    Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
    installSpec string
    Configures the mode of the Policy Controller installation Possible values are: INSTALL_SPEC_UNSPECIFIED, INSTALL_SPEC_NOT_INSTALLED, INSTALL_SPEC_ENABLED, INSTALL_SPEC_SUSPENDED, INSTALL_SPEC_DETACHED.
    auditIntervalSeconds number
    Interval for Policy Controller Audit scans (in seconds). When set to 0, this disables audit functionality altogether.
    constraintViolationLimit number
    The maximum number of audit violations to be stored in a constraint. If not set, the internal default of 20 will be used.
    deploymentConfigs FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfig[]
    Map of deployment configs to deployments ("admission", "audit", "mutation"). Structure is documented below.
    exemptableNamespaces string[]
    The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
    logDeniesEnabled boolean
    Logs all denies and dry run failures.
    monitoring FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoring
    Monitoring specifies the configuration of monitoring Policy Controller. Structure is documented below.
    mutationEnabled boolean
    Enables the ability to mutate resources using Policy Controller.
    policyContent FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContent
    Specifies the desired policy content on the cluster. Structure is documented below.
    referentialRulesEnabled boolean
    Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
    install_spec str
    Configures the mode of the Policy Controller installation Possible values are: INSTALL_SPEC_UNSPECIFIED, INSTALL_SPEC_NOT_INSTALLED, INSTALL_SPEC_ENABLED, INSTALL_SPEC_SUSPENDED, INSTALL_SPEC_DETACHED.
    audit_interval_seconds int
    Interval for Policy Controller Audit scans (in seconds). When set to 0, this disables audit functionality altogether.
    constraint_violation_limit int
    The maximum number of audit violations to be stored in a constraint. If not set, the internal default of 20 will be used.
    deployment_configs Sequence[FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfig]
    Map of deployment configs to deployments ("admission", "audit", "mutation"). Structure is documented below.
    exemptable_namespaces Sequence[str]
    The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
    log_denies_enabled bool
    Logs all denies and dry run failures.
    monitoring FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoring
    Monitoring specifies the configuration of monitoring Policy Controller. Structure is documented below.
    mutation_enabled bool
    Enables the ability to mutate resources using Policy Controller.
    policy_content FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContent
    Specifies the desired policy content on the cluster. Structure is documented below.
    referential_rules_enabled bool
    Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
    installSpec String
    Configures the mode of the Policy Controller installation Possible values are: INSTALL_SPEC_UNSPECIFIED, INSTALL_SPEC_NOT_INSTALLED, INSTALL_SPEC_ENABLED, INSTALL_SPEC_SUSPENDED, INSTALL_SPEC_DETACHED.
    auditIntervalSeconds Number
    Interval for Policy Controller Audit scans (in seconds). When set to 0, this disables audit functionality altogether.
    constraintViolationLimit Number
    The maximum number of audit violations to be stored in a constraint. If not set, the internal default of 20 will be used.
    deploymentConfigs List<Property Map>
    Map of deployment configs to deployments ("admission", "audit", "mutation"). Structure is documented below.
    exemptableNamespaces List<String>
    The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
    logDeniesEnabled Boolean
    Logs all denies and dry run failures.
    monitoring Property Map
    Monitoring specifies the configuration of monitoring Policy Controller. Structure is documented below.
    mutationEnabled Boolean
    Enables the ability to mutate resources using Policy Controller.
    policyContent Property Map
    Specifies the desired policy content on the cluster. Structure is documented below.
    referentialRulesEnabled Boolean
    Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfig, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs

    Component string
    The identifier for this object. Format specified above.
    ContainerResources FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResources
    Container resource requirements. Structure is documented below.
    PodAffinity string
    Pod affinity configuration. Possible values are: AFFINITY_UNSPECIFIED, NO_AFFINITY, ANTI_AFFINITY.
    PodTolerations List<FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodToleration>
    Pod tolerations of node taints. Structure is documented below.
    ReplicaCount int
    Pod replica count.
    Component string
    The identifier for this object. Format specified above.
    ContainerResources FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResources
    Container resource requirements. Structure is documented below.
    PodAffinity string
    Pod affinity configuration. Possible values are: AFFINITY_UNSPECIFIED, NO_AFFINITY, ANTI_AFFINITY.
    PodTolerations []FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodToleration
    Pod tolerations of node taints. Structure is documented below.
    ReplicaCount int
    Pod replica count.
    component String
    The identifier for this object. Format specified above.
    containerResources FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResources
    Container resource requirements. Structure is documented below.
    podAffinity String
    Pod affinity configuration. Possible values are: AFFINITY_UNSPECIFIED, NO_AFFINITY, ANTI_AFFINITY.
    podTolerations List<FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodToleration>
    Pod tolerations of node taints. Structure is documented below.
    replicaCount Integer
    Pod replica count.
    component string
    The identifier for this object. Format specified above.
    containerResources FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResources
    Container resource requirements. Structure is documented below.
    podAffinity string
    Pod affinity configuration. Possible values are: AFFINITY_UNSPECIFIED, NO_AFFINITY, ANTI_AFFINITY.
    podTolerations FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodToleration[]
    Pod tolerations of node taints. Structure is documented below.
    replicaCount number
    Pod replica count.
    component str
    The identifier for this object. Format specified above.
    container_resources FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResources
    Container resource requirements. Structure is documented below.
    pod_affinity str
    Pod affinity configuration. Possible values are: AFFINITY_UNSPECIFIED, NO_AFFINITY, ANTI_AFFINITY.
    pod_tolerations Sequence[FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodToleration]
    Pod tolerations of node taints. Structure is documented below.
    replica_count int
    Pod replica count.
    component String
    The identifier for this object. Format specified above.
    containerResources Property Map
    Container resource requirements. Structure is documented below.
    podAffinity String
    Pod affinity configuration. Possible values are: AFFINITY_UNSPECIFIED, NO_AFFINITY, ANTI_AFFINITY.
    podTolerations List<Property Map>
    Pod tolerations of node taints. Structure is documented below.
    replicaCount Number
    Pod replica count.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResources, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesArgs

    Limits FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimits
    Limits describes the maximum amount of compute resources allowed for use by the running container. Structure is documented below.
    Requests FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequests
    Requests describes the amount of compute resources reserved for the container by the kube-scheduler. Structure is documented below.
    Limits FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimits
    Limits describes the maximum amount of compute resources allowed for use by the running container. Structure is documented below.
    Requests FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequests
    Requests describes the amount of compute resources reserved for the container by the kube-scheduler. Structure is documented below.
    limits FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimits
    Limits describes the maximum amount of compute resources allowed for use by the running container. Structure is documented below.
    requests FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequests
    Requests describes the amount of compute resources reserved for the container by the kube-scheduler. Structure is documented below.
    limits FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimits
    Limits describes the maximum amount of compute resources allowed for use by the running container. Structure is documented below.
    requests FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequests
    Requests describes the amount of compute resources reserved for the container by the kube-scheduler. Structure is documented below.
    limits FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimits
    Limits describes the maximum amount of compute resources allowed for use by the running container. Structure is documented below.
    requests FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequests
    Requests describes the amount of compute resources reserved for the container by the kube-scheduler. Structure is documented below.
    limits Property Map
    Limits describes the maximum amount of compute resources allowed for use by the running container. Structure is documented below.
    requests Property Map
    Requests describes the amount of compute resources reserved for the container by the kube-scheduler. Structure is documented below.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimits, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesLimitsArgs

    Cpu string
    CPU requirement expressed in Kubernetes resource units.
    Memory string
    Memory requirement expressed in Kubernetes resource units.
    Cpu string
    CPU requirement expressed in Kubernetes resource units.
    Memory string
    Memory requirement expressed in Kubernetes resource units.
    cpu String
    CPU requirement expressed in Kubernetes resource units.
    memory String
    Memory requirement expressed in Kubernetes resource units.
    cpu string
    CPU requirement expressed in Kubernetes resource units.
    memory string
    Memory requirement expressed in Kubernetes resource units.
    cpu str
    CPU requirement expressed in Kubernetes resource units.
    memory str
    Memory requirement expressed in Kubernetes resource units.
    cpu String
    CPU requirement expressed in Kubernetes resource units.
    memory String
    Memory requirement expressed in Kubernetes resource units.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequests, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigContainerResourcesRequestsArgs

    Cpu string
    CPU requirement expressed in Kubernetes resource units.
    Memory string
    Memory requirement expressed in Kubernetes resource units.
    Cpu string
    CPU requirement expressed in Kubernetes resource units.
    Memory string
    Memory requirement expressed in Kubernetes resource units.
    cpu String
    CPU requirement expressed in Kubernetes resource units.
    memory String
    Memory requirement expressed in Kubernetes resource units.
    cpu string
    CPU requirement expressed in Kubernetes resource units.
    memory string
    Memory requirement expressed in Kubernetes resource units.
    cpu str
    CPU requirement expressed in Kubernetes resource units.
    memory str
    Memory requirement expressed in Kubernetes resource units.
    cpu String
    CPU requirement expressed in Kubernetes resource units.
    memory String
    Memory requirement expressed in Kubernetes resource units.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodToleration, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigPodTolerationArgs

    Effect string
    Matches a taint effect.
    Key string
    Matches a taint key (not necessarily unique).
    Operator string
    Matches a taint operator.
    Value string
    Matches a taint value.
    Effect string
    Matches a taint effect.
    Key string
    Matches a taint key (not necessarily unique).
    Operator string
    Matches a taint operator.
    Value string
    Matches a taint value.
    effect String
    Matches a taint effect.
    key String
    Matches a taint key (not necessarily unique).
    operator String
    Matches a taint operator.
    value String
    Matches a taint value.
    effect string
    Matches a taint effect.
    key string
    Matches a taint key (not necessarily unique).
    operator string
    Matches a taint operator.
    value string
    Matches a taint value.
    effect str
    Matches a taint effect.
    key str
    Matches a taint key (not necessarily unique).
    operator str
    Matches a taint operator.
    value str
    Matches a taint value.
    effect String
    Matches a taint effect.
    key String
    Matches a taint key (not necessarily unique).
    operator String
    Matches a taint operator.
    value String
    Matches a taint value.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoring, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs

    Backends List<string>
    Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. Each value may be one of: MONITORING_BACKEND_UNSPECIFIED, PROMETHEUS, CLOUD_MONITORING.
    Backends []string
    Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. Each value may be one of: MONITORING_BACKEND_UNSPECIFIED, PROMETHEUS, CLOUD_MONITORING.
    backends List<String>
    Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. Each value may be one of: MONITORING_BACKEND_UNSPECIFIED, PROMETHEUS, CLOUD_MONITORING.
    backends string[]
    Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. Each value may be one of: MONITORING_BACKEND_UNSPECIFIED, PROMETHEUS, CLOUD_MONITORING.
    backends Sequence[str]
    Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. Each value may be one of: MONITORING_BACKEND_UNSPECIFIED, PROMETHEUS, CLOUD_MONITORING.
    backends List<String>
    Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. Each value may be one of: MONITORING_BACKEND_UNSPECIFIED, PROMETHEUS, CLOUD_MONITORING.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContent, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs

    Bundles List<FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundle>
    Configures which bundles to install and their corresponding install specs. Structure is documented below.
    TemplateLibrary FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
    Configures the installation of the Template Library. Structure is documented below.
    Bundles []FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundle
    Configures which bundles to install and their corresponding install specs. Structure is documented below.
    TemplateLibrary FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
    Configures the installation of the Template Library. Structure is documented below.
    bundles List<FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundle>
    Configures which bundles to install and their corresponding install specs. Structure is documented below.
    templateLibrary FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
    Configures the installation of the Template Library. Structure is documented below.
    bundles FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundle[]
    Configures which bundles to install and their corresponding install specs. Structure is documented below.
    templateLibrary FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
    Configures the installation of the Template Library. Structure is documented below.
    bundles Sequence[FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundle]
    Configures which bundles to install and their corresponding install specs. Structure is documented below.
    template_library FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
    Configures the installation of the Template Library. Structure is documented below.
    bundles List<Property Map>
    Configures which bundles to install and their corresponding install specs. Structure is documented below.
    templateLibrary Property Map
    Configures the installation of the Template Library. Structure is documented below.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundle, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentBundleArgs

    Bundle string
    The identifier for this object. Format specified above.
    ExemptedNamespaces List<string>
    The set of namespaces to be exempted from the bundle.
    Bundle string
    The identifier for this object. Format specified above.
    ExemptedNamespaces []string
    The set of namespaces to be exempted from the bundle.
    bundle String
    The identifier for this object. Format specified above.
    exemptedNamespaces List<String>
    The set of namespaces to be exempted from the bundle.
    bundle string
    The identifier for this object. Format specified above.
    exemptedNamespaces string[]
    The set of namespaces to be exempted from the bundle.
    bundle str
    The identifier for this object. Format specified above.
    exempted_namespaces Sequence[str]
    The set of namespaces to be exempted from the bundle.
    bundle String
    The identifier for this object. Format specified above.
    exemptedNamespaces List<String>
    The set of namespaces to be exempted from the bundle.

    FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs

    Installation string
    Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALATION_UNSPECIFIED, NOT_INSTALLED, ALL.
    Installation string
    Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALATION_UNSPECIFIED, NOT_INSTALLED, ALL.
    installation String
    Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALATION_UNSPECIFIED, NOT_INSTALLED, ALL.
    installation string
    Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALATION_UNSPECIFIED, NOT_INSTALLED, ALL.
    installation str
    Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALATION_UNSPECIFIED, NOT_INSTALLED, ALL.
    installation String
    Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALATION_UNSPECIFIED, NOT_INSTALLED, ALL.

    FeatureResourceState, FeatureResourceStateArgs

    HasResources bool
    (Output) Whether this Feature has outstanding resources that need to be cleaned up before it can be disabled.
    State string
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    HasResources bool
    (Output) Whether this Feature has outstanding resources that need to be cleaned up before it can be disabled.
    State string
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    hasResources Boolean
    (Output) Whether this Feature has outstanding resources that need to be cleaned up before it can be disabled.
    state String
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    hasResources boolean
    (Output) Whether this Feature has outstanding resources that need to be cleaned up before it can be disabled.
    state string
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    has_resources bool
    (Output) Whether this Feature has outstanding resources that need to be cleaned up before it can be disabled.
    state str
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    hasResources Boolean
    (Output) Whether this Feature has outstanding resources that need to be cleaned up before it can be disabled.
    state String
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.

    FeatureSpec, FeatureSpecArgs

    Clusterupgrade FeatureSpecClusterupgrade
    Clusterupgrade feature spec. Structure is documented below.
    Fleetobservability FeatureSpecFleetobservability
    Fleet Observability feature spec. Structure is documented below.
    Multiclusteringress FeatureSpecMulticlusteringress
    Multicluster Ingress-specific spec. Structure is documented below.
    Clusterupgrade FeatureSpecClusterupgrade
    Clusterupgrade feature spec. Structure is documented below.
    Fleetobservability FeatureSpecFleetobservability
    Fleet Observability feature spec. Structure is documented below.
    Multiclusteringress FeatureSpecMulticlusteringress
    Multicluster Ingress-specific spec. Structure is documented below.
    clusterupgrade FeatureSpecClusterupgrade
    Clusterupgrade feature spec. Structure is documented below.
    fleetobservability FeatureSpecFleetobservability
    Fleet Observability feature spec. Structure is documented below.
    multiclusteringress FeatureSpecMulticlusteringress
    Multicluster Ingress-specific spec. Structure is documented below.
    clusterupgrade FeatureSpecClusterupgrade
    Clusterupgrade feature spec. Structure is documented below.
    fleetobservability FeatureSpecFleetobservability
    Fleet Observability feature spec. Structure is documented below.
    multiclusteringress FeatureSpecMulticlusteringress
    Multicluster Ingress-specific spec. Structure is documented below.
    clusterupgrade FeatureSpecClusterupgrade
    Clusterupgrade feature spec. Structure is documented below.
    fleetobservability FeatureSpecFleetobservability
    Fleet Observability feature spec. Structure is documented below.
    multiclusteringress FeatureSpecMulticlusteringress
    Multicluster Ingress-specific spec. Structure is documented below.
    clusterupgrade Property Map
    Clusterupgrade feature spec. Structure is documented below.
    fleetobservability Property Map
    Fleet Observability feature spec. Structure is documented below.
    multiclusteringress Property Map
    Multicluster Ingress-specific spec. Structure is documented below.

    FeatureSpecClusterupgrade, FeatureSpecClusterupgradeArgs

    UpstreamFleets List<string>
    Specified if other fleet should be considered as a source of upgrades. Currently, at most one upstream fleet is allowed. The fleet name should be either fleet project number or id.
    GkeUpgradeOverrides List<FeatureSpecClusterupgradeGkeUpgradeOverride>
    Configuration overrides for individual upgrades. Structure is documented below.
    PostConditions FeatureSpecClusterupgradePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    UpstreamFleets []string
    Specified if other fleet should be considered as a source of upgrades. Currently, at most one upstream fleet is allowed. The fleet name should be either fleet project number or id.
    GkeUpgradeOverrides []FeatureSpecClusterupgradeGkeUpgradeOverride
    Configuration overrides for individual upgrades. Structure is documented below.
    PostConditions FeatureSpecClusterupgradePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    upstreamFleets List<String>
    Specified if other fleet should be considered as a source of upgrades. Currently, at most one upstream fleet is allowed. The fleet name should be either fleet project number or id.
    gkeUpgradeOverrides List<FeatureSpecClusterupgradeGkeUpgradeOverride>
    Configuration overrides for individual upgrades. Structure is documented below.
    postConditions FeatureSpecClusterupgradePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    upstreamFleets string[]
    Specified if other fleet should be considered as a source of upgrades. Currently, at most one upstream fleet is allowed. The fleet name should be either fleet project number or id.
    gkeUpgradeOverrides FeatureSpecClusterupgradeGkeUpgradeOverride[]
    Configuration overrides for individual upgrades. Structure is documented below.
    postConditions FeatureSpecClusterupgradePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    upstream_fleets Sequence[str]
    Specified if other fleet should be considered as a source of upgrades. Currently, at most one upstream fleet is allowed. The fleet name should be either fleet project number or id.
    gke_upgrade_overrides Sequence[FeatureSpecClusterupgradeGkeUpgradeOverride]
    Configuration overrides for individual upgrades. Structure is documented below.
    post_conditions FeatureSpecClusterupgradePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    upstreamFleets List<String>
    Specified if other fleet should be considered as a source of upgrades. Currently, at most one upstream fleet is allowed. The fleet name should be either fleet project number or id.
    gkeUpgradeOverrides List<Property Map>
    Configuration overrides for individual upgrades. Structure is documented below.
    postConditions Property Map
    Post conditions to override for the specified upgrade. Structure is documented below.

    FeatureSpecClusterupgradeGkeUpgradeOverride, FeatureSpecClusterupgradeGkeUpgradeOverrideArgs

    PostConditions FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    Upgrade FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
    Which upgrade to override. Structure is documented below.
    PostConditions FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    Upgrade FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
    Which upgrade to override. Structure is documented below.
    postConditions FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    upgrade FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
    Which upgrade to override. Structure is documented below.
    postConditions FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    upgrade FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
    Which upgrade to override. Structure is documented below.
    post_conditions FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
    Post conditions to override for the specified upgrade. Structure is documented below.
    upgrade FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
    Which upgrade to override. Structure is documented below.
    postConditions Property Map
    Post conditions to override for the specified upgrade. Structure is documented below.
    upgrade Property Map
    Which upgrade to override. Structure is documented below.

    FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions, FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs

    Soaking string
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    Soaking string
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    soaking String
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    soaking string
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    soaking str
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    soaking String
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.

    FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade, FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs

    Name string
    Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
    Version string
    Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.
    Name string
    Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
    Version string
    Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.
    name String
    Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
    version String
    Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.
    name string
    Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
    version string
    Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.
    name str
    Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
    version str
    Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.
    name String
    Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
    version String
    Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.

    FeatureSpecClusterupgradePostConditions, FeatureSpecClusterupgradePostConditionsArgs

    Soaking string
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    Soaking string
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    soaking String
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    soaking string
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    soaking str
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
    soaking String
    Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.

    FeatureSpecFleetobservability, FeatureSpecFleetobservabilityArgs

    LoggingConfig FeatureSpecFleetobservabilityLoggingConfig
    Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet. Structure is documented below.
    LoggingConfig FeatureSpecFleetobservabilityLoggingConfig
    Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet. Structure is documented below.
    loggingConfig FeatureSpecFleetobservabilityLoggingConfig
    Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet. Structure is documented below.
    loggingConfig FeatureSpecFleetobservabilityLoggingConfig
    Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet. Structure is documented below.
    logging_config FeatureSpecFleetobservabilityLoggingConfig
    Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet. Structure is documented below.
    loggingConfig Property Map
    Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet. Structure is documented below.

    FeatureSpecFleetobservabilityLoggingConfig, FeatureSpecFleetobservabilityLoggingConfigArgs

    DefaultConfig FeatureSpecFleetobservabilityLoggingConfigDefaultConfig
    Specified if applying the default routing config to logs not specified in other configs. Structure is documented below.
    FleetScopeLogsConfig FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfig
    Specified if applying the routing config to all logs for all fleet scopes. Structure is documented below.
    DefaultConfig FeatureSpecFleetobservabilityLoggingConfigDefaultConfig
    Specified if applying the default routing config to logs not specified in other configs. Structure is documented below.
    FleetScopeLogsConfig FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfig
    Specified if applying the routing config to all logs for all fleet scopes. Structure is documented below.
    defaultConfig FeatureSpecFleetobservabilityLoggingConfigDefaultConfig
    Specified if applying the default routing config to logs not specified in other configs. Structure is documented below.
    fleetScopeLogsConfig FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfig
    Specified if applying the routing config to all logs for all fleet scopes. Structure is documented below.
    defaultConfig FeatureSpecFleetobservabilityLoggingConfigDefaultConfig
    Specified if applying the default routing config to logs not specified in other configs. Structure is documented below.
    fleetScopeLogsConfig FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfig
    Specified if applying the routing config to all logs for all fleet scopes. Structure is documented below.
    default_config FeatureSpecFleetobservabilityLoggingConfigDefaultConfig
    Specified if applying the default routing config to logs not specified in other configs. Structure is documented below.
    fleet_scope_logs_config FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfig
    Specified if applying the routing config to all logs for all fleet scopes. Structure is documented below.
    defaultConfig Property Map
    Specified if applying the default routing config to logs not specified in other configs. Structure is documented below.
    fleetScopeLogsConfig Property Map
    Specified if applying the routing config to all logs for all fleet scopes. Structure is documented below.

    FeatureSpecFleetobservabilityLoggingConfigDefaultConfig, FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs

    Mode string
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    Mode string
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    mode String
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    mode string
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    mode str
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    mode String
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.

    FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfig, FeatureSpecFleetobservabilityLoggingConfigFleetScopeLogsConfigArgs

    Mode string
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    Mode string
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    mode String
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    mode string
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    mode str
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.
    mode String
    Specified if fleet logging feature is enabled. Possible values are: MODE_UNSPECIFIED, COPY, MOVE.

    FeatureSpecMulticlusteringress, FeatureSpecMulticlusteringressArgs

    ConfigMembership string
    Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
    ConfigMembership string
    Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
    configMembership String
    Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
    configMembership string
    Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
    config_membership str
    Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
    configMembership String
    Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar

    FeatureState, FeatureStateArgs

    States List<FeatureStateState>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    States []FeatureStateState
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    states List<FeatureStateState>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    states FeatureStateState[]
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    states Sequence[FeatureStateState]
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.
    states List<Property Map>
    (Output) Output only. The "running state" of the Feature in this Hub. Structure is documented below.

    FeatureStateState, FeatureStateStateArgs

    Code string
    (Output) The high-level, machine-readable status of this Feature.
    Description string
    (Output) A human-readable description of the current status.
    UpdateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    Code string
    (Output) The high-level, machine-readable status of this Feature.
    Description string
    (Output) A human-readable description of the current status.
    UpdateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    code String
    (Output) The high-level, machine-readable status of this Feature.
    description String
    (Output) A human-readable description of the current status.
    updateTime String
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    code string
    (Output) The high-level, machine-readable status of this Feature.
    description string
    (Output) A human-readable description of the current status.
    updateTime string
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    code str
    (Output) The high-level, machine-readable status of this Feature.
    description str
    (Output) A human-readable description of the current status.
    update_time str
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
    code String
    (Output) The high-level, machine-readable status of this Feature.
    description String
    (Output) A human-readable description of the current status.
    updateTime String
    (Output) The time this status and any related Feature-specific details were updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"

    Import

    Feature can be imported using any of these accepted formats:

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

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

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

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

    $ pulumi import gcp:gkehub/feature:Feature default projects/{{project}}/locations/{{location}}/features/{{name}}
    
    $ pulumi import gcp:gkehub/feature:Feature default {{project}}/{{location}}/{{name}}
    
    $ pulumi import gcp:gkehub/feature:Feature default {{location}}/{{name}}
    

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

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi