github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/vpcIpamOrganizationAdminAccount.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 ec2 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 // Enables the IPAM Service and promotes a delegated administrator. 16 // 17 // ## Example Usage 18 // 19 // Basic usage: 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // delegated, err := aws.GetCallerIdentity(ctx, nil, nil) 36 // if err != nil { 37 // return err 38 // } 39 // _, err = ec2.NewVpcIpamOrganizationAdminAccount(ctx, "example", &ec2.VpcIpamOrganizationAdminAccountArgs{ 40 // DelegatedAdminAccountId: pulumi.String(delegated.AccountId), 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // return nil 46 // }) 47 // } 48 // 49 // ``` 50 // <!--End PulumiCodeChooser --> 51 // 52 // ## Import 53 // 54 // Using `pulumi import`, import IPAMs using the delegate account `id`. For example: 55 // 56 // ```sh 57 // $ pulumi import aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount example 12345678901 58 // ``` 59 type VpcIpamOrganizationAdminAccount struct { 60 pulumi.CustomResourceState 61 62 // The Organizations ARN for the delegate account. 63 Arn pulumi.StringOutput `pulumi:"arn"` 64 DelegatedAdminAccountId pulumi.StringOutput `pulumi:"delegatedAdminAccountId"` 65 // The Organizations email for the delegate account. 66 Email pulumi.StringOutput `pulumi:"email"` 67 // The Organizations name for the delegate account. 68 Name pulumi.StringOutput `pulumi:"name"` 69 // The AWS service principal. 70 ServicePrincipal pulumi.StringOutput `pulumi:"servicePrincipal"` 71 } 72 73 // NewVpcIpamOrganizationAdminAccount registers a new resource with the given unique name, arguments, and options. 74 func NewVpcIpamOrganizationAdminAccount(ctx *pulumi.Context, 75 name string, args *VpcIpamOrganizationAdminAccountArgs, opts ...pulumi.ResourceOption) (*VpcIpamOrganizationAdminAccount, error) { 76 if args == nil { 77 return nil, errors.New("missing one or more required arguments") 78 } 79 80 if args.DelegatedAdminAccountId == nil { 81 return nil, errors.New("invalid value for required argument 'DelegatedAdminAccountId'") 82 } 83 opts = internal.PkgResourceDefaultOpts(opts) 84 var resource VpcIpamOrganizationAdminAccount 85 err := ctx.RegisterResource("aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount", name, args, &resource, opts...) 86 if err != nil { 87 return nil, err 88 } 89 return &resource, nil 90 } 91 92 // GetVpcIpamOrganizationAdminAccount gets an existing VpcIpamOrganizationAdminAccount resource's state with the given name, ID, and optional 93 // state properties that are used to uniquely qualify the lookup (nil if not required). 94 func GetVpcIpamOrganizationAdminAccount(ctx *pulumi.Context, 95 name string, id pulumi.IDInput, state *VpcIpamOrganizationAdminAccountState, opts ...pulumi.ResourceOption) (*VpcIpamOrganizationAdminAccount, error) { 96 var resource VpcIpamOrganizationAdminAccount 97 err := ctx.ReadResource("aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount", name, id, state, &resource, opts...) 98 if err != nil { 99 return nil, err 100 } 101 return &resource, nil 102 } 103 104 // Input properties used for looking up and filtering VpcIpamOrganizationAdminAccount resources. 105 type vpcIpamOrganizationAdminAccountState struct { 106 // The Organizations ARN for the delegate account. 107 Arn *string `pulumi:"arn"` 108 DelegatedAdminAccountId *string `pulumi:"delegatedAdminAccountId"` 109 // The Organizations email for the delegate account. 110 Email *string `pulumi:"email"` 111 // The Organizations name for the delegate account. 112 Name *string `pulumi:"name"` 113 // The AWS service principal. 114 ServicePrincipal *string `pulumi:"servicePrincipal"` 115 } 116 117 type VpcIpamOrganizationAdminAccountState struct { 118 // The Organizations ARN for the delegate account. 119 Arn pulumi.StringPtrInput 120 DelegatedAdminAccountId pulumi.StringPtrInput 121 // The Organizations email for the delegate account. 122 Email pulumi.StringPtrInput 123 // The Organizations name for the delegate account. 124 Name pulumi.StringPtrInput 125 // The AWS service principal. 126 ServicePrincipal pulumi.StringPtrInput 127 } 128 129 func (VpcIpamOrganizationAdminAccountState) ElementType() reflect.Type { 130 return reflect.TypeOf((*vpcIpamOrganizationAdminAccountState)(nil)).Elem() 131 } 132 133 type vpcIpamOrganizationAdminAccountArgs struct { 134 DelegatedAdminAccountId string `pulumi:"delegatedAdminAccountId"` 135 } 136 137 // The set of arguments for constructing a VpcIpamOrganizationAdminAccount resource. 138 type VpcIpamOrganizationAdminAccountArgs struct { 139 DelegatedAdminAccountId pulumi.StringInput 140 } 141 142 func (VpcIpamOrganizationAdminAccountArgs) ElementType() reflect.Type { 143 return reflect.TypeOf((*vpcIpamOrganizationAdminAccountArgs)(nil)).Elem() 144 } 145 146 type VpcIpamOrganizationAdminAccountInput interface { 147 pulumi.Input 148 149 ToVpcIpamOrganizationAdminAccountOutput() VpcIpamOrganizationAdminAccountOutput 150 ToVpcIpamOrganizationAdminAccountOutputWithContext(ctx context.Context) VpcIpamOrganizationAdminAccountOutput 151 } 152 153 func (*VpcIpamOrganizationAdminAccount) ElementType() reflect.Type { 154 return reflect.TypeOf((**VpcIpamOrganizationAdminAccount)(nil)).Elem() 155 } 156 157 func (i *VpcIpamOrganizationAdminAccount) ToVpcIpamOrganizationAdminAccountOutput() VpcIpamOrganizationAdminAccountOutput { 158 return i.ToVpcIpamOrganizationAdminAccountOutputWithContext(context.Background()) 159 } 160 161 func (i *VpcIpamOrganizationAdminAccount) ToVpcIpamOrganizationAdminAccountOutputWithContext(ctx context.Context) VpcIpamOrganizationAdminAccountOutput { 162 return pulumi.ToOutputWithContext(ctx, i).(VpcIpamOrganizationAdminAccountOutput) 163 } 164 165 // VpcIpamOrganizationAdminAccountArrayInput is an input type that accepts VpcIpamOrganizationAdminAccountArray and VpcIpamOrganizationAdminAccountArrayOutput values. 166 // You can construct a concrete instance of `VpcIpamOrganizationAdminAccountArrayInput` via: 167 // 168 // VpcIpamOrganizationAdminAccountArray{ VpcIpamOrganizationAdminAccountArgs{...} } 169 type VpcIpamOrganizationAdminAccountArrayInput interface { 170 pulumi.Input 171 172 ToVpcIpamOrganizationAdminAccountArrayOutput() VpcIpamOrganizationAdminAccountArrayOutput 173 ToVpcIpamOrganizationAdminAccountArrayOutputWithContext(context.Context) VpcIpamOrganizationAdminAccountArrayOutput 174 } 175 176 type VpcIpamOrganizationAdminAccountArray []VpcIpamOrganizationAdminAccountInput 177 178 func (VpcIpamOrganizationAdminAccountArray) ElementType() reflect.Type { 179 return reflect.TypeOf((*[]*VpcIpamOrganizationAdminAccount)(nil)).Elem() 180 } 181 182 func (i VpcIpamOrganizationAdminAccountArray) ToVpcIpamOrganizationAdminAccountArrayOutput() VpcIpamOrganizationAdminAccountArrayOutput { 183 return i.ToVpcIpamOrganizationAdminAccountArrayOutputWithContext(context.Background()) 184 } 185 186 func (i VpcIpamOrganizationAdminAccountArray) ToVpcIpamOrganizationAdminAccountArrayOutputWithContext(ctx context.Context) VpcIpamOrganizationAdminAccountArrayOutput { 187 return pulumi.ToOutputWithContext(ctx, i).(VpcIpamOrganizationAdminAccountArrayOutput) 188 } 189 190 // VpcIpamOrganizationAdminAccountMapInput is an input type that accepts VpcIpamOrganizationAdminAccountMap and VpcIpamOrganizationAdminAccountMapOutput values. 191 // You can construct a concrete instance of `VpcIpamOrganizationAdminAccountMapInput` via: 192 // 193 // VpcIpamOrganizationAdminAccountMap{ "key": VpcIpamOrganizationAdminAccountArgs{...} } 194 type VpcIpamOrganizationAdminAccountMapInput interface { 195 pulumi.Input 196 197 ToVpcIpamOrganizationAdminAccountMapOutput() VpcIpamOrganizationAdminAccountMapOutput 198 ToVpcIpamOrganizationAdminAccountMapOutputWithContext(context.Context) VpcIpamOrganizationAdminAccountMapOutput 199 } 200 201 type VpcIpamOrganizationAdminAccountMap map[string]VpcIpamOrganizationAdminAccountInput 202 203 func (VpcIpamOrganizationAdminAccountMap) ElementType() reflect.Type { 204 return reflect.TypeOf((*map[string]*VpcIpamOrganizationAdminAccount)(nil)).Elem() 205 } 206 207 func (i VpcIpamOrganizationAdminAccountMap) ToVpcIpamOrganizationAdminAccountMapOutput() VpcIpamOrganizationAdminAccountMapOutput { 208 return i.ToVpcIpamOrganizationAdminAccountMapOutputWithContext(context.Background()) 209 } 210 211 func (i VpcIpamOrganizationAdminAccountMap) ToVpcIpamOrganizationAdminAccountMapOutputWithContext(ctx context.Context) VpcIpamOrganizationAdminAccountMapOutput { 212 return pulumi.ToOutputWithContext(ctx, i).(VpcIpamOrganizationAdminAccountMapOutput) 213 } 214 215 type VpcIpamOrganizationAdminAccountOutput struct{ *pulumi.OutputState } 216 217 func (VpcIpamOrganizationAdminAccountOutput) ElementType() reflect.Type { 218 return reflect.TypeOf((**VpcIpamOrganizationAdminAccount)(nil)).Elem() 219 } 220 221 func (o VpcIpamOrganizationAdminAccountOutput) ToVpcIpamOrganizationAdminAccountOutput() VpcIpamOrganizationAdminAccountOutput { 222 return o 223 } 224 225 func (o VpcIpamOrganizationAdminAccountOutput) ToVpcIpamOrganizationAdminAccountOutputWithContext(ctx context.Context) VpcIpamOrganizationAdminAccountOutput { 226 return o 227 } 228 229 // The Organizations ARN for the delegate account. 230 func (o VpcIpamOrganizationAdminAccountOutput) Arn() pulumi.StringOutput { 231 return o.ApplyT(func(v *VpcIpamOrganizationAdminAccount) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 232 } 233 234 func (o VpcIpamOrganizationAdminAccountOutput) DelegatedAdminAccountId() pulumi.StringOutput { 235 return o.ApplyT(func(v *VpcIpamOrganizationAdminAccount) pulumi.StringOutput { return v.DelegatedAdminAccountId }).(pulumi.StringOutput) 236 } 237 238 // The Organizations email for the delegate account. 239 func (o VpcIpamOrganizationAdminAccountOutput) Email() pulumi.StringOutput { 240 return o.ApplyT(func(v *VpcIpamOrganizationAdminAccount) pulumi.StringOutput { return v.Email }).(pulumi.StringOutput) 241 } 242 243 // The Organizations name for the delegate account. 244 func (o VpcIpamOrganizationAdminAccountOutput) Name() pulumi.StringOutput { 245 return o.ApplyT(func(v *VpcIpamOrganizationAdminAccount) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 246 } 247 248 // The AWS service principal. 249 func (o VpcIpamOrganizationAdminAccountOutput) ServicePrincipal() pulumi.StringOutput { 250 return o.ApplyT(func(v *VpcIpamOrganizationAdminAccount) pulumi.StringOutput { return v.ServicePrincipal }).(pulumi.StringOutput) 251 } 252 253 type VpcIpamOrganizationAdminAccountArrayOutput struct{ *pulumi.OutputState } 254 255 func (VpcIpamOrganizationAdminAccountArrayOutput) ElementType() reflect.Type { 256 return reflect.TypeOf((*[]*VpcIpamOrganizationAdminAccount)(nil)).Elem() 257 } 258 259 func (o VpcIpamOrganizationAdminAccountArrayOutput) ToVpcIpamOrganizationAdminAccountArrayOutput() VpcIpamOrganizationAdminAccountArrayOutput { 260 return o 261 } 262 263 func (o VpcIpamOrganizationAdminAccountArrayOutput) ToVpcIpamOrganizationAdminAccountArrayOutputWithContext(ctx context.Context) VpcIpamOrganizationAdminAccountArrayOutput { 264 return o 265 } 266 267 func (o VpcIpamOrganizationAdminAccountArrayOutput) Index(i pulumi.IntInput) VpcIpamOrganizationAdminAccountOutput { 268 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcIpamOrganizationAdminAccount { 269 return vs[0].([]*VpcIpamOrganizationAdminAccount)[vs[1].(int)] 270 }).(VpcIpamOrganizationAdminAccountOutput) 271 } 272 273 type VpcIpamOrganizationAdminAccountMapOutput struct{ *pulumi.OutputState } 274 275 func (VpcIpamOrganizationAdminAccountMapOutput) ElementType() reflect.Type { 276 return reflect.TypeOf((*map[string]*VpcIpamOrganizationAdminAccount)(nil)).Elem() 277 } 278 279 func (o VpcIpamOrganizationAdminAccountMapOutput) ToVpcIpamOrganizationAdminAccountMapOutput() VpcIpamOrganizationAdminAccountMapOutput { 280 return o 281 } 282 283 func (o VpcIpamOrganizationAdminAccountMapOutput) ToVpcIpamOrganizationAdminAccountMapOutputWithContext(ctx context.Context) VpcIpamOrganizationAdminAccountMapOutput { 284 return o 285 } 286 287 func (o VpcIpamOrganizationAdminAccountMapOutput) MapIndex(k pulumi.StringInput) VpcIpamOrganizationAdminAccountOutput { 288 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcIpamOrganizationAdminAccount { 289 return vs[0].(map[string]*VpcIpamOrganizationAdminAccount)[vs[1].(string)] 290 }).(VpcIpamOrganizationAdminAccountOutput) 291 } 292 293 func init() { 294 pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamOrganizationAdminAccountInput)(nil)).Elem(), &VpcIpamOrganizationAdminAccount{}) 295 pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamOrganizationAdminAccountArrayInput)(nil)).Elem(), VpcIpamOrganizationAdminAccountArray{}) 296 pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamOrganizationAdminAccountMapInput)(nil)).Elem(), VpcIpamOrganizationAdminAccountMap{}) 297 pulumi.RegisterOutputType(VpcIpamOrganizationAdminAccountOutput{}) 298 pulumi.RegisterOutputType(VpcIpamOrganizationAdminAccountArrayOutput{}) 299 pulumi.RegisterOutputType(VpcIpamOrganizationAdminAccountMapOutput{}) 300 }