github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/lb/getLoadBalancer.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 lb 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 // > **Note:** `alb.LoadBalancer` is known as `lb.LoadBalancer`. The functionality is identical. 15 // 16 // Provides information about a Load Balancer. 17 // 18 // This data source can prove useful when a module accepts an LB as an input 19 // variable and needs to, for example, determine the security groups associated 20 // with it, etc. 21 // 22 // ## Example Usage 23 // 24 // <!--Start PulumiCodeChooser --> 25 // ```go 26 // package main 27 // 28 // import ( 29 // 30 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb" 31 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 32 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" 33 // 34 // ) 35 // 36 // func main() { 37 // pulumi.Run(func(ctx *pulumi.Context) error { 38 // cfg := config.New(ctx, "") 39 // lbArn := "" 40 // if param := cfg.Get("lbArn"); param != "" { 41 // lbArn = param 42 // } 43 // lbName := "" 44 // if param := cfg.Get("lbName"); param != "" { 45 // lbName = param 46 // } 47 // _, err := lb.LookupLoadBalancer(ctx, &lb.LookupLoadBalancerArgs{ 48 // Arn: pulumi.StringRef(lbArn), 49 // Name: pulumi.StringRef(lbName), 50 // }, nil) 51 // if err != nil { 52 // return err 53 // } 54 // return nil 55 // }) 56 // } 57 // 58 // ``` 59 // <!--End PulumiCodeChooser --> 60 func LookupLoadBalancer(ctx *pulumi.Context, args *LookupLoadBalancerArgs, opts ...pulumi.InvokeOption) (*LookupLoadBalancerResult, error) { 61 opts = internal.PkgInvokeDefaultOpts(opts) 62 var rv LookupLoadBalancerResult 63 err := ctx.Invoke("aws:lb/getLoadBalancer:getLoadBalancer", args, &rv, opts...) 64 if err != nil { 65 return nil, err 66 } 67 return &rv, nil 68 } 69 70 // A collection of arguments for invoking getLoadBalancer. 71 type LookupLoadBalancerArgs struct { 72 // Full ARN of the load balancer. 73 Arn *string `pulumi:"arn"` 74 // Unique name of the load balancer. 75 Name *string `pulumi:"name"` 76 // Mapping of tags, each pair of which must exactly match a pair on the desired load balancer. 77 // 78 // > **NOTE:** When both `arn` and `name` are specified, `arn` takes precedence. `tags` has lowest precedence. 79 Tags map[string]string `pulumi:"tags"` 80 } 81 82 // A collection of values returned by getLoadBalancer. 83 type LookupLoadBalancerResult struct { 84 AccessLogs GetLoadBalancerAccessLogs `pulumi:"accessLogs"` 85 Arn string `pulumi:"arn"` 86 ArnSuffix string `pulumi:"arnSuffix"` 87 ClientKeepAlive int `pulumi:"clientKeepAlive"` 88 ConnectionLogs []GetLoadBalancerConnectionLog `pulumi:"connectionLogs"` 89 CustomerOwnedIpv4Pool string `pulumi:"customerOwnedIpv4Pool"` 90 DesyncMitigationMode string `pulumi:"desyncMitigationMode"` 91 DnsName string `pulumi:"dnsName"` 92 DnsRecordClientRoutingPolicy string `pulumi:"dnsRecordClientRoutingPolicy"` 93 DropInvalidHeaderFields bool `pulumi:"dropInvalidHeaderFields"` 94 EnableCrossZoneLoadBalancing bool `pulumi:"enableCrossZoneLoadBalancing"` 95 EnableDeletionProtection bool `pulumi:"enableDeletionProtection"` 96 EnableHttp2 bool `pulumi:"enableHttp2"` 97 EnableTlsVersionAndCipherSuiteHeaders bool `pulumi:"enableTlsVersionAndCipherSuiteHeaders"` 98 EnableWafFailOpen bool `pulumi:"enableWafFailOpen"` 99 EnableXffClientPort bool `pulumi:"enableXffClientPort"` 100 EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic string `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` 101 // The provider-assigned unique ID for this managed resource. 102 Id string `pulumi:"id"` 103 IdleTimeout int `pulumi:"idleTimeout"` 104 Internal bool `pulumi:"internal"` 105 IpAddressType string `pulumi:"ipAddressType"` 106 LoadBalancerType string `pulumi:"loadBalancerType"` 107 Name string `pulumi:"name"` 108 PreserveHostHeader bool `pulumi:"preserveHostHeader"` 109 SecurityGroups []string `pulumi:"securityGroups"` 110 SubnetMappings []GetLoadBalancerSubnetMapping `pulumi:"subnetMappings"` 111 Subnets []string `pulumi:"subnets"` 112 Tags map[string]string `pulumi:"tags"` 113 VpcId string `pulumi:"vpcId"` 114 XffHeaderProcessingMode string `pulumi:"xffHeaderProcessingMode"` 115 ZoneId string `pulumi:"zoneId"` 116 } 117 118 func LookupLoadBalancerOutput(ctx *pulumi.Context, args LookupLoadBalancerOutputArgs, opts ...pulumi.InvokeOption) LookupLoadBalancerResultOutput { 119 return pulumi.ToOutputWithContext(context.Background(), args). 120 ApplyT(func(v interface{}) (LookupLoadBalancerResult, error) { 121 args := v.(LookupLoadBalancerArgs) 122 r, err := LookupLoadBalancer(ctx, &args, opts...) 123 var s LookupLoadBalancerResult 124 if r != nil { 125 s = *r 126 } 127 return s, err 128 }).(LookupLoadBalancerResultOutput) 129 } 130 131 // A collection of arguments for invoking getLoadBalancer. 132 type LookupLoadBalancerOutputArgs struct { 133 // Full ARN of the load balancer. 134 Arn pulumi.StringPtrInput `pulumi:"arn"` 135 // Unique name of the load balancer. 136 Name pulumi.StringPtrInput `pulumi:"name"` 137 // Mapping of tags, each pair of which must exactly match a pair on the desired load balancer. 138 // 139 // > **NOTE:** When both `arn` and `name` are specified, `arn` takes precedence. `tags` has lowest precedence. 140 Tags pulumi.StringMapInput `pulumi:"tags"` 141 } 142 143 func (LookupLoadBalancerOutputArgs) ElementType() reflect.Type { 144 return reflect.TypeOf((*LookupLoadBalancerArgs)(nil)).Elem() 145 } 146 147 // A collection of values returned by getLoadBalancer. 148 type LookupLoadBalancerResultOutput struct{ *pulumi.OutputState } 149 150 func (LookupLoadBalancerResultOutput) ElementType() reflect.Type { 151 return reflect.TypeOf((*LookupLoadBalancerResult)(nil)).Elem() 152 } 153 154 func (o LookupLoadBalancerResultOutput) ToLookupLoadBalancerResultOutput() LookupLoadBalancerResultOutput { 155 return o 156 } 157 158 func (o LookupLoadBalancerResultOutput) ToLookupLoadBalancerResultOutputWithContext(ctx context.Context) LookupLoadBalancerResultOutput { 159 return o 160 } 161 162 func (o LookupLoadBalancerResultOutput) AccessLogs() GetLoadBalancerAccessLogsOutput { 163 return o.ApplyT(func(v LookupLoadBalancerResult) GetLoadBalancerAccessLogs { return v.AccessLogs }).(GetLoadBalancerAccessLogsOutput) 164 } 165 166 func (o LookupLoadBalancerResultOutput) Arn() pulumi.StringOutput { 167 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.Arn }).(pulumi.StringOutput) 168 } 169 170 func (o LookupLoadBalancerResultOutput) ArnSuffix() pulumi.StringOutput { 171 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.ArnSuffix }).(pulumi.StringOutput) 172 } 173 174 func (o LookupLoadBalancerResultOutput) ClientKeepAlive() pulumi.IntOutput { 175 return o.ApplyT(func(v LookupLoadBalancerResult) int { return v.ClientKeepAlive }).(pulumi.IntOutput) 176 } 177 178 func (o LookupLoadBalancerResultOutput) ConnectionLogs() GetLoadBalancerConnectionLogArrayOutput { 179 return o.ApplyT(func(v LookupLoadBalancerResult) []GetLoadBalancerConnectionLog { return v.ConnectionLogs }).(GetLoadBalancerConnectionLogArrayOutput) 180 } 181 182 func (o LookupLoadBalancerResultOutput) CustomerOwnedIpv4Pool() pulumi.StringOutput { 183 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.CustomerOwnedIpv4Pool }).(pulumi.StringOutput) 184 } 185 186 func (o LookupLoadBalancerResultOutput) DesyncMitigationMode() pulumi.StringOutput { 187 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.DesyncMitigationMode }).(pulumi.StringOutput) 188 } 189 190 func (o LookupLoadBalancerResultOutput) DnsName() pulumi.StringOutput { 191 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.DnsName }).(pulumi.StringOutput) 192 } 193 194 func (o LookupLoadBalancerResultOutput) DnsRecordClientRoutingPolicy() pulumi.StringOutput { 195 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.DnsRecordClientRoutingPolicy }).(pulumi.StringOutput) 196 } 197 198 func (o LookupLoadBalancerResultOutput) DropInvalidHeaderFields() pulumi.BoolOutput { 199 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.DropInvalidHeaderFields }).(pulumi.BoolOutput) 200 } 201 202 func (o LookupLoadBalancerResultOutput) EnableCrossZoneLoadBalancing() pulumi.BoolOutput { 203 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.EnableCrossZoneLoadBalancing }).(pulumi.BoolOutput) 204 } 205 206 func (o LookupLoadBalancerResultOutput) EnableDeletionProtection() pulumi.BoolOutput { 207 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.EnableDeletionProtection }).(pulumi.BoolOutput) 208 } 209 210 func (o LookupLoadBalancerResultOutput) EnableHttp2() pulumi.BoolOutput { 211 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.EnableHttp2 }).(pulumi.BoolOutput) 212 } 213 214 func (o LookupLoadBalancerResultOutput) EnableTlsVersionAndCipherSuiteHeaders() pulumi.BoolOutput { 215 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.EnableTlsVersionAndCipherSuiteHeaders }).(pulumi.BoolOutput) 216 } 217 218 func (o LookupLoadBalancerResultOutput) EnableWafFailOpen() pulumi.BoolOutput { 219 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.EnableWafFailOpen }).(pulumi.BoolOutput) 220 } 221 222 func (o LookupLoadBalancerResultOutput) EnableXffClientPort() pulumi.BoolOutput { 223 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.EnableXffClientPort }).(pulumi.BoolOutput) 224 } 225 226 func (o LookupLoadBalancerResultOutput) EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic() pulumi.StringOutput { 227 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic }).(pulumi.StringOutput) 228 } 229 230 // The provider-assigned unique ID for this managed resource. 231 func (o LookupLoadBalancerResultOutput) Id() pulumi.StringOutput { 232 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.Id }).(pulumi.StringOutput) 233 } 234 235 func (o LookupLoadBalancerResultOutput) IdleTimeout() pulumi.IntOutput { 236 return o.ApplyT(func(v LookupLoadBalancerResult) int { return v.IdleTimeout }).(pulumi.IntOutput) 237 } 238 239 func (o LookupLoadBalancerResultOutput) Internal() pulumi.BoolOutput { 240 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.Internal }).(pulumi.BoolOutput) 241 } 242 243 func (o LookupLoadBalancerResultOutput) IpAddressType() pulumi.StringOutput { 244 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.IpAddressType }).(pulumi.StringOutput) 245 } 246 247 func (o LookupLoadBalancerResultOutput) LoadBalancerType() pulumi.StringOutput { 248 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.LoadBalancerType }).(pulumi.StringOutput) 249 } 250 251 func (o LookupLoadBalancerResultOutput) Name() pulumi.StringOutput { 252 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.Name }).(pulumi.StringOutput) 253 } 254 255 func (o LookupLoadBalancerResultOutput) PreserveHostHeader() pulumi.BoolOutput { 256 return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.PreserveHostHeader }).(pulumi.BoolOutput) 257 } 258 259 func (o LookupLoadBalancerResultOutput) SecurityGroups() pulumi.StringArrayOutput { 260 return o.ApplyT(func(v LookupLoadBalancerResult) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) 261 } 262 263 func (o LookupLoadBalancerResultOutput) SubnetMappings() GetLoadBalancerSubnetMappingArrayOutput { 264 return o.ApplyT(func(v LookupLoadBalancerResult) []GetLoadBalancerSubnetMapping { return v.SubnetMappings }).(GetLoadBalancerSubnetMappingArrayOutput) 265 } 266 267 func (o LookupLoadBalancerResultOutput) Subnets() pulumi.StringArrayOutput { 268 return o.ApplyT(func(v LookupLoadBalancerResult) []string { return v.Subnets }).(pulumi.StringArrayOutput) 269 } 270 271 func (o LookupLoadBalancerResultOutput) Tags() pulumi.StringMapOutput { 272 return o.ApplyT(func(v LookupLoadBalancerResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) 273 } 274 275 func (o LookupLoadBalancerResultOutput) VpcId() pulumi.StringOutput { 276 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.VpcId }).(pulumi.StringOutput) 277 } 278 279 func (o LookupLoadBalancerResultOutput) XffHeaderProcessingMode() pulumi.StringOutput { 280 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.XffHeaderProcessingMode }).(pulumi.StringOutput) 281 } 282 283 func (o LookupLoadBalancerResultOutput) ZoneId() pulumi.StringOutput { 284 return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.ZoneId }).(pulumi.StringOutput) 285 } 286 287 func init() { 288 pulumi.RegisterOutputType(LookupLoadBalancerResultOutput{}) 289 }