github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/iam/getGroup.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 group. By using this data source, you can reference IAM group 16 // properties without having to hard code ARNs 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.LookupGroup(ctx, &iam.LookupGroupArgs{ 34 // GroupName: "an_example_group_name", 35 // }, nil) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 func LookupGroup(ctx *pulumi.Context, args *LookupGroupArgs, opts ...pulumi.InvokeOption) (*LookupGroupResult, error) { 46 opts = internal.PkgInvokeDefaultOpts(opts) 47 var rv LookupGroupResult 48 err := ctx.Invoke("aws:iam/getGroup:getGroup", 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 getGroup. 56 type LookupGroupArgs struct { 57 // Friendly IAM group name to match. 58 GroupName string `pulumi:"groupName"` 59 } 60 61 // A collection of values returned by getGroup. 62 type LookupGroupResult struct { 63 // User ARN. 64 Arn string `pulumi:"arn"` 65 // Stable and unique string identifying the group. 66 GroupId string `pulumi:"groupId"` 67 GroupName string `pulumi:"groupName"` 68 // The provider-assigned unique ID for this managed resource. 69 Id string `pulumi:"id"` 70 // Path to the IAM user. 71 Path string `pulumi:"path"` 72 // List of objects containing group member information. See below. 73 Users []GetGroupUser `pulumi:"users"` 74 } 75 76 func LookupGroupOutput(ctx *pulumi.Context, args LookupGroupOutputArgs, opts ...pulumi.InvokeOption) LookupGroupResultOutput { 77 return pulumi.ToOutputWithContext(context.Background(), args). 78 ApplyT(func(v interface{}) (LookupGroupResult, error) { 79 args := v.(LookupGroupArgs) 80 r, err := LookupGroup(ctx, &args, opts...) 81 var s LookupGroupResult 82 if r != nil { 83 s = *r 84 } 85 return s, err 86 }).(LookupGroupResultOutput) 87 } 88 89 // A collection of arguments for invoking getGroup. 90 type LookupGroupOutputArgs struct { 91 // Friendly IAM group name to match. 92 GroupName pulumi.StringInput `pulumi:"groupName"` 93 } 94 95 func (LookupGroupOutputArgs) ElementType() reflect.Type { 96 return reflect.TypeOf((*LookupGroupArgs)(nil)).Elem() 97 } 98 99 // A collection of values returned by getGroup. 100 type LookupGroupResultOutput struct{ *pulumi.OutputState } 101 102 func (LookupGroupResultOutput) ElementType() reflect.Type { 103 return reflect.TypeOf((*LookupGroupResult)(nil)).Elem() 104 } 105 106 func (o LookupGroupResultOutput) ToLookupGroupResultOutput() LookupGroupResultOutput { 107 return o 108 } 109 110 func (o LookupGroupResultOutput) ToLookupGroupResultOutputWithContext(ctx context.Context) LookupGroupResultOutput { 111 return o 112 } 113 114 // User ARN. 115 func (o LookupGroupResultOutput) Arn() pulumi.StringOutput { 116 return o.ApplyT(func(v LookupGroupResult) string { return v.Arn }).(pulumi.StringOutput) 117 } 118 119 // Stable and unique string identifying the group. 120 func (o LookupGroupResultOutput) GroupId() pulumi.StringOutput { 121 return o.ApplyT(func(v LookupGroupResult) string { return v.GroupId }).(pulumi.StringOutput) 122 } 123 124 func (o LookupGroupResultOutput) GroupName() pulumi.StringOutput { 125 return o.ApplyT(func(v LookupGroupResult) string { return v.GroupName }).(pulumi.StringOutput) 126 } 127 128 // The provider-assigned unique ID for this managed resource. 129 func (o LookupGroupResultOutput) Id() pulumi.StringOutput { 130 return o.ApplyT(func(v LookupGroupResult) string { return v.Id }).(pulumi.StringOutput) 131 } 132 133 // Path to the IAM user. 134 func (o LookupGroupResultOutput) Path() pulumi.StringOutput { 135 return o.ApplyT(func(v LookupGroupResult) string { return v.Path }).(pulumi.StringOutput) 136 } 137 138 // List of objects containing group member information. See below. 139 func (o LookupGroupResultOutput) Users() GetGroupUserArrayOutput { 140 return o.ApplyT(func(v LookupGroupResult) []GetGroupUser { return v.Users }).(GetGroupUserArrayOutput) 141 } 142 143 func init() { 144 pulumi.RegisterOutputType(LookupGroupResultOutput{}) 145 }