github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/organizations/organizationalUnit.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 organizations 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 create an organizational unit. 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/organizations" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := organizations.NewOrganizationalUnit(ctx, "example", &organizations.OrganizationalUnitArgs{ 33 // Name: pulumi.String("example"), 34 // ParentId: pulumi.Any(exampleAwsOrganizationsOrganization.Roots[0].Id), 35 // }) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 // 46 // ## Import 47 // 48 // Using `pulumi import`, import AWS Organizations Organizational Units using the `id`. For example: 49 // 50 // ```sh 51 // $ pulumi import aws:organizations/organizationalUnit:OrganizationalUnit example ou-1234567 52 // ``` 53 type OrganizationalUnit struct { 54 pulumi.CustomResourceState 55 56 // List of child accounts for this Organizational Unit. Does not return account information for child Organizational Units. All elements have these attributes: 57 Accounts OrganizationalUnitAccountArrayOutput `pulumi:"accounts"` 58 // ARN of the organizational unit 59 Arn pulumi.StringOutput `pulumi:"arn"` 60 // The name for the organizational unit 61 Name pulumi.StringOutput `pulumi:"name"` 62 // ID of the parent organizational unit, which may be the root 63 ParentId pulumi.StringOutput `pulumi:"parentId"` 64 // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 65 Tags pulumi.StringMapOutput `pulumi:"tags"` 66 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 67 // 68 // Deprecated: Please use `tags` instead. 69 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 70 } 71 72 // NewOrganizationalUnit registers a new resource with the given unique name, arguments, and options. 73 func NewOrganizationalUnit(ctx *pulumi.Context, 74 name string, args *OrganizationalUnitArgs, opts ...pulumi.ResourceOption) (*OrganizationalUnit, error) { 75 if args == nil { 76 return nil, errors.New("missing one or more required arguments") 77 } 78 79 if args.ParentId == nil { 80 return nil, errors.New("invalid value for required argument 'ParentId'") 81 } 82 opts = internal.PkgResourceDefaultOpts(opts) 83 var resource OrganizationalUnit 84 err := ctx.RegisterResource("aws:organizations/organizationalUnit:OrganizationalUnit", name, args, &resource, opts...) 85 if err != nil { 86 return nil, err 87 } 88 return &resource, nil 89 } 90 91 // GetOrganizationalUnit gets an existing OrganizationalUnit resource's state with the given name, ID, and optional 92 // state properties that are used to uniquely qualify the lookup (nil if not required). 93 func GetOrganizationalUnit(ctx *pulumi.Context, 94 name string, id pulumi.IDInput, state *OrganizationalUnitState, opts ...pulumi.ResourceOption) (*OrganizationalUnit, error) { 95 var resource OrganizationalUnit 96 err := ctx.ReadResource("aws:organizations/organizationalUnit:OrganizationalUnit", name, id, state, &resource, opts...) 97 if err != nil { 98 return nil, err 99 } 100 return &resource, nil 101 } 102 103 // Input properties used for looking up and filtering OrganizationalUnit resources. 104 type organizationalUnitState struct { 105 // List of child accounts for this Organizational Unit. Does not return account information for child Organizational Units. All elements have these attributes: 106 Accounts []OrganizationalUnitAccount `pulumi:"accounts"` 107 // ARN of the organizational unit 108 Arn *string `pulumi:"arn"` 109 // The name for the organizational unit 110 Name *string `pulumi:"name"` 111 // ID of the parent organizational unit, which may be the root 112 ParentId *string `pulumi:"parentId"` 113 // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 114 Tags map[string]string `pulumi:"tags"` 115 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 116 // 117 // Deprecated: Please use `tags` instead. 118 TagsAll map[string]string `pulumi:"tagsAll"` 119 } 120 121 type OrganizationalUnitState struct { 122 // List of child accounts for this Organizational Unit. Does not return account information for child Organizational Units. All elements have these attributes: 123 Accounts OrganizationalUnitAccountArrayInput 124 // ARN of the organizational unit 125 Arn pulumi.StringPtrInput 126 // The name for the organizational unit 127 Name pulumi.StringPtrInput 128 // ID of the parent organizational unit, which may be the root 129 ParentId pulumi.StringPtrInput 130 // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 131 Tags pulumi.StringMapInput 132 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 133 // 134 // Deprecated: Please use `tags` instead. 135 TagsAll pulumi.StringMapInput 136 } 137 138 func (OrganizationalUnitState) ElementType() reflect.Type { 139 return reflect.TypeOf((*organizationalUnitState)(nil)).Elem() 140 } 141 142 type organizationalUnitArgs struct { 143 // The name for the organizational unit 144 Name *string `pulumi:"name"` 145 // ID of the parent organizational unit, which may be the root 146 ParentId string `pulumi:"parentId"` 147 // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 148 Tags map[string]string `pulumi:"tags"` 149 } 150 151 // The set of arguments for constructing a OrganizationalUnit resource. 152 type OrganizationalUnitArgs struct { 153 // The name for the organizational unit 154 Name pulumi.StringPtrInput 155 // ID of the parent organizational unit, which may be the root 156 ParentId pulumi.StringInput 157 // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 158 Tags pulumi.StringMapInput 159 } 160 161 func (OrganizationalUnitArgs) ElementType() reflect.Type { 162 return reflect.TypeOf((*organizationalUnitArgs)(nil)).Elem() 163 } 164 165 type OrganizationalUnitInput interface { 166 pulumi.Input 167 168 ToOrganizationalUnitOutput() OrganizationalUnitOutput 169 ToOrganizationalUnitOutputWithContext(ctx context.Context) OrganizationalUnitOutput 170 } 171 172 func (*OrganizationalUnit) ElementType() reflect.Type { 173 return reflect.TypeOf((**OrganizationalUnit)(nil)).Elem() 174 } 175 176 func (i *OrganizationalUnit) ToOrganizationalUnitOutput() OrganizationalUnitOutput { 177 return i.ToOrganizationalUnitOutputWithContext(context.Background()) 178 } 179 180 func (i *OrganizationalUnit) ToOrganizationalUnitOutputWithContext(ctx context.Context) OrganizationalUnitOutput { 181 return pulumi.ToOutputWithContext(ctx, i).(OrganizationalUnitOutput) 182 } 183 184 // OrganizationalUnitArrayInput is an input type that accepts OrganizationalUnitArray and OrganizationalUnitArrayOutput values. 185 // You can construct a concrete instance of `OrganizationalUnitArrayInput` via: 186 // 187 // OrganizationalUnitArray{ OrganizationalUnitArgs{...} } 188 type OrganizationalUnitArrayInput interface { 189 pulumi.Input 190 191 ToOrganizationalUnitArrayOutput() OrganizationalUnitArrayOutput 192 ToOrganizationalUnitArrayOutputWithContext(context.Context) OrganizationalUnitArrayOutput 193 } 194 195 type OrganizationalUnitArray []OrganizationalUnitInput 196 197 func (OrganizationalUnitArray) ElementType() reflect.Type { 198 return reflect.TypeOf((*[]*OrganizationalUnit)(nil)).Elem() 199 } 200 201 func (i OrganizationalUnitArray) ToOrganizationalUnitArrayOutput() OrganizationalUnitArrayOutput { 202 return i.ToOrganizationalUnitArrayOutputWithContext(context.Background()) 203 } 204 205 func (i OrganizationalUnitArray) ToOrganizationalUnitArrayOutputWithContext(ctx context.Context) OrganizationalUnitArrayOutput { 206 return pulumi.ToOutputWithContext(ctx, i).(OrganizationalUnitArrayOutput) 207 } 208 209 // OrganizationalUnitMapInput is an input type that accepts OrganizationalUnitMap and OrganizationalUnitMapOutput values. 210 // You can construct a concrete instance of `OrganizationalUnitMapInput` via: 211 // 212 // OrganizationalUnitMap{ "key": OrganizationalUnitArgs{...} } 213 type OrganizationalUnitMapInput interface { 214 pulumi.Input 215 216 ToOrganizationalUnitMapOutput() OrganizationalUnitMapOutput 217 ToOrganizationalUnitMapOutputWithContext(context.Context) OrganizationalUnitMapOutput 218 } 219 220 type OrganizationalUnitMap map[string]OrganizationalUnitInput 221 222 func (OrganizationalUnitMap) ElementType() reflect.Type { 223 return reflect.TypeOf((*map[string]*OrganizationalUnit)(nil)).Elem() 224 } 225 226 func (i OrganizationalUnitMap) ToOrganizationalUnitMapOutput() OrganizationalUnitMapOutput { 227 return i.ToOrganizationalUnitMapOutputWithContext(context.Background()) 228 } 229 230 func (i OrganizationalUnitMap) ToOrganizationalUnitMapOutputWithContext(ctx context.Context) OrganizationalUnitMapOutput { 231 return pulumi.ToOutputWithContext(ctx, i).(OrganizationalUnitMapOutput) 232 } 233 234 type OrganizationalUnitOutput struct{ *pulumi.OutputState } 235 236 func (OrganizationalUnitOutput) ElementType() reflect.Type { 237 return reflect.TypeOf((**OrganizationalUnit)(nil)).Elem() 238 } 239 240 func (o OrganizationalUnitOutput) ToOrganizationalUnitOutput() OrganizationalUnitOutput { 241 return o 242 } 243 244 func (o OrganizationalUnitOutput) ToOrganizationalUnitOutputWithContext(ctx context.Context) OrganizationalUnitOutput { 245 return o 246 } 247 248 // List of child accounts for this Organizational Unit. Does not return account information for child Organizational Units. All elements have these attributes: 249 func (o OrganizationalUnitOutput) Accounts() OrganizationalUnitAccountArrayOutput { 250 return o.ApplyT(func(v *OrganizationalUnit) OrganizationalUnitAccountArrayOutput { return v.Accounts }).(OrganizationalUnitAccountArrayOutput) 251 } 252 253 // ARN of the organizational unit 254 func (o OrganizationalUnitOutput) Arn() pulumi.StringOutput { 255 return o.ApplyT(func(v *OrganizationalUnit) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 256 } 257 258 // The name for the organizational unit 259 func (o OrganizationalUnitOutput) Name() pulumi.StringOutput { 260 return o.ApplyT(func(v *OrganizationalUnit) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 261 } 262 263 // ID of the parent organizational unit, which may be the root 264 func (o OrganizationalUnitOutput) ParentId() pulumi.StringOutput { 265 return o.ApplyT(func(v *OrganizationalUnit) pulumi.StringOutput { return v.ParentId }).(pulumi.StringOutput) 266 } 267 268 // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 269 func (o OrganizationalUnitOutput) Tags() pulumi.StringMapOutput { 270 return o.ApplyT(func(v *OrganizationalUnit) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 271 } 272 273 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 274 // 275 // Deprecated: Please use `tags` instead. 276 func (o OrganizationalUnitOutput) TagsAll() pulumi.StringMapOutput { 277 return o.ApplyT(func(v *OrganizationalUnit) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 278 } 279 280 type OrganizationalUnitArrayOutput struct{ *pulumi.OutputState } 281 282 func (OrganizationalUnitArrayOutput) ElementType() reflect.Type { 283 return reflect.TypeOf((*[]*OrganizationalUnit)(nil)).Elem() 284 } 285 286 func (o OrganizationalUnitArrayOutput) ToOrganizationalUnitArrayOutput() OrganizationalUnitArrayOutput { 287 return o 288 } 289 290 func (o OrganizationalUnitArrayOutput) ToOrganizationalUnitArrayOutputWithContext(ctx context.Context) OrganizationalUnitArrayOutput { 291 return o 292 } 293 294 func (o OrganizationalUnitArrayOutput) Index(i pulumi.IntInput) OrganizationalUnitOutput { 295 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationalUnit { 296 return vs[0].([]*OrganizationalUnit)[vs[1].(int)] 297 }).(OrganizationalUnitOutput) 298 } 299 300 type OrganizationalUnitMapOutput struct{ *pulumi.OutputState } 301 302 func (OrganizationalUnitMapOutput) ElementType() reflect.Type { 303 return reflect.TypeOf((*map[string]*OrganizationalUnit)(nil)).Elem() 304 } 305 306 func (o OrganizationalUnitMapOutput) ToOrganizationalUnitMapOutput() OrganizationalUnitMapOutput { 307 return o 308 } 309 310 func (o OrganizationalUnitMapOutput) ToOrganizationalUnitMapOutputWithContext(ctx context.Context) OrganizationalUnitMapOutput { 311 return o 312 } 313 314 func (o OrganizationalUnitMapOutput) MapIndex(k pulumi.StringInput) OrganizationalUnitOutput { 315 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationalUnit { 316 return vs[0].(map[string]*OrganizationalUnit)[vs[1].(string)] 317 }).(OrganizationalUnitOutput) 318 } 319 320 func init() { 321 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationalUnitInput)(nil)).Elem(), &OrganizationalUnit{}) 322 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationalUnitArrayInput)(nil)).Elem(), OrganizationalUnitArray{}) 323 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationalUnitMapInput)(nil)).Elem(), OrganizationalUnitMap{}) 324 pulumi.RegisterOutputType(OrganizationalUnitOutput{}) 325 pulumi.RegisterOutputType(OrganizationalUnitArrayOutput{}) 326 pulumi.RegisterOutputType(OrganizationalUnitMapOutput{}) 327 }