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