github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/elb/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 elb
     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  // Provides information about a "classic" Elastic Load Balancer (ELB).
    15  // See LB Data Source if you are looking for "v2"
    16  // Application Load Balancer (ALB) or Network Load Balancer (NLB).
    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/elb"
    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  //			lbName := ""
    40  //			if param := cfg.Get("lbName"); param != "" {
    41  //				lbName = param
    42  //			}
    43  //			_, err := elb.LookupLoadBalancer(ctx, &elb.LookupLoadBalancerArgs{
    44  //				Name: lbName,
    45  //			}, nil)
    46  //			if err != nil {
    47  //				return err
    48  //			}
    49  //			return nil
    50  //		})
    51  //	}
    52  //
    53  // ```
    54  // <!--End PulumiCodeChooser -->
    55  func LookupLoadBalancer(ctx *pulumi.Context, args *LookupLoadBalancerArgs, opts ...pulumi.InvokeOption) (*LookupLoadBalancerResult, error) {
    56  	opts = internal.PkgInvokeDefaultOpts(opts)
    57  	var rv LookupLoadBalancerResult
    58  	err := ctx.Invoke("aws:elb/getLoadBalancer:getLoadBalancer", args, &rv, opts...)
    59  	if err != nil {
    60  		return nil, err
    61  	}
    62  	return &rv, nil
    63  }
    64  
    65  // A collection of arguments for invoking getLoadBalancer.
    66  type LookupLoadBalancerArgs struct {
    67  	// Unique name of the load balancer.
    68  	Name string            `pulumi:"name"`
    69  	Tags map[string]string `pulumi:"tags"`
    70  }
    71  
    72  // A collection of values returned by getLoadBalancer.
    73  type LookupLoadBalancerResult struct {
    74  	AccessLogs                GetLoadBalancerAccessLogs  `pulumi:"accessLogs"`
    75  	Arn                       string                     `pulumi:"arn"`
    76  	AvailabilityZones         []string                   `pulumi:"availabilityZones"`
    77  	ConnectionDraining        bool                       `pulumi:"connectionDraining"`
    78  	ConnectionDrainingTimeout int                        `pulumi:"connectionDrainingTimeout"`
    79  	CrossZoneLoadBalancing    bool                       `pulumi:"crossZoneLoadBalancing"`
    80  	DesyncMitigationMode      string                     `pulumi:"desyncMitigationMode"`
    81  	DnsName                   string                     `pulumi:"dnsName"`
    82  	HealthCheck               GetLoadBalancerHealthCheck `pulumi:"healthCheck"`
    83  	// The provider-assigned unique ID for this managed resource.
    84  	Id                    string                    `pulumi:"id"`
    85  	IdleTimeout           int                       `pulumi:"idleTimeout"`
    86  	Instances             []string                  `pulumi:"instances"`
    87  	Internal              bool                      `pulumi:"internal"`
    88  	Listeners             []GetLoadBalancerListener `pulumi:"listeners"`
    89  	Name                  string                    `pulumi:"name"`
    90  	SecurityGroups        []string                  `pulumi:"securityGroups"`
    91  	SourceSecurityGroup   string                    `pulumi:"sourceSecurityGroup"`
    92  	SourceSecurityGroupId string                    `pulumi:"sourceSecurityGroupId"`
    93  	Subnets               []string                  `pulumi:"subnets"`
    94  	Tags                  map[string]string         `pulumi:"tags"`
    95  	ZoneId                string                    `pulumi:"zoneId"`
    96  }
    97  
    98  func LookupLoadBalancerOutput(ctx *pulumi.Context, args LookupLoadBalancerOutputArgs, opts ...pulumi.InvokeOption) LookupLoadBalancerResultOutput {
    99  	return pulumi.ToOutputWithContext(context.Background(), args).
   100  		ApplyT(func(v interface{}) (LookupLoadBalancerResult, error) {
   101  			args := v.(LookupLoadBalancerArgs)
   102  			r, err := LookupLoadBalancer(ctx, &args, opts...)
   103  			var s LookupLoadBalancerResult
   104  			if r != nil {
   105  				s = *r
   106  			}
   107  			return s, err
   108  		}).(LookupLoadBalancerResultOutput)
   109  }
   110  
   111  // A collection of arguments for invoking getLoadBalancer.
   112  type LookupLoadBalancerOutputArgs struct {
   113  	// Unique name of the load balancer.
   114  	Name pulumi.StringInput    `pulumi:"name"`
   115  	Tags pulumi.StringMapInput `pulumi:"tags"`
   116  }
   117  
   118  func (LookupLoadBalancerOutputArgs) ElementType() reflect.Type {
   119  	return reflect.TypeOf((*LookupLoadBalancerArgs)(nil)).Elem()
   120  }
   121  
   122  // A collection of values returned by getLoadBalancer.
   123  type LookupLoadBalancerResultOutput struct{ *pulumi.OutputState }
   124  
   125  func (LookupLoadBalancerResultOutput) ElementType() reflect.Type {
   126  	return reflect.TypeOf((*LookupLoadBalancerResult)(nil)).Elem()
   127  }
   128  
   129  func (o LookupLoadBalancerResultOutput) ToLookupLoadBalancerResultOutput() LookupLoadBalancerResultOutput {
   130  	return o
   131  }
   132  
   133  func (o LookupLoadBalancerResultOutput) ToLookupLoadBalancerResultOutputWithContext(ctx context.Context) LookupLoadBalancerResultOutput {
   134  	return o
   135  }
   136  
   137  func (o LookupLoadBalancerResultOutput) AccessLogs() GetLoadBalancerAccessLogsOutput {
   138  	return o.ApplyT(func(v LookupLoadBalancerResult) GetLoadBalancerAccessLogs { return v.AccessLogs }).(GetLoadBalancerAccessLogsOutput)
   139  }
   140  
   141  func (o LookupLoadBalancerResultOutput) Arn() pulumi.StringOutput {
   142  	return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.Arn }).(pulumi.StringOutput)
   143  }
   144  
   145  func (o LookupLoadBalancerResultOutput) AvailabilityZones() pulumi.StringArrayOutput {
   146  	return o.ApplyT(func(v LookupLoadBalancerResult) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput)
   147  }
   148  
   149  func (o LookupLoadBalancerResultOutput) ConnectionDraining() pulumi.BoolOutput {
   150  	return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.ConnectionDraining }).(pulumi.BoolOutput)
   151  }
   152  
   153  func (o LookupLoadBalancerResultOutput) ConnectionDrainingTimeout() pulumi.IntOutput {
   154  	return o.ApplyT(func(v LookupLoadBalancerResult) int { return v.ConnectionDrainingTimeout }).(pulumi.IntOutput)
   155  }
   156  
   157  func (o LookupLoadBalancerResultOutput) CrossZoneLoadBalancing() pulumi.BoolOutput {
   158  	return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.CrossZoneLoadBalancing }).(pulumi.BoolOutput)
   159  }
   160  
   161  func (o LookupLoadBalancerResultOutput) DesyncMitigationMode() pulumi.StringOutput {
   162  	return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.DesyncMitigationMode }).(pulumi.StringOutput)
   163  }
   164  
   165  func (o LookupLoadBalancerResultOutput) DnsName() pulumi.StringOutput {
   166  	return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.DnsName }).(pulumi.StringOutput)
   167  }
   168  
   169  func (o LookupLoadBalancerResultOutput) HealthCheck() GetLoadBalancerHealthCheckOutput {
   170  	return o.ApplyT(func(v LookupLoadBalancerResult) GetLoadBalancerHealthCheck { return v.HealthCheck }).(GetLoadBalancerHealthCheckOutput)
   171  }
   172  
   173  // The provider-assigned unique ID for this managed resource.
   174  func (o LookupLoadBalancerResultOutput) Id() pulumi.StringOutput {
   175  	return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.Id }).(pulumi.StringOutput)
   176  }
   177  
   178  func (o LookupLoadBalancerResultOutput) IdleTimeout() pulumi.IntOutput {
   179  	return o.ApplyT(func(v LookupLoadBalancerResult) int { return v.IdleTimeout }).(pulumi.IntOutput)
   180  }
   181  
   182  func (o LookupLoadBalancerResultOutput) Instances() pulumi.StringArrayOutput {
   183  	return o.ApplyT(func(v LookupLoadBalancerResult) []string { return v.Instances }).(pulumi.StringArrayOutput)
   184  }
   185  
   186  func (o LookupLoadBalancerResultOutput) Internal() pulumi.BoolOutput {
   187  	return o.ApplyT(func(v LookupLoadBalancerResult) bool { return v.Internal }).(pulumi.BoolOutput)
   188  }
   189  
   190  func (o LookupLoadBalancerResultOutput) Listeners() GetLoadBalancerListenerArrayOutput {
   191  	return o.ApplyT(func(v LookupLoadBalancerResult) []GetLoadBalancerListener { return v.Listeners }).(GetLoadBalancerListenerArrayOutput)
   192  }
   193  
   194  func (o LookupLoadBalancerResultOutput) Name() pulumi.StringOutput {
   195  	return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.Name }).(pulumi.StringOutput)
   196  }
   197  
   198  func (o LookupLoadBalancerResultOutput) SecurityGroups() pulumi.StringArrayOutput {
   199  	return o.ApplyT(func(v LookupLoadBalancerResult) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput)
   200  }
   201  
   202  func (o LookupLoadBalancerResultOutput) SourceSecurityGroup() pulumi.StringOutput {
   203  	return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.SourceSecurityGroup }).(pulumi.StringOutput)
   204  }
   205  
   206  func (o LookupLoadBalancerResultOutput) SourceSecurityGroupId() pulumi.StringOutput {
   207  	return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.SourceSecurityGroupId }).(pulumi.StringOutput)
   208  }
   209  
   210  func (o LookupLoadBalancerResultOutput) Subnets() pulumi.StringArrayOutput {
   211  	return o.ApplyT(func(v LookupLoadBalancerResult) []string { return v.Subnets }).(pulumi.StringArrayOutput)
   212  }
   213  
   214  func (o LookupLoadBalancerResultOutput) Tags() pulumi.StringMapOutput {
   215  	return o.ApplyT(func(v LookupLoadBalancerResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   216  }
   217  
   218  func (o LookupLoadBalancerResultOutput) ZoneId() pulumi.StringOutput {
   219  	return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.ZoneId }).(pulumi.StringOutput)
   220  }
   221  
   222  func init() {
   223  	pulumi.RegisterOutputType(LookupLoadBalancerResultOutput{})
   224  }