github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/getInstances.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 rds 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 // Data source for listing RDS Database Instances. 15 // 16 // ## Example Usage 17 // 18 // ### Basic Usage 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 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 := rds.GetInstances(ctx, &rds.GetInstancesArgs{ 34 // Filters: []rds.GetInstancesFilter{ 35 // { 36 // Name: "db-instance-id", 37 // Values: []string{ 38 // "my-database-id", 39 // }, 40 // }, 41 // }, 42 // }, nil) 43 // if err != nil { 44 // return err 45 // } 46 // return nil 47 // }) 48 // } 49 // 50 // ``` 51 // <!--End PulumiCodeChooser --> 52 // 53 // ### Using tags 54 // 55 // <!--Start PulumiCodeChooser --> 56 // ```go 57 // package main 58 // 59 // import ( 60 // 61 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 62 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 63 // 64 // ) 65 // 66 // func main() { 67 // pulumi.Run(func(ctx *pulumi.Context) error { 68 // _, err := rds.GetInstances(ctx, &rds.GetInstancesArgs{ 69 // Tags: map[string]interface{}{ 70 // "Env": "test", 71 // }, 72 // }, nil) 73 // if err != nil { 74 // return err 75 // } 76 // return nil 77 // }) 78 // } 79 // 80 // ``` 81 // <!--End PulumiCodeChooser --> 82 func GetInstances(ctx *pulumi.Context, args *GetInstancesArgs, opts ...pulumi.InvokeOption) (*GetInstancesResult, error) { 83 opts = internal.PkgInvokeDefaultOpts(opts) 84 var rv GetInstancesResult 85 err := ctx.Invoke("aws:rds/getInstances:getInstances", args, &rv, opts...) 86 if err != nil { 87 return nil, err 88 } 89 return &rv, nil 90 } 91 92 // A collection of arguments for invoking getInstances. 93 type GetInstancesArgs struct { 94 // Configuration block(s) used to filter instances with AWS supported attributes, such as `engine`, `db-cluster-id` or `db-instance-id` for example. Detailed below. 95 Filters []GetInstancesFilter `pulumi:"filters"` 96 // Map of tags, each pair of which must exactly match a pair on the desired instances. 97 Tags map[string]string `pulumi:"tags"` 98 } 99 100 // A collection of values returned by getInstances. 101 type GetInstancesResult struct { 102 Filters []GetInstancesFilter `pulumi:"filters"` 103 // The provider-assigned unique ID for this managed resource. 104 Id string `pulumi:"id"` 105 // ARNs of the matched RDS instances. 106 InstanceArns []string `pulumi:"instanceArns"` 107 // Identifiers of the matched RDS instances. 108 InstanceIdentifiers []string `pulumi:"instanceIdentifiers"` 109 Tags map[string]string `pulumi:"tags"` 110 } 111 112 func GetInstancesOutput(ctx *pulumi.Context, args GetInstancesOutputArgs, opts ...pulumi.InvokeOption) GetInstancesResultOutput { 113 return pulumi.ToOutputWithContext(context.Background(), args). 114 ApplyT(func(v interface{}) (GetInstancesResult, error) { 115 args := v.(GetInstancesArgs) 116 r, err := GetInstances(ctx, &args, opts...) 117 var s GetInstancesResult 118 if r != nil { 119 s = *r 120 } 121 return s, err 122 }).(GetInstancesResultOutput) 123 } 124 125 // A collection of arguments for invoking getInstances. 126 type GetInstancesOutputArgs struct { 127 // Configuration block(s) used to filter instances with AWS supported attributes, such as `engine`, `db-cluster-id` or `db-instance-id` for example. Detailed below. 128 Filters GetInstancesFilterArrayInput `pulumi:"filters"` 129 // Map of tags, each pair of which must exactly match a pair on the desired instances. 130 Tags pulumi.StringMapInput `pulumi:"tags"` 131 } 132 133 func (GetInstancesOutputArgs) ElementType() reflect.Type { 134 return reflect.TypeOf((*GetInstancesArgs)(nil)).Elem() 135 } 136 137 // A collection of values returned by getInstances. 138 type GetInstancesResultOutput struct{ *pulumi.OutputState } 139 140 func (GetInstancesResultOutput) ElementType() reflect.Type { 141 return reflect.TypeOf((*GetInstancesResult)(nil)).Elem() 142 } 143 144 func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput { 145 return o 146 } 147 148 func (o GetInstancesResultOutput) ToGetInstancesResultOutputWithContext(ctx context.Context) GetInstancesResultOutput { 149 return o 150 } 151 152 func (o GetInstancesResultOutput) Filters() GetInstancesFilterArrayOutput { 153 return o.ApplyT(func(v GetInstancesResult) []GetInstancesFilter { return v.Filters }).(GetInstancesFilterArrayOutput) 154 } 155 156 // The provider-assigned unique ID for this managed resource. 157 func (o GetInstancesResultOutput) Id() pulumi.StringOutput { 158 return o.ApplyT(func(v GetInstancesResult) string { return v.Id }).(pulumi.StringOutput) 159 } 160 161 // ARNs of the matched RDS instances. 162 func (o GetInstancesResultOutput) InstanceArns() pulumi.StringArrayOutput { 163 return o.ApplyT(func(v GetInstancesResult) []string { return v.InstanceArns }).(pulumi.StringArrayOutput) 164 } 165 166 // Identifiers of the matched RDS instances. 167 func (o GetInstancesResultOutput) InstanceIdentifiers() pulumi.StringArrayOutput { 168 return o.ApplyT(func(v GetInstancesResult) []string { return v.InstanceIdentifiers }).(pulumi.StringArrayOutput) 169 } 170 171 func (o GetInstancesResultOutput) Tags() pulumi.StringMapOutput { 172 return o.ApplyT(func(v GetInstancesResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) 173 } 174 175 func init() { 176 pulumi.RegisterOutputType(GetInstancesResultOutput{}) 177 }