import * as core from "@terrascript/core"; export interface MemberArgs extends core.ResourceArgs { /** * (Required) AWS account ID for member account. */ accountId: string | core.StringOut; /** * (Required) The detector ID of the GuardDuty account where you want to create member accounts. */ detectorId: string | core.StringOut; /** * (Optional) Boolean whether an email notification is sent to the accounts. Defaults to `false`. */ disableEmailNotification?: boolean | core.BooleanOut; /** * (Required) Email address for member account. */ email: string | core.StringOut; /** * (Optional) Message for invitation. */ invitationMessage?: string | core.StringOut; /** * (Optional) Boolean whether to invite the account to GuardDuty as a member. Defaults to `false`. To d * etect if an invitation needs to be (re-)sent, the Terraform state value is `true` based on a `relati * onship_status` of `Disabled`, `Enabled`, `Invited`, or `EmailVerificationInProgress`. */ invite?: boolean | core.BooleanOut; } export class Member extends core.Resource { /** * (Required) AWS account ID for member account. */ @core.attr(String) public accountId!: string | core.StringOut; /** * (Required) The detector ID of the GuardDuty account where you want to create member accounts. */ @core.attr(String) public detectorId!: string | core.StringOut; /** * (Optional) Boolean whether an email notification is sent to the accounts. Defaults to `false`. */ @core.attr(Boolean) public disableEmailNotification?: boolean | core.BooleanOut; /** * (Required) Email address for member account. */ @core.attr(String) public email!: string | core.StringOut; /** * The ID of the GuardDuty member */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Message for invitation. */ @core.attr(String) public invitationMessage?: string | core.StringOut; /** * (Optional) Boolean whether to invite the account to GuardDuty as a member. Defaults to `false`. To d * etect if an invitation needs to be (re-)sent, the Terraform state value is `true` based on a `relati * onship_status` of `Disabled`, `Enabled`, `Invited`, or `EmailVerificationInProgress`. */ @core.attr(Boolean) public invite?: boolean | core.BooleanOut; /** * The status of the relationship between the member account and its primary account. More information * can be found in [Amazon GuardDuty API Reference](https://docs.aws.amazon.com/guardduty/latest/ug/get * members.html). */ @core.attr(String, { computed: true }) public relationshipStatus!: string | core.StringOut; constructor(name: string, args?: MemberArgs) { super(name, "aws_guardduty_member", args); } public override getNamespace(): string { return "aws_guardduty"; } }