Files
pulumi-incus/sdk/go/incus/getNetworkLoadBalancer.go
2025-12-08 10:47:09 -05:00

195 lines
8.0 KiB
Go
Generated

// Code generated by pulumi-language-go DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package incus
import (
"context"
"reflect"
"git.kalinow.ski/kiterun/pulumi-incus/sdk/go/incus/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// ## # getNetworkLoadBalancer
//
// Provides information about an Incus network load balancer.
// See Incus network load balancer [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_load_balancers/) for more details.
//
// ## Example Usage
//
// ```go
// package main
//
// import (
//
// "git.kalinow.ski/kiterun/pulumi-incus/sdk/go/incus"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// this, err := incus.LookupNetworkLoadBalancer(ctx, &incus.LookupNetworkLoadBalancerArgs{
// ListenAddress: "127.0.0.1",
// Network: "parent",
// }, nil)
// if err != nil {
// return err
// }
// ctx.Export("networkLoadBalancerListenAddress", this.ListenAddress)
// return nil
// })
// }
//
// ```
func LookupNetworkLoadBalancer(ctx *pulumi.Context, args *LookupNetworkLoadBalancerArgs, opts ...pulumi.InvokeOption) (*LookupNetworkLoadBalancerResult, error) {
opts = internal.PkgInvokeDefaultOpts(opts)
var rv LookupNetworkLoadBalancerResult
err := ctx.Invoke("incus:index/getNetworkLoadBalancer:getNetworkLoadBalancer", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getNetworkLoadBalancer.
type LookupNetworkLoadBalancerArgs struct {
// List of load balancer backends.
Backends []GetNetworkLoadBalancerBackend `pulumi:"backends"`
// Description of the load balancer port.
Description *string `pulumi:"description"`
// **Required** - Listen Address of the network load balancer.
ListenAddress string `pulumi:"listenAddress"`
// Location of the network load balancer.
Location *string `pulumi:"location"`
// **Required** - Name of the parent network.
Network string `pulumi:"network"`
// List of load balancer ports.
Ports []GetNetworkLoadBalancerPort `pulumi:"ports"`
// *Optional* - Name of the project where the network load balancer is be stored.
Project *string `pulumi:"project"`
// *Optional* - The remote in which the resource was created. If
// not provided, the provider's default remote will be used.
Remote *string `pulumi:"remote"`
}
// A collection of values returned by getNetworkLoadBalancer.
type LookupNetworkLoadBalancerResult struct {
// List of load balancer backends.
Backends []GetNetworkLoadBalancerBackend `pulumi:"backends"`
// Map of key/value pairs of config settings.
Config map[string]string `pulumi:"config"`
// Description of the load balancer port.
Description string `pulumi:"description"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
ListenAddress string `pulumi:"listenAddress"`
// Location of the network load balancer.
Location string `pulumi:"location"`
Network string `pulumi:"network"`
// List of load balancer ports.
Ports []GetNetworkLoadBalancerPort `pulumi:"ports"`
Project *string `pulumi:"project"`
Remote *string `pulumi:"remote"`
}
func LookupNetworkLoadBalancerOutput(ctx *pulumi.Context, args LookupNetworkLoadBalancerOutputArgs, opts ...pulumi.InvokeOption) LookupNetworkLoadBalancerResultOutput {
return pulumi.ToOutputWithContext(ctx.Context(), args).
ApplyT(func(v interface{}) (LookupNetworkLoadBalancerResultOutput, error) {
args := v.(LookupNetworkLoadBalancerArgs)
options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)}
return ctx.InvokeOutput("incus:index/getNetworkLoadBalancer:getNetworkLoadBalancer", args, LookupNetworkLoadBalancerResultOutput{}, options).(LookupNetworkLoadBalancerResultOutput), nil
}).(LookupNetworkLoadBalancerResultOutput)
}
// A collection of arguments for invoking getNetworkLoadBalancer.
type LookupNetworkLoadBalancerOutputArgs struct {
// List of load balancer backends.
Backends GetNetworkLoadBalancerBackendArrayInput `pulumi:"backends"`
// Description of the load balancer port.
Description pulumi.StringPtrInput `pulumi:"description"`
// **Required** - Listen Address of the network load balancer.
ListenAddress pulumi.StringInput `pulumi:"listenAddress"`
// Location of the network load balancer.
Location pulumi.StringPtrInput `pulumi:"location"`
// **Required** - Name of the parent network.
Network pulumi.StringInput `pulumi:"network"`
// List of load balancer ports.
Ports GetNetworkLoadBalancerPortArrayInput `pulumi:"ports"`
// *Optional* - Name of the project where the network load balancer is be stored.
Project pulumi.StringPtrInput `pulumi:"project"`
// *Optional* - The remote in which the resource was created. If
// not provided, the provider's default remote will be used.
Remote pulumi.StringPtrInput `pulumi:"remote"`
}
func (LookupNetworkLoadBalancerOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*LookupNetworkLoadBalancerArgs)(nil)).Elem()
}
// A collection of values returned by getNetworkLoadBalancer.
type LookupNetworkLoadBalancerResultOutput struct{ *pulumi.OutputState }
func (LookupNetworkLoadBalancerResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*LookupNetworkLoadBalancerResult)(nil)).Elem()
}
func (o LookupNetworkLoadBalancerResultOutput) ToLookupNetworkLoadBalancerResultOutput() LookupNetworkLoadBalancerResultOutput {
return o
}
func (o LookupNetworkLoadBalancerResultOutput) ToLookupNetworkLoadBalancerResultOutputWithContext(ctx context.Context) LookupNetworkLoadBalancerResultOutput {
return o
}
// List of load balancer backends.
func (o LookupNetworkLoadBalancerResultOutput) Backends() GetNetworkLoadBalancerBackendArrayOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) []GetNetworkLoadBalancerBackend { return v.Backends }).(GetNetworkLoadBalancerBackendArrayOutput)
}
// Map of key/value pairs of config settings.
func (o LookupNetworkLoadBalancerResultOutput) Config() pulumi.StringMapOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) map[string]string { return v.Config }).(pulumi.StringMapOutput)
}
// Description of the load balancer port.
func (o LookupNetworkLoadBalancerResultOutput) Description() pulumi.StringOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) string { return v.Description }).(pulumi.StringOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o LookupNetworkLoadBalancerResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) string { return v.Id }).(pulumi.StringOutput)
}
func (o LookupNetworkLoadBalancerResultOutput) ListenAddress() pulumi.StringOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) string { return v.ListenAddress }).(pulumi.StringOutput)
}
// Location of the network load balancer.
func (o LookupNetworkLoadBalancerResultOutput) Location() pulumi.StringOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) string { return v.Location }).(pulumi.StringOutput)
}
func (o LookupNetworkLoadBalancerResultOutput) Network() pulumi.StringOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) string { return v.Network }).(pulumi.StringOutput)
}
// List of load balancer ports.
func (o LookupNetworkLoadBalancerResultOutput) Ports() GetNetworkLoadBalancerPortArrayOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) []GetNetworkLoadBalancerPort { return v.Ports }).(GetNetworkLoadBalancerPortArrayOutput)
}
func (o LookupNetworkLoadBalancerResultOutput) Project() pulumi.StringPtrOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) *string { return v.Project }).(pulumi.StringPtrOutput)
}
func (o LookupNetworkLoadBalancerResultOutput) Remote() pulumi.StringPtrOutput {
return o.ApplyT(func(v LookupNetworkLoadBalancerResult) *string { return v.Remote }).(pulumi.StringPtrOutput)
}
func init() {
pulumi.RegisterOutputType(LookupNetworkLoadBalancerResultOutput{})
}