MembershipArgs

data class MembershipArgs(val authority: Output<MembershipAuthorityArgs>? = null, val description: Output<String>? = null, val endpoint: Output<MembershipEndpointArgs>? = null, val labels: Output<Map<String, String>>? = null, val location: Output<String>? = null, val membershipId: Output<String>? = null, val project: Output<String>? = null) : ConvertibleToJava<MembershipArgs>

Membership contains information about a member cluster. To get more information about Membership, see:

Example Usage

Gkehub Membership Regional

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 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 primary = new Cluster("primary", ClusterArgs.builder()
.deletionProtection(false)
.initialNodeCount(1)
.location("us-central1-a")
.build());
var membership = new Membership("membership", MembershipArgs.builder()
.endpoint(MembershipEndpointArgs.builder()
.gkeCluster(MembershipEndpointGkeClusterArgs.builder()
.resourceLink(primary.id().applyValue(id -> String.format("//container.googleapis.com/%s", id)))
.build())
.build())
.location("us-west1")
.membershipId("basic")
.build());
}
}

Gkehub Membership Basic

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 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 primary = new Cluster("primary", ClusterArgs.builder()
.deletionProtection("true")
.initialNodeCount(1)
.location("us-central1-a")
.build());
var membership = new Membership("membership", MembershipArgs.builder()
.endpoint(MembershipEndpointArgs.builder()
.gkeCluster(MembershipEndpointGkeClusterArgs.builder()
.resourceLink(primary.id().applyValue(id -> String.format("//container.googleapis.com/%s", id)))
.build())
.build())
.labels(Map.of("env", "test"))
.membershipId("basic")
.build());
}
}

Gkehub Membership Issuer

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.container.inputs.ClusterWorkloadIdentityConfigArgs;
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.inputs.MembershipAuthorityArgs;
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 primary = new Cluster("primary", ClusterArgs.builder()
.location("us-central1-a")
.initialNodeCount(1)
.workloadIdentityConfig(ClusterWorkloadIdentityConfigArgs.builder()
.workloadPool("my-project-name.svc.id.goog")
.build())
.deletionProtection("true")
.build());
var membership = new Membership("membership", MembershipArgs.builder()
.membershipId("basic")
.endpoint(MembershipEndpointArgs.builder()
.gkeCluster(MembershipEndpointGkeClusterArgs.builder()
.resourceLink(primary.id())
.build())
.build())
.authority(MembershipAuthorityArgs.builder()
.issuer(primary.id().applyValue(id -> String.format("https://container.googleapis.com/v1/%s", id)))
.build())
.build());
}
}

Import

Membership can be imported using any of these accepted formats* projects/{{project}}/locations/{{location}}/memberships/{{membership_id}} * {{project}}/{{location}}/{{membership_id}} * {{location}}/{{membership_id}} In Terraform v1.5.0 and later, use an import block to import Membership using one of the formats above. For exampletf import { id = "projects/{{project}}/locations/{{location}}/memberships/{{membership_id}}" to = google_gke_hub_membership.default }

$ pulumi import gcp:gkehub/membership:Membership When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Membership can be imported using one of the formats above. For example
$ pulumi import gcp:gkehub/membership:Membership default projects/{{project}}/locations/{{location}}/memberships/{{membership_id}}
$ pulumi import gcp:gkehub/membership:Membership default {{project}}/{{location}}/{{membership_id}}
$ pulumi import gcp:gkehub/membership:Membership default {{location}}/{{membership_id}}

Constructors

Link copied to clipboard
fun MembershipArgs(authority: Output<MembershipAuthorityArgs>? = null, description: Output<String>? = null, endpoint: Output<MembershipEndpointArgs>? = null, labels: Output<Map<String, String>>? = null, location: Output<String>? = null, membershipId: Output<String>? = null, project: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): MembershipArgs

Properties

Link copied to clipboard
val authority: Output<MembershipAuthorityArgs>? = null

Authority encodes how Google will recognize identities from this Membership. See the workload identity documentation for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity Structure is documented below.

Link copied to clipboard
val description: Output<String>? = null

(Optional, Deprecated) The name of this entity type to be displayed on the console. This field is unavailable in v1 of the API.

Link copied to clipboard
val endpoint: Output<MembershipEndpointArgs>? = null

If this Membership is a Kubernetes API server hosted on GKE, this is a self link to its GCP resource. Structure is documented below.

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

Labels to apply to this membership. 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.

Link copied to clipboard
val location: Output<String>? = null

Location of the membership. The default value is global.

Link copied to clipboard
val membershipId: Output<String>? = null

The client-provided identifier of the membership.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.