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  }