github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/macie2/organizationAdminAccount.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 Organization Admin Account](https://docs.aws.amazon.com/macie/latest/APIReference/admin.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 // example, err := macie2.NewAccount(ctx, "example", nil) 33 // if err != nil { 34 // return err 35 // } 36 // _, err = macie2.NewOrganizationAdminAccount(ctx, "example", &macie2.OrganizationAdminAccountArgs{ 37 // AdminAccountId: pulumi.String("ID OF THE ADMIN ACCOUNT"), 38 // }, pulumi.DependsOn([]pulumi.Resource{ 39 // example, 40 // })) 41 // if err != nil { 42 // return err 43 // } 44 // return nil 45 // }) 46 // } 47 // 48 // ``` 49 // <!--End PulumiCodeChooser --> 50 // 51 // ## Import 52 // 53 // Using `pulumi import`, import `aws_macie2_organization_admin_account` using the id. For example: 54 // 55 // ```sh 56 // $ pulumi import aws:macie2/organizationAdminAccount:OrganizationAdminAccount example abcd1 57 // ``` 58 type OrganizationAdminAccount struct { 59 pulumi.CustomResourceState 60 61 // The AWS account ID for the account to designate as the delegated Amazon Macie administrator account for the organization. 62 AdminAccountId pulumi.StringOutput `pulumi:"adminAccountId"` 63 } 64 65 // NewOrganizationAdminAccount registers a new resource with the given unique name, arguments, and options. 66 func NewOrganizationAdminAccount(ctx *pulumi.Context, 67 name string, args *OrganizationAdminAccountArgs, opts ...pulumi.ResourceOption) (*OrganizationAdminAccount, error) { 68 if args == nil { 69 return nil, errors.New("missing one or more required arguments") 70 } 71 72 if args.AdminAccountId == nil { 73 return nil, errors.New("invalid value for required argument 'AdminAccountId'") 74 } 75 opts = internal.PkgResourceDefaultOpts(opts) 76 var resource OrganizationAdminAccount 77 err := ctx.RegisterResource("aws:macie2/organizationAdminAccount:OrganizationAdminAccount", name, args, &resource, opts...) 78 if err != nil { 79 return nil, err 80 } 81 return &resource, nil 82 } 83 84 // GetOrganizationAdminAccount gets an existing OrganizationAdminAccount resource's state with the given name, ID, and optional 85 // state properties that are used to uniquely qualify the lookup (nil if not required). 86 func GetOrganizationAdminAccount(ctx *pulumi.Context, 87 name string, id pulumi.IDInput, state *OrganizationAdminAccountState, opts ...pulumi.ResourceOption) (*OrganizationAdminAccount, error) { 88 var resource OrganizationAdminAccount 89 err := ctx.ReadResource("aws:macie2/organizationAdminAccount:OrganizationAdminAccount", name, id, state, &resource, opts...) 90 if err != nil { 91 return nil, err 92 } 93 return &resource, nil 94 } 95 96 // Input properties used for looking up and filtering OrganizationAdminAccount resources. 97 type organizationAdminAccountState struct { 98 // The AWS account ID for the account to designate as the delegated Amazon Macie administrator account for the organization. 99 AdminAccountId *string `pulumi:"adminAccountId"` 100 } 101 102 type OrganizationAdminAccountState struct { 103 // The AWS account ID for the account to designate as the delegated Amazon Macie administrator account for the organization. 104 AdminAccountId pulumi.StringPtrInput 105 } 106 107 func (OrganizationAdminAccountState) ElementType() reflect.Type { 108 return reflect.TypeOf((*organizationAdminAccountState)(nil)).Elem() 109 } 110 111 type organizationAdminAccountArgs struct { 112 // The AWS account ID for the account to designate as the delegated Amazon Macie administrator account for the organization. 113 AdminAccountId string `pulumi:"adminAccountId"` 114 } 115 116 // The set of arguments for constructing a OrganizationAdminAccount resource. 117 type OrganizationAdminAccountArgs struct { 118 // The AWS account ID for the account to designate as the delegated Amazon Macie administrator account for the organization. 119 AdminAccountId pulumi.StringInput 120 } 121 122 func (OrganizationAdminAccountArgs) ElementType() reflect.Type { 123 return reflect.TypeOf((*organizationAdminAccountArgs)(nil)).Elem() 124 } 125 126 type OrganizationAdminAccountInput interface { 127 pulumi.Input 128 129 ToOrganizationAdminAccountOutput() OrganizationAdminAccountOutput 130 ToOrganizationAdminAccountOutputWithContext(ctx context.Context) OrganizationAdminAccountOutput 131 } 132 133 func (*OrganizationAdminAccount) ElementType() reflect.Type { 134 return reflect.TypeOf((**OrganizationAdminAccount)(nil)).Elem() 135 } 136 137 func (i *OrganizationAdminAccount) ToOrganizationAdminAccountOutput() OrganizationAdminAccountOutput { 138 return i.ToOrganizationAdminAccountOutputWithContext(context.Background()) 139 } 140 141 func (i *OrganizationAdminAccount) ToOrganizationAdminAccountOutputWithContext(ctx context.Context) OrganizationAdminAccountOutput { 142 return pulumi.ToOutputWithContext(ctx, i).(OrganizationAdminAccountOutput) 143 } 144 145 // OrganizationAdminAccountArrayInput is an input type that accepts OrganizationAdminAccountArray and OrganizationAdminAccountArrayOutput values. 146 // You can construct a concrete instance of `OrganizationAdminAccountArrayInput` via: 147 // 148 // OrganizationAdminAccountArray{ OrganizationAdminAccountArgs{...} } 149 type OrganizationAdminAccountArrayInput interface { 150 pulumi.Input 151 152 ToOrganizationAdminAccountArrayOutput() OrganizationAdminAccountArrayOutput 153 ToOrganizationAdminAccountArrayOutputWithContext(context.Context) OrganizationAdminAccountArrayOutput 154 } 155 156 type OrganizationAdminAccountArray []OrganizationAdminAccountInput 157 158 func (OrganizationAdminAccountArray) ElementType() reflect.Type { 159 return reflect.TypeOf((*[]*OrganizationAdminAccount)(nil)).Elem() 160 } 161 162 func (i OrganizationAdminAccountArray) ToOrganizationAdminAccountArrayOutput() OrganizationAdminAccountArrayOutput { 163 return i.ToOrganizationAdminAccountArrayOutputWithContext(context.Background()) 164 } 165 166 func (i OrganizationAdminAccountArray) ToOrganizationAdminAccountArrayOutputWithContext(ctx context.Context) OrganizationAdminAccountArrayOutput { 167 return pulumi.ToOutputWithContext(ctx, i).(OrganizationAdminAccountArrayOutput) 168 } 169 170 // OrganizationAdminAccountMapInput is an input type that accepts OrganizationAdminAccountMap and OrganizationAdminAccountMapOutput values. 171 // You can construct a concrete instance of `OrganizationAdminAccountMapInput` via: 172 // 173 // OrganizationAdminAccountMap{ "key": OrganizationAdminAccountArgs{...} } 174 type OrganizationAdminAccountMapInput interface { 175 pulumi.Input 176 177 ToOrganizationAdminAccountMapOutput() OrganizationAdminAccountMapOutput 178 ToOrganizationAdminAccountMapOutputWithContext(context.Context) OrganizationAdminAccountMapOutput 179 } 180 181 type OrganizationAdminAccountMap map[string]OrganizationAdminAccountInput 182 183 func (OrganizationAdminAccountMap) ElementType() reflect.Type { 184 return reflect.TypeOf((*map[string]*OrganizationAdminAccount)(nil)).Elem() 185 } 186 187 func (i OrganizationAdminAccountMap) ToOrganizationAdminAccountMapOutput() OrganizationAdminAccountMapOutput { 188 return i.ToOrganizationAdminAccountMapOutputWithContext(context.Background()) 189 } 190 191 func (i OrganizationAdminAccountMap) ToOrganizationAdminAccountMapOutputWithContext(ctx context.Context) OrganizationAdminAccountMapOutput { 192 return pulumi.ToOutputWithContext(ctx, i).(OrganizationAdminAccountMapOutput) 193 } 194 195 type OrganizationAdminAccountOutput struct{ *pulumi.OutputState } 196 197 func (OrganizationAdminAccountOutput) ElementType() reflect.Type { 198 return reflect.TypeOf((**OrganizationAdminAccount)(nil)).Elem() 199 } 200 201 func (o OrganizationAdminAccountOutput) ToOrganizationAdminAccountOutput() OrganizationAdminAccountOutput { 202 return o 203 } 204 205 func (o OrganizationAdminAccountOutput) ToOrganizationAdminAccountOutputWithContext(ctx context.Context) OrganizationAdminAccountOutput { 206 return o 207 } 208 209 // The AWS account ID for the account to designate as the delegated Amazon Macie administrator account for the organization. 210 func (o OrganizationAdminAccountOutput) AdminAccountId() pulumi.StringOutput { 211 return o.ApplyT(func(v *OrganizationAdminAccount) pulumi.StringOutput { return v.AdminAccountId }).(pulumi.StringOutput) 212 } 213 214 type OrganizationAdminAccountArrayOutput struct{ *pulumi.OutputState } 215 216 func (OrganizationAdminAccountArrayOutput) ElementType() reflect.Type { 217 return reflect.TypeOf((*[]*OrganizationAdminAccount)(nil)).Elem() 218 } 219 220 func (o OrganizationAdminAccountArrayOutput) ToOrganizationAdminAccountArrayOutput() OrganizationAdminAccountArrayOutput { 221 return o 222 } 223 224 func (o OrganizationAdminAccountArrayOutput) ToOrganizationAdminAccountArrayOutputWithContext(ctx context.Context) OrganizationAdminAccountArrayOutput { 225 return o 226 } 227 228 func (o OrganizationAdminAccountArrayOutput) Index(i pulumi.IntInput) OrganizationAdminAccountOutput { 229 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationAdminAccount { 230 return vs[0].([]*OrganizationAdminAccount)[vs[1].(int)] 231 }).(OrganizationAdminAccountOutput) 232 } 233 234 type OrganizationAdminAccountMapOutput struct{ *pulumi.OutputState } 235 236 func (OrganizationAdminAccountMapOutput) ElementType() reflect.Type { 237 return reflect.TypeOf((*map[string]*OrganizationAdminAccount)(nil)).Elem() 238 } 239 240 func (o OrganizationAdminAccountMapOutput) ToOrganizationAdminAccountMapOutput() OrganizationAdminAccountMapOutput { 241 return o 242 } 243 244 func (o OrganizationAdminAccountMapOutput) ToOrganizationAdminAccountMapOutputWithContext(ctx context.Context) OrganizationAdminAccountMapOutput { 245 return o 246 } 247 248 func (o OrganizationAdminAccountMapOutput) MapIndex(k pulumi.StringInput) OrganizationAdminAccountOutput { 249 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationAdminAccount { 250 return vs[0].(map[string]*OrganizationAdminAccount)[vs[1].(string)] 251 }).(OrganizationAdminAccountOutput) 252 } 253 254 func init() { 255 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationAdminAccountInput)(nil)).Elem(), &OrganizationAdminAccount{}) 256 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationAdminAccountArrayInput)(nil)).Elem(), OrganizationAdminAccountArray{}) 257 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationAdminAccountMapInput)(nil)).Elem(), OrganizationAdminAccountMap{}) 258 pulumi.RegisterOutputType(OrganizationAdminAccountOutput{}) 259 pulumi.RegisterOutputType(OrganizationAdminAccountArrayOutput{}) 260 pulumi.RegisterOutputType(OrganizationAdminAccountMapOutput{}) 261 }