Files
pulumi-incus/sdk/go/incus/networkLoadBalancer.go

291 lines
12 KiB
Go
Generated

// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package incus
import (
"context"
"reflect"
"errors"
"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
type NetworkLoadBalancer struct {
pulumi.CustomResourceState
// Network load balancer backend
Backends NetworkLoadBalancerBackendArrayOutput `pulumi:"backends"`
Config pulumi.StringMapOutput `pulumi:"config"`
Description pulumi.StringOutput `pulumi:"description"`
ListenAddress pulumi.StringOutput `pulumi:"listenAddress"`
Network pulumi.StringOutput `pulumi:"network"`
// Network load balancer port
Ports NetworkLoadBalancerPortArrayOutput `pulumi:"ports"`
Project pulumi.StringPtrOutput `pulumi:"project"`
Remote pulumi.StringPtrOutput `pulumi:"remote"`
}
// NewNetworkLoadBalancer registers a new resource with the given unique name, arguments, and options.
func NewNetworkLoadBalancer(ctx *pulumi.Context,
name string, args *NetworkLoadBalancerArgs, opts ...pulumi.ResourceOption) (*NetworkLoadBalancer, error) {
if args == nil {
return nil, errors.New("missing one or more required arguments")
}
if args.ListenAddress == nil {
return nil, errors.New("invalid value for required argument 'ListenAddress'")
}
if args.Network == nil {
return nil, errors.New("invalid value for required argument 'Network'")
}
opts = internal.PkgResourceDefaultOpts(opts)
var resource NetworkLoadBalancer
err := ctx.RegisterResource("incus:index/networkLoadBalancer:NetworkLoadBalancer", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// GetNetworkLoadBalancer gets an existing NetworkLoadBalancer resource's state with the given name, ID, and optional
// state properties that are used to uniquely qualify the lookup (nil if not required).
func GetNetworkLoadBalancer(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *NetworkLoadBalancerState, opts ...pulumi.ResourceOption) (*NetworkLoadBalancer, error) {
var resource NetworkLoadBalancer
err := ctx.ReadResource("incus:index/networkLoadBalancer:NetworkLoadBalancer", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// Input properties used for looking up and filtering NetworkLoadBalancer resources.
type networkLoadBalancerState struct {
// Network load balancer backend
Backends []NetworkLoadBalancerBackend `pulumi:"backends"`
Config map[string]string `pulumi:"config"`
Description *string `pulumi:"description"`
ListenAddress *string `pulumi:"listenAddress"`
Network *string `pulumi:"network"`
// Network load balancer port
Ports []NetworkLoadBalancerPort `pulumi:"ports"`
Project *string `pulumi:"project"`
Remote *string `pulumi:"remote"`
}
type NetworkLoadBalancerState struct {
// Network load balancer backend
Backends NetworkLoadBalancerBackendArrayInput
Config pulumi.StringMapInput
Description pulumi.StringPtrInput
ListenAddress pulumi.StringPtrInput
Network pulumi.StringPtrInput
// Network load balancer port
Ports NetworkLoadBalancerPortArrayInput
Project pulumi.StringPtrInput
Remote pulumi.StringPtrInput
}
func (NetworkLoadBalancerState) ElementType() reflect.Type {
return reflect.TypeOf((*networkLoadBalancerState)(nil)).Elem()
}
type networkLoadBalancerArgs struct {
// Network load balancer backend
Backends []NetworkLoadBalancerBackend `pulumi:"backends"`
Config map[string]string `pulumi:"config"`
Description *string `pulumi:"description"`
ListenAddress string `pulumi:"listenAddress"`
Network string `pulumi:"network"`
// Network load balancer port
Ports []NetworkLoadBalancerPort `pulumi:"ports"`
Project *string `pulumi:"project"`
Remote *string `pulumi:"remote"`
}
// The set of arguments for constructing a NetworkLoadBalancer resource.
type NetworkLoadBalancerArgs struct {
// Network load balancer backend
Backends NetworkLoadBalancerBackendArrayInput
Config pulumi.StringMapInput
Description pulumi.StringPtrInput
ListenAddress pulumi.StringInput
Network pulumi.StringInput
// Network load balancer port
Ports NetworkLoadBalancerPortArrayInput
Project pulumi.StringPtrInput
Remote pulumi.StringPtrInput
}
func (NetworkLoadBalancerArgs) ElementType() reflect.Type {
return reflect.TypeOf((*networkLoadBalancerArgs)(nil)).Elem()
}
type NetworkLoadBalancerInput interface {
pulumi.Input
ToNetworkLoadBalancerOutput() NetworkLoadBalancerOutput
ToNetworkLoadBalancerOutputWithContext(ctx context.Context) NetworkLoadBalancerOutput
}
func (*NetworkLoadBalancer) ElementType() reflect.Type {
return reflect.TypeOf((**NetworkLoadBalancer)(nil)).Elem()
}
func (i *NetworkLoadBalancer) ToNetworkLoadBalancerOutput() NetworkLoadBalancerOutput {
return i.ToNetworkLoadBalancerOutputWithContext(context.Background())
}
func (i *NetworkLoadBalancer) ToNetworkLoadBalancerOutputWithContext(ctx context.Context) NetworkLoadBalancerOutput {
return pulumi.ToOutputWithContext(ctx, i).(NetworkLoadBalancerOutput)
}
// NetworkLoadBalancerArrayInput is an input type that accepts NetworkLoadBalancerArray and NetworkLoadBalancerArrayOutput values.
// You can construct a concrete instance of `NetworkLoadBalancerArrayInput` via:
//
// NetworkLoadBalancerArray{ NetworkLoadBalancerArgs{...} }
type NetworkLoadBalancerArrayInput interface {
pulumi.Input
ToNetworkLoadBalancerArrayOutput() NetworkLoadBalancerArrayOutput
ToNetworkLoadBalancerArrayOutputWithContext(context.Context) NetworkLoadBalancerArrayOutput
}
type NetworkLoadBalancerArray []NetworkLoadBalancerInput
func (NetworkLoadBalancerArray) ElementType() reflect.Type {
return reflect.TypeOf((*[]*NetworkLoadBalancer)(nil)).Elem()
}
func (i NetworkLoadBalancerArray) ToNetworkLoadBalancerArrayOutput() NetworkLoadBalancerArrayOutput {
return i.ToNetworkLoadBalancerArrayOutputWithContext(context.Background())
}
func (i NetworkLoadBalancerArray) ToNetworkLoadBalancerArrayOutputWithContext(ctx context.Context) NetworkLoadBalancerArrayOutput {
return pulumi.ToOutputWithContext(ctx, i).(NetworkLoadBalancerArrayOutput)
}
// NetworkLoadBalancerMapInput is an input type that accepts NetworkLoadBalancerMap and NetworkLoadBalancerMapOutput values.
// You can construct a concrete instance of `NetworkLoadBalancerMapInput` via:
//
// NetworkLoadBalancerMap{ "key": NetworkLoadBalancerArgs{...} }
type NetworkLoadBalancerMapInput interface {
pulumi.Input
ToNetworkLoadBalancerMapOutput() NetworkLoadBalancerMapOutput
ToNetworkLoadBalancerMapOutputWithContext(context.Context) NetworkLoadBalancerMapOutput
}
type NetworkLoadBalancerMap map[string]NetworkLoadBalancerInput
func (NetworkLoadBalancerMap) ElementType() reflect.Type {
return reflect.TypeOf((*map[string]*NetworkLoadBalancer)(nil)).Elem()
}
func (i NetworkLoadBalancerMap) ToNetworkLoadBalancerMapOutput() NetworkLoadBalancerMapOutput {
return i.ToNetworkLoadBalancerMapOutputWithContext(context.Background())
}
func (i NetworkLoadBalancerMap) ToNetworkLoadBalancerMapOutputWithContext(ctx context.Context) NetworkLoadBalancerMapOutput {
return pulumi.ToOutputWithContext(ctx, i).(NetworkLoadBalancerMapOutput)
}
type NetworkLoadBalancerOutput struct{ *pulumi.OutputState }
func (NetworkLoadBalancerOutput) ElementType() reflect.Type {
return reflect.TypeOf((**NetworkLoadBalancer)(nil)).Elem()
}
func (o NetworkLoadBalancerOutput) ToNetworkLoadBalancerOutput() NetworkLoadBalancerOutput {
return o
}
func (o NetworkLoadBalancerOutput) ToNetworkLoadBalancerOutputWithContext(ctx context.Context) NetworkLoadBalancerOutput {
return o
}
// Network load balancer backend
func (o NetworkLoadBalancerOutput) Backends() NetworkLoadBalancerBackendArrayOutput {
return o.ApplyT(func(v *NetworkLoadBalancer) NetworkLoadBalancerBackendArrayOutput { return v.Backends }).(NetworkLoadBalancerBackendArrayOutput)
}
func (o NetworkLoadBalancerOutput) Config() pulumi.StringMapOutput {
return o.ApplyT(func(v *NetworkLoadBalancer) pulumi.StringMapOutput { return v.Config }).(pulumi.StringMapOutput)
}
func (o NetworkLoadBalancerOutput) Description() pulumi.StringOutput {
return o.ApplyT(func(v *NetworkLoadBalancer) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput)
}
func (o NetworkLoadBalancerOutput) ListenAddress() pulumi.StringOutput {
return o.ApplyT(func(v *NetworkLoadBalancer) pulumi.StringOutput { return v.ListenAddress }).(pulumi.StringOutput)
}
func (o NetworkLoadBalancerOutput) Network() pulumi.StringOutput {
return o.ApplyT(func(v *NetworkLoadBalancer) pulumi.StringOutput { return v.Network }).(pulumi.StringOutput)
}
// Network load balancer port
func (o NetworkLoadBalancerOutput) Ports() NetworkLoadBalancerPortArrayOutput {
return o.ApplyT(func(v *NetworkLoadBalancer) NetworkLoadBalancerPortArrayOutput { return v.Ports }).(NetworkLoadBalancerPortArrayOutput)
}
func (o NetworkLoadBalancerOutput) Project() pulumi.StringPtrOutput {
return o.ApplyT(func(v *NetworkLoadBalancer) pulumi.StringPtrOutput { return v.Project }).(pulumi.StringPtrOutput)
}
func (o NetworkLoadBalancerOutput) Remote() pulumi.StringPtrOutput {
return o.ApplyT(func(v *NetworkLoadBalancer) pulumi.StringPtrOutput { return v.Remote }).(pulumi.StringPtrOutput)
}
type NetworkLoadBalancerArrayOutput struct{ *pulumi.OutputState }
func (NetworkLoadBalancerArrayOutput) ElementType() reflect.Type {
return reflect.TypeOf((*[]*NetworkLoadBalancer)(nil)).Elem()
}
func (o NetworkLoadBalancerArrayOutput) ToNetworkLoadBalancerArrayOutput() NetworkLoadBalancerArrayOutput {
return o
}
func (o NetworkLoadBalancerArrayOutput) ToNetworkLoadBalancerArrayOutputWithContext(ctx context.Context) NetworkLoadBalancerArrayOutput {
return o
}
func (o NetworkLoadBalancerArrayOutput) Index(i pulumi.IntInput) NetworkLoadBalancerOutput {
return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NetworkLoadBalancer {
return vs[0].([]*NetworkLoadBalancer)[vs[1].(int)]
}).(NetworkLoadBalancerOutput)
}
type NetworkLoadBalancerMapOutput struct{ *pulumi.OutputState }
func (NetworkLoadBalancerMapOutput) ElementType() reflect.Type {
return reflect.TypeOf((*map[string]*NetworkLoadBalancer)(nil)).Elem()
}
func (o NetworkLoadBalancerMapOutput) ToNetworkLoadBalancerMapOutput() NetworkLoadBalancerMapOutput {
return o
}
func (o NetworkLoadBalancerMapOutput) ToNetworkLoadBalancerMapOutputWithContext(ctx context.Context) NetworkLoadBalancerMapOutput {
return o
}
func (o NetworkLoadBalancerMapOutput) MapIndex(k pulumi.StringInput) NetworkLoadBalancerOutput {
return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NetworkLoadBalancer {
return vs[0].(map[string]*NetworkLoadBalancer)[vs[1].(string)]
}).(NetworkLoadBalancerOutput)
}
func init() {
pulumi.RegisterInputType(reflect.TypeOf((*NetworkLoadBalancerInput)(nil)).Elem(), &NetworkLoadBalancer{})
pulumi.RegisterInputType(reflect.TypeOf((*NetworkLoadBalancerArrayInput)(nil)).Elem(), NetworkLoadBalancerArray{})
pulumi.RegisterInputType(reflect.TypeOf((*NetworkLoadBalancerMapInput)(nil)).Elem(), NetworkLoadBalancerMap{})
pulumi.RegisterOutputType(NetworkLoadBalancerOutput{})
pulumi.RegisterOutputType(NetworkLoadBalancerArrayOutput{})
pulumi.RegisterOutputType(NetworkLoadBalancerMapOutput{})
}