InviteAccepter

class InviteAccepter : KotlinCustomResource

Provides a resource to accept a pending GuardDuty invite on creation, ensure the detector has the correct primary account on read, and disassociate with the primary account upon removal.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const primary = new aws.guardduty.Detector("primary", {});
const memberDetector = new aws.guardduty.Detector("member", {});
const memberMember = new aws.guardduty.Member("member", {
accountId: memberDetector.accountId,
detectorId: primary.id,
email: "required@example.com",
invite: true,
});
const member = new aws.guardduty.InviteAccepter("member", {
detectorId: memberDetector.id,
masterAccountId: primary.accountId,
}, {
dependsOn: [memberMember],
});
import pulumi
import pulumi_aws as aws
primary = aws.guardduty.Detector("primary")
member_detector = aws.guardduty.Detector("member")
member_member = aws.guardduty.Member("member",
account_id=member_detector.account_id,
detector_id=primary.id,
email="required@example.com",
invite=True)
member = aws.guardduty.InviteAccepter("member",
detector_id=member_detector.id,
master_account_id=primary.account_id,
opts = pulumi.ResourceOptions(depends_on=[member_member]))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var primary = new Aws.GuardDuty.Detector("primary");
var memberDetector = new Aws.GuardDuty.Detector("member");
var memberMember = new Aws.GuardDuty.Member("member", new()
{
AccountId = memberDetector.AccountId,
DetectorId = primary.Id,
Email = "required@example.com",
Invite = true,
});
var member = new Aws.GuardDuty.InviteAccepter("member", new()
{
DetectorId = memberDetector.Id,
MasterAccountId = primary.AccountId,
}, new CustomResourceOptions
{
DependsOn =
{
memberMember,
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
primary, err := guardduty.NewDetector(ctx, "primary", nil)
if err != nil {
return err
}
memberDetector, err := guardduty.NewDetector(ctx, "member", nil)
if err != nil {
return err
}
memberMember, err := guardduty.NewMember(ctx, "member", &guardduty.MemberArgs{
AccountId: memberDetector.AccountId,
DetectorId: primary.ID(),
Email: pulumi.String("required@example.com"),
Invite: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = guardduty.NewInviteAccepter(ctx, "member", &guardduty.InviteAccepterArgs{
DetectorId: memberDetector.ID(),
MasterAccountId: primary.AccountId,
}, pulumi.DependsOn([]pulumi.Resource{
memberMember,
}))
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.aws.guardduty.Detector;
import com.pulumi.aws.guardduty.Member;
import com.pulumi.aws.guardduty.MemberArgs;
import com.pulumi.aws.guardduty.InviteAccepter;
import com.pulumi.aws.guardduty.InviteAccepterArgs;
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 primary = new Detector("primary");
var memberDetector = new Detector("memberDetector");
var memberMember = new Member("memberMember", MemberArgs.builder()
.accountId(memberDetector.accountId())
.detectorId(primary.id())
.email("required@example.com")
.invite(true)
.build());
var member = new InviteAccepter("member", InviteAccepterArgs.builder()
.detectorId(memberDetector.id())
.masterAccountId(primary.accountId())
.build(), CustomResourceOptions.builder()
.dependsOn(memberMember)
.build());
}
}
resources:
member:
type: aws:guardduty:InviteAccepter
properties:
detectorId: ${memberDetector.id}
masterAccountId: ${primary.accountId}
options:
dependsOn:
- ${memberMember}
memberMember:
type: aws:guardduty:Member
name: member
properties:
accountId: ${memberDetector.accountId}
detectorId: ${primary.id}
email: required@example.com
invite: true
primary:
type: aws:guardduty:Detector
memberDetector:
type: aws:guardduty:Detector
name: member

Import

Using pulumi import, import aws_guardduty_invite_accepter using the member GuardDuty detector ID. For example:

$ pulumi import aws:guardduty/inviteAccepter:InviteAccepter member 00b00fd5aecc0ab60a708659477e9617

Properties

Link copied to clipboard
val detectorId: Output<String>

The detector ID of the member GuardDuty account.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val masterAccountId: Output<String>

AWS account ID for primary account.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val urn: Output<String>