github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/lb/getTargetGroup.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.TargetGroup` is known as `lb.TargetGroup`. The functionality is identical.
    15  //
    16  // Provides information about a Load Balancer Target Group.
    17  //
    18  // This data source can prove useful when a module accepts an LB Target Group as an
    19  // input variable and needs to know its attributes. It can also be used to get the ARN of
    20  // an LB Target Group for use in other resources, given LB Target Group name.
    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  //			lbTgArn := ""
    40  //			if param := cfg.Get("lbTgArn"); param != "" {
    41  //				lbTgArn = param
    42  //			}
    43  //			lbTgName := ""
    44  //			if param := cfg.Get("lbTgName"); param != "" {
    45  //				lbTgName = param
    46  //			}
    47  //			_, err := lb.LookupTargetGroup(ctx, &lb.LookupTargetGroupArgs{
    48  //				Arn:  pulumi.StringRef(lbTgArn),
    49  //				Name: pulumi.StringRef(lbTgName),
    50  //			}, nil)
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			return nil
    55  //		})
    56  //	}
    57  //
    58  // ```
    59  // <!--End PulumiCodeChooser -->
    60  func LookupTargetGroup(ctx *pulumi.Context, args *LookupTargetGroupArgs, opts ...pulumi.InvokeOption) (*LookupTargetGroupResult, error) {
    61  	opts = internal.PkgInvokeDefaultOpts(opts)
    62  	var rv LookupTargetGroupResult
    63  	err := ctx.Invoke("aws:lb/getTargetGroup:getTargetGroup", 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 getTargetGroup.
    71  type LookupTargetGroupArgs struct {
    72  	// Full ARN of the target group.
    73  	Arn                            *string `pulumi:"arn"`
    74  	LoadBalancingAnomalyMitigation *string `pulumi:"loadBalancingAnomalyMitigation"`
    75  	// Unique name of the target group.
    76  	Name *string `pulumi:"name"`
    77  	// Mapping of tags, each pair of which must exactly match a pair on the desired target group.
    78  	//
    79  	// > **NOTE:** When both `arn` and `name` are specified, `arn` takes precedence. `tags` has the lowest precedence.
    80  	Tags map[string]string `pulumi:"tags"`
    81  }
    82  
    83  // A collection of values returned by getTargetGroup.
    84  type LookupTargetGroupResult struct {
    85  	Arn                   string                    `pulumi:"arn"`
    86  	ArnSuffix             string                    `pulumi:"arnSuffix"`
    87  	ConnectionTermination bool                      `pulumi:"connectionTermination"`
    88  	DeregistrationDelay   string                    `pulumi:"deregistrationDelay"`
    89  	HealthCheck           GetTargetGroupHealthCheck `pulumi:"healthCheck"`
    90  	// The provider-assigned unique ID for this managed resource.
    91  	Id                             string                   `pulumi:"id"`
    92  	LambdaMultiValueHeadersEnabled bool                     `pulumi:"lambdaMultiValueHeadersEnabled"`
    93  	LoadBalancerArns               []string                 `pulumi:"loadBalancerArns"`
    94  	LoadBalancingAlgorithmType     string                   `pulumi:"loadBalancingAlgorithmType"`
    95  	LoadBalancingAnomalyMitigation string                   `pulumi:"loadBalancingAnomalyMitigation"`
    96  	LoadBalancingCrossZoneEnabled  string                   `pulumi:"loadBalancingCrossZoneEnabled"`
    97  	Name                           string                   `pulumi:"name"`
    98  	Port                           int                      `pulumi:"port"`
    99  	PreserveClientIp               string                   `pulumi:"preserveClientIp"`
   100  	Protocol                       string                   `pulumi:"protocol"`
   101  	ProtocolVersion                string                   `pulumi:"protocolVersion"`
   102  	ProxyProtocolV2                bool                     `pulumi:"proxyProtocolV2"`
   103  	SlowStart                      int                      `pulumi:"slowStart"`
   104  	Stickiness                     GetTargetGroupStickiness `pulumi:"stickiness"`
   105  	Tags                           map[string]string        `pulumi:"tags"`
   106  	TargetType                     string                   `pulumi:"targetType"`
   107  	VpcId                          string                   `pulumi:"vpcId"`
   108  }
   109  
   110  func LookupTargetGroupOutput(ctx *pulumi.Context, args LookupTargetGroupOutputArgs, opts ...pulumi.InvokeOption) LookupTargetGroupResultOutput {
   111  	return pulumi.ToOutputWithContext(context.Background(), args).
   112  		ApplyT(func(v interface{}) (LookupTargetGroupResult, error) {
   113  			args := v.(LookupTargetGroupArgs)
   114  			r, err := LookupTargetGroup(ctx, &args, opts...)
   115  			var s LookupTargetGroupResult
   116  			if r != nil {
   117  				s = *r
   118  			}
   119  			return s, err
   120  		}).(LookupTargetGroupResultOutput)
   121  }
   122  
   123  // A collection of arguments for invoking getTargetGroup.
   124  type LookupTargetGroupOutputArgs struct {
   125  	// Full ARN of the target group.
   126  	Arn                            pulumi.StringPtrInput `pulumi:"arn"`
   127  	LoadBalancingAnomalyMitigation pulumi.StringPtrInput `pulumi:"loadBalancingAnomalyMitigation"`
   128  	// Unique name of the target group.
   129  	Name pulumi.StringPtrInput `pulumi:"name"`
   130  	// Mapping of tags, each pair of which must exactly match a pair on the desired target group.
   131  	//
   132  	// > **NOTE:** When both `arn` and `name` are specified, `arn` takes precedence. `tags` has the lowest precedence.
   133  	Tags pulumi.StringMapInput `pulumi:"tags"`
   134  }
   135  
   136  func (LookupTargetGroupOutputArgs) ElementType() reflect.Type {
   137  	return reflect.TypeOf((*LookupTargetGroupArgs)(nil)).Elem()
   138  }
   139  
   140  // A collection of values returned by getTargetGroup.
   141  type LookupTargetGroupResultOutput struct{ *pulumi.OutputState }
   142  
   143  func (LookupTargetGroupResultOutput) ElementType() reflect.Type {
   144  	return reflect.TypeOf((*LookupTargetGroupResult)(nil)).Elem()
   145  }
   146  
   147  func (o LookupTargetGroupResultOutput) ToLookupTargetGroupResultOutput() LookupTargetGroupResultOutput {
   148  	return o
   149  }
   150  
   151  func (o LookupTargetGroupResultOutput) ToLookupTargetGroupResultOutputWithContext(ctx context.Context) LookupTargetGroupResultOutput {
   152  	return o
   153  }
   154  
   155  func (o LookupTargetGroupResultOutput) Arn() pulumi.StringOutput {
   156  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.Arn }).(pulumi.StringOutput)
   157  }
   158  
   159  func (o LookupTargetGroupResultOutput) ArnSuffix() pulumi.StringOutput {
   160  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.ArnSuffix }).(pulumi.StringOutput)
   161  }
   162  
   163  func (o LookupTargetGroupResultOutput) ConnectionTermination() pulumi.BoolOutput {
   164  	return o.ApplyT(func(v LookupTargetGroupResult) bool { return v.ConnectionTermination }).(pulumi.BoolOutput)
   165  }
   166  
   167  func (o LookupTargetGroupResultOutput) DeregistrationDelay() pulumi.StringOutput {
   168  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.DeregistrationDelay }).(pulumi.StringOutput)
   169  }
   170  
   171  func (o LookupTargetGroupResultOutput) HealthCheck() GetTargetGroupHealthCheckOutput {
   172  	return o.ApplyT(func(v LookupTargetGroupResult) GetTargetGroupHealthCheck { return v.HealthCheck }).(GetTargetGroupHealthCheckOutput)
   173  }
   174  
   175  // The provider-assigned unique ID for this managed resource.
   176  func (o LookupTargetGroupResultOutput) Id() pulumi.StringOutput {
   177  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.Id }).(pulumi.StringOutput)
   178  }
   179  
   180  func (o LookupTargetGroupResultOutput) LambdaMultiValueHeadersEnabled() pulumi.BoolOutput {
   181  	return o.ApplyT(func(v LookupTargetGroupResult) bool { return v.LambdaMultiValueHeadersEnabled }).(pulumi.BoolOutput)
   182  }
   183  
   184  func (o LookupTargetGroupResultOutput) LoadBalancerArns() pulumi.StringArrayOutput {
   185  	return o.ApplyT(func(v LookupTargetGroupResult) []string { return v.LoadBalancerArns }).(pulumi.StringArrayOutput)
   186  }
   187  
   188  func (o LookupTargetGroupResultOutput) LoadBalancingAlgorithmType() pulumi.StringOutput {
   189  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.LoadBalancingAlgorithmType }).(pulumi.StringOutput)
   190  }
   191  
   192  func (o LookupTargetGroupResultOutput) LoadBalancingAnomalyMitigation() pulumi.StringOutput {
   193  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.LoadBalancingAnomalyMitigation }).(pulumi.StringOutput)
   194  }
   195  
   196  func (o LookupTargetGroupResultOutput) LoadBalancingCrossZoneEnabled() pulumi.StringOutput {
   197  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.LoadBalancingCrossZoneEnabled }).(pulumi.StringOutput)
   198  }
   199  
   200  func (o LookupTargetGroupResultOutput) Name() pulumi.StringOutput {
   201  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.Name }).(pulumi.StringOutput)
   202  }
   203  
   204  func (o LookupTargetGroupResultOutput) Port() pulumi.IntOutput {
   205  	return o.ApplyT(func(v LookupTargetGroupResult) int { return v.Port }).(pulumi.IntOutput)
   206  }
   207  
   208  func (o LookupTargetGroupResultOutput) PreserveClientIp() pulumi.StringOutput {
   209  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.PreserveClientIp }).(pulumi.StringOutput)
   210  }
   211  
   212  func (o LookupTargetGroupResultOutput) Protocol() pulumi.StringOutput {
   213  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.Protocol }).(pulumi.StringOutput)
   214  }
   215  
   216  func (o LookupTargetGroupResultOutput) ProtocolVersion() pulumi.StringOutput {
   217  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.ProtocolVersion }).(pulumi.StringOutput)
   218  }
   219  
   220  func (o LookupTargetGroupResultOutput) ProxyProtocolV2() pulumi.BoolOutput {
   221  	return o.ApplyT(func(v LookupTargetGroupResult) bool { return v.ProxyProtocolV2 }).(pulumi.BoolOutput)
   222  }
   223  
   224  func (o LookupTargetGroupResultOutput) SlowStart() pulumi.IntOutput {
   225  	return o.ApplyT(func(v LookupTargetGroupResult) int { return v.SlowStart }).(pulumi.IntOutput)
   226  }
   227  
   228  func (o LookupTargetGroupResultOutput) Stickiness() GetTargetGroupStickinessOutput {
   229  	return o.ApplyT(func(v LookupTargetGroupResult) GetTargetGroupStickiness { return v.Stickiness }).(GetTargetGroupStickinessOutput)
   230  }
   231  
   232  func (o LookupTargetGroupResultOutput) Tags() pulumi.StringMapOutput {
   233  	return o.ApplyT(func(v LookupTargetGroupResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   234  }
   235  
   236  func (o LookupTargetGroupResultOutput) TargetType() pulumi.StringOutput {
   237  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.TargetType }).(pulumi.StringOutput)
   238  }
   239  
   240  func (o LookupTargetGroupResultOutput) VpcId() pulumi.StringOutput {
   241  	return o.ApplyT(func(v LookupTargetGroupResult) string { return v.VpcId }).(pulumi.StringOutput)
   242  }
   243  
   244  func init() {
   245  	pulumi.RegisterOutputType(LookupTargetGroupResultOutput{})
   246  }