github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/detective/invitationAccepter.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package detective 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a resource to manage an [Amazon Detective Invitation Accepter](https://docs.aws.amazon.com/detective/latest/APIReference/API_AcceptInvitation.html). Ensure that the accepter is configured to use the AWS account you wish to _accept_ the invitation from the primary graph owner account. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // primary, err := detective.NewGraph(ctx, "primary", nil) 33 // if err != nil { 34 // return err 35 // } 36 // primaryMember, err := detective.NewMember(ctx, "primary", &detective.MemberArgs{ 37 // AccountId: pulumi.String("ACCOUNT ID"), 38 // EmailAddress: pulumi.String("EMAIL"), 39 // GraphArn: primary.ID(), 40 // Message: pulumi.String("Message of the invite"), 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // _, err = detective.NewInvitationAccepter(ctx, "member", &detective.InvitationAccepterArgs{ 46 // GraphArn: primary.GraphArn, 47 // }, pulumi.DependsOn([]pulumi.Resource{ 48 // primaryMember, 49 // })) 50 // if err != nil { 51 // return err 52 // } 53 // return nil 54 // }) 55 // } 56 // 57 // ``` 58 // <!--End PulumiCodeChooser --> 59 // 60 // ## Import 61 // 62 // Using `pulumi import`, import `aws_detective_invitation_accepter` using the graph ARN. For example: 63 // 64 // ```sh 65 // $ pulumi import aws:detective/invitationAccepter:InvitationAccepter example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d 66 // ``` 67 type InvitationAccepter struct { 68 pulumi.CustomResourceState 69 70 // ARN of the behavior graph that the member account is accepting the invitation for. 71 GraphArn pulumi.StringOutput `pulumi:"graphArn"` 72 } 73 74 // NewInvitationAccepter registers a new resource with the given unique name, arguments, and options. 75 func NewInvitationAccepter(ctx *pulumi.Context, 76 name string, args *InvitationAccepterArgs, opts ...pulumi.ResourceOption) (*InvitationAccepter, error) { 77 if args == nil { 78 return nil, errors.New("missing one or more required arguments") 79 } 80 81 if args.GraphArn == nil { 82 return nil, errors.New("invalid value for required argument 'GraphArn'") 83 } 84 opts = internal.PkgResourceDefaultOpts(opts) 85 var resource InvitationAccepter 86 err := ctx.RegisterResource("aws:detective/invitationAccepter:InvitationAccepter", name, args, &resource, opts...) 87 if err != nil { 88 return nil, err 89 } 90 return &resource, nil 91 } 92 93 // GetInvitationAccepter gets an existing InvitationAccepter resource's state with the given name, ID, and optional 94 // state properties that are used to uniquely qualify the lookup (nil if not required). 95 func GetInvitationAccepter(ctx *pulumi.Context, 96 name string, id pulumi.IDInput, state *InvitationAccepterState, opts ...pulumi.ResourceOption) (*InvitationAccepter, error) { 97 var resource InvitationAccepter 98 err := ctx.ReadResource("aws:detective/invitationAccepter:InvitationAccepter", name, id, state, &resource, opts...) 99 if err != nil { 100 return nil, err 101 } 102 return &resource, nil 103 } 104 105 // Input properties used for looking up and filtering InvitationAccepter resources. 106 type invitationAccepterState struct { 107 // ARN of the behavior graph that the member account is accepting the invitation for. 108 GraphArn *string `pulumi:"graphArn"` 109 } 110 111 type InvitationAccepterState struct { 112 // ARN of the behavior graph that the member account is accepting the invitation for. 113 GraphArn pulumi.StringPtrInput 114 } 115 116 func (InvitationAccepterState) ElementType() reflect.Type { 117 return reflect.TypeOf((*invitationAccepterState)(nil)).Elem() 118 } 119 120 type invitationAccepterArgs struct { 121 // ARN of the behavior graph that the member account is accepting the invitation for. 122 GraphArn string `pulumi:"graphArn"` 123 } 124 125 // The set of arguments for constructing a InvitationAccepter resource. 126 type InvitationAccepterArgs struct { 127 // ARN of the behavior graph that the member account is accepting the invitation for. 128 GraphArn pulumi.StringInput 129 } 130 131 func (InvitationAccepterArgs) ElementType() reflect.Type { 132 return reflect.TypeOf((*invitationAccepterArgs)(nil)).Elem() 133 } 134 135 type InvitationAccepterInput interface { 136 pulumi.Input 137 138 ToInvitationAccepterOutput() InvitationAccepterOutput 139 ToInvitationAccepterOutputWithContext(ctx context.Context) InvitationAccepterOutput 140 } 141 142 func (*InvitationAccepter) ElementType() reflect.Type { 143 return reflect.TypeOf((**InvitationAccepter)(nil)).Elem() 144 } 145 146 func (i *InvitationAccepter) ToInvitationAccepterOutput() InvitationAccepterOutput { 147 return i.ToInvitationAccepterOutputWithContext(context.Background()) 148 } 149 150 func (i *InvitationAccepter) ToInvitationAccepterOutputWithContext(ctx context.Context) InvitationAccepterOutput { 151 return pulumi.ToOutputWithContext(ctx, i).(InvitationAccepterOutput) 152 } 153 154 // InvitationAccepterArrayInput is an input type that accepts InvitationAccepterArray and InvitationAccepterArrayOutput values. 155 // You can construct a concrete instance of `InvitationAccepterArrayInput` via: 156 // 157 // InvitationAccepterArray{ InvitationAccepterArgs{...} } 158 type InvitationAccepterArrayInput interface { 159 pulumi.Input 160 161 ToInvitationAccepterArrayOutput() InvitationAccepterArrayOutput 162 ToInvitationAccepterArrayOutputWithContext(context.Context) InvitationAccepterArrayOutput 163 } 164 165 type InvitationAccepterArray []InvitationAccepterInput 166 167 func (InvitationAccepterArray) ElementType() reflect.Type { 168 return reflect.TypeOf((*[]*InvitationAccepter)(nil)).Elem() 169 } 170 171 func (i InvitationAccepterArray) ToInvitationAccepterArrayOutput() InvitationAccepterArrayOutput { 172 return i.ToInvitationAccepterArrayOutputWithContext(context.Background()) 173 } 174 175 func (i InvitationAccepterArray) ToInvitationAccepterArrayOutputWithContext(ctx context.Context) InvitationAccepterArrayOutput { 176 return pulumi.ToOutputWithContext(ctx, i).(InvitationAccepterArrayOutput) 177 } 178 179 // InvitationAccepterMapInput is an input type that accepts InvitationAccepterMap and InvitationAccepterMapOutput values. 180 // You can construct a concrete instance of `InvitationAccepterMapInput` via: 181 // 182 // InvitationAccepterMap{ "key": InvitationAccepterArgs{...} } 183 type InvitationAccepterMapInput interface { 184 pulumi.Input 185 186 ToInvitationAccepterMapOutput() InvitationAccepterMapOutput 187 ToInvitationAccepterMapOutputWithContext(context.Context) InvitationAccepterMapOutput 188 } 189 190 type InvitationAccepterMap map[string]InvitationAccepterInput 191 192 func (InvitationAccepterMap) ElementType() reflect.Type { 193 return reflect.TypeOf((*map[string]*InvitationAccepter)(nil)).Elem() 194 } 195 196 func (i InvitationAccepterMap) ToInvitationAccepterMapOutput() InvitationAccepterMapOutput { 197 return i.ToInvitationAccepterMapOutputWithContext(context.Background()) 198 } 199 200 func (i InvitationAccepterMap) ToInvitationAccepterMapOutputWithContext(ctx context.Context) InvitationAccepterMapOutput { 201 return pulumi.ToOutputWithContext(ctx, i).(InvitationAccepterMapOutput) 202 } 203 204 type InvitationAccepterOutput struct{ *pulumi.OutputState } 205 206 func (InvitationAccepterOutput) ElementType() reflect.Type { 207 return reflect.TypeOf((**InvitationAccepter)(nil)).Elem() 208 } 209 210 func (o InvitationAccepterOutput) ToInvitationAccepterOutput() InvitationAccepterOutput { 211 return o 212 } 213 214 func (o InvitationAccepterOutput) ToInvitationAccepterOutputWithContext(ctx context.Context) InvitationAccepterOutput { 215 return o 216 } 217 218 // ARN of the behavior graph that the member account is accepting the invitation for. 219 func (o InvitationAccepterOutput) GraphArn() pulumi.StringOutput { 220 return o.ApplyT(func(v *InvitationAccepter) pulumi.StringOutput { return v.GraphArn }).(pulumi.StringOutput) 221 } 222 223 type InvitationAccepterArrayOutput struct{ *pulumi.OutputState } 224 225 func (InvitationAccepterArrayOutput) ElementType() reflect.Type { 226 return reflect.TypeOf((*[]*InvitationAccepter)(nil)).Elem() 227 } 228 229 func (o InvitationAccepterArrayOutput) ToInvitationAccepterArrayOutput() InvitationAccepterArrayOutput { 230 return o 231 } 232 233 func (o InvitationAccepterArrayOutput) ToInvitationAccepterArrayOutputWithContext(ctx context.Context) InvitationAccepterArrayOutput { 234 return o 235 } 236 237 func (o InvitationAccepterArrayOutput) Index(i pulumi.IntInput) InvitationAccepterOutput { 238 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InvitationAccepter { 239 return vs[0].([]*InvitationAccepter)[vs[1].(int)] 240 }).(InvitationAccepterOutput) 241 } 242 243 type InvitationAccepterMapOutput struct{ *pulumi.OutputState } 244 245 func (InvitationAccepterMapOutput) ElementType() reflect.Type { 246 return reflect.TypeOf((*map[string]*InvitationAccepter)(nil)).Elem() 247 } 248 249 func (o InvitationAccepterMapOutput) ToInvitationAccepterMapOutput() InvitationAccepterMapOutput { 250 return o 251 } 252 253 func (o InvitationAccepterMapOutput) ToInvitationAccepterMapOutputWithContext(ctx context.Context) InvitationAccepterMapOutput { 254 return o 255 } 256 257 func (o InvitationAccepterMapOutput) MapIndex(k pulumi.StringInput) InvitationAccepterOutput { 258 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InvitationAccepter { 259 return vs[0].(map[string]*InvitationAccepter)[vs[1].(string)] 260 }).(InvitationAccepterOutput) 261 } 262 263 func init() { 264 pulumi.RegisterInputType(reflect.TypeOf((*InvitationAccepterInput)(nil)).Elem(), &InvitationAccepter{}) 265 pulumi.RegisterInputType(reflect.TypeOf((*InvitationAccepterArrayInput)(nil)).Elem(), InvitationAccepterArray{}) 266 pulumi.RegisterInputType(reflect.TypeOf((*InvitationAccepterMapInput)(nil)).Elem(), InvitationAccepterMap{}) 267 pulumi.RegisterOutputType(InvitationAccepterOutput{}) 268 pulumi.RegisterOutputType(InvitationAccepterArrayOutput{}) 269 pulumi.RegisterOutputType(InvitationAccepterMapOutput{}) 270 }