github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/iam/getInstanceProfiles.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 all 15 // IAM instance profiles under a role. By using this data source, you can reference IAM 16 // instance profile 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.GetInstanceProfiles(ctx, &iam.GetInstanceProfilesArgs{ 34 // RoleName: "an_example_iam_role_name", 35 // }, nil) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 func GetInstanceProfiles(ctx *pulumi.Context, args *GetInstanceProfilesArgs, opts ...pulumi.InvokeOption) (*GetInstanceProfilesResult, error) { 46 opts = internal.PkgInvokeDefaultOpts(opts) 47 var rv GetInstanceProfilesResult 48 err := ctx.Invoke("aws:iam/getInstanceProfiles:getInstanceProfiles", 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 getInstanceProfiles. 56 type GetInstanceProfilesArgs struct { 57 // IAM role name. 58 RoleName string `pulumi:"roleName"` 59 } 60 61 // A collection of values returned by getInstanceProfiles. 62 type GetInstanceProfilesResult struct { 63 // Set of ARNs of instance profiles. 64 Arns []string `pulumi:"arns"` 65 // The provider-assigned unique ID for this managed resource. 66 Id string `pulumi:"id"` 67 // Set of IAM instance profile names. 68 Names []string `pulumi:"names"` 69 // Set of IAM instance profile paths. 70 Paths []string `pulumi:"paths"` 71 RoleName string `pulumi:"roleName"` 72 } 73 74 func GetInstanceProfilesOutput(ctx *pulumi.Context, args GetInstanceProfilesOutputArgs, opts ...pulumi.InvokeOption) GetInstanceProfilesResultOutput { 75 return pulumi.ToOutputWithContext(context.Background(), args). 76 ApplyT(func(v interface{}) (GetInstanceProfilesResult, error) { 77 args := v.(GetInstanceProfilesArgs) 78 r, err := GetInstanceProfiles(ctx, &args, opts...) 79 var s GetInstanceProfilesResult 80 if r != nil { 81 s = *r 82 } 83 return s, err 84 }).(GetInstanceProfilesResultOutput) 85 } 86 87 // A collection of arguments for invoking getInstanceProfiles. 88 type GetInstanceProfilesOutputArgs struct { 89 // IAM role name. 90 RoleName pulumi.StringInput `pulumi:"roleName"` 91 } 92 93 func (GetInstanceProfilesOutputArgs) ElementType() reflect.Type { 94 return reflect.TypeOf((*GetInstanceProfilesArgs)(nil)).Elem() 95 } 96 97 // A collection of values returned by getInstanceProfiles. 98 type GetInstanceProfilesResultOutput struct{ *pulumi.OutputState } 99 100 func (GetInstanceProfilesResultOutput) ElementType() reflect.Type { 101 return reflect.TypeOf((*GetInstanceProfilesResult)(nil)).Elem() 102 } 103 104 func (o GetInstanceProfilesResultOutput) ToGetInstanceProfilesResultOutput() GetInstanceProfilesResultOutput { 105 return o 106 } 107 108 func (o GetInstanceProfilesResultOutput) ToGetInstanceProfilesResultOutputWithContext(ctx context.Context) GetInstanceProfilesResultOutput { 109 return o 110 } 111 112 // Set of ARNs of instance profiles. 113 func (o GetInstanceProfilesResultOutput) Arns() pulumi.StringArrayOutput { 114 return o.ApplyT(func(v GetInstanceProfilesResult) []string { return v.Arns }).(pulumi.StringArrayOutput) 115 } 116 117 // The provider-assigned unique ID for this managed resource. 118 func (o GetInstanceProfilesResultOutput) Id() pulumi.StringOutput { 119 return o.ApplyT(func(v GetInstanceProfilesResult) string { return v.Id }).(pulumi.StringOutput) 120 } 121 122 // Set of IAM instance profile names. 123 func (o GetInstanceProfilesResultOutput) Names() pulumi.StringArrayOutput { 124 return o.ApplyT(func(v GetInstanceProfilesResult) []string { return v.Names }).(pulumi.StringArrayOutput) 125 } 126 127 // Set of IAM instance profile paths. 128 func (o GetInstanceProfilesResultOutput) Paths() pulumi.StringArrayOutput { 129 return o.ApplyT(func(v GetInstanceProfilesResult) []string { return v.Paths }).(pulumi.StringArrayOutput) 130 } 131 132 func (o GetInstanceProfilesResultOutput) RoleName() pulumi.StringOutput { 133 return o.ApplyT(func(v GetInstanceProfilesResult) string { return v.RoleName }).(pulumi.StringOutput) 134 } 135 136 func init() { 137 pulumi.RegisterOutputType(GetInstanceProfilesResultOutput{}) 138 }