GroupMembershipArgs

data class GroupMembershipArgs(val group: Output<String>? = null, val memberKey: Output<GroupMembershipMemberKeyArgs>? = null, val preferredMemberKey: Output<GroupMembershipPreferredMemberKeyArgs>? = null, val roles: Output<List<GroupMembershipRoleArgs>>? = null) : ConvertibleToJava<GroupMembershipArgs>

A Membership defines a relationship between a Group and an entity belonging to that Group, referred to as a "member". To get more information about GroupMembership, see:

Warning: If you are using User ADCs (Application Default Credentials) with this resource, you must specify a billing_project and set user_project_override to true in the provider configuration. Otherwise the Cloud Identity API will return a 403 error. Your account must have the serviceusage.services.use permission on the billing_project you defined.

Example Usage

Cloud Identity Group Membership

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const group = new gcp.cloudidentity.Group("group", {
displayName: "my-identity-group",
parent: "customers/A01b123xz",
groupKey: {
id: "my-identity-group@example.com",
},
labels: {
"cloudidentity.googleapis.com/groups.discussion_forum": "",
},
});
const child_group = new gcp.cloudidentity.Group("child-group", {
displayName: "my-identity-group-child",
parent: "customers/A01b123xz",
groupKey: {
id: "my-identity-group-child@example.com",
},
labels: {
"cloudidentity.googleapis.com/groups.discussion_forum": "",
},
});
const cloudIdentityGroupMembershipBasic = new gcp.cloudidentity.GroupMembership("cloud_identity_group_membership_basic", {
group: group.id,
preferredMemberKey: {
id: child_group.groupKey.apply(groupKey => groupKey.id),
},
roles: [{
name: "MEMBER",
}],
});
import pulumi
import pulumi_gcp as gcp
group = gcp.cloudidentity.Group("group",
display_name="my-identity-group",
parent="customers/A01b123xz",
group_key={
"id": "my-identity-group@example.com",
},
labels={
"cloudidentity.googleapis.com/groups.discussion_forum": "",
})
child_group = gcp.cloudidentity.Group("child-group",
display_name="my-identity-group-child",
parent="customers/A01b123xz",
group_key={
"id": "my-identity-group-child@example.com",
},
labels={
"cloudidentity.googleapis.com/groups.discussion_forum": "",
})
cloud_identity_group_membership_basic = gcp.cloudidentity.GroupMembership("cloud_identity_group_membership_basic",
group=group.id,
preferred_member_key={
"id": child_group.group_key.id,
},
roles=[{
"name": "MEMBER",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @group = new Gcp.CloudIdentity.Group("group", new()
{
DisplayName = "my-identity-group",
Parent = "customers/A01b123xz",
GroupKey = new Gcp.CloudIdentity.Inputs.GroupGroupKeyArgs
{
Id = "my-identity-group@example.com",
},
Labels =
{
{ "cloudidentity.googleapis.com/groups.discussion_forum", "" },
},
});
var child_group = new Gcp.CloudIdentity.Group("child-group", new()
{
DisplayName = "my-identity-group-child",
Parent = "customers/A01b123xz",
GroupKey = new Gcp.CloudIdentity.Inputs.GroupGroupKeyArgs
{
Id = "my-identity-group-child@example.com",
},
Labels =
{
{ "cloudidentity.googleapis.com/groups.discussion_forum", "" },
},
});
var cloudIdentityGroupMembershipBasic = new Gcp.CloudIdentity.GroupMembership("cloud_identity_group_membership_basic", new()
{
Group = @group.Id,
PreferredMemberKey = new Gcp.CloudIdentity.Inputs.GroupMembershipPreferredMemberKeyArgs
{
Id = child_group.GroupKey.Apply(groupKey => groupKey.Id),
},
Roles = new[]
{
new Gcp.CloudIdentity.Inputs.GroupMembershipRoleArgs
{
Name = "MEMBER",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudidentity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
group, err := cloudidentity.NewGroup(ctx, "group", &cloudidentity.GroupArgs{
DisplayName: pulumi.String("my-identity-group"),
Parent: pulumi.String("customers/A01b123xz"),
GroupKey: &cloudidentity.GroupGroupKeyArgs{
Id: pulumi.String("my-identity-group@example.com"),
},
Labels: pulumi.StringMap{
"cloudidentity.googleapis.com/groups.discussion_forum": pulumi.String(""),
},
})
if err != nil {
return err
}
_, err = cloudidentity.NewGroup(ctx, "child-group", &cloudidentity.GroupArgs{
DisplayName: pulumi.String("my-identity-group-child"),
Parent: pulumi.String("customers/A01b123xz"),
GroupKey: &cloudidentity.GroupGroupKeyArgs{
Id: pulumi.String("my-identity-group-child@example.com"),
},
Labels: pulumi.StringMap{
"cloudidentity.googleapis.com/groups.discussion_forum": pulumi.String(""),
},
})
if err != nil {
return err
}
_, err = cloudidentity.NewGroupMembership(ctx, "cloud_identity_group_membership_basic", &cloudidentity.GroupMembershipArgs{
Group: group.ID(),
PreferredMemberKey: &cloudidentity.GroupMembershipPreferredMemberKeyArgs{
Id: child_group.GroupKey.ApplyT(func(groupKey cloudidentity.GroupGroupKey) (*string, error) {
return &groupKey.Id, nil
}).(pulumi.StringPtrOutput),
},
Roles: cloudidentity.GroupMembershipRoleArray{
&cloudidentity.GroupMembershipRoleArgs{
Name: pulumi.String("MEMBER"),
},
},
})
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.cloudidentity.Group;
import com.pulumi.gcp.cloudidentity.GroupArgs;
import com.pulumi.gcp.cloudidentity.inputs.GroupGroupKeyArgs;
import com.pulumi.gcp.cloudidentity.GroupMembership;
import com.pulumi.gcp.cloudidentity.GroupMembershipArgs;
import com.pulumi.gcp.cloudidentity.inputs.GroupMembershipPreferredMemberKeyArgs;
import com.pulumi.gcp.cloudidentity.inputs.GroupMembershipRoleArgs;
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 group = new Group("group", GroupArgs.builder()
.displayName("my-identity-group")
.parent("customers/A01b123xz")
.groupKey(GroupGroupKeyArgs.builder()
.id("my-identity-group@example.com")
.build())
.labels(Map.of("cloudidentity.googleapis.com/groups.discussion_forum", ""))
.build());
var child_group = new Group("child-group", GroupArgs.builder()
.displayName("my-identity-group-child")
.parent("customers/A01b123xz")
.groupKey(GroupGroupKeyArgs.builder()
.id("my-identity-group-child@example.com")
.build())
.labels(Map.of("cloudidentity.googleapis.com/groups.discussion_forum", ""))
.build());
var cloudIdentityGroupMembershipBasic = new GroupMembership("cloudIdentityGroupMembershipBasic", GroupMembershipArgs.builder()
.group(group.id())
.preferredMemberKey(GroupMembershipPreferredMemberKeyArgs.builder()
.id(child_group.groupKey().applyValue(groupKey -> groupKey.id()))
.build())
.roles(GroupMembershipRoleArgs.builder()
.name("MEMBER")
.build())
.build());
}
}
resources:
group:
type: gcp:cloudidentity:Group
properties:
displayName: my-identity-group
parent: customers/A01b123xz
groupKey:
id: my-identity-group@example.com
labels:
cloudidentity.googleapis.com/groups.discussion_forum:
child-group:
type: gcp:cloudidentity:Group
properties:
displayName: my-identity-group-child
parent: customers/A01b123xz
groupKey:
id: my-identity-group-child@example.com
labels:
cloudidentity.googleapis.com/groups.discussion_forum:
cloudIdentityGroupMembershipBasic:
type: gcp:cloudidentity:GroupMembership
name: cloud_identity_group_membership_basic
properties:
group: ${group.id}
preferredMemberKey:
id: ${["child-group"].groupKey.id}
roles:
- name: MEMBER

Cloud Identity Group Membership User

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const group = new gcp.cloudidentity.Group("group", {
displayName: "my-identity-group",
parent: "customers/A01b123xz",
groupKey: {
id: "my-identity-group@example.com",
},
labels: {
"cloudidentity.googleapis.com/groups.discussion_forum": "",
},
});
const cloudIdentityGroupMembershipBasic = new gcp.cloudidentity.GroupMembership("cloud_identity_group_membership_basic", {
group: group.id,
preferredMemberKey: {
id: "cloud_identity_user@example.com",
},
roles: [
{
name: "MEMBER",
},
{
name: "MANAGER",
},
],
});
import pulumi
import pulumi_gcp as gcp
group = gcp.cloudidentity.Group("group",
display_name="my-identity-group",
parent="customers/A01b123xz",
group_key={
"id": "my-identity-group@example.com",
},
labels={
"cloudidentity.googleapis.com/groups.discussion_forum": "",
})
cloud_identity_group_membership_basic = gcp.cloudidentity.GroupMembership("cloud_identity_group_membership_basic",
group=group.id,
preferred_member_key={
"id": "cloud_identity_user@example.com",
},
roles=[
{
"name": "MEMBER",
},
{
"name": "MANAGER",
},
])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @group = new Gcp.CloudIdentity.Group("group", new()
{
DisplayName = "my-identity-group",
Parent = "customers/A01b123xz",
GroupKey = new Gcp.CloudIdentity.Inputs.GroupGroupKeyArgs
{
Id = "my-identity-group@example.com",
},
Labels =
{
{ "cloudidentity.googleapis.com/groups.discussion_forum", "" },
},
});
var cloudIdentityGroupMembershipBasic = new Gcp.CloudIdentity.GroupMembership("cloud_identity_group_membership_basic", new()
{
Group = @group.Id,
PreferredMemberKey = new Gcp.CloudIdentity.Inputs.GroupMembershipPreferredMemberKeyArgs
{
Id = "cloud_identity_user@example.com",
},
Roles = new[]
{
new Gcp.CloudIdentity.Inputs.GroupMembershipRoleArgs
{
Name = "MEMBER",
},
new Gcp.CloudIdentity.Inputs.GroupMembershipRoleArgs
{
Name = "MANAGER",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudidentity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
group, err := cloudidentity.NewGroup(ctx, "group", &cloudidentity.GroupArgs{
DisplayName: pulumi.String("my-identity-group"),
Parent: pulumi.String("customers/A01b123xz"),
GroupKey: &cloudidentity.GroupGroupKeyArgs{
Id: pulumi.String("my-identity-group@example.com"),
},
Labels: pulumi.StringMap{
"cloudidentity.googleapis.com/groups.discussion_forum": pulumi.String(""),
},
})
if err != nil {
return err
}
_, err = cloudidentity.NewGroupMembership(ctx, "cloud_identity_group_membership_basic", &cloudidentity.GroupMembershipArgs{
Group: group.ID(),
PreferredMemberKey: &cloudidentity.GroupMembershipPreferredMemberKeyArgs{
Id: pulumi.String("cloud_identity_user@example.com"),
},
Roles: cloudidentity.GroupMembershipRoleArray{
&cloudidentity.GroupMembershipRoleArgs{
Name: pulumi.String("MEMBER"),
},
&cloudidentity.GroupMembershipRoleArgs{
Name: pulumi.String("MANAGER"),
},
},
})
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.cloudidentity.Group;
import com.pulumi.gcp.cloudidentity.GroupArgs;
import com.pulumi.gcp.cloudidentity.inputs.GroupGroupKeyArgs;
import com.pulumi.gcp.cloudidentity.GroupMembership;
import com.pulumi.gcp.cloudidentity.GroupMembershipArgs;
import com.pulumi.gcp.cloudidentity.inputs.GroupMembershipPreferredMemberKeyArgs;
import com.pulumi.gcp.cloudidentity.inputs.GroupMembershipRoleArgs;
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 group = new Group("group", GroupArgs.builder()
.displayName("my-identity-group")
.parent("customers/A01b123xz")
.groupKey(GroupGroupKeyArgs.builder()
.id("my-identity-group@example.com")
.build())
.labels(Map.of("cloudidentity.googleapis.com/groups.discussion_forum", ""))
.build());
var cloudIdentityGroupMembershipBasic = new GroupMembership("cloudIdentityGroupMembershipBasic", GroupMembershipArgs.builder()
.group(group.id())
.preferredMemberKey(GroupMembershipPreferredMemberKeyArgs.builder()
.id("cloud_identity_user@example.com")
.build())
.roles(
GroupMembershipRoleArgs.builder()
.name("MEMBER")
.build(),
GroupMembershipRoleArgs.builder()
.name("MANAGER")
.build())
.build());
}
}
resources:
group:
type: gcp:cloudidentity:Group
properties:
displayName: my-identity-group
parent: customers/A01b123xz
groupKey:
id: my-identity-group@example.com
labels:
cloudidentity.googleapis.com/groups.discussion_forum:
cloudIdentityGroupMembershipBasic:
type: gcp:cloudidentity:GroupMembership
name: cloud_identity_group_membership_basic
properties:
group: ${group.id}
preferredMemberKey:
id: cloud_identity_user@example.com
roles:
- name: MEMBER
- name: MANAGER

Import

GroupMembership can be imported using any of these accepted formats:

  • {{name}} When using the pulumi import command, GroupMembership can be imported using one of the formats above. For example:

$ pulumi import gcp:cloudidentity/groupMembership:GroupMembership default {{name}}

Constructors

Link copied to clipboard
constructor(group: Output<String>? = null, memberKey: Output<GroupMembershipMemberKeyArgs>? = null, preferredMemberKey: Output<GroupMembershipPreferredMemberKeyArgs>? = null, roles: Output<List<GroupMembershipRoleArgs>>? = null)

Properties

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

The name of the Group to create this membership in.

Link copied to clipboard

EntityKey of the member.

Link copied to clipboard

EntityKey of the member.

Link copied to clipboard
val roles: Output<List<GroupMembershipRoleArgs>>? = null

The MembershipRoles that apply to the Membership. Must not contain duplicate MembershipRoles with the same name. Structure is documented below.

Functions

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