github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/iam/getUser.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 iam 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // This data source can be used to fetch information about a specific 15 // IAM user. By using this data source, you can reference IAM user 16 // properties without having to hard code ARNs or unique IDs as input. 17 // 18 // ## Example Usage 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := iam.LookupUser(ctx, &iam.LookupUserArgs{ 34 // UserName: "an_example_user_name", 35 // }, nil) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error) { 46 opts = internal.PkgInvokeDefaultOpts(opts) 47 var rv LookupUserResult 48 err := ctx.Invoke("aws:iam/getUser:getUser", args, &rv, opts...) 49 if err != nil { 50 return nil, err 51 } 52 return &rv, nil 53 } 54 55 // A collection of arguments for invoking getUser. 56 type LookupUserArgs struct { 57 // Map of key-value pairs associated with the user. 58 Tags map[string]string `pulumi:"tags"` 59 // Friendly IAM user name to match. 60 UserName string `pulumi:"userName"` 61 } 62 63 // A collection of values returned by getUser. 64 type LookupUserResult struct { 65 // ARN assigned by AWS for this user. 66 Arn string `pulumi:"arn"` 67 // The provider-assigned unique ID for this managed resource. 68 Id string `pulumi:"id"` 69 // Path in which this user was created. 70 Path string `pulumi:"path"` 71 // The ARN of the policy that is used to set the permissions boundary for the user. 72 PermissionsBoundary string `pulumi:"permissionsBoundary"` 73 // Map of key-value pairs associated with the user. 74 Tags map[string]string `pulumi:"tags"` 75 // Unique ID assigned by AWS for this user. 76 UserId string `pulumi:"userId"` 77 // Name associated to this User 78 UserName string `pulumi:"userName"` 79 } 80 81 func LookupUserOutput(ctx *pulumi.Context, args LookupUserOutputArgs, opts ...pulumi.InvokeOption) LookupUserResultOutput { 82 return pulumi.ToOutputWithContext(context.Background(), args). 83 ApplyT(func(v interface{}) (LookupUserResult, error) { 84 args := v.(LookupUserArgs) 85 r, err := LookupUser(ctx, &args, opts...) 86 var s LookupUserResult 87 if r != nil { 88 s = *r 89 } 90 return s, err 91 }).(LookupUserResultOutput) 92 } 93 94 // A collection of arguments for invoking getUser. 95 type LookupUserOutputArgs struct { 96 // Map of key-value pairs associated with the user. 97 Tags pulumi.StringMapInput `pulumi:"tags"` 98 // Friendly IAM user name to match. 99 UserName pulumi.StringInput `pulumi:"userName"` 100 } 101 102 func (LookupUserOutputArgs) ElementType() reflect.Type { 103 return reflect.TypeOf((*LookupUserArgs)(nil)).Elem() 104 } 105 106 // A collection of values returned by getUser. 107 type LookupUserResultOutput struct{ *pulumi.OutputState } 108 109 func (LookupUserResultOutput) ElementType() reflect.Type { 110 return reflect.TypeOf((*LookupUserResult)(nil)).Elem() 111 } 112 113 func (o LookupUserResultOutput) ToLookupUserResultOutput() LookupUserResultOutput { 114 return o 115 } 116 117 func (o LookupUserResultOutput) ToLookupUserResultOutputWithContext(ctx context.Context) LookupUserResultOutput { 118 return o 119 } 120 121 // ARN assigned by AWS for this user. 122 func (o LookupUserResultOutput) Arn() pulumi.StringOutput { 123 return o.ApplyT(func(v LookupUserResult) string { return v.Arn }).(pulumi.StringOutput) 124 } 125 126 // The provider-assigned unique ID for this managed resource. 127 func (o LookupUserResultOutput) Id() pulumi.StringOutput { 128 return o.ApplyT(func(v LookupUserResult) string { return v.Id }).(pulumi.StringOutput) 129 } 130 131 // Path in which this user was created. 132 func (o LookupUserResultOutput) Path() pulumi.StringOutput { 133 return o.ApplyT(func(v LookupUserResult) string { return v.Path }).(pulumi.StringOutput) 134 } 135 136 // The ARN of the policy that is used to set the permissions boundary for the user. 137 func (o LookupUserResultOutput) PermissionsBoundary() pulumi.StringOutput { 138 return o.ApplyT(func(v LookupUserResult) string { return v.PermissionsBoundary }).(pulumi.StringOutput) 139 } 140 141 // Map of key-value pairs associated with the user. 142 func (o LookupUserResultOutput) Tags() pulumi.StringMapOutput { 143 return o.ApplyT(func(v LookupUserResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) 144 } 145 146 // Unique ID assigned by AWS for this user. 147 func (o LookupUserResultOutput) UserId() pulumi.StringOutput { 148 return o.ApplyT(func(v LookupUserResult) string { return v.UserId }).(pulumi.StringOutput) 149 } 150 151 // Name associated to this User 152 func (o LookupUserResultOutput) UserName() pulumi.StringOutput { 153 return o.ApplyT(func(v LookupUserResult) string { return v.UserName }).(pulumi.StringOutput) 154 } 155 156 func init() { 157 pulumi.RegisterOutputType(LookupUserResultOutput{}) 158 }