network

package
v6.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Firewall

type Firewall struct {
	pulumi.CustomResourceState

	// Enable ebtables rules cluster wide.
	Ebtables pulumi.BoolPtrOutput `pulumi:"ebtables"`
	// Enable or disable the log rate limit.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The default input policy (`ACCEPT`, `DROP`, `REJECT`).
	InputPolicy pulumi.StringPtrOutput `pulumi:"inputPolicy"`
	// The log rate limit.
	LogRatelimit FirewallLogRatelimitPtrOutput `pulumi:"logRatelimit"`
	// The default output policy (`ACCEPT`, `DROP`, `REJECT`).
	OutputPolicy pulumi.StringPtrOutput `pulumi:"outputPolicy"`
}

Manages firewall options on the cluster level.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.NewFirewall(ctx, "example", &Network.FirewallArgs{
			Ebtables:    pulumi.Bool(false),
			Enabled:     pulumi.Bool(false),
			InputPolicy: pulumi.String("DROP"),
			LogRatelimit: &network.FirewallLogRatelimitArgs{
				Burst:   pulumi.Int(10),
				Enabled: pulumi.Bool(false),
				Rate:    pulumi.String("5/second"),
			},
			OutputPolicy: pulumi.String("ACCEPT"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Important Notes

Be careful not to use this resource multiple times for the same node.

## Import

Instances can be imported without an ID, but you still need to pass one, e.g.,

bash

```sh $ pulumi import proxmoxve:Network/firewall:Firewall example example ```

func GetFirewall

func GetFirewall(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallState, opts ...pulumi.ResourceOption) (*Firewall, error)

GetFirewall gets an existing Firewall 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 NewFirewall

func NewFirewall(ctx *pulumi.Context,
	name string, args *FirewallArgs, opts ...pulumi.ResourceOption) (*Firewall, error)

NewFirewall registers a new resource with the given unique name, arguments, and options.

func (*Firewall) ElementType

func (*Firewall) ElementType() reflect.Type

func (*Firewall) ToFirewallOutput

func (i *Firewall) ToFirewallOutput() FirewallOutput

func (*Firewall) ToFirewallOutputWithContext

func (i *Firewall) ToFirewallOutputWithContext(ctx context.Context) FirewallOutput

type FirewallAlias

type FirewallAlias struct {
	pulumi.CustomResourceState

	// Network/IP specification in CIDR format.
	Cidr pulumi.StringOutput `pulumi:"cidr"`
	// Alias comment.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrOutput `pulumi:"containerId"`
	// Alias name.
	Name pulumi.StringOutput `pulumi:"name"`
	// Node name. Leave empty for cluster level aliases.
	NodeName pulumi.StringPtrOutput `pulumi:"nodeName"`
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrOutput `pulumi:"vmId"`
}

Aliases are used to see what devices or group of devices are affected by a rule. We can create aliases to identify an IP address or a network. Aliases can be created on the cluster level, on VM / Container level.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.NewFirewallAlias(ctx, "localNetwork", &Network.FirewallAliasArgs{
			NodeName: pulumi.Any(proxmox_virtual_environment_vm.Example.Node_name),
			VmId:     pulumi.Any(proxmox_virtual_environment_vm.Example.Vm_id),
			Cidr:     pulumi.String("192.168.0.0/23"),
			Comment:  pulumi.String("Managed by Terraform"),
		}, pulumi.DependsOn([]pulumi.Resource{
			proxmox_virtual_environment_vm.Example,
		}))
		if err != nil {
			return err
		}
		_, err = Network.NewFirewallAlias(ctx, "ubuntuVm", &Network.FirewallAliasArgs{
			Cidr:    pulumi.String("192.168.0.1"),
			Comment: pulumi.String("Managed by Terraform"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

func GetFirewallAlias

func GetFirewallAlias(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallAliasState, opts ...pulumi.ResourceOption) (*FirewallAlias, error)

GetFirewallAlias gets an existing FirewallAlias 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 NewFirewallAlias

func NewFirewallAlias(ctx *pulumi.Context,
	name string, args *FirewallAliasArgs, opts ...pulumi.ResourceOption) (*FirewallAlias, error)

NewFirewallAlias registers a new resource with the given unique name, arguments, and options.

func (*FirewallAlias) ElementType

func (*FirewallAlias) ElementType() reflect.Type

func (*FirewallAlias) ToFirewallAliasOutput

func (i *FirewallAlias) ToFirewallAliasOutput() FirewallAliasOutput

func (*FirewallAlias) ToFirewallAliasOutputWithContext

func (i *FirewallAlias) ToFirewallAliasOutputWithContext(ctx context.Context) FirewallAliasOutput

type FirewallAliasArgs

type FirewallAliasArgs struct {
	// Network/IP specification in CIDR format.
	Cidr pulumi.StringInput
	// Alias comment.
	Comment pulumi.StringPtrInput
	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrInput
	// Alias name.
	Name pulumi.StringPtrInput
	// Node name. Leave empty for cluster level aliases.
	NodeName pulumi.StringPtrInput
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrInput
}

The set of arguments for constructing a FirewallAlias resource.

func (FirewallAliasArgs) ElementType

func (FirewallAliasArgs) ElementType() reflect.Type

type FirewallAliasArray

type FirewallAliasArray []FirewallAliasInput

func (FirewallAliasArray) ElementType

func (FirewallAliasArray) ElementType() reflect.Type

func (FirewallAliasArray) ToFirewallAliasArrayOutput

func (i FirewallAliasArray) ToFirewallAliasArrayOutput() FirewallAliasArrayOutput

func (FirewallAliasArray) ToFirewallAliasArrayOutputWithContext

func (i FirewallAliasArray) ToFirewallAliasArrayOutputWithContext(ctx context.Context) FirewallAliasArrayOutput

type FirewallAliasArrayInput

type FirewallAliasArrayInput interface {
	pulumi.Input

	ToFirewallAliasArrayOutput() FirewallAliasArrayOutput
	ToFirewallAliasArrayOutputWithContext(context.Context) FirewallAliasArrayOutput
}

FirewallAliasArrayInput is an input type that accepts FirewallAliasArray and FirewallAliasArrayOutput values. You can construct a concrete instance of `FirewallAliasArrayInput` via:

FirewallAliasArray{ FirewallAliasArgs{...} }

type FirewallAliasArrayOutput

type FirewallAliasArrayOutput struct{ *pulumi.OutputState }

func (FirewallAliasArrayOutput) ElementType

func (FirewallAliasArrayOutput) ElementType() reflect.Type

func (FirewallAliasArrayOutput) Index

func (FirewallAliasArrayOutput) ToFirewallAliasArrayOutput

func (o FirewallAliasArrayOutput) ToFirewallAliasArrayOutput() FirewallAliasArrayOutput

func (FirewallAliasArrayOutput) ToFirewallAliasArrayOutputWithContext

func (o FirewallAliasArrayOutput) ToFirewallAliasArrayOutputWithContext(ctx context.Context) FirewallAliasArrayOutput

type FirewallAliasInput

type FirewallAliasInput interface {
	pulumi.Input

	ToFirewallAliasOutput() FirewallAliasOutput
	ToFirewallAliasOutputWithContext(ctx context.Context) FirewallAliasOutput
}

type FirewallAliasMap

type FirewallAliasMap map[string]FirewallAliasInput

func (FirewallAliasMap) ElementType

func (FirewallAliasMap) ElementType() reflect.Type

func (FirewallAliasMap) ToFirewallAliasMapOutput

func (i FirewallAliasMap) ToFirewallAliasMapOutput() FirewallAliasMapOutput

func (FirewallAliasMap) ToFirewallAliasMapOutputWithContext

func (i FirewallAliasMap) ToFirewallAliasMapOutputWithContext(ctx context.Context) FirewallAliasMapOutput

type FirewallAliasMapInput

type FirewallAliasMapInput interface {
	pulumi.Input

	ToFirewallAliasMapOutput() FirewallAliasMapOutput
	ToFirewallAliasMapOutputWithContext(context.Context) FirewallAliasMapOutput
}

FirewallAliasMapInput is an input type that accepts FirewallAliasMap and FirewallAliasMapOutput values. You can construct a concrete instance of `FirewallAliasMapInput` via:

FirewallAliasMap{ "key": FirewallAliasArgs{...} }

type FirewallAliasMapOutput

type FirewallAliasMapOutput struct{ *pulumi.OutputState }

func (FirewallAliasMapOutput) ElementType

func (FirewallAliasMapOutput) ElementType() reflect.Type

func (FirewallAliasMapOutput) MapIndex

func (FirewallAliasMapOutput) ToFirewallAliasMapOutput

func (o FirewallAliasMapOutput) ToFirewallAliasMapOutput() FirewallAliasMapOutput

func (FirewallAliasMapOutput) ToFirewallAliasMapOutputWithContext

func (o FirewallAliasMapOutput) ToFirewallAliasMapOutputWithContext(ctx context.Context) FirewallAliasMapOutput

type FirewallAliasOutput

type FirewallAliasOutput struct{ *pulumi.OutputState }

func (FirewallAliasOutput) Cidr

Network/IP specification in CIDR format.

func (FirewallAliasOutput) Comment

Alias comment.

func (FirewallAliasOutput) ContainerId

func (o FirewallAliasOutput) ContainerId() pulumi.IntPtrOutput

Container ID. Leave empty for cluster level aliases.

func (FirewallAliasOutput) ElementType

func (FirewallAliasOutput) ElementType() reflect.Type

func (FirewallAliasOutput) Name

Alias name.

func (FirewallAliasOutput) NodeName

Node name. Leave empty for cluster level aliases.

func (FirewallAliasOutput) ToFirewallAliasOutput

func (o FirewallAliasOutput) ToFirewallAliasOutput() FirewallAliasOutput

func (FirewallAliasOutput) ToFirewallAliasOutputWithContext

func (o FirewallAliasOutput) ToFirewallAliasOutputWithContext(ctx context.Context) FirewallAliasOutput

func (FirewallAliasOutput) VmId

VM ID. Leave empty for cluster level aliases.

type FirewallAliasState

type FirewallAliasState struct {
	// Network/IP specification in CIDR format.
	Cidr pulumi.StringPtrInput
	// Alias comment.
	Comment pulumi.StringPtrInput
	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrInput
	// Alias name.
	Name pulumi.StringPtrInput
	// Node name. Leave empty for cluster level aliases.
	NodeName pulumi.StringPtrInput
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrInput
}

func (FirewallAliasState) ElementType

func (FirewallAliasState) ElementType() reflect.Type

type FirewallArgs

type FirewallArgs struct {
	// Enable ebtables rules cluster wide.
	Ebtables pulumi.BoolPtrInput
	// Enable or disable the log rate limit.
	Enabled pulumi.BoolPtrInput
	// The default input policy (`ACCEPT`, `DROP`, `REJECT`).
	InputPolicy pulumi.StringPtrInput
	// The log rate limit.
	LogRatelimit FirewallLogRatelimitPtrInput
	// The default output policy (`ACCEPT`, `DROP`, `REJECT`).
	OutputPolicy pulumi.StringPtrInput
}

The set of arguments for constructing a Firewall resource.

func (FirewallArgs) ElementType

func (FirewallArgs) ElementType() reflect.Type

type FirewallArray

type FirewallArray []FirewallInput

func (FirewallArray) ElementType

func (FirewallArray) ElementType() reflect.Type

func (FirewallArray) ToFirewallArrayOutput

func (i FirewallArray) ToFirewallArrayOutput() FirewallArrayOutput

func (FirewallArray) ToFirewallArrayOutputWithContext

func (i FirewallArray) ToFirewallArrayOutputWithContext(ctx context.Context) FirewallArrayOutput

type FirewallArrayInput

type FirewallArrayInput interface {
	pulumi.Input

	ToFirewallArrayOutput() FirewallArrayOutput
	ToFirewallArrayOutputWithContext(context.Context) FirewallArrayOutput
}

FirewallArrayInput is an input type that accepts FirewallArray and FirewallArrayOutput values. You can construct a concrete instance of `FirewallArrayInput` via:

FirewallArray{ FirewallArgs{...} }

type FirewallArrayOutput

type FirewallArrayOutput struct{ *pulumi.OutputState }

func (FirewallArrayOutput) ElementType

func (FirewallArrayOutput) ElementType() reflect.Type

func (FirewallArrayOutput) Index

func (FirewallArrayOutput) ToFirewallArrayOutput

func (o FirewallArrayOutput) ToFirewallArrayOutput() FirewallArrayOutput

func (FirewallArrayOutput) ToFirewallArrayOutputWithContext

func (o FirewallArrayOutput) ToFirewallArrayOutputWithContext(ctx context.Context) FirewallArrayOutput

type FirewallIPSet

type FirewallIPSet struct {
	pulumi.CustomResourceState

	// IP/CIDR block (multiple blocks supported).
	Cidrs FirewallIPSetCidrArrayOutput `pulumi:"cidrs"`
	// Arbitrary string annotation.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrOutput `pulumi:"containerId"`
	// Network/IP specification in CIDR format.
	Name pulumi.StringOutput `pulumi:"name"`
	// Node name. Leave empty for cluster level aliases.
	NodeName pulumi.StringPtrOutput `pulumi:"nodeName"`
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrOutput `pulumi:"vmId"`
}

An IPSet allows us to group multiple IP addresses, IP subnets and aliases. Aliases can be created on the cluster level, on VM / Container level.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.NewFirewallIPSet(ctx, "ipset", &Network.FirewallIPSetArgs{
			NodeName: pulumi.Any(proxmox_virtual_environment_vm.Example.Node_name),
			VmId:     pulumi.Any(proxmox_virtual_environment_vm.Example.Vm_id),
			Comment:  pulumi.String("Managed by Terraform"),
			Cidrs: network.FirewallIPSetCidrArray{
				&network.FirewallIPSetCidrArgs{
					Name:    pulumi.String("192.168.0.0/23"),
					Comment: pulumi.String("Local network 1"),
				},
				&network.FirewallIPSetCidrArgs{
					Name:    pulumi.String("192.168.0.1"),
					Comment: pulumi.String("Server 1"),
					Nomatch: pulumi.Bool(true),
				},
				&network.FirewallIPSetCidrArgs{
					Name:    pulumi.String("192.168.2.1"),
					Comment: pulumi.String("Server 1"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			proxmox_virtual_environment_vm.Example,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

func GetFirewallIPSet

func GetFirewallIPSet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallIPSetState, opts ...pulumi.ResourceOption) (*FirewallIPSet, error)

GetFirewallIPSet gets an existing FirewallIPSet 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 NewFirewallIPSet

func NewFirewallIPSet(ctx *pulumi.Context,
	name string, args *FirewallIPSetArgs, opts ...pulumi.ResourceOption) (*FirewallIPSet, error)

NewFirewallIPSet registers a new resource with the given unique name, arguments, and options.

func (*FirewallIPSet) ElementType

func (*FirewallIPSet) ElementType() reflect.Type

func (*FirewallIPSet) ToFirewallIPSetOutput

func (i *FirewallIPSet) ToFirewallIPSetOutput() FirewallIPSetOutput

func (*FirewallIPSet) ToFirewallIPSetOutputWithContext

func (i *FirewallIPSet) ToFirewallIPSetOutputWithContext(ctx context.Context) FirewallIPSetOutput

type FirewallIPSetArgs

type FirewallIPSetArgs struct {
	// IP/CIDR block (multiple blocks supported).
	Cidrs FirewallIPSetCidrArrayInput
	// Arbitrary string annotation.
	Comment pulumi.StringPtrInput
	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrInput
	// Network/IP specification in CIDR format.
	Name pulumi.StringPtrInput
	// Node name. Leave empty for cluster level aliases.
	NodeName pulumi.StringPtrInput
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrInput
}

The set of arguments for constructing a FirewallIPSet resource.

func (FirewallIPSetArgs) ElementType

func (FirewallIPSetArgs) ElementType() reflect.Type

type FirewallIPSetArray

type FirewallIPSetArray []FirewallIPSetInput

func (FirewallIPSetArray) ElementType

func (FirewallIPSetArray) ElementType() reflect.Type

func (FirewallIPSetArray) ToFirewallIPSetArrayOutput

func (i FirewallIPSetArray) ToFirewallIPSetArrayOutput() FirewallIPSetArrayOutput

func (FirewallIPSetArray) ToFirewallIPSetArrayOutputWithContext

func (i FirewallIPSetArray) ToFirewallIPSetArrayOutputWithContext(ctx context.Context) FirewallIPSetArrayOutput

type FirewallIPSetArrayInput

type FirewallIPSetArrayInput interface {
	pulumi.Input

	ToFirewallIPSetArrayOutput() FirewallIPSetArrayOutput
	ToFirewallIPSetArrayOutputWithContext(context.Context) FirewallIPSetArrayOutput
}

FirewallIPSetArrayInput is an input type that accepts FirewallIPSetArray and FirewallIPSetArrayOutput values. You can construct a concrete instance of `FirewallIPSetArrayInput` via:

FirewallIPSetArray{ FirewallIPSetArgs{...} }

type FirewallIPSetArrayOutput

type FirewallIPSetArrayOutput struct{ *pulumi.OutputState }

func (FirewallIPSetArrayOutput) ElementType

func (FirewallIPSetArrayOutput) ElementType() reflect.Type

func (FirewallIPSetArrayOutput) Index

func (FirewallIPSetArrayOutput) ToFirewallIPSetArrayOutput

func (o FirewallIPSetArrayOutput) ToFirewallIPSetArrayOutput() FirewallIPSetArrayOutput

func (FirewallIPSetArrayOutput) ToFirewallIPSetArrayOutputWithContext

func (o FirewallIPSetArrayOutput) ToFirewallIPSetArrayOutputWithContext(ctx context.Context) FirewallIPSetArrayOutput

type FirewallIPSetCidr

type FirewallIPSetCidr struct {
	// Arbitrary string annotation.
	Comment *string `pulumi:"comment"`
	// Network/IP specification in CIDR format.
	Name string `pulumi:"name"`
	// Entries marked as `nomatch` are skipped as if those
	// were not added to the set.
	Nomatch *bool `pulumi:"nomatch"`
}

type FirewallIPSetCidrArgs

type FirewallIPSetCidrArgs struct {
	// Arbitrary string annotation.
	Comment pulumi.StringPtrInput `pulumi:"comment"`
	// Network/IP specification in CIDR format.
	Name pulumi.StringInput `pulumi:"name"`
	// Entries marked as `nomatch` are skipped as if those
	// were not added to the set.
	Nomatch pulumi.BoolPtrInput `pulumi:"nomatch"`
}

func (FirewallIPSetCidrArgs) ElementType

func (FirewallIPSetCidrArgs) ElementType() reflect.Type

func (FirewallIPSetCidrArgs) ToFirewallIPSetCidrOutput

func (i FirewallIPSetCidrArgs) ToFirewallIPSetCidrOutput() FirewallIPSetCidrOutput

func (FirewallIPSetCidrArgs) ToFirewallIPSetCidrOutputWithContext

func (i FirewallIPSetCidrArgs) ToFirewallIPSetCidrOutputWithContext(ctx context.Context) FirewallIPSetCidrOutput

type FirewallIPSetCidrArray

type FirewallIPSetCidrArray []FirewallIPSetCidrInput

func (FirewallIPSetCidrArray) ElementType

func (FirewallIPSetCidrArray) ElementType() reflect.Type

func (FirewallIPSetCidrArray) ToFirewallIPSetCidrArrayOutput

func (i FirewallIPSetCidrArray) ToFirewallIPSetCidrArrayOutput() FirewallIPSetCidrArrayOutput

func (FirewallIPSetCidrArray) ToFirewallIPSetCidrArrayOutputWithContext

func (i FirewallIPSetCidrArray) ToFirewallIPSetCidrArrayOutputWithContext(ctx context.Context) FirewallIPSetCidrArrayOutput

type FirewallIPSetCidrArrayInput

type FirewallIPSetCidrArrayInput interface {
	pulumi.Input

	ToFirewallIPSetCidrArrayOutput() FirewallIPSetCidrArrayOutput
	ToFirewallIPSetCidrArrayOutputWithContext(context.Context) FirewallIPSetCidrArrayOutput
}

FirewallIPSetCidrArrayInput is an input type that accepts FirewallIPSetCidrArray and FirewallIPSetCidrArrayOutput values. You can construct a concrete instance of `FirewallIPSetCidrArrayInput` via:

FirewallIPSetCidrArray{ FirewallIPSetCidrArgs{...} }

type FirewallIPSetCidrArrayOutput

type FirewallIPSetCidrArrayOutput struct{ *pulumi.OutputState }

func (FirewallIPSetCidrArrayOutput) ElementType

func (FirewallIPSetCidrArrayOutput) Index

func (FirewallIPSetCidrArrayOutput) ToFirewallIPSetCidrArrayOutput

func (o FirewallIPSetCidrArrayOutput) ToFirewallIPSetCidrArrayOutput() FirewallIPSetCidrArrayOutput

func (FirewallIPSetCidrArrayOutput) ToFirewallIPSetCidrArrayOutputWithContext

func (o FirewallIPSetCidrArrayOutput) ToFirewallIPSetCidrArrayOutputWithContext(ctx context.Context) FirewallIPSetCidrArrayOutput

type FirewallIPSetCidrInput

type FirewallIPSetCidrInput interface {
	pulumi.Input

	ToFirewallIPSetCidrOutput() FirewallIPSetCidrOutput
	ToFirewallIPSetCidrOutputWithContext(context.Context) FirewallIPSetCidrOutput
}

FirewallIPSetCidrInput is an input type that accepts FirewallIPSetCidrArgs and FirewallIPSetCidrOutput values. You can construct a concrete instance of `FirewallIPSetCidrInput` via:

FirewallIPSetCidrArgs{...}

type FirewallIPSetCidrOutput

type FirewallIPSetCidrOutput struct{ *pulumi.OutputState }

func (FirewallIPSetCidrOutput) Comment

Arbitrary string annotation.

func (FirewallIPSetCidrOutput) ElementType

func (FirewallIPSetCidrOutput) ElementType() reflect.Type

func (FirewallIPSetCidrOutput) Name

Network/IP specification in CIDR format.

func (FirewallIPSetCidrOutput) Nomatch

Entries marked as `nomatch` are skipped as if those were not added to the set.

func (FirewallIPSetCidrOutput) ToFirewallIPSetCidrOutput

func (o FirewallIPSetCidrOutput) ToFirewallIPSetCidrOutput() FirewallIPSetCidrOutput

func (FirewallIPSetCidrOutput) ToFirewallIPSetCidrOutputWithContext

func (o FirewallIPSetCidrOutput) ToFirewallIPSetCidrOutputWithContext(ctx context.Context) FirewallIPSetCidrOutput

type FirewallIPSetInput

type FirewallIPSetInput interface {
	pulumi.Input

	ToFirewallIPSetOutput() FirewallIPSetOutput
	ToFirewallIPSetOutputWithContext(ctx context.Context) FirewallIPSetOutput
}

type FirewallIPSetMap

type FirewallIPSetMap map[string]FirewallIPSetInput

func (FirewallIPSetMap) ElementType

func (FirewallIPSetMap) ElementType() reflect.Type

func (FirewallIPSetMap) ToFirewallIPSetMapOutput

func (i FirewallIPSetMap) ToFirewallIPSetMapOutput() FirewallIPSetMapOutput

func (FirewallIPSetMap) ToFirewallIPSetMapOutputWithContext

func (i FirewallIPSetMap) ToFirewallIPSetMapOutputWithContext(ctx context.Context) FirewallIPSetMapOutput

type FirewallIPSetMapInput

type FirewallIPSetMapInput interface {
	pulumi.Input

	ToFirewallIPSetMapOutput() FirewallIPSetMapOutput
	ToFirewallIPSetMapOutputWithContext(context.Context) FirewallIPSetMapOutput
}

FirewallIPSetMapInput is an input type that accepts FirewallIPSetMap and FirewallIPSetMapOutput values. You can construct a concrete instance of `FirewallIPSetMapInput` via:

FirewallIPSetMap{ "key": FirewallIPSetArgs{...} }

type FirewallIPSetMapOutput

type FirewallIPSetMapOutput struct{ *pulumi.OutputState }

func (FirewallIPSetMapOutput) ElementType

func (FirewallIPSetMapOutput) ElementType() reflect.Type

func (FirewallIPSetMapOutput) MapIndex

func (FirewallIPSetMapOutput) ToFirewallIPSetMapOutput

func (o FirewallIPSetMapOutput) ToFirewallIPSetMapOutput() FirewallIPSetMapOutput

func (FirewallIPSetMapOutput) ToFirewallIPSetMapOutputWithContext

func (o FirewallIPSetMapOutput) ToFirewallIPSetMapOutputWithContext(ctx context.Context) FirewallIPSetMapOutput

type FirewallIPSetOutput

type FirewallIPSetOutput struct{ *pulumi.OutputState }

func (FirewallIPSetOutput) Cidrs

IP/CIDR block (multiple blocks supported).

func (FirewallIPSetOutput) Comment

Arbitrary string annotation.

func (FirewallIPSetOutput) ContainerId

func (o FirewallIPSetOutput) ContainerId() pulumi.IntPtrOutput

Container ID. Leave empty for cluster level aliases.

func (FirewallIPSetOutput) ElementType

func (FirewallIPSetOutput) ElementType() reflect.Type

func (FirewallIPSetOutput) Name

Network/IP specification in CIDR format.

func (FirewallIPSetOutput) NodeName

Node name. Leave empty for cluster level aliases.

func (FirewallIPSetOutput) ToFirewallIPSetOutput

func (o FirewallIPSetOutput) ToFirewallIPSetOutput() FirewallIPSetOutput

func (FirewallIPSetOutput) ToFirewallIPSetOutputWithContext

func (o FirewallIPSetOutput) ToFirewallIPSetOutputWithContext(ctx context.Context) FirewallIPSetOutput

func (FirewallIPSetOutput) VmId

VM ID. Leave empty for cluster level aliases.

type FirewallIPSetState

type FirewallIPSetState struct {
	// IP/CIDR block (multiple blocks supported).
	Cidrs FirewallIPSetCidrArrayInput
	// Arbitrary string annotation.
	Comment pulumi.StringPtrInput
	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrInput
	// Network/IP specification in CIDR format.
	Name pulumi.StringPtrInput
	// Node name. Leave empty for cluster level aliases.
	NodeName pulumi.StringPtrInput
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrInput
}

func (FirewallIPSetState) ElementType

func (FirewallIPSetState) ElementType() reflect.Type

type FirewallInput

type FirewallInput interface {
	pulumi.Input

	ToFirewallOutput() FirewallOutput
	ToFirewallOutputWithContext(ctx context.Context) FirewallOutput
}

type FirewallLogRatelimit

type FirewallLogRatelimit struct {
	// Initial burst of packages which will always get
	// logged before the rate is applied (defaults to `5`).
	Burst *int `pulumi:"burst"`
	// Enable or disable the log rate limit.
	Enabled *bool `pulumi:"enabled"`
	// Frequency with which the burst bucket gets refilled
	// (defaults to `1/second`).
	Rate *string `pulumi:"rate"`
}

type FirewallLogRatelimitArgs

type FirewallLogRatelimitArgs struct {
	// Initial burst of packages which will always get
	// logged before the rate is applied (defaults to `5`).
	Burst pulumi.IntPtrInput `pulumi:"burst"`
	// Enable or disable the log rate limit.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Frequency with which the burst bucket gets refilled
	// (defaults to `1/second`).
	Rate pulumi.StringPtrInput `pulumi:"rate"`
}

func (FirewallLogRatelimitArgs) ElementType

func (FirewallLogRatelimitArgs) ElementType() reflect.Type

func (FirewallLogRatelimitArgs) ToFirewallLogRatelimitOutput

func (i FirewallLogRatelimitArgs) ToFirewallLogRatelimitOutput() FirewallLogRatelimitOutput

func (FirewallLogRatelimitArgs) ToFirewallLogRatelimitOutputWithContext

func (i FirewallLogRatelimitArgs) ToFirewallLogRatelimitOutputWithContext(ctx context.Context) FirewallLogRatelimitOutput

func (FirewallLogRatelimitArgs) ToFirewallLogRatelimitPtrOutput

func (i FirewallLogRatelimitArgs) ToFirewallLogRatelimitPtrOutput() FirewallLogRatelimitPtrOutput

func (FirewallLogRatelimitArgs) ToFirewallLogRatelimitPtrOutputWithContext

func (i FirewallLogRatelimitArgs) ToFirewallLogRatelimitPtrOutputWithContext(ctx context.Context) FirewallLogRatelimitPtrOutput

type FirewallLogRatelimitInput

type FirewallLogRatelimitInput interface {
	pulumi.Input

	ToFirewallLogRatelimitOutput() FirewallLogRatelimitOutput
	ToFirewallLogRatelimitOutputWithContext(context.Context) FirewallLogRatelimitOutput
}

FirewallLogRatelimitInput is an input type that accepts FirewallLogRatelimitArgs and FirewallLogRatelimitOutput values. You can construct a concrete instance of `FirewallLogRatelimitInput` via:

FirewallLogRatelimitArgs{...}

type FirewallLogRatelimitOutput

type FirewallLogRatelimitOutput struct{ *pulumi.OutputState }

func (FirewallLogRatelimitOutput) Burst

Initial burst of packages which will always get logged before the rate is applied (defaults to `5`).

func (FirewallLogRatelimitOutput) ElementType

func (FirewallLogRatelimitOutput) ElementType() reflect.Type

func (FirewallLogRatelimitOutput) Enabled

Enable or disable the log rate limit.

func (FirewallLogRatelimitOutput) Rate

Frequency with which the burst bucket gets refilled (defaults to `1/second`).

func (FirewallLogRatelimitOutput) ToFirewallLogRatelimitOutput

func (o FirewallLogRatelimitOutput) ToFirewallLogRatelimitOutput() FirewallLogRatelimitOutput

func (FirewallLogRatelimitOutput) ToFirewallLogRatelimitOutputWithContext

func (o FirewallLogRatelimitOutput) ToFirewallLogRatelimitOutputWithContext(ctx context.Context) FirewallLogRatelimitOutput

func (FirewallLogRatelimitOutput) ToFirewallLogRatelimitPtrOutput

func (o FirewallLogRatelimitOutput) ToFirewallLogRatelimitPtrOutput() FirewallLogRatelimitPtrOutput

func (FirewallLogRatelimitOutput) ToFirewallLogRatelimitPtrOutputWithContext

func (o FirewallLogRatelimitOutput) ToFirewallLogRatelimitPtrOutputWithContext(ctx context.Context) FirewallLogRatelimitPtrOutput

type FirewallLogRatelimitPtrInput

type FirewallLogRatelimitPtrInput interface {
	pulumi.Input

	ToFirewallLogRatelimitPtrOutput() FirewallLogRatelimitPtrOutput
	ToFirewallLogRatelimitPtrOutputWithContext(context.Context) FirewallLogRatelimitPtrOutput
}

FirewallLogRatelimitPtrInput is an input type that accepts FirewallLogRatelimitArgs, FirewallLogRatelimitPtr and FirewallLogRatelimitPtrOutput values. You can construct a concrete instance of `FirewallLogRatelimitPtrInput` via:

        FirewallLogRatelimitArgs{...}

or:

        nil

type FirewallLogRatelimitPtrOutput

type FirewallLogRatelimitPtrOutput struct{ *pulumi.OutputState }

func (FirewallLogRatelimitPtrOutput) Burst

Initial burst of packages which will always get logged before the rate is applied (defaults to `5`).

func (FirewallLogRatelimitPtrOutput) Elem

func (FirewallLogRatelimitPtrOutput) ElementType

func (FirewallLogRatelimitPtrOutput) Enabled

Enable or disable the log rate limit.

func (FirewallLogRatelimitPtrOutput) Rate

Frequency with which the burst bucket gets refilled (defaults to `1/second`).

func (FirewallLogRatelimitPtrOutput) ToFirewallLogRatelimitPtrOutput

func (o FirewallLogRatelimitPtrOutput) ToFirewallLogRatelimitPtrOutput() FirewallLogRatelimitPtrOutput

func (FirewallLogRatelimitPtrOutput) ToFirewallLogRatelimitPtrOutputWithContext

func (o FirewallLogRatelimitPtrOutput) ToFirewallLogRatelimitPtrOutputWithContext(ctx context.Context) FirewallLogRatelimitPtrOutput

type FirewallMap

type FirewallMap map[string]FirewallInput

func (FirewallMap) ElementType

func (FirewallMap) ElementType() reflect.Type

func (FirewallMap) ToFirewallMapOutput

func (i FirewallMap) ToFirewallMapOutput() FirewallMapOutput

func (FirewallMap) ToFirewallMapOutputWithContext

func (i FirewallMap) ToFirewallMapOutputWithContext(ctx context.Context) FirewallMapOutput

type FirewallMapInput

type FirewallMapInput interface {
	pulumi.Input

	ToFirewallMapOutput() FirewallMapOutput
	ToFirewallMapOutputWithContext(context.Context) FirewallMapOutput
}

FirewallMapInput is an input type that accepts FirewallMap and FirewallMapOutput values. You can construct a concrete instance of `FirewallMapInput` via:

FirewallMap{ "key": FirewallArgs{...} }

type FirewallMapOutput

type FirewallMapOutput struct{ *pulumi.OutputState }

func (FirewallMapOutput) ElementType

func (FirewallMapOutput) ElementType() reflect.Type

func (FirewallMapOutput) MapIndex

func (FirewallMapOutput) ToFirewallMapOutput

func (o FirewallMapOutput) ToFirewallMapOutput() FirewallMapOutput

func (FirewallMapOutput) ToFirewallMapOutputWithContext

func (o FirewallMapOutput) ToFirewallMapOutputWithContext(ctx context.Context) FirewallMapOutput

type FirewallOptions

type FirewallOptions struct {
	pulumi.CustomResourceState

	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrOutput `pulumi:"containerId"`
	// Enable DHCP.
	Dhcp pulumi.BoolPtrOutput `pulumi:"dhcp"`
	// Enable or disable the firewall.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The default input
	// policy (`ACCEPT`, `DROP`, `REJECT`).
	InputPolicy pulumi.StringPtrOutput `pulumi:"inputPolicy"`
	// Enable default IP filters. This is equivalent to
	// adding an empty `ipfilter-net<id>` ipset for every interface. Such ipsets
	// implicitly contain sane default restrictions such as restricting IPv6 link
	// local addresses to the one derived from the interface's MAC address. For
	// containers the configured IP addresses will be implicitly added.
	Ipfilter pulumi.BoolPtrOutput `pulumi:"ipfilter"`
	// Log level for incoming
	// packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`,
	// `debug`, `nolog`).
	LogLevelIn pulumi.StringPtrOutput `pulumi:"logLevelIn"`
	// Log level for outgoing
	// packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`,
	// `debug`, `nolog`).
	LogLevelOut pulumi.StringPtrOutput `pulumi:"logLevelOut"`
	// Enable/disable MAC address filter.
	Macfilter pulumi.BoolPtrOutput `pulumi:"macfilter"`
	// Enable NDP (Neighbor Discovery Protocol).
	Ndp pulumi.BoolPtrOutput `pulumi:"ndp"`
	// Node name.
	NodeName pulumi.StringOutput `pulumi:"nodeName"`
	// The default output
	// policy (`ACCEPT`, `DROP`, `REJECT`).
	OutputPolicy pulumi.StringPtrOutput `pulumi:"outputPolicy"`
	// Enable Router Advertisement.
	Radv pulumi.BoolPtrOutput `pulumi:"radv"`
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrOutput `pulumi:"vmId"`
}

Manages firewall options on VM / Container level.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.NewFirewallOptions(ctx, "example", &Network.FirewallOptionsArgs{
			NodeName:     pulumi.Any(proxmox_virtual_environment_vm.Example.Node_name),
			VmId:         pulumi.Any(proxmox_virtual_environment_vm.Example.Vm_id),
			Dhcp:         pulumi.Bool(true),
			Enabled:      pulumi.Bool(false),
			Ipfilter:     pulumi.Bool(true),
			LogLevelIn:   pulumi.String("info"),
			LogLevelOut:  pulumi.String("info"),
			Macfilter:    pulumi.Bool(false),
			Ndp:          pulumi.Bool(true),
			InputPolicy:  pulumi.String("ACCEPT"),
			OutputPolicy: pulumi.String("ACCEPT"),
			Radv:         pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			proxmox_virtual_environment_vm.Example,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

func GetFirewallOptions

func GetFirewallOptions(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallOptionsState, opts ...pulumi.ResourceOption) (*FirewallOptions, error)

GetFirewallOptions gets an existing FirewallOptions 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 NewFirewallOptions

func NewFirewallOptions(ctx *pulumi.Context,
	name string, args *FirewallOptionsArgs, opts ...pulumi.ResourceOption) (*FirewallOptions, error)

NewFirewallOptions registers a new resource with the given unique name, arguments, and options.

func (*FirewallOptions) ElementType

func (*FirewallOptions) ElementType() reflect.Type

func (*FirewallOptions) ToFirewallOptionsOutput

func (i *FirewallOptions) ToFirewallOptionsOutput() FirewallOptionsOutput

func (*FirewallOptions) ToFirewallOptionsOutputWithContext

func (i *FirewallOptions) ToFirewallOptionsOutputWithContext(ctx context.Context) FirewallOptionsOutput

type FirewallOptionsArgs

type FirewallOptionsArgs struct {
	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrInput
	// Enable DHCP.
	Dhcp pulumi.BoolPtrInput
	// Enable or disable the firewall.
	Enabled pulumi.BoolPtrInput
	// The default input
	// policy (`ACCEPT`, `DROP`, `REJECT`).
	InputPolicy pulumi.StringPtrInput
	// Enable default IP filters. This is equivalent to
	// adding an empty `ipfilter-net<id>` ipset for every interface. Such ipsets
	// implicitly contain sane default restrictions such as restricting IPv6 link
	// local addresses to the one derived from the interface's MAC address. For
	// containers the configured IP addresses will be implicitly added.
	Ipfilter pulumi.BoolPtrInput
	// Log level for incoming
	// packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`,
	// `debug`, `nolog`).
	LogLevelIn pulumi.StringPtrInput
	// Log level for outgoing
	// packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`,
	// `debug`, `nolog`).
	LogLevelOut pulumi.StringPtrInput
	// Enable/disable MAC address filter.
	Macfilter pulumi.BoolPtrInput
	// Enable NDP (Neighbor Discovery Protocol).
	Ndp pulumi.BoolPtrInput
	// Node name.
	NodeName pulumi.StringInput
	// The default output
	// policy (`ACCEPT`, `DROP`, `REJECT`).
	OutputPolicy pulumi.StringPtrInput
	// Enable Router Advertisement.
	Radv pulumi.BoolPtrInput
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrInput
}

The set of arguments for constructing a FirewallOptions resource.

func (FirewallOptionsArgs) ElementType

func (FirewallOptionsArgs) ElementType() reflect.Type

type FirewallOptionsArray

type FirewallOptionsArray []FirewallOptionsInput

func (FirewallOptionsArray) ElementType

func (FirewallOptionsArray) ElementType() reflect.Type

func (FirewallOptionsArray) ToFirewallOptionsArrayOutput

func (i FirewallOptionsArray) ToFirewallOptionsArrayOutput() FirewallOptionsArrayOutput

func (FirewallOptionsArray) ToFirewallOptionsArrayOutputWithContext

func (i FirewallOptionsArray) ToFirewallOptionsArrayOutputWithContext(ctx context.Context) FirewallOptionsArrayOutput

type FirewallOptionsArrayInput

type FirewallOptionsArrayInput interface {
	pulumi.Input

	ToFirewallOptionsArrayOutput() FirewallOptionsArrayOutput
	ToFirewallOptionsArrayOutputWithContext(context.Context) FirewallOptionsArrayOutput
}

FirewallOptionsArrayInput is an input type that accepts FirewallOptionsArray and FirewallOptionsArrayOutput values. You can construct a concrete instance of `FirewallOptionsArrayInput` via:

FirewallOptionsArray{ FirewallOptionsArgs{...} }

type FirewallOptionsArrayOutput

type FirewallOptionsArrayOutput struct{ *pulumi.OutputState }

func (FirewallOptionsArrayOutput) ElementType

func (FirewallOptionsArrayOutput) ElementType() reflect.Type

func (FirewallOptionsArrayOutput) Index

func (FirewallOptionsArrayOutput) ToFirewallOptionsArrayOutput

func (o FirewallOptionsArrayOutput) ToFirewallOptionsArrayOutput() FirewallOptionsArrayOutput

func (FirewallOptionsArrayOutput) ToFirewallOptionsArrayOutputWithContext

func (o FirewallOptionsArrayOutput) ToFirewallOptionsArrayOutputWithContext(ctx context.Context) FirewallOptionsArrayOutput

type FirewallOptionsInput

type FirewallOptionsInput interface {
	pulumi.Input

	ToFirewallOptionsOutput() FirewallOptionsOutput
	ToFirewallOptionsOutputWithContext(ctx context.Context) FirewallOptionsOutput
}

type FirewallOptionsMap

type FirewallOptionsMap map[string]FirewallOptionsInput

func (FirewallOptionsMap) ElementType

func (FirewallOptionsMap) ElementType() reflect.Type

func (FirewallOptionsMap) ToFirewallOptionsMapOutput

func (i FirewallOptionsMap) ToFirewallOptionsMapOutput() FirewallOptionsMapOutput

func (FirewallOptionsMap) ToFirewallOptionsMapOutputWithContext

func (i FirewallOptionsMap) ToFirewallOptionsMapOutputWithContext(ctx context.Context) FirewallOptionsMapOutput

type FirewallOptionsMapInput

type FirewallOptionsMapInput interface {
	pulumi.Input

	ToFirewallOptionsMapOutput() FirewallOptionsMapOutput
	ToFirewallOptionsMapOutputWithContext(context.Context) FirewallOptionsMapOutput
}

FirewallOptionsMapInput is an input type that accepts FirewallOptionsMap and FirewallOptionsMapOutput values. You can construct a concrete instance of `FirewallOptionsMapInput` via:

FirewallOptionsMap{ "key": FirewallOptionsArgs{...} }

type FirewallOptionsMapOutput

type FirewallOptionsMapOutput struct{ *pulumi.OutputState }

func (FirewallOptionsMapOutput) ElementType

func (FirewallOptionsMapOutput) ElementType() reflect.Type

func (FirewallOptionsMapOutput) MapIndex

func (FirewallOptionsMapOutput) ToFirewallOptionsMapOutput

func (o FirewallOptionsMapOutput) ToFirewallOptionsMapOutput() FirewallOptionsMapOutput

func (FirewallOptionsMapOutput) ToFirewallOptionsMapOutputWithContext

func (o FirewallOptionsMapOutput) ToFirewallOptionsMapOutputWithContext(ctx context.Context) FirewallOptionsMapOutput

type FirewallOptionsOutput

type FirewallOptionsOutput struct{ *pulumi.OutputState }

func (FirewallOptionsOutput) ContainerId

func (o FirewallOptionsOutput) ContainerId() pulumi.IntPtrOutput

Container ID. Leave empty for cluster level aliases.

func (FirewallOptionsOutput) Dhcp

Enable DHCP.

func (FirewallOptionsOutput) ElementType

func (FirewallOptionsOutput) ElementType() reflect.Type

func (FirewallOptionsOutput) Enabled

Enable or disable the firewall.

func (FirewallOptionsOutput) InputPolicy

The default input policy (`ACCEPT`, `DROP`, `REJECT`).

func (FirewallOptionsOutput) Ipfilter

Enable default IP filters. This is equivalent to adding an empty `ipfilter-net<id>` ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.

func (FirewallOptionsOutput) LogLevelIn

Log level for incoming packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, `debug`, `nolog`).

func (FirewallOptionsOutput) LogLevelOut

Log level for outgoing packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, `debug`, `nolog`).

func (FirewallOptionsOutput) Macfilter

Enable/disable MAC address filter.

func (FirewallOptionsOutput) Ndp

Enable NDP (Neighbor Discovery Protocol).

func (FirewallOptionsOutput) NodeName

Node name.

func (FirewallOptionsOutput) OutputPolicy

func (o FirewallOptionsOutput) OutputPolicy() pulumi.StringPtrOutput

The default output policy (`ACCEPT`, `DROP`, `REJECT`).

func (FirewallOptionsOutput) Radv

Enable Router Advertisement.

func (FirewallOptionsOutput) ToFirewallOptionsOutput

func (o FirewallOptionsOutput) ToFirewallOptionsOutput() FirewallOptionsOutput

func (FirewallOptionsOutput) ToFirewallOptionsOutputWithContext

func (o FirewallOptionsOutput) ToFirewallOptionsOutputWithContext(ctx context.Context) FirewallOptionsOutput

func (FirewallOptionsOutput) VmId

VM ID. Leave empty for cluster level aliases.

type FirewallOptionsState

type FirewallOptionsState struct {
	// Container ID. Leave empty for cluster level aliases.
	ContainerId pulumi.IntPtrInput
	// Enable DHCP.
	Dhcp pulumi.BoolPtrInput
	// Enable or disable the firewall.
	Enabled pulumi.BoolPtrInput
	// The default input
	// policy (`ACCEPT`, `DROP`, `REJECT`).
	InputPolicy pulumi.StringPtrInput
	// Enable default IP filters. This is equivalent to
	// adding an empty `ipfilter-net<id>` ipset for every interface. Such ipsets
	// implicitly contain sane default restrictions such as restricting IPv6 link
	// local addresses to the one derived from the interface's MAC address. For
	// containers the configured IP addresses will be implicitly added.
	Ipfilter pulumi.BoolPtrInput
	// Log level for incoming
	// packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`,
	// `debug`, `nolog`).
	LogLevelIn pulumi.StringPtrInput
	// Log level for outgoing
	// packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`,
	// `debug`, `nolog`).
	LogLevelOut pulumi.StringPtrInput
	// Enable/disable MAC address filter.
	Macfilter pulumi.BoolPtrInput
	// Enable NDP (Neighbor Discovery Protocol).
	Ndp pulumi.BoolPtrInput
	// Node name.
	NodeName pulumi.StringPtrInput
	// The default output
	// policy (`ACCEPT`, `DROP`, `REJECT`).
	OutputPolicy pulumi.StringPtrInput
	// Enable Router Advertisement.
	Radv pulumi.BoolPtrInput
	// VM ID. Leave empty for cluster level aliases.
	VmId pulumi.IntPtrInput
}

func (FirewallOptionsState) ElementType

func (FirewallOptionsState) ElementType() reflect.Type

type FirewallOutput

type FirewallOutput struct{ *pulumi.OutputState }

func (FirewallOutput) Ebtables

func (o FirewallOutput) Ebtables() pulumi.BoolPtrOutput

Enable ebtables rules cluster wide.

func (FirewallOutput) ElementType

func (FirewallOutput) ElementType() reflect.Type

func (FirewallOutput) Enabled

func (o FirewallOutput) Enabled() pulumi.BoolPtrOutput

Enable or disable the log rate limit.

func (FirewallOutput) InputPolicy

func (o FirewallOutput) InputPolicy() pulumi.StringPtrOutput

The default input policy (`ACCEPT`, `DROP`, `REJECT`).

func (FirewallOutput) LogRatelimit

The log rate limit.

func (FirewallOutput) OutputPolicy

func (o FirewallOutput) OutputPolicy() pulumi.StringPtrOutput

The default output policy (`ACCEPT`, `DROP`, `REJECT`).

func (FirewallOutput) ToFirewallOutput

func (o FirewallOutput) ToFirewallOutput() FirewallOutput

func (FirewallOutput) ToFirewallOutputWithContext

func (o FirewallOutput) ToFirewallOutputWithContext(ctx context.Context) FirewallOutput

type FirewallRules

type FirewallRules struct {
	pulumi.CustomResourceState

	// Container ID. Leave empty for cluster level
	// rules.
	ContainerId pulumi.IntPtrOutput `pulumi:"containerId"`
	// Node name. Leave empty for cluster level rules.
	NodeName pulumi.StringPtrOutput `pulumi:"nodeName"`
	// Firewall rule block (multiple blocks supported).
	// The provider supports two types of the `rule` blocks:
	// - A rule definition block, which includes the following arguments:
	Rules FirewallRulesRuleArrayOutput `pulumi:"rules"`
	// VM ID. Leave empty for cluster level rules.
	VmId pulumi.IntPtrOutput `pulumi:"vmId"`
}

A security group is a collection of rules, defined at cluster level, which can be used in all VMs' rules. For example, you can define a group named “webserver” with rules to open the http and https ports. Rules can be created on the cluster level, on VM / Container level.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.NewFirewallRules(ctx, "inbound", &Network.FirewallRulesArgs{
			NodeName: pulumi.Any(proxmox_virtual_environment_vm.Example.Node_name),
			VmId:     pulumi.Any(proxmox_virtual_environment_vm.Example.Vm_id),
			Rules: network.FirewallRulesRuleArray{
				&network.FirewallRulesRuleArgs{
					Type:    pulumi.String("in"),
					Action:  pulumi.String("ACCEPT"),
					Comment: pulumi.String("Allow HTTP"),
					Dest:    pulumi.String("192.168.1.5"),
					Dport:   pulumi.String("80"),
					Proto:   pulumi.String("tcp"),
					Log:     pulumi.String("info"),
				},
				&network.FirewallRulesRuleArgs{
					Type:    pulumi.String("in"),
					Action:  pulumi.String("ACCEPT"),
					Comment: pulumi.String("Allow HTTPS"),
					Dest:    pulumi.String("192.168.1.5"),
					Dport:   pulumi.String("443"),
					Proto:   pulumi.String("tcp"),
					Log:     pulumi.String("info"),
				},
				&network.FirewallRulesRuleArgs{
					SecurityGroup: pulumi.Any(proxmox_virtual_environment_cluster_firewall_security_group.Example.Name),
					Comment:       pulumi.String("From security group"),
					Iface:         pulumi.String("net0"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			proxmox_virtual_environment_vm.Example,
			proxmox_virtual_environment_cluster_firewall_security_group.Example,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

func GetFirewallRules

func GetFirewallRules(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallRulesState, opts ...pulumi.ResourceOption) (*FirewallRules, error)

GetFirewallRules gets an existing FirewallRules 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 NewFirewallRules

func NewFirewallRules(ctx *pulumi.Context,
	name string, args *FirewallRulesArgs, opts ...pulumi.ResourceOption) (*FirewallRules, error)

NewFirewallRules registers a new resource with the given unique name, arguments, and options.

func (*FirewallRules) ElementType

func (*FirewallRules) ElementType() reflect.Type

func (*FirewallRules) ToFirewallRulesOutput

func (i *FirewallRules) ToFirewallRulesOutput() FirewallRulesOutput

func (*FirewallRules) ToFirewallRulesOutputWithContext

func (i *FirewallRules) ToFirewallRulesOutputWithContext(ctx context.Context) FirewallRulesOutput

type FirewallRulesArgs

type FirewallRulesArgs struct {
	// Container ID. Leave empty for cluster level
	// rules.
	ContainerId pulumi.IntPtrInput
	// Node name. Leave empty for cluster level rules.
	NodeName pulumi.StringPtrInput
	// Firewall rule block (multiple blocks supported).
	// The provider supports two types of the `rule` blocks:
	// - A rule definition block, which includes the following arguments:
	Rules FirewallRulesRuleArrayInput
	// VM ID. Leave empty for cluster level rules.
	VmId pulumi.IntPtrInput
}

The set of arguments for constructing a FirewallRules resource.

func (FirewallRulesArgs) ElementType

func (FirewallRulesArgs) ElementType() reflect.Type

type FirewallRulesArray

type FirewallRulesArray []FirewallRulesInput

func (FirewallRulesArray) ElementType

func (FirewallRulesArray) ElementType() reflect.Type

func (FirewallRulesArray) ToFirewallRulesArrayOutput

func (i FirewallRulesArray) ToFirewallRulesArrayOutput() FirewallRulesArrayOutput

func (FirewallRulesArray) ToFirewallRulesArrayOutputWithContext

func (i FirewallRulesArray) ToFirewallRulesArrayOutputWithContext(ctx context.Context) FirewallRulesArrayOutput

type FirewallRulesArrayInput

type FirewallRulesArrayInput interface {
	pulumi.Input

	ToFirewallRulesArrayOutput() FirewallRulesArrayOutput
	ToFirewallRulesArrayOutputWithContext(context.Context) FirewallRulesArrayOutput
}

FirewallRulesArrayInput is an input type that accepts FirewallRulesArray and FirewallRulesArrayOutput values. You can construct a concrete instance of `FirewallRulesArrayInput` via:

FirewallRulesArray{ FirewallRulesArgs{...} }

type FirewallRulesArrayOutput

type FirewallRulesArrayOutput struct{ *pulumi.OutputState }

func (FirewallRulesArrayOutput) ElementType

func (FirewallRulesArrayOutput) ElementType() reflect.Type

func (FirewallRulesArrayOutput) Index

func (FirewallRulesArrayOutput) ToFirewallRulesArrayOutput

func (o FirewallRulesArrayOutput) ToFirewallRulesArrayOutput() FirewallRulesArrayOutput

func (FirewallRulesArrayOutput) ToFirewallRulesArrayOutputWithContext

func (o FirewallRulesArrayOutput) ToFirewallRulesArrayOutputWithContext(ctx context.Context) FirewallRulesArrayOutput

type FirewallRulesInput

type FirewallRulesInput interface {
	pulumi.Input

	ToFirewallRulesOutput() FirewallRulesOutput
	ToFirewallRulesOutputWithContext(ctx context.Context) FirewallRulesOutput
}

type FirewallRulesMap

type FirewallRulesMap map[string]FirewallRulesInput

func (FirewallRulesMap) ElementType

func (FirewallRulesMap) ElementType() reflect.Type

func (FirewallRulesMap) ToFirewallRulesMapOutput

func (i FirewallRulesMap) ToFirewallRulesMapOutput() FirewallRulesMapOutput

func (FirewallRulesMap) ToFirewallRulesMapOutputWithContext

func (i FirewallRulesMap) ToFirewallRulesMapOutputWithContext(ctx context.Context) FirewallRulesMapOutput

type FirewallRulesMapInput

type FirewallRulesMapInput interface {
	pulumi.Input

	ToFirewallRulesMapOutput() FirewallRulesMapOutput
	ToFirewallRulesMapOutputWithContext(context.Context) FirewallRulesMapOutput
}

FirewallRulesMapInput is an input type that accepts FirewallRulesMap and FirewallRulesMapOutput values. You can construct a concrete instance of `FirewallRulesMapInput` via:

FirewallRulesMap{ "key": FirewallRulesArgs{...} }

type FirewallRulesMapOutput

type FirewallRulesMapOutput struct{ *pulumi.OutputState }

func (FirewallRulesMapOutput) ElementType

func (FirewallRulesMapOutput) ElementType() reflect.Type

func (FirewallRulesMapOutput) MapIndex

func (FirewallRulesMapOutput) ToFirewallRulesMapOutput

func (o FirewallRulesMapOutput) ToFirewallRulesMapOutput() FirewallRulesMapOutput

func (FirewallRulesMapOutput) ToFirewallRulesMapOutputWithContext

func (o FirewallRulesMapOutput) ToFirewallRulesMapOutputWithContext(ctx context.Context) FirewallRulesMapOutput

type FirewallRulesOutput

type FirewallRulesOutput struct{ *pulumi.OutputState }

func (FirewallRulesOutput) ContainerId

func (o FirewallRulesOutput) ContainerId() pulumi.IntPtrOutput

Container ID. Leave empty for cluster level rules.

func (FirewallRulesOutput) ElementType

func (FirewallRulesOutput) ElementType() reflect.Type

func (FirewallRulesOutput) NodeName

Node name. Leave empty for cluster level rules.

func (FirewallRulesOutput) Rules

Firewall rule block (multiple blocks supported). The provider supports two types of the `rule` blocks: - A rule definition block, which includes the following arguments:

func (FirewallRulesOutput) ToFirewallRulesOutput

func (o FirewallRulesOutput) ToFirewallRulesOutput() FirewallRulesOutput

func (FirewallRulesOutput) ToFirewallRulesOutputWithContext

func (o FirewallRulesOutput) ToFirewallRulesOutputWithContext(ctx context.Context) FirewallRulesOutput

func (FirewallRulesOutput) VmId

VM ID. Leave empty for cluster level rules.

type FirewallRulesRule

type FirewallRulesRule struct {
	// Rule action (`ACCEPT`, `DROP`, `REJECT`).
	Action *string `pulumi:"action"`
	// Rule comment.
	Comment *string `pulumi:"comment"`
	// Restrict packet destination address. This can
	// refer to a single IP address, an IP set ('+ipsetname') or an IP
	// alias definition. You can also specify an address range
	// like `20.34.101.207-201.3.9.99`, or a list of IP addresses and
	// networks (entries are separated by comma). Please do not mix IPv4
	// and IPv6 addresses inside such lists.
	Dest *string `pulumi:"dest"`
	// Restrict TCP/UDP destination port. You can use
	// service names or simple numbers (0-65535), as defined
	// in `/etc/services`. Port ranges can be specified with '\d+:\d+', for
	// example `80:85`, and you can use comma separated list to match
	// several ports or ranges.
	Dport *string `pulumi:"dport"`
	// Enable this rule. Defaults to `true`.
	Enabled *bool `pulumi:"enabled"`
	// Network interface name. You have to use network
	// configuration key names for VMs and containers ('net\d+'). Host
	// related rules can use arbitrary strings.
	Iface *string `pulumi:"iface"`
	// Log level for this rule (`emerg`, `alert`, `crit`,
	// `err`, `warning`, `notice`, `info`, `debug`, `nolog`).
	Log *string `pulumi:"log"`
	// Macro name. Use predefined standard macro
	// from <https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_firewall_macro_definitions>
	Macro *string `pulumi:"macro"`
	// Position of the rule in the list.
	Pos *int `pulumi:"pos"`
	// Restrict packet protocol. You can use protocol
	// names as defined in '/etc/protocols'.
	Proto *string `pulumi:"proto"`
	// Security group name.
	SecurityGroup *string `pulumi:"securityGroup"`
	// Restrict packet source address. This can refer
	// to a single IP address, an IP set ('+ipsetname') or an IP alias
	// definition. You can also specify an address range
	// like `20.34.101.207-201.3.9.99`, or a list of IP addresses and
	// networks (entries are separated by comma). Please do not mix IPv4
	// and IPv6 addresses inside such lists.
	Source *string `pulumi:"source"`
	// Restrict TCP/UDP source port. You can use
	// service names or simple numbers (0-65535), as defined
	// in `/etc/services`. Port ranges can be specified with '\d+:\d+', for
	// example `80:85`, and you can use comma separated list to match
	// several ports or ranges.
	// - a security group insertion block, which includes the following arguments:
	Sport *string `pulumi:"sport"`
	// Rule type (`in`, `out`).
	Type *string `pulumi:"type"`
}

type FirewallRulesRuleArgs

type FirewallRulesRuleArgs struct {
	// Rule action (`ACCEPT`, `DROP`, `REJECT`).
	Action pulumi.StringPtrInput `pulumi:"action"`
	// Rule comment.
	Comment pulumi.StringPtrInput `pulumi:"comment"`
	// Restrict packet destination address. This can
	// refer to a single IP address, an IP set ('+ipsetname') or an IP
	// alias definition. You can also specify an address range
	// like `20.34.101.207-201.3.9.99`, or a list of IP addresses and
	// networks (entries are separated by comma). Please do not mix IPv4
	// and IPv6 addresses inside such lists.
	Dest pulumi.StringPtrInput `pulumi:"dest"`
	// Restrict TCP/UDP destination port. You can use
	// service names or simple numbers (0-65535), as defined
	// in `/etc/services`. Port ranges can be specified with '\d+:\d+', for
	// example `80:85`, and you can use comma separated list to match
	// several ports or ranges.
	Dport pulumi.StringPtrInput `pulumi:"dport"`
	// Enable this rule. Defaults to `true`.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Network interface name. You have to use network
	// configuration key names for VMs and containers ('net\d+'). Host
	// related rules can use arbitrary strings.
	Iface pulumi.StringPtrInput `pulumi:"iface"`
	// Log level for this rule (`emerg`, `alert`, `crit`,
	// `err`, `warning`, `notice`, `info`, `debug`, `nolog`).
	Log pulumi.StringPtrInput `pulumi:"log"`
	// Macro name. Use predefined standard macro
	// from <https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_firewall_macro_definitions>
	Macro pulumi.StringPtrInput `pulumi:"macro"`
	// Position of the rule in the list.
	Pos pulumi.IntPtrInput `pulumi:"pos"`
	// Restrict packet protocol. You can use protocol
	// names as defined in '/etc/protocols'.
	Proto pulumi.StringPtrInput `pulumi:"proto"`
	// Security group name.
	SecurityGroup pulumi.StringPtrInput `pulumi:"securityGroup"`
	// Restrict packet source address. This can refer
	// to a single IP address, an IP set ('+ipsetname') or an IP alias
	// definition. You can also specify an address range
	// like `20.34.101.207-201.3.9.99`, or a list of IP addresses and
	// networks (entries are separated by comma). Please do not mix IPv4
	// and IPv6 addresses inside such lists.
	Source pulumi.StringPtrInput `pulumi:"source"`
	// Restrict TCP/UDP source port. You can use
	// service names or simple numbers (0-65535), as defined
	// in `/etc/services`. Port ranges can be specified with '\d+:\d+', for
	// example `80:85`, and you can use comma separated list to match
	// several ports or ranges.
	// - a security group insertion block, which includes the following arguments:
	Sport pulumi.StringPtrInput `pulumi:"sport"`
	// Rule type (`in`, `out`).
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (FirewallRulesRuleArgs) ElementType

func (FirewallRulesRuleArgs) ElementType() reflect.Type

func (FirewallRulesRuleArgs) ToFirewallRulesRuleOutput

func (i FirewallRulesRuleArgs) ToFirewallRulesRuleOutput() FirewallRulesRuleOutput

func (FirewallRulesRuleArgs) ToFirewallRulesRuleOutputWithContext

func (i FirewallRulesRuleArgs) ToFirewallRulesRuleOutputWithContext(ctx context.Context) FirewallRulesRuleOutput

type FirewallRulesRuleArray

type FirewallRulesRuleArray []FirewallRulesRuleInput

func (FirewallRulesRuleArray) ElementType

func (FirewallRulesRuleArray) ElementType() reflect.Type

func (FirewallRulesRuleArray) ToFirewallRulesRuleArrayOutput

func (i FirewallRulesRuleArray) ToFirewallRulesRuleArrayOutput() FirewallRulesRuleArrayOutput

func (FirewallRulesRuleArray) ToFirewallRulesRuleArrayOutputWithContext

func (i FirewallRulesRuleArray) ToFirewallRulesRuleArrayOutputWithContext(ctx context.Context) FirewallRulesRuleArrayOutput

type FirewallRulesRuleArrayInput

type FirewallRulesRuleArrayInput interface {
	pulumi.Input

	ToFirewallRulesRuleArrayOutput() FirewallRulesRuleArrayOutput
	ToFirewallRulesRuleArrayOutputWithContext(context.Context) FirewallRulesRuleArrayOutput
}

FirewallRulesRuleArrayInput is an input type that accepts FirewallRulesRuleArray and FirewallRulesRuleArrayOutput values. You can construct a concrete instance of `FirewallRulesRuleArrayInput` via:

FirewallRulesRuleArray{ FirewallRulesRuleArgs{...} }

type FirewallRulesRuleArrayOutput

type FirewallRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (FirewallRulesRuleArrayOutput) ElementType

func (FirewallRulesRuleArrayOutput) Index

func (FirewallRulesRuleArrayOutput) ToFirewallRulesRuleArrayOutput

func (o FirewallRulesRuleArrayOutput) ToFirewallRulesRuleArrayOutput() FirewallRulesRuleArrayOutput

func (FirewallRulesRuleArrayOutput) ToFirewallRulesRuleArrayOutputWithContext

func (o FirewallRulesRuleArrayOutput) ToFirewallRulesRuleArrayOutputWithContext(ctx context.Context) FirewallRulesRuleArrayOutput

type FirewallRulesRuleInput

type FirewallRulesRuleInput interface {
	pulumi.Input

	ToFirewallRulesRuleOutput() FirewallRulesRuleOutput
	ToFirewallRulesRuleOutputWithContext(context.Context) FirewallRulesRuleOutput
}

FirewallRulesRuleInput is an input type that accepts FirewallRulesRuleArgs and FirewallRulesRuleOutput values. You can construct a concrete instance of `FirewallRulesRuleInput` via:

FirewallRulesRuleArgs{...}

type FirewallRulesRuleOutput

type FirewallRulesRuleOutput struct{ *pulumi.OutputState }

func (FirewallRulesRuleOutput) Action

Rule action (`ACCEPT`, `DROP`, `REJECT`).

func (FirewallRulesRuleOutput) Comment

Rule comment.

func (FirewallRulesRuleOutput) Dest

Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like `20.34.101.207-201.3.9.99`, or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.

func (FirewallRulesRuleOutput) Dport

Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in `/etc/services`. Port ranges can be specified with '\d+:\d+', for example `80:85`, and you can use comma separated list to match several ports or ranges.

func (FirewallRulesRuleOutput) ElementType

func (FirewallRulesRuleOutput) ElementType() reflect.Type

func (FirewallRulesRuleOutput) Enabled

Enable this rule. Defaults to `true`.

func (FirewallRulesRuleOutput) Iface

Network interface name. You have to use network configuration key names for VMs and containers ('net\d+'). Host related rules can use arbitrary strings.

func (FirewallRulesRuleOutput) Log

Log level for this rule (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, `debug`, `nolog`).

func (FirewallRulesRuleOutput) Macro

Macro name. Use predefined standard macro from <https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_firewall_macro_definitions>

func (FirewallRulesRuleOutput) Pos

Position of the rule in the list.

func (FirewallRulesRuleOutput) Proto

Restrict packet protocol. You can use protocol names as defined in '/etc/protocols'.

func (FirewallRulesRuleOutput) SecurityGroup

Security group name.

func (FirewallRulesRuleOutput) Source

Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like `20.34.101.207-201.3.9.99`, or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.

func (FirewallRulesRuleOutput) Sport

Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in `/etc/services`. Port ranges can be specified with '\d+:\d+', for example `80:85`, and you can use comma separated list to match several ports or ranges. - a security group insertion block, which includes the following arguments:

func (FirewallRulesRuleOutput) ToFirewallRulesRuleOutput

func (o FirewallRulesRuleOutput) ToFirewallRulesRuleOutput() FirewallRulesRuleOutput

func (FirewallRulesRuleOutput) ToFirewallRulesRuleOutputWithContext

func (o FirewallRulesRuleOutput) ToFirewallRulesRuleOutputWithContext(ctx context.Context) FirewallRulesRuleOutput

func (FirewallRulesRuleOutput) Type

Rule type (`in`, `out`).

type FirewallRulesState

type FirewallRulesState struct {
	// Container ID. Leave empty for cluster level
	// rules.
	ContainerId pulumi.IntPtrInput
	// Node name. Leave empty for cluster level rules.
	NodeName pulumi.StringPtrInput
	// Firewall rule block (multiple blocks supported).
	// The provider supports two types of the `rule` blocks:
	// - A rule definition block, which includes the following arguments:
	Rules FirewallRulesRuleArrayInput
	// VM ID. Leave empty for cluster level rules.
	VmId pulumi.IntPtrInput
}

func (FirewallRulesState) ElementType

func (FirewallRulesState) ElementType() reflect.Type

type FirewallSecurityGroup

type FirewallSecurityGroup struct {
	pulumi.CustomResourceState

	// Rule comment.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// The ID of the container to manage the firewall for.
	ContainerId pulumi.IntPtrOutput `pulumi:"containerId"`
	// Security group name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the node.
	NodeName pulumi.StringPtrOutput `pulumi:"nodeName"`
	// Firewall rule block (multiple blocks supported).
	Rules FirewallSecurityGroupRuleArrayOutput `pulumi:"rules"`
	// The ID of the VM to manage the firewall for.
	VmId pulumi.IntPtrOutput `pulumi:"vmId"`
}

A security group is a collection of rules, defined at cluster level, which can be used in all VMs' rules. For example, you can define a group named “webserver” with rules to open the http and https ports.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.NewFirewallSecurityGroup(ctx, "webserver", &Network.FirewallSecurityGroupArgs{
			Comment: pulumi.String("Managed by Terraform"),
			Rules: network.FirewallSecurityGroupRuleArray{
				&network.FirewallSecurityGroupRuleArgs{
					Action:  pulumi.String("ACCEPT"),
					Comment: pulumi.String("Allow HTTP"),
					Dest:    pulumi.String("192.168.1.5"),
					Dport:   pulumi.String("80"),
					Log:     pulumi.String("info"),
					Proto:   pulumi.String("tcp"),
					Type:    pulumi.String("in"),
				},
				&network.FirewallSecurityGroupRuleArgs{
					Action:  pulumi.String("ACCEPT"),
					Comment: pulumi.String("Allow HTTPS"),
					Dest:    pulumi.String("192.168.1.5"),
					Dport:   pulumi.String("443"),
					Log:     pulumi.String("info"),
					Proto:   pulumi.String("tcp"),
					Type:    pulumi.String("in"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Instances can be imported using the `name`, e.g.,

bash

```sh $ pulumi import proxmoxve:Network/firewallSecurityGroup:FirewallSecurityGroup webserver webserver ```

func GetFirewallSecurityGroup

func GetFirewallSecurityGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallSecurityGroupState, opts ...pulumi.ResourceOption) (*FirewallSecurityGroup, error)

GetFirewallSecurityGroup gets an existing FirewallSecurityGroup 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 NewFirewallSecurityGroup

func NewFirewallSecurityGroup(ctx *pulumi.Context,
	name string, args *FirewallSecurityGroupArgs, opts ...pulumi.ResourceOption) (*FirewallSecurityGroup, error)

NewFirewallSecurityGroup registers a new resource with the given unique name, arguments, and options.

func (*FirewallSecurityGroup) ElementType

func (*FirewallSecurityGroup) ElementType() reflect.Type

func (*FirewallSecurityGroup) ToFirewallSecurityGroupOutput

func (i *FirewallSecurityGroup) ToFirewallSecurityGroupOutput() FirewallSecurityGroupOutput

func (*FirewallSecurityGroup) ToFirewallSecurityGroupOutputWithContext

func (i *FirewallSecurityGroup) ToFirewallSecurityGroupOutputWithContext(ctx context.Context) FirewallSecurityGroupOutput

type FirewallSecurityGroupArgs

type FirewallSecurityGroupArgs struct {
	// Rule comment.
	Comment pulumi.StringPtrInput
	// The ID of the container to manage the firewall for.
	ContainerId pulumi.IntPtrInput
	// Security group name.
	Name pulumi.StringPtrInput
	// The name of the node.
	NodeName pulumi.StringPtrInput
	// Firewall rule block (multiple blocks supported).
	Rules FirewallSecurityGroupRuleArrayInput
	// The ID of the VM to manage the firewall for.
	VmId pulumi.IntPtrInput
}

The set of arguments for constructing a FirewallSecurityGroup resource.

func (FirewallSecurityGroupArgs) ElementType

func (FirewallSecurityGroupArgs) ElementType() reflect.Type

type FirewallSecurityGroupArray

type FirewallSecurityGroupArray []FirewallSecurityGroupInput

func (FirewallSecurityGroupArray) ElementType

func (FirewallSecurityGroupArray) ElementType() reflect.Type

func (FirewallSecurityGroupArray) ToFirewallSecurityGroupArrayOutput

func (i FirewallSecurityGroupArray) ToFirewallSecurityGroupArrayOutput() FirewallSecurityGroupArrayOutput

func (FirewallSecurityGroupArray) ToFirewallSecurityGroupArrayOutputWithContext

func (i FirewallSecurityGroupArray) ToFirewallSecurityGroupArrayOutputWithContext(ctx context.Context) FirewallSecurityGroupArrayOutput

type FirewallSecurityGroupArrayInput

type FirewallSecurityGroupArrayInput interface {
	pulumi.Input

	ToFirewallSecurityGroupArrayOutput() FirewallSecurityGroupArrayOutput
	ToFirewallSecurityGroupArrayOutputWithContext(context.Context) FirewallSecurityGroupArrayOutput
}

FirewallSecurityGroupArrayInput is an input type that accepts FirewallSecurityGroupArray and FirewallSecurityGroupArrayOutput values. You can construct a concrete instance of `FirewallSecurityGroupArrayInput` via:

FirewallSecurityGroupArray{ FirewallSecurityGroupArgs{...} }

type FirewallSecurityGroupArrayOutput

type FirewallSecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (FirewallSecurityGroupArrayOutput) ElementType

func (FirewallSecurityGroupArrayOutput) Index

func (FirewallSecurityGroupArrayOutput) ToFirewallSecurityGroupArrayOutput

func (o FirewallSecurityGroupArrayOutput) ToFirewallSecurityGroupArrayOutput() FirewallSecurityGroupArrayOutput

func (FirewallSecurityGroupArrayOutput) ToFirewallSecurityGroupArrayOutputWithContext

func (o FirewallSecurityGroupArrayOutput) ToFirewallSecurityGroupArrayOutputWithContext(ctx context.Context) FirewallSecurityGroupArrayOutput

type FirewallSecurityGroupInput

type FirewallSecurityGroupInput interface {
	pulumi.Input

	ToFirewallSecurityGroupOutput() FirewallSecurityGroupOutput
	ToFirewallSecurityGroupOutputWithContext(ctx context.Context) FirewallSecurityGroupOutput
}

type FirewallSecurityGroupMap

type FirewallSecurityGroupMap map[string]FirewallSecurityGroupInput

func (FirewallSecurityGroupMap) ElementType

func (FirewallSecurityGroupMap) ElementType() reflect.Type

func (FirewallSecurityGroupMap) ToFirewallSecurityGroupMapOutput

func (i FirewallSecurityGroupMap) ToFirewallSecurityGroupMapOutput() FirewallSecurityGroupMapOutput

func (FirewallSecurityGroupMap) ToFirewallSecurityGroupMapOutputWithContext

func (i FirewallSecurityGroupMap) ToFirewallSecurityGroupMapOutputWithContext(ctx context.Context) FirewallSecurityGroupMapOutput

type FirewallSecurityGroupMapInput

type FirewallSecurityGroupMapInput interface {
	pulumi.Input

	ToFirewallSecurityGroupMapOutput() FirewallSecurityGroupMapOutput
	ToFirewallSecurityGroupMapOutputWithContext(context.Context) FirewallSecurityGroupMapOutput
}

FirewallSecurityGroupMapInput is an input type that accepts FirewallSecurityGroupMap and FirewallSecurityGroupMapOutput values. You can construct a concrete instance of `FirewallSecurityGroupMapInput` via:

FirewallSecurityGroupMap{ "key": FirewallSecurityGroupArgs{...} }

type FirewallSecurityGroupMapOutput

type FirewallSecurityGroupMapOutput struct{ *pulumi.OutputState }

func (FirewallSecurityGroupMapOutput) ElementType

func (FirewallSecurityGroupMapOutput) MapIndex

func (FirewallSecurityGroupMapOutput) ToFirewallSecurityGroupMapOutput

func (o FirewallSecurityGroupMapOutput) ToFirewallSecurityGroupMapOutput() FirewallSecurityGroupMapOutput

func (FirewallSecurityGroupMapOutput) ToFirewallSecurityGroupMapOutputWithContext

func (o FirewallSecurityGroupMapOutput) ToFirewallSecurityGroupMapOutputWithContext(ctx context.Context) FirewallSecurityGroupMapOutput

type FirewallSecurityGroupOutput

type FirewallSecurityGroupOutput struct{ *pulumi.OutputState }

func (FirewallSecurityGroupOutput) Comment

Rule comment.

func (FirewallSecurityGroupOutput) ContainerId

The ID of the container to manage the firewall for.

func (FirewallSecurityGroupOutput) ElementType

func (FirewallSecurityGroupOutput) Name

Security group name.

func (FirewallSecurityGroupOutput) NodeName

The name of the node.

func (FirewallSecurityGroupOutput) Rules

Firewall rule block (multiple blocks supported).

func (FirewallSecurityGroupOutput) ToFirewallSecurityGroupOutput

func (o FirewallSecurityGroupOutput) ToFirewallSecurityGroupOutput() FirewallSecurityGroupOutput

func (FirewallSecurityGroupOutput) ToFirewallSecurityGroupOutputWithContext

func (o FirewallSecurityGroupOutput) ToFirewallSecurityGroupOutputWithContext(ctx context.Context) FirewallSecurityGroupOutput

func (FirewallSecurityGroupOutput) VmId

The ID of the VM to manage the firewall for.

type FirewallSecurityGroupRule

type FirewallSecurityGroupRule struct {
	// Rule action (`ACCEPT`, `DROP`, `REJECT`).
	Action *string `pulumi:"action"`
	// Rule comment.
	Comment *string `pulumi:"comment"`
	// Restrict packet destination address. This can refer to
	// a single IP address, an IP set ('+ipsetname') or an IP alias
	// definition. You can also specify an address range like
	// `20.34.101.207-201.3.9.99`, or a list of IP addresses and networks
	// (entries are separated by comma). Please do not mix IPv4 and IPv6
	// addresses inside such lists.
	Dest *string `pulumi:"dest"`
	// Restrict TCP/UDP destination port. You can use
	// service names or simple numbers (0-65535), as defined in '/etc/
	// services'. Port ranges can be specified with '\d+:\d+', for example
	// `80:85`, and you can use comma separated list to match several ports or
	// ranges.
	Dport *string `pulumi:"dport"`
	// Enable rule
	Enabled *bool `pulumi:"enabled"`
	// Network interface name. You have to use network
	// configuration key names for VMs and containers ('net\d+'). Host related
	// rules can use arbitrary strings.
	Iface *string `pulumi:"iface"`
	// Log level for this rule (`emerg`, `alert`, `crit`,
	// `err`, `warning`, `notice`, `info`, `debug`, `nolog`).
	Log *string `pulumi:"log"`
	// Macro name. Use predefined standard macro
	// from <https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_firewall_macro_definitions>
	Macro *string `pulumi:"macro"`
	// Position of the rule in the list.
	Pos *int `pulumi:"pos"`
	// Restrict packet protocol. You can use protocol names
	// as defined in '/etc/protocols'.
	Proto *string `pulumi:"proto"`
	// Security group name
	SecurityGroup *string `pulumi:"securityGroup"`
	// Restrict packet source address. This can refer
	// to a single IP address, an IP set ('+ipsetname') or an IP alias
	// definition. You can also specify an address range like
	// `20.34.101.207-201.3.9.99`, or a list of IP addresses and networks (
	// entries are separated by comma). Please do not mix IPv4 and IPv6
	// addresses inside such lists.
	Source *string `pulumi:"source"`
	// Restrict TCP/UDP source port. You can use
	// service names or simple numbers (0-65535), as defined in '/etc/
	// services'. Port ranges can be specified with '\d+:\d+', for example
	// `80:85`, and you can use comma separated list to match several ports or
	// ranges.
	Sport *string `pulumi:"sport"`
	// Rule type (`in`, `out`).
	Type *string `pulumi:"type"`
}

type FirewallSecurityGroupRuleArgs

type FirewallSecurityGroupRuleArgs struct {
	// Rule action (`ACCEPT`, `DROP`, `REJECT`).
	Action pulumi.StringPtrInput `pulumi:"action"`
	// Rule comment.
	Comment pulumi.StringPtrInput `pulumi:"comment"`
	// Restrict packet destination address. This can refer to
	// a single IP address, an IP set ('+ipsetname') or an IP alias
	// definition. You can also specify an address range like
	// `20.34.101.207-201.3.9.99`, or a list of IP addresses and networks
	// (entries are separated by comma). Please do not mix IPv4 and IPv6
	// addresses inside such lists.
	Dest pulumi.StringPtrInput `pulumi:"dest"`
	// Restrict TCP/UDP destination port. You can use
	// service names or simple numbers (0-65535), as defined in '/etc/
	// services'. Port ranges can be specified with '\d+:\d+', for example
	// `80:85`, and you can use comma separated list to match several ports or
	// ranges.
	Dport pulumi.StringPtrInput `pulumi:"dport"`
	// Enable rule
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Network interface name. You have to use network
	// configuration key names for VMs and containers ('net\d+'). Host related
	// rules can use arbitrary strings.
	Iface pulumi.StringPtrInput `pulumi:"iface"`
	// Log level for this rule (`emerg`, `alert`, `crit`,
	// `err`, `warning`, `notice`, `info`, `debug`, `nolog`).
	Log pulumi.StringPtrInput `pulumi:"log"`
	// Macro name. Use predefined standard macro
	// from <https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_firewall_macro_definitions>
	Macro pulumi.StringPtrInput `pulumi:"macro"`
	// Position of the rule in the list.
	Pos pulumi.IntPtrInput `pulumi:"pos"`
	// Restrict packet protocol. You can use protocol names
	// as defined in '/etc/protocols'.
	Proto pulumi.StringPtrInput `pulumi:"proto"`
	// Security group name
	SecurityGroup pulumi.StringPtrInput `pulumi:"securityGroup"`
	// Restrict packet source address. This can refer
	// to a single IP address, an IP set ('+ipsetname') or an IP alias
	// definition. You can also specify an address range like
	// `20.34.101.207-201.3.9.99`, or a list of IP addresses and networks (
	// entries are separated by comma). Please do not mix IPv4 and IPv6
	// addresses inside such lists.
	Source pulumi.StringPtrInput `pulumi:"source"`
	// Restrict TCP/UDP source port. You can use
	// service names or simple numbers (0-65535), as defined in '/etc/
	// services'. Port ranges can be specified with '\d+:\d+', for example
	// `80:85`, and you can use comma separated list to match several ports or
	// ranges.
	Sport pulumi.StringPtrInput `pulumi:"sport"`
	// Rule type (`in`, `out`).
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (FirewallSecurityGroupRuleArgs) ElementType

func (FirewallSecurityGroupRuleArgs) ToFirewallSecurityGroupRuleOutput

func (i FirewallSecurityGroupRuleArgs) ToFirewallSecurityGroupRuleOutput() FirewallSecurityGroupRuleOutput

func (FirewallSecurityGroupRuleArgs) ToFirewallSecurityGroupRuleOutputWithContext

func (i FirewallSecurityGroupRuleArgs) ToFirewallSecurityGroupRuleOutputWithContext(ctx context.Context) FirewallSecurityGroupRuleOutput

type FirewallSecurityGroupRuleArray

type FirewallSecurityGroupRuleArray []FirewallSecurityGroupRuleInput

func (FirewallSecurityGroupRuleArray) ElementType

func (FirewallSecurityGroupRuleArray) ToFirewallSecurityGroupRuleArrayOutput

func (i FirewallSecurityGroupRuleArray) ToFirewallSecurityGroupRuleArrayOutput() FirewallSecurityGroupRuleArrayOutput

func (FirewallSecurityGroupRuleArray) ToFirewallSecurityGroupRuleArrayOutputWithContext

func (i FirewallSecurityGroupRuleArray) ToFirewallSecurityGroupRuleArrayOutputWithContext(ctx context.Context) FirewallSecurityGroupRuleArrayOutput

type FirewallSecurityGroupRuleArrayInput

type FirewallSecurityGroupRuleArrayInput interface {
	pulumi.Input

	ToFirewallSecurityGroupRuleArrayOutput() FirewallSecurityGroupRuleArrayOutput
	ToFirewallSecurityGroupRuleArrayOutputWithContext(context.Context) FirewallSecurityGroupRuleArrayOutput
}

FirewallSecurityGroupRuleArrayInput is an input type that accepts FirewallSecurityGroupRuleArray and FirewallSecurityGroupRuleArrayOutput values. You can construct a concrete instance of `FirewallSecurityGroupRuleArrayInput` via:

FirewallSecurityGroupRuleArray{ FirewallSecurityGroupRuleArgs{...} }

type FirewallSecurityGroupRuleArrayOutput

type FirewallSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState }

func (FirewallSecurityGroupRuleArrayOutput) ElementType

func (FirewallSecurityGroupRuleArrayOutput) Index

func (FirewallSecurityGroupRuleArrayOutput) ToFirewallSecurityGroupRuleArrayOutput

func (o FirewallSecurityGroupRuleArrayOutput) ToFirewallSecurityGroupRuleArrayOutput() FirewallSecurityGroupRuleArrayOutput

func (FirewallSecurityGroupRuleArrayOutput) ToFirewallSecurityGroupRuleArrayOutputWithContext

func (o FirewallSecurityGroupRuleArrayOutput) ToFirewallSecurityGroupRuleArrayOutputWithContext(ctx context.Context) FirewallSecurityGroupRuleArrayOutput

type FirewallSecurityGroupRuleInput

type FirewallSecurityGroupRuleInput interface {
	pulumi.Input

	ToFirewallSecurityGroupRuleOutput() FirewallSecurityGroupRuleOutput
	ToFirewallSecurityGroupRuleOutputWithContext(context.Context) FirewallSecurityGroupRuleOutput
}

FirewallSecurityGroupRuleInput is an input type that accepts FirewallSecurityGroupRuleArgs and FirewallSecurityGroupRuleOutput values. You can construct a concrete instance of `FirewallSecurityGroupRuleInput` via:

FirewallSecurityGroupRuleArgs{...}

type FirewallSecurityGroupRuleOutput

type FirewallSecurityGroupRuleOutput struct{ *pulumi.OutputState }

func (FirewallSecurityGroupRuleOutput) Action

Rule action (`ACCEPT`, `DROP`, `REJECT`).

func (FirewallSecurityGroupRuleOutput) Comment

Rule comment.

func (FirewallSecurityGroupRuleOutput) Dest

Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like `20.34.101.207-201.3.9.99`, or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.

func (FirewallSecurityGroupRuleOutput) Dport

Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/ services'. Port ranges can be specified with '\d+:\d+', for example `80:85`, and you can use comma separated list to match several ports or ranges.

func (FirewallSecurityGroupRuleOutput) ElementType

func (FirewallSecurityGroupRuleOutput) Enabled

Enable rule

func (FirewallSecurityGroupRuleOutput) Iface

Network interface name. You have to use network configuration key names for VMs and containers ('net\d+'). Host related rules can use arbitrary strings.

func (FirewallSecurityGroupRuleOutput) Log

Log level for this rule (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, `debug`, `nolog`).

func (FirewallSecurityGroupRuleOutput) Macro

Macro name. Use predefined standard macro from <https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_firewall_macro_definitions>

func (FirewallSecurityGroupRuleOutput) Pos

Position of the rule in the list.

func (FirewallSecurityGroupRuleOutput) Proto

Restrict packet protocol. You can use protocol names as defined in '/etc/protocols'.

func (FirewallSecurityGroupRuleOutput) SecurityGroup

Security group name

func (FirewallSecurityGroupRuleOutput) Source

Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like `20.34.101.207-201.3.9.99`, or a list of IP addresses and networks ( entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.

func (FirewallSecurityGroupRuleOutput) Sport

Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/ services'. Port ranges can be specified with '\d+:\d+', for example `80:85`, and you can use comma separated list to match several ports or ranges.

func (FirewallSecurityGroupRuleOutput) ToFirewallSecurityGroupRuleOutput

func (o FirewallSecurityGroupRuleOutput) ToFirewallSecurityGroupRuleOutput() FirewallSecurityGroupRuleOutput

func (FirewallSecurityGroupRuleOutput) ToFirewallSecurityGroupRuleOutputWithContext

func (o FirewallSecurityGroupRuleOutput) ToFirewallSecurityGroupRuleOutputWithContext(ctx context.Context) FirewallSecurityGroupRuleOutput

func (FirewallSecurityGroupRuleOutput) Type

Rule type (`in`, `out`).

type FirewallSecurityGroupState

type FirewallSecurityGroupState struct {
	// Rule comment.
	Comment pulumi.StringPtrInput
	// The ID of the container to manage the firewall for.
	ContainerId pulumi.IntPtrInput
	// Security group name.
	Name pulumi.StringPtrInput
	// The name of the node.
	NodeName pulumi.StringPtrInput
	// Firewall rule block (multiple blocks supported).
	Rules FirewallSecurityGroupRuleArrayInput
	// The ID of the VM to manage the firewall for.
	VmId pulumi.IntPtrInput
}

func (FirewallSecurityGroupState) ElementType

func (FirewallSecurityGroupState) ElementType() reflect.Type

type FirewallState

type FirewallState struct {
	// Enable ebtables rules cluster wide.
	Ebtables pulumi.BoolPtrInput
	// Enable or disable the log rate limit.
	Enabled pulumi.BoolPtrInput
	// The default input policy (`ACCEPT`, `DROP`, `REJECT`).
	InputPolicy pulumi.StringPtrInput
	// The log rate limit.
	LogRatelimit FirewallLogRatelimitPtrInput
	// The default output policy (`ACCEPT`, `DROP`, `REJECT`).
	OutputPolicy pulumi.StringPtrInput
}

func (FirewallState) ElementType

func (FirewallState) ElementType() reflect.Type

type GetDNSArgs

type GetDNSArgs struct {
	// A node name.
	NodeName string `pulumi:"nodeName"`
}

A collection of arguments for invoking getDNS.

type GetDNSOutputArgs

type GetDNSOutputArgs struct {
	// A node name.
	NodeName pulumi.StringInput `pulumi:"nodeName"`
}

A collection of arguments for invoking getDNS.

func (GetDNSOutputArgs) ElementType

func (GetDNSOutputArgs) ElementType() reflect.Type

type GetDNSResult

type GetDNSResult struct {
	// The DNS search domain.
	Domain string `pulumi:"domain"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	NodeName string `pulumi:"nodeName"`
	// The DNS servers.
	Servers []string `pulumi:"servers"`
}

A collection of values returned by getDNS.

func GetDNS

func GetDNS(ctx *pulumi.Context, args *GetDNSArgs, opts ...pulumi.InvokeOption) (*GetDNSResult, error)

Retrieves the DNS configuration for a specific node.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.GetDNS(ctx, &network.GetDNSArgs{
			NodeName: "first-node",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetDNSResultOutput

type GetDNSResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDNS.

func GetDNSOutput

func GetDNSOutput(ctx *pulumi.Context, args GetDNSOutputArgs, opts ...pulumi.InvokeOption) GetDNSResultOutput

func (GetDNSResultOutput) Domain

The DNS search domain.

func (GetDNSResultOutput) ElementType

func (GetDNSResultOutput) ElementType() reflect.Type

func (GetDNSResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDNSResultOutput) NodeName

func (o GetDNSResultOutput) NodeName() pulumi.StringOutput

func (GetDNSResultOutput) Servers

The DNS servers.

func (GetDNSResultOutput) ToGetDNSResultOutput

func (o GetDNSResultOutput) ToGetDNSResultOutput() GetDNSResultOutput

func (GetDNSResultOutput) ToGetDNSResultOutputWithContext

func (o GetDNSResultOutput) ToGetDNSResultOutputWithContext(ctx context.Context) GetDNSResultOutput

type GetHostsArgs

type GetHostsArgs struct {
	// A node name.
	NodeName string `pulumi:"nodeName"`
}

A collection of arguments for invoking getHosts.

type GetHostsEntry

type GetHostsEntry struct {
	// The address
	Address string `pulumi:"address"`
	// The hostnames associated with each of the IP addresses.
	Hostnames []string `pulumi:"hostnames"`
}

type GetHostsEntryArgs

type GetHostsEntryArgs struct {
	// The address
	Address pulumi.StringInput `pulumi:"address"`
	// The hostnames associated with each of the IP addresses.
	Hostnames pulumi.StringArrayInput `pulumi:"hostnames"`
}

func (GetHostsEntryArgs) ElementType

func (GetHostsEntryArgs) ElementType() reflect.Type

func (GetHostsEntryArgs) ToGetHostsEntryOutput

func (i GetHostsEntryArgs) ToGetHostsEntryOutput() GetHostsEntryOutput

func (GetHostsEntryArgs) ToGetHostsEntryOutputWithContext

func (i GetHostsEntryArgs) ToGetHostsEntryOutputWithContext(ctx context.Context) GetHostsEntryOutput

type GetHostsEntryArray

type GetHostsEntryArray []GetHostsEntryInput

func (GetHostsEntryArray) ElementType

func (GetHostsEntryArray) ElementType() reflect.Type

func (GetHostsEntryArray) ToGetHostsEntryArrayOutput

func (i GetHostsEntryArray) ToGetHostsEntryArrayOutput() GetHostsEntryArrayOutput

func (GetHostsEntryArray) ToGetHostsEntryArrayOutputWithContext

func (i GetHostsEntryArray) ToGetHostsEntryArrayOutputWithContext(ctx context.Context) GetHostsEntryArrayOutput

type GetHostsEntryArrayInput

type GetHostsEntryArrayInput interface {
	pulumi.Input

	ToGetHostsEntryArrayOutput() GetHostsEntryArrayOutput
	ToGetHostsEntryArrayOutputWithContext(context.Context) GetHostsEntryArrayOutput
}

GetHostsEntryArrayInput is an input type that accepts GetHostsEntryArray and GetHostsEntryArrayOutput values. You can construct a concrete instance of `GetHostsEntryArrayInput` via:

GetHostsEntryArray{ GetHostsEntryArgs{...} }

type GetHostsEntryArrayOutput

type GetHostsEntryArrayOutput struct{ *pulumi.OutputState }

func (GetHostsEntryArrayOutput) ElementType

func (GetHostsEntryArrayOutput) ElementType() reflect.Type

func (GetHostsEntryArrayOutput) Index

func (GetHostsEntryArrayOutput) ToGetHostsEntryArrayOutput

func (o GetHostsEntryArrayOutput) ToGetHostsEntryArrayOutput() GetHostsEntryArrayOutput

func (GetHostsEntryArrayOutput) ToGetHostsEntryArrayOutputWithContext

func (o GetHostsEntryArrayOutput) ToGetHostsEntryArrayOutputWithContext(ctx context.Context) GetHostsEntryArrayOutput

type GetHostsEntryInput

type GetHostsEntryInput interface {
	pulumi.Input

	ToGetHostsEntryOutput() GetHostsEntryOutput
	ToGetHostsEntryOutputWithContext(context.Context) GetHostsEntryOutput
}

GetHostsEntryInput is an input type that accepts GetHostsEntryArgs and GetHostsEntryOutput values. You can construct a concrete instance of `GetHostsEntryInput` via:

GetHostsEntryArgs{...}

type GetHostsEntryOutput

type GetHostsEntryOutput struct{ *pulumi.OutputState }

func (GetHostsEntryOutput) Address

The address

func (GetHostsEntryOutput) ElementType

func (GetHostsEntryOutput) ElementType() reflect.Type

func (GetHostsEntryOutput) Hostnames

The hostnames associated with each of the IP addresses.

func (GetHostsEntryOutput) ToGetHostsEntryOutput

func (o GetHostsEntryOutput) ToGetHostsEntryOutput() GetHostsEntryOutput

func (GetHostsEntryOutput) ToGetHostsEntryOutputWithContext

func (o GetHostsEntryOutput) ToGetHostsEntryOutputWithContext(ctx context.Context) GetHostsEntryOutput

type GetHostsOutputArgs

type GetHostsOutputArgs struct {
	// A node name.
	NodeName pulumi.StringInput `pulumi:"nodeName"`
}

A collection of arguments for invoking getHosts.

func (GetHostsOutputArgs) ElementType

func (GetHostsOutputArgs) ElementType() reflect.Type

type GetHostsResult

type GetHostsResult struct {
	// The IP addresses.
	Addresses []string `pulumi:"addresses"`
	// The SHA1 digest.
	Digest string `pulumi:"digest"`
	// The host entries (conversion of `addresses` and `hostnames` into
	// objects).
	Entries []GetHostsEntry `pulumi:"entries"`
	// The hostnames associated with each of the IP addresses.
	Hostnames [][]string `pulumi:"hostnames"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	NodeName string `pulumi:"nodeName"`
}

A collection of values returned by getHosts.

func GetHosts

func GetHosts(ctx *pulumi.Context, args *GetHostsArgs, opts ...pulumi.InvokeOption) (*GetHostsResult, error)

Retrieves all the host entries from a specific node.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.GetHosts(ctx, &network.GetHostsArgs{
			NodeName: "first-node",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetHostsResultOutput

type GetHostsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHosts.

func (GetHostsResultOutput) Addresses

The IP addresses.

func (GetHostsResultOutput) Digest

The SHA1 digest.

func (GetHostsResultOutput) ElementType

func (GetHostsResultOutput) ElementType() reflect.Type

func (GetHostsResultOutput) Entries

The host entries (conversion of `addresses` and `hostnames` into objects).

func (GetHostsResultOutput) Hostnames

The hostnames associated with each of the IP addresses.

func (GetHostsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetHostsResultOutput) NodeName

func (GetHostsResultOutput) ToGetHostsResultOutput

func (o GetHostsResultOutput) ToGetHostsResultOutput() GetHostsResultOutput

func (GetHostsResultOutput) ToGetHostsResultOutputWithContext

func (o GetHostsResultOutput) ToGetHostsResultOutputWithContext(ctx context.Context) GetHostsResultOutput

type GetTimeArgs

type GetTimeArgs struct {
	// A node name.
	NodeName string `pulumi:"nodeName"`
}

A collection of arguments for invoking getTime.

type GetTimeOutputArgs

type GetTimeOutputArgs struct {
	// A node name.
	NodeName pulumi.StringInput `pulumi:"nodeName"`
}

A collection of arguments for invoking getTime.

func (GetTimeOutputArgs) ElementType

func (GetTimeOutputArgs) ElementType() reflect.Type

type GetTimeResult

type GetTimeResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The node's local time.
	LocalTime string `pulumi:"localTime"`
	NodeName  string `pulumi:"nodeName"`
	// The node's time zone.
	TimeZone string `pulumi:"timeZone"`
	// The node's local time formatted as UTC.
	UtcTime string `pulumi:"utcTime"`
}

A collection of values returned by getTime.

func GetTime

func GetTime(ctx *pulumi.Context, args *GetTimeArgs, opts ...pulumi.InvokeOption) (*GetTimeResult, error)

Retrieves the current time for a specific node.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.GetTime(ctx, &network.GetTimeArgs{
			NodeName: "first-node",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetTimeResultOutput

type GetTimeResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTime.

func (GetTimeResultOutput) ElementType

func (GetTimeResultOutput) ElementType() reflect.Type

func (GetTimeResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTimeResultOutput) LocalTime

func (o GetTimeResultOutput) LocalTime() pulumi.StringOutput

The node's local time.

func (GetTimeResultOutput) NodeName

func (GetTimeResultOutput) TimeZone

The node's time zone.

func (GetTimeResultOutput) ToGetTimeResultOutput

func (o GetTimeResultOutput) ToGetTimeResultOutput() GetTimeResultOutput

func (GetTimeResultOutput) ToGetTimeResultOutputWithContext

func (o GetTimeResultOutput) ToGetTimeResultOutputWithContext(ctx context.Context) GetTimeResultOutput

func (GetTimeResultOutput) UtcTime

The node's local time formatted as UTC.

type GetVersionResult

type GetVersionResult struct {
	// Placeholder identifier attribute.
	Id string `pulumi:"id"`
	// The current Proxmox VE point release in `x.y` format.
	Release string `pulumi:"release"`
	// The short git revision from which this version was build.
	RepositoryId string `pulumi:"repositoryId"`
	// The full pve-manager package version of this node.
	Version string `pulumi:"version"`
}

A collection of values returned by getVersion.

func GetVersion

func GetVersion(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetVersionResult, error)

Retrieves API version details.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := Network.GetVersion(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("dataProxmoxVirtualEnvironmentVersion", map[string]interface{}{
			"release":       example.Release,
			"repository_id": example.RepositoryId,
			"version":       example.Version,
		})
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetVersionResultOutput

type GetVersionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVersion.

func GetVersionOutput

func GetVersionOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetVersionResultOutput

func (GetVersionResultOutput) ElementType

func (GetVersionResultOutput) ElementType() reflect.Type

func (GetVersionResultOutput) Id

Placeholder identifier attribute.

func (GetVersionResultOutput) Release

The current Proxmox VE point release in `x.y` format.

func (GetVersionResultOutput) RepositoryId

func (o GetVersionResultOutput) RepositoryId() pulumi.StringOutput

The short git revision from which this version was build.

func (GetVersionResultOutput) ToGetVersionResultOutput

func (o GetVersionResultOutput) ToGetVersionResultOutput() GetVersionResultOutput

func (GetVersionResultOutput) ToGetVersionResultOutputWithContext

func (o GetVersionResultOutput) ToGetVersionResultOutputWithContext(ctx context.Context) GetVersionResultOutput

func (GetVersionResultOutput) Version

The full pve-manager package version of this node.

type NetworkBridge

type NetworkBridge struct {
	pulumi.CustomResourceState

	// The interface IPv4/CIDR address.
	Address pulumi.StringPtrOutput `pulumi:"address"`
	// The interface IPv6/CIDR address.
	Address6 pulumi.StringPtrOutput `pulumi:"address6"`
	// Automatically start interface on boot (defaults to `true`).
	Autostart pulumi.BoolOutput `pulumi:"autostart"`
	// Comment for the interface.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// Default gateway address.
	Gateway pulumi.StringPtrOutput `pulumi:"gateway"`
	// Default IPv6 gateway address.
	Gateway6 pulumi.StringPtrOutput `pulumi:"gateway6"`
	// The interface MTU.
	Mtu pulumi.IntPtrOutput `pulumi:"mtu"`
	// The interface name. Must be `vmbrN`, where N is a number between 0 and 9999.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the node.
	NodeName pulumi.StringOutput `pulumi:"nodeName"`
	// The interface bridge ports.
	Ports pulumi.StringArrayOutput `pulumi:"ports"`
	// Whether the interface bridge is VLAN aware (defaults to `false`).
	VlanAware pulumi.BoolOutput `pulumi:"vlanAware"`
}

Manages a Linux Bridge network interface in a Proxmox VE node.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Network.NewNetworkBridge(ctx, "vmbr99", &Network.NetworkBridgeArgs{
			NodeName: pulumi.String("pve"),
			Address:  pulumi.String("99.99.99.99/16"),
			Comment:  pulumi.String("vmbr99 comment"),
			Ports: pulumi.StringArray{
				pulumi.String("ens18.99"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			proxmox_virtual_environment_network_linux_vlan.Vlan99,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

#!/usr/bin/env sh

#Interfaces can be imported using the `node_name:iface` format, e.g.

```sh $ pulumi import proxmoxve:Network/networkBridge:NetworkBridge vmbr99 pve:vmbr99 ```

func GetNetworkBridge

func GetNetworkBridge(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkBridgeState, opts ...pulumi.ResourceOption) (*NetworkBridge, error)

GetNetworkBridge gets an existing NetworkBridge 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 NewNetworkBridge

func NewNetworkBridge(ctx *pulumi.Context,
	name string, args *NetworkBridgeArgs, opts ...pulumi.ResourceOption) (*NetworkBridge, error)

NewNetworkBridge registers a new resource with the given unique name, arguments, and options.

func (*NetworkBridge) ElementType

func (*NetworkBridge) ElementType() reflect.Type

func (*NetworkBridge) ToNetworkBridgeOutput

func (i *NetworkBridge) ToNetworkBridgeOutput() NetworkBridgeOutput

func (*NetworkBridge) ToNetworkBridgeOutputWithContext

func (i *NetworkBridge) ToNetworkBridgeOutputWithContext(ctx context.Context) NetworkBridgeOutput

type NetworkBridgeArgs

type NetworkBridgeArgs struct {
	// The interface IPv4/CIDR address.
	Address pulumi.StringPtrInput
	// The interface IPv6/CIDR address.
	Address6 pulumi.StringPtrInput
	// Automatically start interface on boot (defaults to `true`).
	Autostart pulumi.BoolPtrInput
	// Comment for the interface.
	Comment pulumi.StringPtrInput
	// Default gateway address.
	Gateway pulumi.StringPtrInput
	// Default IPv6 gateway address.
	Gateway6 pulumi.StringPtrInput
	// The interface MTU.
	Mtu pulumi.IntPtrInput
	// The interface name. Must be `vmbrN`, where N is a number between 0 and 9999.
	Name pulumi.StringPtrInput
	// The name of the node.
	NodeName pulumi.StringInput
	// The interface bridge ports.
	Ports pulumi.StringArrayInput
	// Whether the interface bridge is VLAN aware (defaults to `false`).
	VlanAware pulumi.BoolPtrInput
}

The set of arguments for constructing a NetworkBridge resource.

func (NetworkBridgeArgs) ElementType

func (NetworkBridgeArgs) ElementType() reflect.Type

type NetworkBridgeArray

type NetworkBridgeArray []NetworkBridgeInput

func (NetworkBridgeArray) ElementType

func (NetworkBridgeArray) ElementType() reflect.Type

func (NetworkBridgeArray) ToNetworkBridgeArrayOutput

func (i NetworkBridgeArray) ToNetworkBridgeArrayOutput() NetworkBridgeArrayOutput

func (NetworkBridgeArray) ToNetworkBridgeArrayOutputWithContext

func (i NetworkBridgeArray) ToNetworkBridgeArrayOutputWithContext(ctx context.Context) NetworkBridgeArrayOutput

type NetworkBridgeArrayInput

type NetworkBridgeArrayInput interface {
	pulumi.Input

	ToNetworkBridgeArrayOutput() NetworkBridgeArrayOutput
	ToNetworkBridgeArrayOutputWithContext(context.Context) NetworkBridgeArrayOutput
}

NetworkBridgeArrayInput is an input type that accepts NetworkBridgeArray and NetworkBridgeArrayOutput values. You can construct a concrete instance of `NetworkBridgeArrayInput` via:

NetworkBridgeArray{ NetworkBridgeArgs{...} }

type NetworkBridgeArrayOutput

type NetworkBridgeArrayOutput struct{ *pulumi.OutputState }

func (NetworkBridgeArrayOutput) ElementType

func (NetworkBridgeArrayOutput) ElementType() reflect.Type

func (NetworkBridgeArrayOutput) Index

func (NetworkBridgeArrayOutput) ToNetworkBridgeArrayOutput

func (o NetworkBridgeArrayOutput) ToNetworkBridgeArrayOutput() NetworkBridgeArrayOutput

func (NetworkBridgeArrayOutput) ToNetworkBridgeArrayOutputWithContext

func (o NetworkBridgeArrayOutput) ToNetworkBridgeArrayOutputWithContext(ctx context.Context) NetworkBridgeArrayOutput

type NetworkBridgeInput

type NetworkBridgeInput interface {
	pulumi.Input

	ToNetworkBridgeOutput() NetworkBridgeOutput
	ToNetworkBridgeOutputWithContext(ctx context.Context) NetworkBridgeOutput
}

type NetworkBridgeMap

type NetworkBridgeMap map[string]NetworkBridgeInput

func (NetworkBridgeMap) ElementType

func (NetworkBridgeMap) ElementType() reflect.Type

func (NetworkBridgeMap) ToNetworkBridgeMapOutput

func (i NetworkBridgeMap) ToNetworkBridgeMapOutput() NetworkBridgeMapOutput

func (NetworkBridgeMap) ToNetworkBridgeMapOutputWithContext

func (i NetworkBridgeMap) ToNetworkBridgeMapOutputWithContext(ctx context.Context) NetworkBridgeMapOutput

type NetworkBridgeMapInput

type NetworkBridgeMapInput interface {
	pulumi.Input

	ToNetworkBridgeMapOutput() NetworkBridgeMapOutput
	ToNetworkBridgeMapOutputWithContext(context.Context) NetworkBridgeMapOutput
}

NetworkBridgeMapInput is an input type that accepts NetworkBridgeMap and NetworkBridgeMapOutput values. You can construct a concrete instance of `NetworkBridgeMapInput` via:

NetworkBridgeMap{ "key": NetworkBridgeArgs{...} }

type NetworkBridgeMapOutput

type NetworkBridgeMapOutput struct{ *pulumi.OutputState }

func (NetworkBridgeMapOutput) ElementType

func (NetworkBridgeMapOutput) ElementType() reflect.Type

func (NetworkBridgeMapOutput) MapIndex

func (NetworkBridgeMapOutput) ToNetworkBridgeMapOutput

func (o NetworkBridgeMapOutput) ToNetworkBridgeMapOutput() NetworkBridgeMapOutput

func (NetworkBridgeMapOutput) ToNetworkBridgeMapOutputWithContext

func (o NetworkBridgeMapOutput) ToNetworkBridgeMapOutputWithContext(ctx context.Context) NetworkBridgeMapOutput

type NetworkBridgeOutput

type NetworkBridgeOutput struct{ *pulumi.OutputState }

func (NetworkBridgeOutput) Address

The interface IPv4/CIDR address.

func (NetworkBridgeOutput) Address6

The interface IPv6/CIDR address.

func (NetworkBridgeOutput) Autostart

func (o NetworkBridgeOutput) Autostart() pulumi.BoolOutput

Automatically start interface on boot (defaults to `true`).

func (NetworkBridgeOutput) Comment

Comment for the interface.

func (NetworkBridgeOutput) ElementType

func (NetworkBridgeOutput) ElementType() reflect.Type

func (NetworkBridgeOutput) Gateway

Default gateway address.

func (NetworkBridgeOutput) Gateway6

Default IPv6 gateway address.

func (NetworkBridgeOutput) Mtu

The interface MTU.

func (NetworkBridgeOutput) Name

The interface name. Must be `vmbrN`, where N is a number between 0 and 9999.

func (NetworkBridgeOutput) NodeName

The name of the node.

func (NetworkBridgeOutput) Ports

The interface bridge ports.

func (NetworkBridgeOutput) ToNetworkBridgeOutput

func (o NetworkBridgeOutput) ToNetworkBridgeOutput() NetworkBridgeOutput

func (NetworkBridgeOutput) ToNetworkBridgeOutputWithContext

func (o NetworkBridgeOutput) ToNetworkBridgeOutputWithContext(ctx context.Context) NetworkBridgeOutput

func (NetworkBridgeOutput) VlanAware

func (o NetworkBridgeOutput) VlanAware() pulumi.BoolOutput

Whether the interface bridge is VLAN aware (defaults to `false`).

type NetworkBridgeState

type NetworkBridgeState struct {
	// The interface IPv4/CIDR address.
	Address pulumi.StringPtrInput
	// The interface IPv6/CIDR address.
	Address6 pulumi.StringPtrInput
	// Automatically start interface on boot (defaults to `true`).
	Autostart pulumi.BoolPtrInput
	// Comment for the interface.
	Comment pulumi.StringPtrInput
	// Default gateway address.
	Gateway pulumi.StringPtrInput
	// Default IPv6 gateway address.
	Gateway6 pulumi.StringPtrInput
	// The interface MTU.
	Mtu pulumi.IntPtrInput
	// The interface name. Must be `vmbrN`, where N is a number between 0 and 9999.
	Name pulumi.StringPtrInput
	// The name of the node.
	NodeName pulumi.StringPtrInput
	// The interface bridge ports.
	Ports pulumi.StringArrayInput
	// Whether the interface bridge is VLAN aware (defaults to `false`).
	VlanAware pulumi.BoolPtrInput
}

func (NetworkBridgeState) ElementType

func (NetworkBridgeState) ElementType() reflect.Type

type NetworkVlan

type NetworkVlan struct {
	pulumi.CustomResourceState

	// The interface IPv4/CIDR address.
	Address pulumi.StringPtrOutput `pulumi:"address"`
	// The interface IPv6/CIDR address.
	Address6 pulumi.StringPtrOutput `pulumi:"address6"`
	// Automatically start interface on boot (defaults to `true`).
	Autostart pulumi.BoolOutput `pulumi:"autostart"`
	// Comment for the interface.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// Default gateway address.
	Gateway pulumi.StringPtrOutput `pulumi:"gateway"`
	// Default IPv6 gateway address.
	Gateway6 pulumi.StringPtrOutput `pulumi:"gateway6"`
	// The VLAN raw device. See also `name`.
	Interface pulumi.StringOutput `pulumi:"interface"`
	// The interface MTU.
	Mtu pulumi.IntPtrOutput `pulumi:"mtu"`
	// The interface name. Either add the VLAN tag number to an existing interface name, e.g. `ens18.21` (and do not set `interface` and `vlan`), or use custom name, e.g. `vlanLab` (`interface` and `vlan` are then required).
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the node.
	NodeName pulumi.StringOutput `pulumi:"nodeName"`
	// The VLAN tag. See also `name`.
	Vlan pulumi.IntOutput `pulumi:"vlan"`
}

Manages a Linux VLAN network interface in a Proxmox VE node.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/muhlba91/pulumi-proxmoxve/sdk/v6/go/proxmoxve/Network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// using VLAN tag
		_, err := Network.NewNetworkVlan(ctx, "vlan99", &Network.NetworkVlanArgs{
			Comment:  pulumi.String("VLAN 99"),
			NodeName: pulumi.String("pve"),
		})
		if err != nil {
			return err
		}
		// using custom network interface name
		_, err = Network.NewNetworkVlan(ctx, "vlan98", &Network.NetworkVlanArgs{
			Comment:   pulumi.String("VLAN 98"),
			Interface: pulumi.String("eno0"),
			NodeName:  pulumi.String("pve"),
			Vlan:      pulumi.Int(98),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

#!/usr/bin/env sh

#Interfaces can be imported using the `node_name:iface` format, e.g.

```sh $ pulumi import proxmoxve:Network/networkVlan:NetworkVlan vlan99 pve:vlan99 ```

func GetNetworkVlan

func GetNetworkVlan(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkVlanState, opts ...pulumi.ResourceOption) (*NetworkVlan, error)

GetNetworkVlan gets an existing NetworkVlan 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 NewNetworkVlan

func NewNetworkVlan(ctx *pulumi.Context,
	name string, args *NetworkVlanArgs, opts ...pulumi.ResourceOption) (*NetworkVlan, error)

NewNetworkVlan registers a new resource with the given unique name, arguments, and options.

func (*NetworkVlan) ElementType

func (*NetworkVlan) ElementType() reflect.Type

func (*NetworkVlan) ToNetworkVlanOutput

func (i *NetworkVlan) ToNetworkVlanOutput() NetworkVlanOutput

func (*NetworkVlan) ToNetworkVlanOutputWithContext

func (i *NetworkVlan) ToNetworkVlanOutputWithContext(ctx context.Context) NetworkVlanOutput

type NetworkVlanArgs

type NetworkVlanArgs struct {
	// The interface IPv4/CIDR address.
	Address pulumi.StringPtrInput
	// The interface IPv6/CIDR address.
	Address6 pulumi.StringPtrInput
	// Automatically start interface on boot (defaults to `true`).
	Autostart pulumi.BoolPtrInput
	// Comment for the interface.
	Comment pulumi.StringPtrInput
	// Default gateway address.
	Gateway pulumi.StringPtrInput
	// Default IPv6 gateway address.
	Gateway6 pulumi.StringPtrInput
	// The VLAN raw device. See also `name`.
	Interface pulumi.StringPtrInput
	// The interface MTU.
	Mtu pulumi.IntPtrInput
	// The interface name. Either add the VLAN tag number to an existing interface name, e.g. `ens18.21` (and do not set `interface` and `vlan`), or use custom name, e.g. `vlanLab` (`interface` and `vlan` are then required).
	Name pulumi.StringPtrInput
	// The name of the node.
	NodeName pulumi.StringInput
	// The VLAN tag. See also `name`.
	Vlan pulumi.IntPtrInput
}

The set of arguments for constructing a NetworkVlan resource.

func (NetworkVlanArgs) ElementType

func (NetworkVlanArgs) ElementType() reflect.Type

type NetworkVlanArray

type NetworkVlanArray []NetworkVlanInput

func (NetworkVlanArray) ElementType

func (NetworkVlanArray) ElementType() reflect.Type

func (NetworkVlanArray) ToNetworkVlanArrayOutput

func (i NetworkVlanArray) ToNetworkVlanArrayOutput() NetworkVlanArrayOutput

func (NetworkVlanArray) ToNetworkVlanArrayOutputWithContext

func (i NetworkVlanArray) ToNetworkVlanArrayOutputWithContext(ctx context.Context) NetworkVlanArrayOutput

type NetworkVlanArrayInput

type NetworkVlanArrayInput interface {
	pulumi.Input

	ToNetworkVlanArrayOutput() NetworkVlanArrayOutput
	ToNetworkVlanArrayOutputWithContext(context.Context) NetworkVlanArrayOutput
}

NetworkVlanArrayInput is an input type that accepts NetworkVlanArray and NetworkVlanArrayOutput values. You can construct a concrete instance of `NetworkVlanArrayInput` via:

NetworkVlanArray{ NetworkVlanArgs{...} }

type NetworkVlanArrayOutput

type NetworkVlanArrayOutput struct{ *pulumi.OutputState }

func (NetworkVlanArrayOutput) ElementType

func (NetworkVlanArrayOutput) ElementType() reflect.Type

func (NetworkVlanArrayOutput) Index

func (NetworkVlanArrayOutput) ToNetworkVlanArrayOutput

func (o NetworkVlanArrayOutput) ToNetworkVlanArrayOutput() NetworkVlanArrayOutput

func (NetworkVlanArrayOutput) ToNetworkVlanArrayOutputWithContext

func (o NetworkVlanArrayOutput) ToNetworkVlanArrayOutputWithContext(ctx context.Context) NetworkVlanArrayOutput

type NetworkVlanInput

type NetworkVlanInput interface {
	pulumi.Input

	ToNetworkVlanOutput() NetworkVlanOutput
	ToNetworkVlanOutputWithContext(ctx context.Context) NetworkVlanOutput
}

type NetworkVlanMap

type NetworkVlanMap map[string]NetworkVlanInput

func (NetworkVlanMap) ElementType

func (NetworkVlanMap) ElementType() reflect.Type

func (NetworkVlanMap) ToNetworkVlanMapOutput

func (i NetworkVlanMap) ToNetworkVlanMapOutput() NetworkVlanMapOutput

func (NetworkVlanMap) ToNetworkVlanMapOutputWithContext

func (i NetworkVlanMap) ToNetworkVlanMapOutputWithContext(ctx context.Context) NetworkVlanMapOutput

type NetworkVlanMapInput

type NetworkVlanMapInput interface {
	pulumi.Input

	ToNetworkVlanMapOutput() NetworkVlanMapOutput
	ToNetworkVlanMapOutputWithContext(context.Context) NetworkVlanMapOutput
}

NetworkVlanMapInput is an input type that accepts NetworkVlanMap and NetworkVlanMapOutput values. You can construct a concrete instance of `NetworkVlanMapInput` via:

NetworkVlanMap{ "key": NetworkVlanArgs{...} }

type NetworkVlanMapOutput

type NetworkVlanMapOutput struct{ *pulumi.OutputState }

func (NetworkVlanMapOutput) ElementType

func (NetworkVlanMapOutput) ElementType() reflect.Type

func (NetworkVlanMapOutput) MapIndex

func (NetworkVlanMapOutput) ToNetworkVlanMapOutput

func (o NetworkVlanMapOutput) ToNetworkVlanMapOutput() NetworkVlanMapOutput

func (NetworkVlanMapOutput) ToNetworkVlanMapOutputWithContext

func (o NetworkVlanMapOutput) ToNetworkVlanMapOutputWithContext(ctx context.Context) NetworkVlanMapOutput

type NetworkVlanOutput

type NetworkVlanOutput struct{ *pulumi.OutputState }

func (NetworkVlanOutput) Address

The interface IPv4/CIDR address.

func (NetworkVlanOutput) Address6

The interface IPv6/CIDR address.

func (NetworkVlanOutput) Autostart

func (o NetworkVlanOutput) Autostart() pulumi.BoolOutput

Automatically start interface on boot (defaults to `true`).

func (NetworkVlanOutput) Comment

Comment for the interface.

func (NetworkVlanOutput) ElementType

func (NetworkVlanOutput) ElementType() reflect.Type

func (NetworkVlanOutput) Gateway

Default gateway address.

func (NetworkVlanOutput) Gateway6

Default IPv6 gateway address.

func (NetworkVlanOutput) Interface

func (o NetworkVlanOutput) Interface() pulumi.StringOutput

The VLAN raw device. See also `name`.

func (NetworkVlanOutput) Mtu

The interface MTU.

func (NetworkVlanOutput) Name

The interface name. Either add the VLAN tag number to an existing interface name, e.g. `ens18.21` (and do not set `interface` and `vlan`), or use custom name, e.g. `vlanLab` (`interface` and `vlan` are then required).

func (NetworkVlanOutput) NodeName

func (o NetworkVlanOutput) NodeName() pulumi.StringOutput

The name of the node.

func (NetworkVlanOutput) ToNetworkVlanOutput

func (o NetworkVlanOutput) ToNetworkVlanOutput() NetworkVlanOutput

func (NetworkVlanOutput) ToNetworkVlanOutputWithContext

func (o NetworkVlanOutput) ToNetworkVlanOutputWithContext(ctx context.Context) NetworkVlanOutput

func (NetworkVlanOutput) Vlan

The VLAN tag. See also `name`.

type NetworkVlanState

type NetworkVlanState struct {
	// The interface IPv4/CIDR address.
	Address pulumi.StringPtrInput
	// The interface IPv6/CIDR address.
	Address6 pulumi.StringPtrInput
	// Automatically start interface on boot (defaults to `true`).
	Autostart pulumi.BoolPtrInput
	// Comment for the interface.
	Comment pulumi.StringPtrInput
	// Default gateway address.
	Gateway pulumi.StringPtrInput
	// Default IPv6 gateway address.
	Gateway6 pulumi.StringPtrInput
	// The VLAN raw device. See also `name`.
	Interface pulumi.StringPtrInput
	// The interface MTU.
	Mtu pulumi.IntPtrInput
	// The interface name. Either add the VLAN tag number to an existing interface name, e.g. `ens18.21` (and do not set `interface` and `vlan`), or use custom name, e.g. `vlanLab` (`interface` and `vlan` are then required).
	Name pulumi.StringPtrInput
	// The name of the node.
	NodeName pulumi.StringPtrInput
	// The VLAN tag. See also `name`.
	Vlan pulumi.IntPtrInput
}

func (NetworkVlanState) ElementType

func (NetworkVlanState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL