FeatureMembership

Import

FeatureMembership can be imported using any of these accepted formats

 $ pulumi import gcp:gkehub/featureMembership:FeatureMembership default projects/{{project}}/locations/{{location}}/features/{{feature}}/membershipId/{{membership}}
 $ pulumi import gcp:gkehub/featureMembership:FeatureMembership default {{project}}/{{location}}/{{feature}}/{{membership}}
 $ pulumi import gcp:gkehub/featureMembership:FeatureMembership default {{location}}/{{feature}}/{{membership}}

Example Usage

Config Management

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var cluster = new Gcp.Container.Cluster("cluster", new()
    {
        Location = "us-central1-a",
        InitialNodeCount = 1,
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    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}"),
            },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    var feature = new Gcp.GkeHub.Feature("feature", new()
    {
        Location = "global",
        Labels = 
        {
            { "foo", "bar" },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    var featureMember = new Gcp.GkeHub.FeatureMembership("featureMember", new()
    {
        Location = "global",
        Feature = feature.Name,
        Membership = membership.MembershipId,
        Configmanagement = new Gcp.GkeHub.Inputs.FeatureMembershipConfigmanagementArgs
        {
            Version = "1.6.2",
            ConfigSync = new Gcp.GkeHub.Inputs.FeatureMembershipConfigmanagementConfigSyncArgs
            {
                Git = new Gcp.GkeHub.Inputs.FeatureMembershipConfigmanagementConfigSyncGitArgs
                {
                    SyncRepo = "https://github.com/hashicorp/terraform",
                },
            },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/container"
	"github.com/pulumi/pulumi-gcp/sdk/v6/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{
			Location:         pulumi.String("us-central1-a"),
			InitialNodeCount: pulumi.Int(1),
		}, pulumi.Provider(google_beta))
		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),
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		feature, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
			Location: pulumi.String("global"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = gkehub.NewFeatureMembership(ctx, "featureMember", &gkehub.FeatureMembershipArgs{
			Location:   pulumi.String("global"),
			Feature:    feature.Name,
			Membership: membership.MembershipId,
			Configmanagement: &gkehub.FeatureMembershipConfigmanagementArgs{
				Version: pulumi.String("1.6.2"),
				ConfigSync: &gkehub.FeatureMembershipConfigmanagementConfigSyncArgs{
					Git: &gkehub.FeatureMembershipConfigmanagementConfigSyncGitArgs{
						SyncRepo: pulumi.String("https://github.com/hashicorp/terraform"),
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}
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.FeatureMembership;
import com.pulumi.gcp.gkehub.FeatureMembershipArgs;
import com.pulumi.gcp.gkehub.inputs.FeatureMembershipConfigmanagementArgs;
import com.pulumi.gcp.gkehub.inputs.FeatureMembershipConfigmanagementConfigSyncArgs;
import com.pulumi.gcp.gkehub.inputs.FeatureMembershipConfigmanagementConfigSyncGitArgs;
import com.pulumi.resources.CustomResourceOptions;
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()        
            .location("us-central1-a")
            .initialNodeCount(1)
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .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(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

        var feature = new Feature("feature", FeatureArgs.builder()        
            .location("global")
            .labels(Map.of("foo", "bar"))
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

        var featureMember = new FeatureMembership("featureMember", FeatureMembershipArgs.builder()        
            .location("global")
            .feature(feature.name())
            .membership(membership.membershipId())
            .configmanagement(FeatureMembershipConfigmanagementArgs.builder()
                .version("1.6.2")
                .configSync(FeatureMembershipConfigmanagementConfigSyncArgs.builder()
                    .git(FeatureMembershipConfigmanagementConfigSyncGitArgs.builder()
                        .syncRepo("https://github.com/hashicorp/terraform")
                        .build())
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

    }
}
import pulumi
import pulumi_gcp as gcp

cluster = gcp.container.Cluster("cluster",
    location="us-central1-a",
    initial_node_count=1,
    opts=pulumi.ResourceOptions(provider=google_beta))
membership = gcp.gkehub.Membership("membership",
    membership_id="my-membership",
    endpoint=gcp.gkehub.MembershipEndpointArgs(
        gke_cluster=gcp.gkehub.MembershipEndpointGkeClusterArgs(
            resource_link=cluster.id.apply(lambda id: f"//container.googleapis.com/{id}"),
        ),
    ),
    opts=pulumi.ResourceOptions(provider=google_beta))
feature = gcp.gkehub.Feature("feature",
    location="global",
    labels={
        "foo": "bar",
    },
    opts=pulumi.ResourceOptions(provider=google_beta))
feature_member = gcp.gkehub.FeatureMembership("featureMember",
    location="global",
    feature=feature.name,
    membership=membership.membership_id,
    configmanagement=gcp.gkehub.FeatureMembershipConfigmanagementArgs(
        version="1.6.2",
        config_sync=gcp.gkehub.FeatureMembershipConfigmanagementConfigSyncArgs(
            git=gcp.gkehub.FeatureMembershipConfigmanagementConfigSyncGitArgs(
                sync_repo="https://github.com/hashicorp/terraform",
            ),
        ),
    ),
    opts=pulumi.ResourceOptions(provider=google_beta))
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const cluster = new gcp.container.Cluster("cluster", {
    location: "us-central1-a",
    initialNodeCount: 1,
}, {
    provider: google_beta,
});
const membership = new gcp.gkehub.Membership("membership", {
    membershipId: "my-membership",
    endpoint: {
        gkeCluster: {
            resourceLink: pulumi.interpolate`//container.googleapis.com/${cluster.id}`,
        },
    },
}, {
    provider: google_beta,
});
const feature = new gcp.gkehub.Feature("feature", {
    location: "global",
    labels: {
        foo: "bar",
    },
}, {
    provider: google_beta,
});
const featureMember = new gcp.gkehub.FeatureMembership("featureMember", {
    location: "global",
    feature: feature.name,
    membership: membership.membershipId,
    configmanagement: {
        version: "1.6.2",
        configSync: {
            git: {
                syncRepo: "https://github.com/hashicorp/terraform",
            },
        },
    },
}, {
    provider: google_beta,
});
resources:
  cluster:
    type: gcp:container:Cluster
    properties:
      location: us-central1-a
      initialNodeCount: 1
    options:
      provider: ${["google-beta"]}
  membership:
    type: gcp:gkehub:Membership
    properties:
      membershipId: my-membership
      endpoint:
        gkeCluster:
          resourceLink: //container.googleapis.com/${cluster.id}
    options:
      provider: ${["google-beta"]}
  feature:
    type: gcp:gkehub:Feature
    properties:
      location: global
      labels:
        foo: bar
    options:
      provider: ${["google-beta"]}
  featureMember:
    type: gcp:gkehub:FeatureMembership
    properties:
      location: global
      feature: ${feature.name}
      membership: ${membership.membershipId}
      configmanagement:
        version: 1.6.2
        configSync:
          git:
            syncRepo: https://github.com/hashicorp/terraform
    options:
      provider: ${["google-beta"]}

Multi Cluster Service Discovery

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var feature = new Gcp.GkeHub.Feature("feature", new()
    {
        Location = "global",
        Labels = 
        {
            { "foo", "bar" },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v6/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{
			Location: pulumi.String("global"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}
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.resources.CustomResourceOptions;
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()        
            .location("global")
            .labels(Map.of("foo", "bar"))
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

    }
}
import pulumi
import pulumi_gcp as gcp

feature = gcp.gkehub.Feature("feature",
    location="global",
    labels={
        "foo": "bar",
    },
    opts=pulumi.ResourceOptions(provider=google_beta))
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const feature = new gcp.gkehub.Feature("feature", {
    location: "global",
    labels: {
        foo: "bar",
    },
}, {
    provider: google_beta,
});
resources:
  feature:
    type: gcp:gkehub:Feature
    properties:
      location: global
      labels:
        foo: bar
    options:
      provider: ${["google-beta"]}

Serivce Mesh

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var cluster = new Gcp.Container.Cluster("cluster", new()
    {
        Location = "us-central1-a",
        InitialNodeCount = 1,
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    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}"),
            },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    var feature = new Gcp.GkeHub.Feature("feature", new()
    {
        Location = "global",
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    var featureMember = new Gcp.GkeHub.FeatureMembership("featureMember", new()
    {
        Location = "global",
        Feature = feature.Name,
        Membership = membership.MembershipId,
        Mesh = new Gcp.GkeHub.Inputs.FeatureMembershipMeshArgs
        {
            Management = "MANAGEMENT_AUTOMATIC",
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/container"
	"github.com/pulumi/pulumi-gcp/sdk/v6/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{
			Location:         pulumi.String("us-central1-a"),
			InitialNodeCount: pulumi.Int(1),
		}, pulumi.Provider(google_beta))
		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),
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		feature, err := gkehub.NewFeature(ctx, "feature", &gkehub.FeatureArgs{
			Location: pulumi.String("global"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = gkehub.NewFeatureMembership(ctx, "featureMember", &gkehub.FeatureMembershipArgs{
			Location:   pulumi.String("global"),
			Feature:    feature.Name,
			Membership: membership.MembershipId,
			Mesh: &gkehub.FeatureMembershipMeshArgs{
				Management: pulumi.String("MANAGEMENT_AUTOMATIC"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}
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.FeatureMembership;
import com.pulumi.gcp.gkehub.FeatureMembershipArgs;
import com.pulumi.gcp.gkehub.inputs.FeatureMembershipMeshArgs;
import com.pulumi.resources.CustomResourceOptions;
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()        
            .location("us-central1-a")
            .initialNodeCount(1)
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .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(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

        var feature = new Feature("feature", FeatureArgs.builder()        
            .location("global")
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

        var featureMember = new FeatureMembership("featureMember", FeatureMembershipArgs.builder()        
            .location("global")
            .feature(feature.name())
            .membership(membership.membershipId())
            .mesh(FeatureMembershipMeshArgs.builder()
                .management("MANAGEMENT_AUTOMATIC")
                .build())
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

    }
}
import pulumi
import pulumi_gcp as gcp

cluster = gcp.container.Cluster("cluster",
    location="us-central1-a",
    initial_node_count=1,
    opts=pulumi.ResourceOptions(provider=google_beta))
membership = gcp.gkehub.Membership("membership",
    membership_id="my-membership",
    endpoint=gcp.gkehub.MembershipEndpointArgs(
        gke_cluster=gcp.gkehub.MembershipEndpointGkeClusterArgs(
            resource_link=cluster.id.apply(lambda id: f"//container.googleapis.com/{id}"),
        ),
    ),
    opts=pulumi.ResourceOptions(provider=google_beta))
feature = gcp.gkehub.Feature("feature", location="global",
opts=pulumi.ResourceOptions(provider=google_beta))
feature_member = gcp.gkehub.FeatureMembership("featureMember",
    location="global",
    feature=feature.name,
    membership=membership.membership_id,
    mesh=gcp.gkehub.FeatureMembershipMeshArgs(
        management="MANAGEMENT_AUTOMATIC",
    ),
    opts=pulumi.ResourceOptions(provider=google_beta))
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const cluster = new gcp.container.Cluster("cluster", {
    location: "us-central1-a",
    initialNodeCount: 1,
}, {
    provider: google_beta,
});
const membership = new gcp.gkehub.Membership("membership", {
    membershipId: "my-membership",
    endpoint: {
        gkeCluster: {
            resourceLink: pulumi.interpolate`//container.googleapis.com/${cluster.id}`,
        },
    },
}, {
    provider: google_beta,
});
const feature = new gcp.gkehub.Feature("feature", {location: "global"}, {
    provider: google_beta,
});
const featureMember = new gcp.gkehub.FeatureMembership("featureMember", {
    location: "global",
    feature: feature.name,
    membership: membership.membershipId,
    mesh: {
        management: "MANAGEMENT_AUTOMATIC",
    },
}, {
    provider: google_beta,
});
resources:
  cluster:
    type: gcp:container:Cluster
    properties:
      location: us-central1-a
      initialNodeCount: 1
    options:
      provider: ${["google-beta"]}
  membership:
    type: gcp:gkehub:Membership
    properties:
      membershipId: my-membership
      endpoint:
        gkeCluster:
          resourceLink: //container.googleapis.com/${cluster.id}
    options:
      provider: ${["google-beta"]}
  feature:
    type: gcp:gkehub:Feature
    properties:
      location: global
    options:
      provider: ${["google-beta"]}
  featureMember:
    type: gcp:gkehub:FeatureMembership
    properties:
      location: global
      feature: ${feature.name}
      membership: ${membership.membershipId}
      mesh:
        management: MANAGEMENT_AUTOMATIC
    options:
      provider: ${["google-beta"]}

Create FeatureMembership Resource

new FeatureMembership(name: string, args: FeatureMembershipArgs, opts?: CustomResourceOptions);
@overload
def FeatureMembership(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      configmanagement: Optional[FeatureMembershipConfigmanagementArgs] = None,
                      feature: Optional[str] = None,
                      location: Optional[str] = None,
                      membership: Optional[str] = None,
                      mesh: Optional[FeatureMembershipMeshArgs] = None,
                      project: Optional[str] = None)
@overload
def FeatureMembership(resource_name: str,
                      args: FeatureMembershipArgs,
                      opts: Optional[ResourceOptions] = None)
func NewFeatureMembership(ctx *Context, name string, args FeatureMembershipArgs, opts ...ResourceOption) (*FeatureMembership, error)
public FeatureMembership(string name, FeatureMembershipArgs args, CustomResourceOptions? opts = null)
public FeatureMembership(String name, FeatureMembershipArgs args)
public FeatureMembership(String name, FeatureMembershipArgs args, CustomResourceOptions options)
type: gcp:gkehub:FeatureMembership
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

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

FeatureMembership Resource Properties

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

Inputs

The FeatureMembership resource accepts the following input properties:

Feature string

The name of the feature

Location string

The location of the feature

Membership string

The name of the membership

Configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

Mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

Project string

The project of the feature

Feature string

The name of the feature

Location string

The location of the feature

Membership string

The name of the membership

Configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

Mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

Project string

The project of the feature

feature String

The name of the feature

location String

The location of the feature

membership String

The name of the membership

configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

project String

The project of the feature

feature string

The name of the feature

location string

The location of the feature

membership string

The name of the membership

configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

project string

The project of the feature

feature str

The name of the feature

location str

The location of the feature

membership str

The name of the membership

configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

project str

The project of the feature

feature String

The name of the feature

location String

The location of the feature

membership String

The name of the membership

configmanagement Property Map

Config Management-specific spec. Structure is documented below.

mesh Property Map

Service mesh specific spec. Structure is documented below.

project String

The project of the feature

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing FeatureMembership Resource

Get an existing FeatureMembership 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?: FeatureMembershipState, opts?: CustomResourceOptions): FeatureMembership
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        configmanagement: Optional[FeatureMembershipConfigmanagementArgs] = None,
        feature: Optional[str] = None,
        location: Optional[str] = None,
        membership: Optional[str] = None,
        mesh: Optional[FeatureMembershipMeshArgs] = None,
        project: Optional[str] = None) -> FeatureMembership
func GetFeatureMembership(ctx *Context, name string, id IDInput, state *FeatureMembershipState, opts ...ResourceOption) (*FeatureMembership, error)
public static FeatureMembership Get(string name, Input<string> id, FeatureMembershipState? state, CustomResourceOptions? opts = null)
public static FeatureMembership get(String name, Output<String> id, FeatureMembershipState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

Feature string

The name of the feature

Location string

The location of the feature

Membership string

The name of the membership

Mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

Project string

The project of the feature

Configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

Feature string

The name of the feature

Location string

The location of the feature

Membership string

The name of the membership

Mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

Project string

The project of the feature

configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

feature String

The name of the feature

location String

The location of the feature

membership String

The name of the membership

mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

project String

The project of the feature

configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

feature string

The name of the feature

location string

The location of the feature

membership string

The name of the membership

mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

project string

The project of the feature

configmanagement FeatureMembershipConfigmanagementArgs

Config Management-specific spec. Structure is documented below.

feature str

The name of the feature

location str

The location of the feature

membership str

The name of the membership

mesh FeatureMembershipMeshArgs

Service mesh specific spec. Structure is documented below.

project str

The project of the feature

configmanagement Property Map

Config Management-specific spec. Structure is documented below.

feature String

The name of the feature

location String

The location of the feature

membership String

The name of the membership

mesh Property Map

Service mesh specific spec. Structure is documented below.

project String

The project of the feature

Supporting Types

FeatureMembershipConfigmanagement

Binauthz FeatureMembershipConfigmanagementBinauthz

Binauthz configuration for the cluster. Structure is documented below.

ConfigSync FeatureMembershipConfigmanagementConfigSync

Config Sync configuration for the cluster. Structure is documented below.

HierarchyController FeatureMembershipConfigmanagementHierarchyController

Hierarchy Controller configuration for the cluster. Structure is documented below.

PolicyController FeatureMembershipConfigmanagementPolicyController

Policy Controller configuration for the cluster. Structure is documented below.

Version string

Version of ACM installed.

Binauthz FeatureMembershipConfigmanagementBinauthz

Binauthz configuration for the cluster. Structure is documented below.

ConfigSync FeatureMembershipConfigmanagementConfigSync

Config Sync configuration for the cluster. Structure is documented below.

HierarchyController FeatureMembershipConfigmanagementHierarchyController

Hierarchy Controller configuration for the cluster. Structure is documented below.

PolicyController FeatureMembershipConfigmanagementPolicyController

Policy Controller configuration for the cluster. Structure is documented below.

Version string

Version of ACM installed.

binauthz FeatureMembershipConfigmanagementBinauthz

Binauthz configuration for the cluster. Structure is documented below.

configSync FeatureMembershipConfigmanagementConfigSync

Config Sync configuration for the cluster. Structure is documented below.

hierarchyController FeatureMembershipConfigmanagementHierarchyController

Hierarchy Controller configuration for the cluster. Structure is documented below.

policyController FeatureMembershipConfigmanagementPolicyController

Policy Controller configuration for the cluster. Structure is documented below.

version String

Version of ACM installed.

binauthz FeatureMembershipConfigmanagementBinauthz

Binauthz configuration for the cluster. Structure is documented below.

configSync FeatureMembershipConfigmanagementConfigSync

Config Sync configuration for the cluster. Structure is documented below.

hierarchyController FeatureMembershipConfigmanagementHierarchyController

Hierarchy Controller configuration for the cluster. Structure is documented below.

policyController FeatureMembershipConfigmanagementPolicyController

Policy Controller configuration for the cluster. Structure is documented below.

version string

Version of ACM installed.

binauthz FeatureMembershipConfigmanagementBinauthz

Binauthz configuration for the cluster. Structure is documented below.

config_sync FeatureMembershipConfigmanagementConfigSync

Config Sync configuration for the cluster. Structure is documented below.

hierarchy_controller FeatureMembershipConfigmanagementHierarchyController

Hierarchy Controller configuration for the cluster. Structure is documented below.

policy_controller FeatureMembershipConfigmanagementPolicyController

Policy Controller configuration for the cluster. Structure is documented below.

version str

Version of ACM installed.

binauthz Property Map

Binauthz configuration for the cluster. Structure is documented below.

configSync Property Map

Config Sync configuration for the cluster. Structure is documented below.

hierarchyController Property Map

Hierarchy Controller configuration for the cluster. Structure is documented below.

policyController Property Map

Policy Controller configuration for the cluster. Structure is documented below.

version String

Version of ACM installed.

FeatureMembershipConfigmanagementBinauthz

Enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

Enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

enabled Boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

enabled boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

enabled Boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

FeatureMembershipConfigmanagementConfigSync

Git FeatureMembershipConfigmanagementConfigSyncGit

(Optional) Structure is documented below.

PreventDrift bool

Supported from ACM versions 1.10.0 onwards. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to "false", disables the Config Sync admission webhook and does not prevent drifts.

SourceFormat string

Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode.

Git FeatureMembershipConfigmanagementConfigSyncGit

(Optional) Structure is documented below.

PreventDrift bool

Supported from ACM versions 1.10.0 onwards. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to "false", disables the Config Sync admission webhook and does not prevent drifts.

SourceFormat string

Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode.

git FeatureMembershipConfigmanagementConfigSyncGit

(Optional) Structure is documented below.

preventDrift Boolean

Supported from ACM versions 1.10.0 onwards. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to "false", disables the Config Sync admission webhook and does not prevent drifts.

sourceFormat String

Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode.

git FeatureMembershipConfigmanagementConfigSyncGit

(Optional) Structure is documented below.

preventDrift boolean

Supported from ACM versions 1.10.0 onwards. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to "false", disables the Config Sync admission webhook and does not prevent drifts.

sourceFormat string

Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode.

git FeatureMembershipConfigmanagementConfigSyncGit

(Optional) Structure is documented below.

prevent_drift bool

Supported from ACM versions 1.10.0 onwards. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to "false", disables the Config Sync admission webhook and does not prevent drifts.

source_format str

Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode.

git Property Map

(Optional) Structure is documented below.

preventDrift Boolean

Supported from ACM versions 1.10.0 onwards. 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.

FeatureMembershipConfigmanagementConfigSyncGit

GcpServiceAccountEmail string

The GCP 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. Default: the root directory of the repository.

SecretType string

Type of secret configured for access to the Git repo.

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.

GcpServiceAccountEmail string

The GCP 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. Default: the root directory of the repository.

SecretType string

Type of secret configured for access to the Git repo.

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.

gcpServiceAccountEmail String

The GCP 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. Default: the root directory of the repository.

secretType String

Type of secret configured for access to the Git repo.

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.

gcpServiceAccountEmail string

The GCP 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. Default: the root directory of the repository.

secretType string

Type of secret configured for access to the Git repo.

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.

gcp_service_account_email str

The GCP 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. Default: the root directory of the repository.

secret_type str

Type of secret configured for access to the Git repo.

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.

gcpServiceAccountEmail String

The GCP 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. Default: the root directory of the repository.

secretType String

Type of secret configured for access to the Git repo.

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.

FeatureMembershipConfigmanagementHierarchyController

EnableHierarchicalResourceQuota bool

Whether hierarchical resource quota is enabled in this cluster.

EnablePodTreeLabels bool

Whether pod tree labels are enabled in this cluster.

Enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

EnableHierarchicalResourceQuota bool

Whether hierarchical resource quota is enabled in this cluster.

EnablePodTreeLabels bool

Whether pod tree labels are enabled in this cluster.

Enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

enableHierarchicalResourceQuota Boolean

Whether hierarchical resource quota is enabled in this cluster.

enablePodTreeLabels Boolean

Whether pod tree labels are enabled in this cluster.

enabled Boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

enableHierarchicalResourceQuota boolean

Whether hierarchical resource quota is enabled in this cluster.

enablePodTreeLabels boolean

Whether pod tree labels are enabled in this cluster.

enabled boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

enable_hierarchical_resource_quota bool

Whether hierarchical resource quota is enabled in this cluster.

enable_pod_tree_labels bool

Whether pod tree labels are enabled in this cluster.

enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

enableHierarchicalResourceQuota Boolean

Whether hierarchical resource quota is enabled in this cluster.

enablePodTreeLabels Boolean

Whether pod tree labels are enabled in this cluster.

enabled Boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

FeatureMembershipConfigmanagementPolicyController

AuditIntervalSeconds string

Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.

Enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

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 FeatureMembershipConfigmanagementPolicyControllerMonitoring

Specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]. Default: ["cloudmonitoring", "prometheus"]

MutationEnabled bool

Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.

ReferentialRulesEnabled bool

Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.

TemplateLibraryInstalled bool

Installs the default template library along with Policy Controller.

AuditIntervalSeconds string

Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.

Enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

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 FeatureMembershipConfigmanagementPolicyControllerMonitoring

Specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]. Default: ["cloudmonitoring", "prometheus"]

MutationEnabled bool

Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.

ReferentialRulesEnabled bool

Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.

TemplateLibraryInstalled bool

Installs the default template library along with Policy Controller.

auditIntervalSeconds String

Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.

enabled Boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

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 FeatureMembershipConfigmanagementPolicyControllerMonitoring

Specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]. Default: ["cloudmonitoring", "prometheus"]

mutationEnabled Boolean

Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.

referentialRulesEnabled Boolean

Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.

templateLibraryInstalled Boolean

Installs the default template library along with Policy Controller.

auditIntervalSeconds string

Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.

enabled boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

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 FeatureMembershipConfigmanagementPolicyControllerMonitoring

Specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]. Default: ["cloudmonitoring", "prometheus"]

mutationEnabled boolean

Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.

referentialRulesEnabled boolean

Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.

templateLibraryInstalled boolean

Installs the default template library along with Policy Controller.

audit_interval_seconds str

Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.

enabled bool

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

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 FeatureMembershipConfigmanagementPolicyControllerMonitoring

Specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]. Default: ["cloudmonitoring", "prometheus"]

mutation_enabled bool

Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.

referential_rules_enabled bool

Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.

template_library_installed bool

Installs the default template library along with Policy Controller.

auditIntervalSeconds String

Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.

enabled Boolean

Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.

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

Specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]. Default: ["cloudmonitoring", "prometheus"]

mutationEnabled Boolean

Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.

referentialRulesEnabled Boolean

Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.

templateLibraryInstalled Boolean

Installs the default template library along with Policy Controller.

FeatureMembershipConfigmanagementPolicyControllerMonitoring

Backends List<string>
Backends []string
backends List<String>
backends string[]
backends Sequence[str]
backends List<String>

FeatureMembershipMesh

Management string

Whether to automatically manage Service Mesh. Can either be MANAGEMENT_AUTOMATIC or MANAGEMENT_MANUAL.

Management string

Whether to automatically manage Service Mesh. Can either be MANAGEMENT_AUTOMATIC or MANAGEMENT_MANUAL.

management String

Whether to automatically manage Service Mesh. Can either be MANAGEMENT_AUTOMATIC or MANAGEMENT_MANUAL.

management string

Whether to automatically manage Service Mesh. Can either be MANAGEMENT_AUTOMATIC or MANAGEMENT_MANUAL.

management str

Whether to automatically manage Service Mesh. Can either be MANAGEMENT_AUTOMATIC or MANAGEMENT_MANUAL.

management String

Whether to automatically manage Service Mesh. Can either be MANAGEMENT_AUTOMATIC or MANAGEMENT_MANUAL.

Package Details

Repository
https://github.com/pulumi/pulumi-gcp
License
Apache-2.0
Notes

This Pulumi package is based on the google-beta Terraform Provider.