1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. gkehub
  5. Feature
Google Cloud v8.25.1 published on Wednesday, Apr 9, 2025 by Pulumi

gcp.gkehub.Feature

Explore with Pulumi AI

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}`,
        },
    },
});
const feature = new gcp.gkehub.Feature("feature", {
    name: "multiclusteringress",
    location: "global",
    spec: {
        multiclusteringress: {
            configMembership: membership.id,
        },
    },
});
Copy
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={
        "gke_cluster": {
            "resource_link": cluster.id.apply(lambda id: f"//container.googleapis.com/{id}"),
        },
    })
feature = gcp.gkehub.Feature("feature",
    name="multiclusteringress",
    location="global",
    spec={
        "multiclusteringress": {
            "config_membership": membership.id,
        },
    })
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/container"
	"github.com/pulumi/pulumi-gcp/sdk/v8/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),
				},
			},
		})
		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
	})
}
Copy
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}"),
            },
        },
    });

    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,
            },
        },
    });

});
Copy
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())
            .build());

        var feature = new Feature("feature", FeatureArgs.builder()
            .name("multiclusteringress")
            .location("global")
            .spec(FeatureSpecArgs.builder()
                .multiclusteringress(FeatureSpecMulticlusteringressArgs.builder()
                    .configMembership(membership.id())
                    .build())
                .build())
            .build());

    }
}
Copy
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}
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: multiclusteringress
      location: global
      spec:
        multiclusteringress:
          configMembership: ${membership.id}
Copy

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",
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="multiclusterservicediscovery",
    location="global",
    labels={
        "foo": "bar",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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" },
        },
    });

});
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 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());

    }
}
Copy
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: multiclusterservicediscovery
      location: global
      labels:
        foo: bar
Copy

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",
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="servicemesh",
    location="global")
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
    });

});
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 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());

    }
}
Copy
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: servicemesh
      location: global
Copy

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",
                },
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="fleetobservability",
    location="global",
    spec={
        "fleetobservability": {
            "logging_config": {
                "default_config": {
                    "mode": "COPY",
                },
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
                    },
                },
            },
        },
    });

});
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());

    }
}
Copy
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: fleetobservability
      location: global
      spec:
        fleetobservability:
          loggingConfig:
            defaultConfig:
              mode: COPY
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",
                },
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="fleetobservability",
    location="global",
    spec={
        "fleetobservability": {
            "logging_config": {
                "fleet_scope_logs_config": {
                    "mode": "MOVE",
                },
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
                    },
                },
            },
        },
    });

});
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.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());

    }
}
Copy
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: fleetobservability
      location: global
      spec:
        fleetobservability:
          loggingConfig:
            fleetScopeLogsConfig:
              mode: MOVE
Copy

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",
                },
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="fleetobservability",
    location="global",
    spec={
        "fleetobservability": {
            "logging_config": {
                "default_config": {
                    "mode": "COPY",
                },
                "fleet_scope_logs_config": {
                    "mode": "MOVE",
                },
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
                    },
                },
            },
        },
    });

});
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 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());

    }
}
Copy
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: fleetobservability
      location: global
      spec:
        fleetobservability:
          loggingConfig:
            defaultConfig:
              mode: COPY
            fleetScopeLogsConfig:
              mode: MOVE
Copy

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",
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="servicemesh",
    location="global",
    fleet_default_member_config={
        "mesh": {
            "management": "MANAGEMENT_AUTOMATIC",
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
            },
        },
    });

});
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.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());

    }
}
Copy
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: servicemesh
      location: global
      fleetDefaultMemberConfig:
        mesh:
          management: MANAGEMENT_AUTOMATIC
Copy

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",
                },
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="configmanagement",
    location="global",
    fleet_default_member_config={
        "configmanagement": {
            "config_sync": {
                "git": {
                    "sync_repo": "https://github.com/hashicorp/terraform",
                },
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
                    },
                },
            },
        },
    });

});
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.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());

    }
}
Copy
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: configmanagement
      location: global
      fleetDefaultMemberConfig:
        configmanagement:
          configSync:
            git:
              syncRepo: https://github.com/hashicorp/terraform
Copy

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,
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="policycontroller",
    location="global",
    fleet_default_member_config={
        "policycontroller": {
            "policy_controller_hub_config": {
                "install_spec": "INSTALL_SPEC_ENABLED",
                "exemptable_namespaces": ["foo"],
                "policy_content": {
                    "bundles": [{
                        "bundle": "policy-essentials-v2022",
                        "exempted_namespaces": [
                            "foo",
                            "bar",
                        ],
                    }],
                    "template_library": {
                        "installation": "ALL",
                    },
                },
                "audit_interval_seconds": 30,
                "referential_rules_enabled": True,
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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,
                },
            },
        },
    });

});
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.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());

    }
}
Copy
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
Copy

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"],
                },
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="policycontroller",
    location="global",
    fleet_default_member_config={
        "policycontroller": {
            "policy_controller_hub_config": {
                "install_spec": "INSTALL_SPEC_SUSPENDED",
                "policy_content": {
                    "bundles": [
                        {
                            "bundle": "pci-dss-v3.2.1",
                            "exempted_namespaces": [
                                "baz",
                                "bar",
                            ],
                        },
                        {
                            "bundle": "nist-sp-800-190",
                            "exempted_namespaces": [],
                        },
                    ],
                    "template_library": {
                        "installation": "ALL",
                    },
                },
                "constraint_violation_limit": 50,
                "referential_rules_enabled": True,
                "log_denies_enabled": True,
                "mutation_enabled": True,
                "deployment_configs": [
                    {
                        "component": "admission",
                        "replica_count": 2,
                        "pod_affinity": "ANTI_AFFINITY",
                    },
                    {
                        "component": "audit",
                        "container_resources": {
                            "limits": {
                                "memory": "1Gi",
                                "cpu": "1.5",
                            },
                            "requests": {
                                "memory": "500Mi",
                                "cpu": "150m",
                            },
                        },
                        "pod_tolerations": [{
                            "key": "key1",
                            "operator": "Equal",
                            "value": "value1",
                            "effect": "NoSchedule",
                        }],
                    },
                ],
                "monitoring": {
                    "backends": ["PROMETHEUS"],
                },
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
                        },
                    },
                },
            },
        },
    });

});
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.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());

    }
}
Copy
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
Copy

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: {},
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="policycontroller",
    location="global",
    fleet_default_member_config={
        "policycontroller": {
            "policy_controller_hub_config": {
                "install_spec": "INSTALL_SPEC_ENABLED",
                "policy_content": {},
                "constraint_violation_limit": 50,
                "referential_rules_enabled": True,
                "log_denies_enabled": True,
                "mutation_enabled": True,
                "deployment_configs": [{
                    "component": "admission",
                }],
                "monitoring": {},
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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:            &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs{},
						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: &gkehub.FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs{},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var 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,
                },
            },
        },
    });

});
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.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(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigPolicyContentArgs.builder()
                            .build())
                        .constraintViolationLimit(50)
                        .referentialRulesEnabled(true)
                        .logDeniesEnabled(true)
                        .mutationEnabled(true)
                        .deploymentConfigs(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigDeploymentConfigArgs.builder()
                            .component("admission")
                            .build())
                        .monitoring(FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigMonitoringArgs.builder()
                            .build())
                        .build())
                    .build())
                .build())
            .build());

    }
}
Copy
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: {}
Copy

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",
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    name="clusterupgrade",
    location="global",
    spec={
        "clusterupgrade": {
            "upstream_fleets": [],
            "post_conditions": {
                "soaking": "60s",
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
                },
            },
        },
    });

});
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.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());

    }
}
Copy
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      name: clusterupgrade
      location: global
      spec:
        clusterupgrade:
          upstreamFleets: []
          postConditions:
            soaking: 60s
Copy

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 This property is required. string
The unique name of the resource.
args This property is required. FeatureArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. FeatureArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. FeatureArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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
            {
                Enabled = false,
                Git = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs
                {
                    SecretType = "string",
                    GcpServiceAccountEmail = "string",
                    HttpsProxy = "string",
                    PolicyDir = "string",
                    SyncBranch = "string",
                    SyncRepo = "string",
                    SyncRev = "string",
                    SyncWaitSecs = "string",
                },
                MetricsGcpServiceAccountEmail = "string",
                Oci = new Gcp.GkeHub.Inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs
                {
                    SecretType = "string",
                    GcpServiceAccountEmail = "string",
                    PolicyDir = "string",
                    SyncRepo = "string",
                    SyncWaitSecs = "string",
                },
                PreventDrift = false,
                SourceFormat = "string",
            },
            Management = "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",
        },
    },
});
Copy
example, err := gkehub.NewFeature(ctx, "featureResource", &gkehub.FeatureArgs{
	Location: pulumi.String("string"),
	FleetDefaultMemberConfig: &gkehub.FeatureFleetDefaultMemberConfigArgs{
		Configmanagement: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementArgs{
			ConfigSync: &gkehub.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs{
				Enabled: pulumi.Bool(false),
				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"),
				},
				MetricsGcpServiceAccountEmail: 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"),
			},
			Management: 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"),
		},
	},
})
Copy
var featureResource = new Feature("featureResource", FeatureArgs.builder()
    .location("string")
    .fleetDefaultMemberConfig(FeatureFleetDefaultMemberConfigArgs.builder()
        .configmanagement(FeatureFleetDefaultMemberConfigConfigmanagementArgs.builder()
            .configSync(FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs.builder()
                .enabled(false)
                .git(FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs.builder()
                    .secretType("string")
                    .gcpServiceAccountEmail("string")
                    .httpsProxy("string")
                    .policyDir("string")
                    .syncBranch("string")
                    .syncRepo("string")
                    .syncRev("string")
                    .syncWaitSecs("string")
                    .build())
                .metricsGcpServiceAccountEmail("string")
                .oci(FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs.builder()
                    .secretType("string")
                    .gcpServiceAccountEmail("string")
                    .policyDir("string")
                    .syncRepo("string")
                    .syncWaitSecs("string")
                    .build())
                .preventDrift(false)
                .sourceFormat("string")
                .build())
            .management("string")
            .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());
Copy
feature_resource = gcp.gkehub.Feature("featureResource",
    location="string",
    fleet_default_member_config={
        "configmanagement": {
            "config_sync": {
                "enabled": False,
                "git": {
                    "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",
                },
                "metrics_gcp_service_account_email": "string",
                "oci": {
                    "secret_type": "string",
                    "gcp_service_account_email": "string",
                    "policy_dir": "string",
                    "sync_repo": "string",
                    "sync_wait_secs": "string",
                },
                "prevent_drift": False,
                "source_format": "string",
            },
            "management": "string",
            "version": "string",
        },
        "mesh": {
            "management": "string",
        },
        "policycontroller": {
            "policy_controller_hub_config": {
                "install_spec": "string",
                "audit_interval_seconds": 0,
                "constraint_violation_limit": 0,
                "deployment_configs": [{
                    "component": "string",
                    "container_resources": {
                        "limits": {
                            "cpu": "string",
                            "memory": "string",
                        },
                        "requests": {
                            "cpu": "string",
                            "memory": "string",
                        },
                    },
                    "pod_affinity": "string",
                    "pod_tolerations": [{
                        "effect": "string",
                        "key": "string",
                        "operator": "string",
                        "value": "string",
                    }],
                    "replica_count": 0,
                }],
                "exemptable_namespaces": ["string"],
                "log_denies_enabled": False,
                "monitoring": {
                    "backends": ["string"],
                },
                "mutation_enabled": False,
                "policy_content": {
                    "bundles": [{
                        "bundle": "string",
                        "exempted_namespaces": ["string"],
                    }],
                    "template_library": {
                        "installation": "string",
                    },
                },
                "referential_rules_enabled": False,
            },
            "version": "string",
        },
    },
    labels={
        "string": "string",
    },
    name="string",
    project="string",
    spec={
        "clusterupgrade": {
            "upstream_fleets": ["string"],
            "gke_upgrade_overrides": [{
                "post_conditions": {
                    "soaking": "string",
                },
                "upgrade": {
                    "name": "string",
                    "version": "string",
                },
            }],
            "post_conditions": {
                "soaking": "string",
            },
        },
        "fleetobservability": {
            "logging_config": {
                "default_config": {
                    "mode": "string",
                },
                "fleet_scope_logs_config": {
                    "mode": "string",
                },
            },
        },
        "multiclusteringress": {
            "config_membership": "string",
        },
    })
Copy
const featureResource = new gcp.gkehub.Feature("featureResource", {
    location: "string",
    fleetDefaultMemberConfig: {
        configmanagement: {
            configSync: {
                enabled: false,
                git: {
                    secretType: "string",
                    gcpServiceAccountEmail: "string",
                    httpsProxy: "string",
                    policyDir: "string",
                    syncBranch: "string",
                    syncRepo: "string",
                    syncRev: "string",
                    syncWaitSecs: "string",
                },
                metricsGcpServiceAccountEmail: "string",
                oci: {
                    secretType: "string",
                    gcpServiceAccountEmail: "string",
                    policyDir: "string",
                    syncRepo: "string",
                    syncWaitSecs: "string",
                },
                preventDrift: false,
                sourceFormat: "string",
            },
            management: "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",
        },
    },
});
Copy
type: gcp:gkehub:Feature
properties:
    fleetDefaultMemberConfig:
        configmanagement:
            configSync:
                enabled: false
                git:
                    gcpServiceAccountEmail: string
                    httpsProxy: string
                    policyDir: string
                    secretType: string
                    syncBranch: string
                    syncRepo: string
                    syncRev: string
                    syncWaitSecs: string
                metricsGcpServiceAccountEmail: string
                oci:
                    gcpServiceAccountEmail: string
                    policyDir: string
                    secretType: string
                    syncRepo: string
                    syncWaitSecs: string
                preventDrift: false
                sourceFormat: string
            management: 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
Copy

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

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

The Feature resource accepts the following input properties:

Location
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. string
The full, unique name of this Feature resource
Project Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. string
The full, unique name of this Feature resource
Project Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. String
The full, unique name of this Feature resource
project Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. string
The full, unique name of this Feature resource
project Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. str
The full, unique name of this Feature resource
project Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. String
The full, unique name of this Feature resource
project Changes to this property will trigger replacement. 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)
resources:  _:    type: gcp:gkehub:Feature    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
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 Changes to this property will trigger replacement. string
The location for the resource


Name Changes to this property will trigger replacement. string
The full, unique name of this Feature resource
Project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
The location for the resource


Name Changes to this property will trigger replacement. string
The full, unique name of this Feature resource
Project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
The location for the resource


name Changes to this property will trigger replacement. String
The full, unique name of this Feature resource
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
The location for the resource


name Changes to this property will trigger replacement. string
The full, unique name of this Feature resource
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
The location for the resource


name Changes to this property will trigger replacement. str
The full, unique name of this Feature resource
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
The location for the resource


name Changes to this property will trigger replacement. String
The full, unique name of this Feature resource
project Changes to this property will trigger replacement. 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.
Management string
Set this field to MANAGEMENT_AUTOMATIC to enable Config Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades. Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
Version string
Version of Config Sync installed
ConfigSync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
ConfigSync configuration for the cluster Structure is documented below.
Management string
Set this field to MANAGEMENT_AUTOMATIC to enable Config Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades. Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
Version string
Version of Config Sync installed
configSync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
ConfigSync configuration for the cluster Structure is documented below.
management String
Set this field to MANAGEMENT_AUTOMATIC to enable Config Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades. Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
version String
Version of Config Sync installed
configSync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
ConfigSync configuration for the cluster Structure is documented below.
management string
Set this field to MANAGEMENT_AUTOMATIC to enable Config Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades. Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
version string
Version of Config Sync installed
config_sync FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
ConfigSync configuration for the cluster Structure is documented below.
management str
Set this field to MANAGEMENT_AUTOMATIC to enable Config Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades. Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
version str
Version of Config Sync installed
configSync Property Map
ConfigSync configuration for the cluster Structure is documented below.
management String
Set this field to MANAGEMENT_AUTOMATIC to enable Config Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades. Possible values are: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL.
version String
Version of Config Sync installed

FeatureFleetDefaultMemberConfigConfigmanagementConfigSync
, FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs

Enabled bool
Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
Git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
Git repo configuration for the cluster Structure is documented below.
MetricsGcpServiceAccountEmail string
The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount default in the namespace config-management-monitoring should be bound to the GSA.
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
Enabled bool
Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
Git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
Git repo configuration for the cluster Structure is documented below.
MetricsGcpServiceAccountEmail string
The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount default in the namespace config-management-monitoring should be bound to the GSA.
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
enabled Boolean
Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
Git repo configuration for the cluster Structure is documented below.
metricsGcpServiceAccountEmail String
The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount default in the namespace config-management-monitoring should be bound to the GSA.
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
enabled boolean
Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
Git repo configuration for the cluster Structure is documented below.
metricsGcpServiceAccountEmail string
The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount default in the namespace config-management-monitoring should be bound to the GSA.
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
enabled bool
Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
git FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit
Git repo configuration for the cluster Structure is documented below.
metrics_gcp_service_account_email str
The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount default in the namespace config-management-monitoring should be bound to the GSA.
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
enabled Boolean
Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
git Property Map
Git repo configuration for the cluster Structure is documented below.
metricsGcpServiceAccountEmail String
The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount default in the namespace config-management-monitoring should be bound to the GSA.
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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 Config Sync 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 Config Sync 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 Config Sync installed instead.

SecretType This property is required. 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 Config Sync 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 Config Sync 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 Config Sync installed instead.

secretType This property is required. 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 Config Sync 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 Config Sync 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 Config Sync installed instead.

secretType This property is required. 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 Config Sync 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 Config Sync 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 Config Sync installed instead.

secret_type This property is required. 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 Config Sync 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 Config Sync 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 Config Sync installed instead.

secretType This property is required. 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 Config Sync 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 Config Sync 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 Config Sync installed instead.

FeatureFleetDefaultMemberConfigMesh
, FeatureFleetDefaultMemberConfigMeshArgs

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

FeatureFleetDefaultMemberConfigPolicycontroller
, FeatureFleetDefaultMemberConfigPolicycontrollerArgs

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

FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfig
, FeatureFleetDefaultMemberConfigPolicycontrollerPolicyControllerHubConfigArgs

InstallSpec This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The identifier for this object. Format specified above.
ExemptedNamespaces List<string>
The set of namespaces to be exempted from the bundle.
Bundle This property is required. string
The identifier for this object. Format specified above.
ExemptedNamespaces []string
The set of namespaces to be exempted from the bundle.
bundle This property is required. String
The identifier for this object. Format specified above.
exemptedNamespaces List<String>
The set of namespaces to be exempted from the bundle.
bundle This property is required. string
The identifier for this object. Format specified above.
exemptedNamespaces string[]
The set of namespaces to be exempted from the bundle.
bundle This property is required. str
The identifier for this object. Format specified above.
exempted_namespaces Sequence[str]
The set of namespaces to be exempted from the bundle.
bundle This property is required. 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: INSTALLATION_UNSPECIFIED, NOT_INSTALLED, ALL.
Installation string
Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALLATION_UNSPECIFIED, NOT_INSTALLED, ALL.
installation String
Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALLATION_UNSPECIFIED, NOT_INSTALLED, ALL.
installation string
Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALLATION_UNSPECIFIED, NOT_INSTALLED, ALL.
installation str
Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALLATION_UNSPECIFIED, NOT_INSTALLED, ALL.
installation String
Configures the manner in which the template library is installed on the cluster. Possible values are: INSTALLATION_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 This property is required. 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 This property is required. []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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
Post conditions to override for the specified upgrade. Structure is documented below.
Upgrade This property is required. FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
Which upgrade to override. Structure is documented below.
PostConditions This property is required. FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
Post conditions to override for the specified upgrade. Structure is documented below.
Upgrade This property is required. FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
Which upgrade to override. Structure is documented below.
postConditions This property is required. FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
Post conditions to override for the specified upgrade. Structure is documented below.
upgrade This property is required. FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
Which upgrade to override. Structure is documented below.
postConditions This property is required. FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
Post conditions to override for the specified upgrade. Structure is documented below.
upgrade This property is required. FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
Which upgrade to override. Structure is documented below.
post_conditions This property is required. FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
Post conditions to override for the specified upgrade. Structure is documented below.
upgrade This property is required. FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
Which upgrade to override. Structure is documented below.
postConditions This property is required. Property Map
Post conditions to override for the specified upgrade. Structure is documented below.
upgrade This property is required. Property Map
Which upgrade to override. Structure is documented below.

FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions
, FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs

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

FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade
, FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs

Name This property is required. string
Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
Version This property is required. 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 This property is required. string
Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
Version This property is required. 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 This property is required. String
Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
version This property is required. 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 This property is required. string
Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
version This property is required. 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 This property is required. str
Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
version This property is required. 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 This property is required. String
Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
version This property is required. 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 This property is required. string
Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
Soaking This property is required. string
Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
soaking This property is required. String
Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
soaking This property is required. string
Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
soaking This property is required. str
Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
soaking This property is required. 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 This property is required. string
Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
ConfigMembership This property is required. string
Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
configMembership This property is required. String
Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
configMembership This property is required. string
Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
config_membership This property is required. str
Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/foo-proj/locations/global/memberships/bar
configMembership This property is required. 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}}
Copy
$ pulumi import gcp:gkehub/feature:Feature default {{project}}/{{location}}/{{name}}
Copy
$ pulumi import gcp:gkehub/feature:Feature default {{location}}/{{name}}
Copy

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

Package Details

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