github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/macie2/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 macie2 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 Macie Invitation Accepter](https://docs.aws.amazon.com/macie/latest/APIReference/invitations-accept.html). 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/macie2" 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 := macie2.NewAccount(ctx, "primary", nil) 33 // if err != nil { 34 // return err 35 // } 36 // _, err = macie2.NewAccount(ctx, "member", nil) 37 // if err != nil { 38 // return err 39 // } 40 // primaryMember, err := macie2.NewMember(ctx, "primary", &macie2.MemberArgs{ 41 // AccountId: pulumi.String("ACCOUNT ID"), 42 // Email: pulumi.String("EMAIL"), 43 // Invite: pulumi.Bool(true), 44 // InvitationMessage: pulumi.String("Message of the invite"), 45 // }, pulumi.DependsOn([]pulumi.Resource{ 46 // primary, 47 // })) 48 // if err != nil { 49 // return err 50 // } 51 // _, err = macie2.NewInvitationAccepter(ctx, "member", &macie2.InvitationAccepterArgs{ 52 // AdministratorAccountId: pulumi.String("ADMINISTRATOR ACCOUNT ID"), 53 // }, pulumi.DependsOn([]pulumi.Resource{ 54 // primaryMember, 55 // })) 56 // if err != nil { 57 // return err 58 // } 59 // return nil 60 // }) 61 // } 62 // 63 // ``` 64 // <!--End PulumiCodeChooser --> 65 // 66 // ## Import 67 // 68 // Using `pulumi import`, import `aws_macie2_invitation_accepter` using the admin account ID. For example: 69 // 70 // ```sh 71 // $ pulumi import aws:macie2/invitationAccepter:InvitationAccepter example 123456789012 72 // ``` 73 type InvitationAccepter struct { 74 pulumi.CustomResourceState 75 76 // The AWS account ID for the account that sent the invitation. 77 AdministratorAccountId pulumi.StringOutput `pulumi:"administratorAccountId"` 78 // The unique identifier for the invitation. 79 InvitationId pulumi.StringOutput `pulumi:"invitationId"` 80 } 81 82 // NewInvitationAccepter registers a new resource with the given unique name, arguments, and options. 83 func NewInvitationAccepter(ctx *pulumi.Context, 84 name string, args *InvitationAccepterArgs, opts ...pulumi.ResourceOption) (*InvitationAccepter, error) { 85 if args == nil { 86 return nil, errors.New("missing one or more required arguments") 87 } 88 89 if args.AdministratorAccountId == nil { 90 return nil, errors.New("invalid value for required argument 'AdministratorAccountId'") 91 } 92 opts = internal.PkgResourceDefaultOpts(opts) 93 var resource InvitationAccepter 94 err := ctx.RegisterResource("aws:macie2/invitationAccepter:InvitationAccepter", name, args, &resource, opts...) 95 if err != nil { 96 return nil, err 97 } 98 return &resource, nil 99 } 100 101 // GetInvitationAccepter gets an existing InvitationAccepter resource's state with the given name, ID, and optional 102 // state properties that are used to uniquely qualify the lookup (nil if not required). 103 func GetInvitationAccepter(ctx *pulumi.Context, 104 name string, id pulumi.IDInput, state *InvitationAccepterState, opts ...pulumi.ResourceOption) (*InvitationAccepter, error) { 105 var resource InvitationAccepter 106 err := ctx.ReadResource("aws:macie2/invitationAccepter:InvitationAccepter", name, id, state, &resource, opts...) 107 if err != nil { 108 return nil, err 109 } 110 return &resource, nil 111 } 112 113 // Input properties used for looking up and filtering InvitationAccepter resources. 114 type invitationAccepterState struct { 115 // The AWS account ID for the account that sent the invitation. 116 AdministratorAccountId *string `pulumi:"administratorAccountId"` 117 // The unique identifier for the invitation. 118 InvitationId *string `pulumi:"invitationId"` 119 } 120 121 type InvitationAccepterState struct { 122 // The AWS account ID for the account that sent the invitation. 123 AdministratorAccountId pulumi.StringPtrInput 124 // The unique identifier for the invitation. 125 InvitationId pulumi.StringPtrInput 126 } 127 128 func (InvitationAccepterState) ElementType() reflect.Type { 129 return reflect.TypeOf((*invitationAccepterState)(nil)).Elem() 130 } 131 132 type invitationAccepterArgs struct { 133 // The AWS account ID for the account that sent the invitation. 134 AdministratorAccountId string `pulumi:"administratorAccountId"` 135 } 136 137 // The set of arguments for constructing a InvitationAccepter resource. 138 type InvitationAccepterArgs struct { 139 // The AWS account ID for the account that sent the invitation. 140 AdministratorAccountId pulumi.StringInput 141 } 142 143 func (InvitationAccepterArgs) ElementType() reflect.Type { 144 return reflect.TypeOf((*invitationAccepterArgs)(nil)).Elem() 145 } 146 147 type InvitationAccepterInput interface { 148 pulumi.Input 149 150 ToInvitationAccepterOutput() InvitationAccepterOutput 151 ToInvitationAccepterOutputWithContext(ctx context.Context) InvitationAccepterOutput 152 } 153 154 func (*InvitationAccepter) ElementType() reflect.Type { 155 return reflect.TypeOf((**InvitationAccepter)(nil)).Elem() 156 } 157 158 func (i *InvitationAccepter) ToInvitationAccepterOutput() InvitationAccepterOutput { 159 return i.ToInvitationAccepterOutputWithContext(context.Background()) 160 } 161 162 func (i *InvitationAccepter) ToInvitationAccepterOutputWithContext(ctx context.Context) InvitationAccepterOutput { 163 return pulumi.ToOutputWithContext(ctx, i).(InvitationAccepterOutput) 164 } 165 166 // InvitationAccepterArrayInput is an input type that accepts InvitationAccepterArray and InvitationAccepterArrayOutput values. 167 // You can construct a concrete instance of `InvitationAccepterArrayInput` via: 168 // 169 // InvitationAccepterArray{ InvitationAccepterArgs{...} } 170 type InvitationAccepterArrayInput interface { 171 pulumi.Input 172 173 ToInvitationAccepterArrayOutput() InvitationAccepterArrayOutput 174 ToInvitationAccepterArrayOutputWithContext(context.Context) InvitationAccepterArrayOutput 175 } 176 177 type InvitationAccepterArray []InvitationAccepterInput 178 179 func (InvitationAccepterArray) ElementType() reflect.Type { 180 return reflect.TypeOf((*[]*InvitationAccepter)(nil)).Elem() 181 } 182 183 func (i InvitationAccepterArray) ToInvitationAccepterArrayOutput() InvitationAccepterArrayOutput { 184 return i.ToInvitationAccepterArrayOutputWithContext(context.Background()) 185 } 186 187 func (i InvitationAccepterArray) ToInvitationAccepterArrayOutputWithContext(ctx context.Context) InvitationAccepterArrayOutput { 188 return pulumi.ToOutputWithContext(ctx, i).(InvitationAccepterArrayOutput) 189 } 190 191 // InvitationAccepterMapInput is an input type that accepts InvitationAccepterMap and InvitationAccepterMapOutput values. 192 // You can construct a concrete instance of `InvitationAccepterMapInput` via: 193 // 194 // InvitationAccepterMap{ "key": InvitationAccepterArgs{...} } 195 type InvitationAccepterMapInput interface { 196 pulumi.Input 197 198 ToInvitationAccepterMapOutput() InvitationAccepterMapOutput 199 ToInvitationAccepterMapOutputWithContext(context.Context) InvitationAccepterMapOutput 200 } 201 202 type InvitationAccepterMap map[string]InvitationAccepterInput 203 204 func (InvitationAccepterMap) ElementType() reflect.Type { 205 return reflect.TypeOf((*map[string]*InvitationAccepter)(nil)).Elem() 206 } 207 208 func (i InvitationAccepterMap) ToInvitationAccepterMapOutput() InvitationAccepterMapOutput { 209 return i.ToInvitationAccepterMapOutputWithContext(context.Background()) 210 } 211 212 func (i InvitationAccepterMap) ToInvitationAccepterMapOutputWithContext(ctx context.Context) InvitationAccepterMapOutput { 213 return pulumi.ToOutputWithContext(ctx, i).(InvitationAccepterMapOutput) 214 } 215 216 type InvitationAccepterOutput struct{ *pulumi.OutputState } 217 218 func (InvitationAccepterOutput) ElementType() reflect.Type { 219 return reflect.TypeOf((**InvitationAccepter)(nil)).Elem() 220 } 221 222 func (o InvitationAccepterOutput) ToInvitationAccepterOutput() InvitationAccepterOutput { 223 return o 224 } 225 226 func (o InvitationAccepterOutput) ToInvitationAccepterOutputWithContext(ctx context.Context) InvitationAccepterOutput { 227 return o 228 } 229 230 // The AWS account ID for the account that sent the invitation. 231 func (o InvitationAccepterOutput) AdministratorAccountId() pulumi.StringOutput { 232 return o.ApplyT(func(v *InvitationAccepter) pulumi.StringOutput { return v.AdministratorAccountId }).(pulumi.StringOutput) 233 } 234 235 // The unique identifier for the invitation. 236 func (o InvitationAccepterOutput) InvitationId() pulumi.StringOutput { 237 return o.ApplyT(func(v *InvitationAccepter) pulumi.StringOutput { return v.InvitationId }).(pulumi.StringOutput) 238 } 239 240 type InvitationAccepterArrayOutput struct{ *pulumi.OutputState } 241 242 func (InvitationAccepterArrayOutput) ElementType() reflect.Type { 243 return reflect.TypeOf((*[]*InvitationAccepter)(nil)).Elem() 244 } 245 246 func (o InvitationAccepterArrayOutput) ToInvitationAccepterArrayOutput() InvitationAccepterArrayOutput { 247 return o 248 } 249 250 func (o InvitationAccepterArrayOutput) ToInvitationAccepterArrayOutputWithContext(ctx context.Context) InvitationAccepterArrayOutput { 251 return o 252 } 253 254 func (o InvitationAccepterArrayOutput) Index(i pulumi.IntInput) InvitationAccepterOutput { 255 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InvitationAccepter { 256 return vs[0].([]*InvitationAccepter)[vs[1].(int)] 257 }).(InvitationAccepterOutput) 258 } 259 260 type InvitationAccepterMapOutput struct{ *pulumi.OutputState } 261 262 func (InvitationAccepterMapOutput) ElementType() reflect.Type { 263 return reflect.TypeOf((*map[string]*InvitationAccepter)(nil)).Elem() 264 } 265 266 func (o InvitationAccepterMapOutput) ToInvitationAccepterMapOutput() InvitationAccepterMapOutput { 267 return o 268 } 269 270 func (o InvitationAccepterMapOutput) ToInvitationAccepterMapOutputWithContext(ctx context.Context) InvitationAccepterMapOutput { 271 return o 272 } 273 274 func (o InvitationAccepterMapOutput) MapIndex(k pulumi.StringInput) InvitationAccepterOutput { 275 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InvitationAccepter { 276 return vs[0].(map[string]*InvitationAccepter)[vs[1].(string)] 277 }).(InvitationAccepterOutput) 278 } 279 280 func init() { 281 pulumi.RegisterInputType(reflect.TypeOf((*InvitationAccepterInput)(nil)).Elem(), &InvitationAccepter{}) 282 pulumi.RegisterInputType(reflect.TypeOf((*InvitationAccepterArrayInput)(nil)).Elem(), InvitationAccepterArray{}) 283 pulumi.RegisterInputType(reflect.TypeOf((*InvitationAccepterMapInput)(nil)).Elem(), InvitationAccepterMap{}) 284 pulumi.RegisterOutputType(InvitationAccepterOutput{}) 285 pulumi.RegisterOutputType(InvitationAccepterArrayOutput{}) 286 pulumi.RegisterOutputType(InvitationAccepterMapOutput{}) 287 }