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