zerotier

package
v0.0.0-...-75298d5 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

A Pulumi package for creating and managing zerotier cloud resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package.

Types

type GerNetworkArgs

type GerNetworkArgs struct {
	// IPv4 Assignment RuleSets
	AssignIpv4s []GerNetworkAssignIpv4 `pulumi:"assignIpv4s"`
	// IPv6 Assignment RuleSets
	AssignIpv6s []GerNetworkAssignIpv6 `pulumi:"assignIpv6s"`
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools []GerNetworkAssignmentPool `pulumi:"assignmentPools"`
	// The description of the network
	Description *string `pulumi:"description"`
	// Enable broadcast packets on the network
	EnableBroadcast *bool `pulumi:"enableBroadcast"`
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules *string `pulumi:"flowRules"`
	// ZeroTier's internal network identifier, aka NetworkID
	Id *string `pulumi:"id"`
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit *int `pulumi:"multicastLimit"`
	// The name of the network
	Name *string `pulumi:"name"`
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private *bool `pulumi:"private"`
	// A ipv4 or ipv6 network route
	Routes []GerNetworkRoute `pulumi:"routes"`
}

A collection of arguments for invoking gerNetwork.

type GerNetworkOutputArgs

type GerNetworkOutputArgs struct {
	// IPv4 Assignment RuleSets
	AssignIpv4s GerNetworkAssignIpv4ArrayInput `pulumi:"assignIpv4s"`
	// IPv6 Assignment RuleSets
	AssignIpv6s GerNetworkAssignIpv6ArrayInput `pulumi:"assignIpv6s"`
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools GerNetworkAssignmentPoolArrayInput `pulumi:"assignmentPools"`
	// The description of the network
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Enable broadcast packets on the network
	EnableBroadcast pulumi.BoolPtrInput `pulumi:"enableBroadcast"`
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules pulumi.StringPtrInput `pulumi:"flowRules"`
	// ZeroTier's internal network identifier, aka NetworkID
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit pulumi.IntPtrInput `pulumi:"multicastLimit"`
	// The name of the network
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private pulumi.BoolPtrInput `pulumi:"private"`
	// A ipv4 or ipv6 network route
	Routes GerNetworkRouteArrayInput `pulumi:"routes"`
}

A collection of arguments for invoking gerNetwork.

func (GerNetworkOutputArgs) ElementType

func (GerNetworkOutputArgs) ElementType() reflect.Type

type GerNetworkResult

type GerNetworkResult struct {
	// IPv4 Assignment RuleSets
	AssignIpv4s []GerNetworkAssignIpv4 `pulumi:"assignIpv4s"`
	// IPv6 Assignment RuleSets
	AssignIpv6s []GerNetworkAssignIpv6 `pulumi:"assignIpv6s"`
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools []GerNetworkAssignmentPool `pulumi:"assignmentPools"`
	// The time at which this network was created, in epoch seconds
	CreationTime int `pulumi:"creationTime"`
	// The description of the network
	Description *string `pulumi:"description"`
	// Enable broadcast packets on the network
	EnableBroadcast *bool `pulumi:"enableBroadcast"`
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules *string `pulumi:"flowRules"`
	// ZeroTier's internal network identifier, aka NetworkID
	Id string `pulumi:"id"`
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit *int `pulumi:"multicastLimit"`
	// The name of the network
	Name string `pulumi:"name"`
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private *bool `pulumi:"private"`
	// A ipv4 or ipv6 network route
	Routes []GerNetworkRoute `pulumi:"routes"`
}

A collection of values returned by gerNetwork.

func GerNetwork

func GerNetwork(ctx *pulumi.Context, args *GerNetworkArgs, opts ...pulumi.InvokeOption) (*GerNetworkResult, error)

Data source for ZeroTier networks, allowing you to find a network by ID

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-zerotier/sdk/go/zerotier"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := zerotier.GerNetwork(ctx, &GerNetworkArgs{
			Id: pulumi.StringRef(zerotier_network.Bobs_garage.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GerNetworkResultOutput

type GerNetworkResultOutput struct{ *pulumi.OutputState }

A collection of values returned by gerNetwork.

func (GerNetworkResultOutput) AssignIpv4s

func (o GerNetworkResultOutput) AssignIpv4s() GerNetworkAssignIpv4ArrayOutput

IPv4 Assignment RuleSets

func (GerNetworkResultOutput) AssignIpv6s

func (o GerNetworkResultOutput) AssignIpv6s() GerNetworkAssignIpv6ArrayOutput

IPv6 Assignment RuleSets

func (GerNetworkResultOutput) AssignmentPools

func (o GerNetworkResultOutput) AssignmentPools() GerNetworkAssignmentPoolArrayOutput

Rules regarding IPv4 and IPv6 assignments

func (GerNetworkResultOutput) CreationTime

func (o GerNetworkResultOutput) CreationTime() pulumi.IntOutput

The time at which this network was created, in epoch seconds

func (GerNetworkResultOutput) Description

The description of the network

func (GerNetworkResultOutput) ElementType

func (GerNetworkResultOutput) ElementType() reflect.Type

func (GerNetworkResultOutput) EnableBroadcast

func (o GerNetworkResultOutput) EnableBroadcast() pulumi.BoolPtrOutput

Enable broadcast packets on the network

func (GerNetworkResultOutput) FlowRules

The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.

func (GerNetworkResultOutput) Id

ZeroTier's internal network identifier, aka NetworkID

func (GerNetworkResultOutput) MulticastLimit

func (o GerNetworkResultOutput) MulticastLimit() pulumi.IntPtrOutput

Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!

func (GerNetworkResultOutput) Name

The name of the network

func (GerNetworkResultOutput) Private

Whether or not the network is private. If false, members will *NOT* need to be authorized to join.

func (GerNetworkResultOutput) Routes

func (o GerNetworkResultOutput) Routes() GerNetworkRouteArrayOutput

A ipv4 or ipv6 network route

func (GerNetworkResultOutput) ToGerNetworkResultOutput

func (o GerNetworkResultOutput) ToGerNetworkResultOutput() GerNetworkResultOutput

func (GerNetworkResultOutput) ToGerNetworkResultOutputWithContext

func (o GerNetworkResultOutput) ToGerNetworkResultOutputWithContext(ctx context.Context) GerNetworkResultOutput

type GetNetworkAssignIpv4

type GetNetworkAssignIpv4 struct {
	Zerotier *bool `pulumi:"zerotier"`
}

type GetNetworkAssignIpv4Args

type GetNetworkAssignIpv4Args struct {
	Zerotier pulumi.BoolPtrInput `pulumi:"zerotier"`
}

func (GetNetworkAssignIpv4Args) ElementType

func (GetNetworkAssignIpv4Args) ElementType() reflect.Type

func (GetNetworkAssignIpv4Args) ToGetNetworkAssignIpv4Output

func (i GetNetworkAssignIpv4Args) ToGetNetworkAssignIpv4Output() GetNetworkAssignIpv4Output

func (GetNetworkAssignIpv4Args) ToGetNetworkAssignIpv4OutputWithContext

func (i GetNetworkAssignIpv4Args) ToGetNetworkAssignIpv4OutputWithContext(ctx context.Context) GetNetworkAssignIpv4Output

type GetNetworkAssignIpv4Array

type GetNetworkAssignIpv4Array []GetNetworkAssignIpv4Input

func (GetNetworkAssignIpv4Array) ElementType

func (GetNetworkAssignIpv4Array) ElementType() reflect.Type

func (GetNetworkAssignIpv4Array) ToGetNetworkAssignIpv4ArrayOutput

func (i GetNetworkAssignIpv4Array) ToGetNetworkAssignIpv4ArrayOutput() GetNetworkAssignIpv4ArrayOutput

func (GetNetworkAssignIpv4Array) ToGetNetworkAssignIpv4ArrayOutputWithContext

func (i GetNetworkAssignIpv4Array) ToGetNetworkAssignIpv4ArrayOutputWithContext(ctx context.Context) GetNetworkAssignIpv4ArrayOutput

type GetNetworkAssignIpv4ArrayInput

type GetNetworkAssignIpv4ArrayInput interface {
	pulumi.Input

	ToGetNetworkAssignIpv4ArrayOutput() GetNetworkAssignIpv4ArrayOutput
	ToGetNetworkAssignIpv4ArrayOutputWithContext(context.Context) GetNetworkAssignIpv4ArrayOutput
}

GetNetworkAssignIpv4ArrayInput is an input type that accepts GetNetworkAssignIpv4Array and GetNetworkAssignIpv4ArrayOutput values. You can construct a concrete instance of `GetNetworkAssignIpv4ArrayInput` via:

GetNetworkAssignIpv4Array{ GetNetworkAssignIpv4Args{...} }

type GetNetworkAssignIpv4ArrayOutput

type GetNetworkAssignIpv4ArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAssignIpv4ArrayOutput) ElementType

func (GetNetworkAssignIpv4ArrayOutput) Index

func (GetNetworkAssignIpv4ArrayOutput) ToGetNetworkAssignIpv4ArrayOutput

func (o GetNetworkAssignIpv4ArrayOutput) ToGetNetworkAssignIpv4ArrayOutput() GetNetworkAssignIpv4ArrayOutput

func (GetNetworkAssignIpv4ArrayOutput) ToGetNetworkAssignIpv4ArrayOutputWithContext

func (o GetNetworkAssignIpv4ArrayOutput) ToGetNetworkAssignIpv4ArrayOutputWithContext(ctx context.Context) GetNetworkAssignIpv4ArrayOutput

type GetNetworkAssignIpv4Input

type GetNetworkAssignIpv4Input interface {
	pulumi.Input

	ToGetNetworkAssignIpv4Output() GetNetworkAssignIpv4Output
	ToGetNetworkAssignIpv4OutputWithContext(context.Context) GetNetworkAssignIpv4Output
}

GetNetworkAssignIpv4Input is an input type that accepts GetNetworkAssignIpv4Args and GetNetworkAssignIpv4Output values. You can construct a concrete instance of `GetNetworkAssignIpv4Input` via:

GetNetworkAssignIpv4Args{...}

type GetNetworkAssignIpv4Output

type GetNetworkAssignIpv4Output struct{ *pulumi.OutputState }

func (GetNetworkAssignIpv4Output) ElementType

func (GetNetworkAssignIpv4Output) ElementType() reflect.Type

func (GetNetworkAssignIpv4Output) ToGetNetworkAssignIpv4Output

func (o GetNetworkAssignIpv4Output) ToGetNetworkAssignIpv4Output() GetNetworkAssignIpv4Output

func (GetNetworkAssignIpv4Output) ToGetNetworkAssignIpv4OutputWithContext

func (o GetNetworkAssignIpv4Output) ToGetNetworkAssignIpv4OutputWithContext(ctx context.Context) GetNetworkAssignIpv4Output

func (GetNetworkAssignIpv4Output) Zerotier

type GetNetworkAssignIpv6

type GetNetworkAssignIpv6 struct {
	Rfc4193  *bool `pulumi:"rfc4193"`
	Sixplane *bool `pulumi:"sixplane"`
	Zerotier *bool `pulumi:"zerotier"`
}

type GetNetworkAssignIpv6Args

type GetNetworkAssignIpv6Args struct {
	Rfc4193  pulumi.BoolPtrInput `pulumi:"rfc4193"`
	Sixplane pulumi.BoolPtrInput `pulumi:"sixplane"`
	Zerotier pulumi.BoolPtrInput `pulumi:"zerotier"`
}

func (GetNetworkAssignIpv6Args) ElementType

func (GetNetworkAssignIpv6Args) ElementType() reflect.Type

func (GetNetworkAssignIpv6Args) ToGetNetworkAssignIpv6Output

func (i GetNetworkAssignIpv6Args) ToGetNetworkAssignIpv6Output() GetNetworkAssignIpv6Output

func (GetNetworkAssignIpv6Args) ToGetNetworkAssignIpv6OutputWithContext

func (i GetNetworkAssignIpv6Args) ToGetNetworkAssignIpv6OutputWithContext(ctx context.Context) GetNetworkAssignIpv6Output

type GetNetworkAssignIpv6Array

type GetNetworkAssignIpv6Array []GetNetworkAssignIpv6Input

func (GetNetworkAssignIpv6Array) ElementType

func (GetNetworkAssignIpv6Array) ElementType() reflect.Type

func (GetNetworkAssignIpv6Array) ToGetNetworkAssignIpv6ArrayOutput

func (i GetNetworkAssignIpv6Array) ToGetNetworkAssignIpv6ArrayOutput() GetNetworkAssignIpv6ArrayOutput

func (GetNetworkAssignIpv6Array) ToGetNetworkAssignIpv6ArrayOutputWithContext

func (i GetNetworkAssignIpv6Array) ToGetNetworkAssignIpv6ArrayOutputWithContext(ctx context.Context) GetNetworkAssignIpv6ArrayOutput

type GetNetworkAssignIpv6ArrayInput

type GetNetworkAssignIpv6ArrayInput interface {
	pulumi.Input

	ToGetNetworkAssignIpv6ArrayOutput() GetNetworkAssignIpv6ArrayOutput
	ToGetNetworkAssignIpv6ArrayOutputWithContext(context.Context) GetNetworkAssignIpv6ArrayOutput
}

GetNetworkAssignIpv6ArrayInput is an input type that accepts GetNetworkAssignIpv6Array and GetNetworkAssignIpv6ArrayOutput values. You can construct a concrete instance of `GetNetworkAssignIpv6ArrayInput` via:

GetNetworkAssignIpv6Array{ GetNetworkAssignIpv6Args{...} }

type GetNetworkAssignIpv6ArrayOutput

type GetNetworkAssignIpv6ArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAssignIpv6ArrayOutput) ElementType

func (GetNetworkAssignIpv6ArrayOutput) Index

func (GetNetworkAssignIpv6ArrayOutput) ToGetNetworkAssignIpv6ArrayOutput

func (o GetNetworkAssignIpv6ArrayOutput) ToGetNetworkAssignIpv6ArrayOutput() GetNetworkAssignIpv6ArrayOutput

func (GetNetworkAssignIpv6ArrayOutput) ToGetNetworkAssignIpv6ArrayOutputWithContext

func (o GetNetworkAssignIpv6ArrayOutput) ToGetNetworkAssignIpv6ArrayOutputWithContext(ctx context.Context) GetNetworkAssignIpv6ArrayOutput

type GetNetworkAssignIpv6Input

type GetNetworkAssignIpv6Input interface {
	pulumi.Input

	ToGetNetworkAssignIpv6Output() GetNetworkAssignIpv6Output
	ToGetNetworkAssignIpv6OutputWithContext(context.Context) GetNetworkAssignIpv6Output
}

GetNetworkAssignIpv6Input is an input type that accepts GetNetworkAssignIpv6Args and GetNetworkAssignIpv6Output values. You can construct a concrete instance of `GetNetworkAssignIpv6Input` via:

GetNetworkAssignIpv6Args{...}

type GetNetworkAssignIpv6Output

type GetNetworkAssignIpv6Output struct{ *pulumi.OutputState }

func (GetNetworkAssignIpv6Output) ElementType

func (GetNetworkAssignIpv6Output) ElementType() reflect.Type

func (GetNetworkAssignIpv6Output) Rfc4193

func (GetNetworkAssignIpv6Output) Sixplane

func (GetNetworkAssignIpv6Output) ToGetNetworkAssignIpv6Output

func (o GetNetworkAssignIpv6Output) ToGetNetworkAssignIpv6Output() GetNetworkAssignIpv6Output

func (GetNetworkAssignIpv6Output) ToGetNetworkAssignIpv6OutputWithContext

func (o GetNetworkAssignIpv6Output) ToGetNetworkAssignIpv6OutputWithContext(ctx context.Context) GetNetworkAssignIpv6Output

func (GetNetworkAssignIpv6Output) Zerotier

type GetNetworkAssignmentPool

type GetNetworkAssignmentPool struct {
	End   *string `pulumi:"end"`
	Start *string `pulumi:"start"`
}

type GetNetworkAssignmentPoolArgs

type GetNetworkAssignmentPoolArgs struct {
	End   pulumi.StringPtrInput `pulumi:"end"`
	Start pulumi.StringPtrInput `pulumi:"start"`
}

func (GetNetworkAssignmentPoolArgs) ElementType

func (GetNetworkAssignmentPoolArgs) ToGetNetworkAssignmentPoolOutput

func (i GetNetworkAssignmentPoolArgs) ToGetNetworkAssignmentPoolOutput() GetNetworkAssignmentPoolOutput

func (GetNetworkAssignmentPoolArgs) ToGetNetworkAssignmentPoolOutputWithContext

func (i GetNetworkAssignmentPoolArgs) ToGetNetworkAssignmentPoolOutputWithContext(ctx context.Context) GetNetworkAssignmentPoolOutput

type GetNetworkAssignmentPoolArray

type GetNetworkAssignmentPoolArray []GetNetworkAssignmentPoolInput

func (GetNetworkAssignmentPoolArray) ElementType

func (GetNetworkAssignmentPoolArray) ToGetNetworkAssignmentPoolArrayOutput

func (i GetNetworkAssignmentPoolArray) ToGetNetworkAssignmentPoolArrayOutput() GetNetworkAssignmentPoolArrayOutput

func (GetNetworkAssignmentPoolArray) ToGetNetworkAssignmentPoolArrayOutputWithContext

func (i GetNetworkAssignmentPoolArray) ToGetNetworkAssignmentPoolArrayOutputWithContext(ctx context.Context) GetNetworkAssignmentPoolArrayOutput

type GetNetworkAssignmentPoolArrayInput

type GetNetworkAssignmentPoolArrayInput interface {
	pulumi.Input

	ToGetNetworkAssignmentPoolArrayOutput() GetNetworkAssignmentPoolArrayOutput
	ToGetNetworkAssignmentPoolArrayOutputWithContext(context.Context) GetNetworkAssignmentPoolArrayOutput
}

GetNetworkAssignmentPoolArrayInput is an input type that accepts GetNetworkAssignmentPoolArray and GetNetworkAssignmentPoolArrayOutput values. You can construct a concrete instance of `GetNetworkAssignmentPoolArrayInput` via:

GetNetworkAssignmentPoolArray{ GetNetworkAssignmentPoolArgs{...} }

type GetNetworkAssignmentPoolArrayOutput

type GetNetworkAssignmentPoolArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAssignmentPoolArrayOutput) ElementType

func (GetNetworkAssignmentPoolArrayOutput) Index

func (GetNetworkAssignmentPoolArrayOutput) ToGetNetworkAssignmentPoolArrayOutput

func (o GetNetworkAssignmentPoolArrayOutput) ToGetNetworkAssignmentPoolArrayOutput() GetNetworkAssignmentPoolArrayOutput

func (GetNetworkAssignmentPoolArrayOutput) ToGetNetworkAssignmentPoolArrayOutputWithContext

func (o GetNetworkAssignmentPoolArrayOutput) ToGetNetworkAssignmentPoolArrayOutputWithContext(ctx context.Context) GetNetworkAssignmentPoolArrayOutput

type GetNetworkAssignmentPoolInput

type GetNetworkAssignmentPoolInput interface {
	pulumi.Input

	ToGetNetworkAssignmentPoolOutput() GetNetworkAssignmentPoolOutput
	ToGetNetworkAssignmentPoolOutputWithContext(context.Context) GetNetworkAssignmentPoolOutput
}

GetNetworkAssignmentPoolInput is an input type that accepts GetNetworkAssignmentPoolArgs and GetNetworkAssignmentPoolOutput values. You can construct a concrete instance of `GetNetworkAssignmentPoolInput` via:

GetNetworkAssignmentPoolArgs{...}

type GetNetworkAssignmentPoolOutput

type GetNetworkAssignmentPoolOutput struct{ *pulumi.OutputState }

func (GetNetworkAssignmentPoolOutput) ElementType

func (GetNetworkAssignmentPoolOutput) End

func (GetNetworkAssignmentPoolOutput) Start

func (GetNetworkAssignmentPoolOutput) ToGetNetworkAssignmentPoolOutput

func (o GetNetworkAssignmentPoolOutput) ToGetNetworkAssignmentPoolOutput() GetNetworkAssignmentPoolOutput

func (GetNetworkAssignmentPoolOutput) ToGetNetworkAssignmentPoolOutputWithContext

func (o GetNetworkAssignmentPoolOutput) ToGetNetworkAssignmentPoolOutputWithContext(ctx context.Context) GetNetworkAssignmentPoolOutput

type GetNetworkRoute

type GetNetworkRoute struct {
	Target string  `pulumi:"target"`
	Via    *string `pulumi:"via"`
}

type GetNetworkRouteArgs

type GetNetworkRouteArgs struct {
	Target pulumi.StringInput    `pulumi:"target"`
	Via    pulumi.StringPtrInput `pulumi:"via"`
}

func (GetNetworkRouteArgs) ElementType

func (GetNetworkRouteArgs) ElementType() reflect.Type

func (GetNetworkRouteArgs) ToGetNetworkRouteOutput

func (i GetNetworkRouteArgs) ToGetNetworkRouteOutput() GetNetworkRouteOutput

func (GetNetworkRouteArgs) ToGetNetworkRouteOutputWithContext

func (i GetNetworkRouteArgs) ToGetNetworkRouteOutputWithContext(ctx context.Context) GetNetworkRouteOutput

type GetNetworkRouteArray

type GetNetworkRouteArray []GetNetworkRouteInput

func (GetNetworkRouteArray) ElementType

func (GetNetworkRouteArray) ElementType() reflect.Type

func (GetNetworkRouteArray) ToGetNetworkRouteArrayOutput

func (i GetNetworkRouteArray) ToGetNetworkRouteArrayOutput() GetNetworkRouteArrayOutput

func (GetNetworkRouteArray) ToGetNetworkRouteArrayOutputWithContext

func (i GetNetworkRouteArray) ToGetNetworkRouteArrayOutputWithContext(ctx context.Context) GetNetworkRouteArrayOutput

type GetNetworkRouteArrayInput

type GetNetworkRouteArrayInput interface {
	pulumi.Input

	ToGetNetworkRouteArrayOutput() GetNetworkRouteArrayOutput
	ToGetNetworkRouteArrayOutputWithContext(context.Context) GetNetworkRouteArrayOutput
}

GetNetworkRouteArrayInput is an input type that accepts GetNetworkRouteArray and GetNetworkRouteArrayOutput values. You can construct a concrete instance of `GetNetworkRouteArrayInput` via:

GetNetworkRouteArray{ GetNetworkRouteArgs{...} }

type GetNetworkRouteArrayOutput

type GetNetworkRouteArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkRouteArrayOutput) ElementType

func (GetNetworkRouteArrayOutput) ElementType() reflect.Type

func (GetNetworkRouteArrayOutput) Index

func (GetNetworkRouteArrayOutput) ToGetNetworkRouteArrayOutput

func (o GetNetworkRouteArrayOutput) ToGetNetworkRouteArrayOutput() GetNetworkRouteArrayOutput

func (GetNetworkRouteArrayOutput) ToGetNetworkRouteArrayOutputWithContext

func (o GetNetworkRouteArrayOutput) ToGetNetworkRouteArrayOutputWithContext(ctx context.Context) GetNetworkRouteArrayOutput

type GetNetworkRouteInput

type GetNetworkRouteInput interface {
	pulumi.Input

	ToGetNetworkRouteOutput() GetNetworkRouteOutput
	ToGetNetworkRouteOutputWithContext(context.Context) GetNetworkRouteOutput
}

GetNetworkRouteInput is an input type that accepts GetNetworkRouteArgs and GetNetworkRouteOutput values. You can construct a concrete instance of `GetNetworkRouteInput` via:

GetNetworkRouteArgs{...}

type GetNetworkRouteOutput

type GetNetworkRouteOutput struct{ *pulumi.OutputState }

func (GetNetworkRouteOutput) ElementType

func (GetNetworkRouteOutput) ElementType() reflect.Type

func (GetNetworkRouteOutput) Target

func (GetNetworkRouteOutput) ToGetNetworkRouteOutput

func (o GetNetworkRouteOutput) ToGetNetworkRouteOutput() GetNetworkRouteOutput

func (GetNetworkRouteOutput) ToGetNetworkRouteOutputWithContext

func (o GetNetworkRouteOutput) ToGetNetworkRouteOutputWithContext(ctx context.Context) GetNetworkRouteOutput

func (GetNetworkRouteOutput) Via

type Identity

type Identity struct {
	pulumi.CustomResourceState

	// The private key of the identity.
	PrivateKey pulumi.StringOutput `pulumi:"privateKey"`
	// The public key of the identity.
	PublicKey pulumi.StringOutput `pulumi:"publicKey"`
}

Identity generator for ZeroTier members. Use this provider with others to authenticate and join users to your networks.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/yckao/pulumi-zerotier/sdk/go/zerotier"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := zerotier.NewIdentity(ctx, "alice", nil)
		if err != nil {
			return err
		}
		_, err = zerotier.NewIdentity(ctx, "bob", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetIdentity

func GetIdentity(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IdentityState, opts ...pulumi.ResourceOption) (*Identity, error)

GetIdentity gets an existing Identity 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 NewIdentity

func NewIdentity(ctx *pulumi.Context,
	name string, args *IdentityArgs, opts ...pulumi.ResourceOption) (*Identity, error)

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

func (*Identity) ElementType

func (*Identity) ElementType() reflect.Type

func (*Identity) ToIdentityOutput

func (i *Identity) ToIdentityOutput() IdentityOutput

func (*Identity) ToIdentityOutputWithContext

func (i *Identity) ToIdentityOutputWithContext(ctx context.Context) IdentityOutput

type IdentityArgs

type IdentityArgs struct {
}

The set of arguments for constructing a Identity resource.

func (IdentityArgs) ElementType

func (IdentityArgs) ElementType() reflect.Type

type IdentityArray

type IdentityArray []IdentityInput

func (IdentityArray) ElementType

func (IdentityArray) ElementType() reflect.Type

func (IdentityArray) ToIdentityArrayOutput

func (i IdentityArray) ToIdentityArrayOutput() IdentityArrayOutput

func (IdentityArray) ToIdentityArrayOutputWithContext

func (i IdentityArray) ToIdentityArrayOutputWithContext(ctx context.Context) IdentityArrayOutput

type IdentityArrayInput

type IdentityArrayInput interface {
	pulumi.Input

	ToIdentityArrayOutput() IdentityArrayOutput
	ToIdentityArrayOutputWithContext(context.Context) IdentityArrayOutput
}

IdentityArrayInput is an input type that accepts IdentityArray and IdentityArrayOutput values. You can construct a concrete instance of `IdentityArrayInput` via:

IdentityArray{ IdentityArgs{...} }

type IdentityArrayOutput

type IdentityArrayOutput struct{ *pulumi.OutputState }

func (IdentityArrayOutput) ElementType

func (IdentityArrayOutput) ElementType() reflect.Type

func (IdentityArrayOutput) Index

func (IdentityArrayOutput) ToIdentityArrayOutput

func (o IdentityArrayOutput) ToIdentityArrayOutput() IdentityArrayOutput

func (IdentityArrayOutput) ToIdentityArrayOutputWithContext

func (o IdentityArrayOutput) ToIdentityArrayOutputWithContext(ctx context.Context) IdentityArrayOutput

type IdentityInput

type IdentityInput interface {
	pulumi.Input

	ToIdentityOutput() IdentityOutput
	ToIdentityOutputWithContext(ctx context.Context) IdentityOutput
}

type IdentityMap

type IdentityMap map[string]IdentityInput

func (IdentityMap) ElementType

func (IdentityMap) ElementType() reflect.Type

func (IdentityMap) ToIdentityMapOutput

func (i IdentityMap) ToIdentityMapOutput() IdentityMapOutput

func (IdentityMap) ToIdentityMapOutputWithContext

func (i IdentityMap) ToIdentityMapOutputWithContext(ctx context.Context) IdentityMapOutput

type IdentityMapInput

type IdentityMapInput interface {
	pulumi.Input

	ToIdentityMapOutput() IdentityMapOutput
	ToIdentityMapOutputWithContext(context.Context) IdentityMapOutput
}

IdentityMapInput is an input type that accepts IdentityMap and IdentityMapOutput values. You can construct a concrete instance of `IdentityMapInput` via:

IdentityMap{ "key": IdentityArgs{...} }

type IdentityMapOutput

type IdentityMapOutput struct{ *pulumi.OutputState }

func (IdentityMapOutput) ElementType

func (IdentityMapOutput) ElementType() reflect.Type

func (IdentityMapOutput) MapIndex

func (IdentityMapOutput) ToIdentityMapOutput

func (o IdentityMapOutput) ToIdentityMapOutput() IdentityMapOutput

func (IdentityMapOutput) ToIdentityMapOutputWithContext

func (o IdentityMapOutput) ToIdentityMapOutputWithContext(ctx context.Context) IdentityMapOutput

type IdentityOutput

type IdentityOutput struct{ *pulumi.OutputState }

func (IdentityOutput) ElementType

func (IdentityOutput) ElementType() reflect.Type

func (IdentityOutput) ToIdentityOutput

func (o IdentityOutput) ToIdentityOutput() IdentityOutput

func (IdentityOutput) ToIdentityOutputWithContext

func (o IdentityOutput) ToIdentityOutputWithContext(ctx context.Context) IdentityOutput

type IdentityState

type IdentityState struct {
	// The private key of the identity.
	PrivateKey pulumi.StringPtrInput
	// The public key of the identity.
	PublicKey pulumi.StringPtrInput
}

func (IdentityState) ElementType

func (IdentityState) ElementType() reflect.Type

type LookupNetworkArgs

type LookupNetworkArgs struct {
	// IPv4 Assignment RuleSets
	AssignIpv4s []GetNetworkAssignIpv4 `pulumi:"assignIpv4s"`
	// IPv6 Assignment RuleSets
	AssignIpv6s []GetNetworkAssignIpv6 `pulumi:"assignIpv6s"`
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools []GetNetworkAssignmentPool `pulumi:"assignmentPools"`
	// The description of the network
	Description *string `pulumi:"description"`
	// Enable broadcast packets on the network
	EnableBroadcast *bool `pulumi:"enableBroadcast"`
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules *string `pulumi:"flowRules"`
	// ZeroTier's internal network identifier, aka NetworkID
	Id *string `pulumi:"id"`
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit *int `pulumi:"multicastLimit"`
	// The name of the network
	Name *string `pulumi:"name"`
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private *bool `pulumi:"private"`
	// A ipv4 or ipv6 network route
	Routes []GetNetworkRoute `pulumi:"routes"`
}

A collection of arguments for invoking getNetwork.

type LookupNetworkOutputArgs

type LookupNetworkOutputArgs struct {
	// IPv4 Assignment RuleSets
	AssignIpv4s GetNetworkAssignIpv4ArrayInput `pulumi:"assignIpv4s"`
	// IPv6 Assignment RuleSets
	AssignIpv6s GetNetworkAssignIpv6ArrayInput `pulumi:"assignIpv6s"`
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools GetNetworkAssignmentPoolArrayInput `pulumi:"assignmentPools"`
	// The description of the network
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Enable broadcast packets on the network
	EnableBroadcast pulumi.BoolPtrInput `pulumi:"enableBroadcast"`
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules pulumi.StringPtrInput `pulumi:"flowRules"`
	// ZeroTier's internal network identifier, aka NetworkID
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit pulumi.IntPtrInput `pulumi:"multicastLimit"`
	// The name of the network
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private pulumi.BoolPtrInput `pulumi:"private"`
	// A ipv4 or ipv6 network route
	Routes GetNetworkRouteArrayInput `pulumi:"routes"`
}

A collection of arguments for invoking getNetwork.

func (LookupNetworkOutputArgs) ElementType

func (LookupNetworkOutputArgs) ElementType() reflect.Type

type LookupNetworkResult

type LookupNetworkResult struct {
	// IPv4 Assignment RuleSets
	AssignIpv4s []GetNetworkAssignIpv4 `pulumi:"assignIpv4s"`
	// IPv6 Assignment RuleSets
	AssignIpv6s []GetNetworkAssignIpv6 `pulumi:"assignIpv6s"`
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools []GetNetworkAssignmentPool `pulumi:"assignmentPools"`
	// The time at which this network was created, in epoch seconds
	CreationTime int `pulumi:"creationTime"`
	// The description of the network
	Description *string `pulumi:"description"`
	// Enable broadcast packets on the network
	EnableBroadcast *bool `pulumi:"enableBroadcast"`
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules *string `pulumi:"flowRules"`
	// ZeroTier's internal network identifier, aka NetworkID
	Id string `pulumi:"id"`
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit *int `pulumi:"multicastLimit"`
	// The name of the network
	Name string `pulumi:"name"`
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private *bool `pulumi:"private"`
	// A ipv4 or ipv6 network route
	Routes []GetNetworkRoute `pulumi:"routes"`
}

A collection of values returned by getNetwork.

func LookupNetwork

func LookupNetwork(ctx *pulumi.Context, args *LookupNetworkArgs, opts ...pulumi.InvokeOption) (*LookupNetworkResult, error)

Data source for ZeroTier networks, allowing you to find a network by ID

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-zerotier/sdk/go/zerotier"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/yckao/pulumi-zerotier/sdk/go/zerotier"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := zerotier.LookupNetwork(ctx, &GetNetworkArgs{
			Id: pulumi.StringRef(zerotier_network.Bobs_garage.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupNetworkResultOutput

type LookupNetworkResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNetwork.

func (LookupNetworkResultOutput) AssignIpv4s

IPv4 Assignment RuleSets

func (LookupNetworkResultOutput) AssignIpv6s

IPv6 Assignment RuleSets

func (LookupNetworkResultOutput) AssignmentPools

Rules regarding IPv4 and IPv6 assignments

func (LookupNetworkResultOutput) CreationTime

func (o LookupNetworkResultOutput) CreationTime() pulumi.IntOutput

The time at which this network was created, in epoch seconds

func (LookupNetworkResultOutput) Description

The description of the network

func (LookupNetworkResultOutput) ElementType

func (LookupNetworkResultOutput) ElementType() reflect.Type

func (LookupNetworkResultOutput) EnableBroadcast

func (o LookupNetworkResultOutput) EnableBroadcast() pulumi.BoolPtrOutput

Enable broadcast packets on the network

func (LookupNetworkResultOutput) FlowRules

The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.

func (LookupNetworkResultOutput) Id

ZeroTier's internal network identifier, aka NetworkID

func (LookupNetworkResultOutput) MulticastLimit

func (o LookupNetworkResultOutput) MulticastLimit() pulumi.IntPtrOutput

Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!

func (LookupNetworkResultOutput) Name

The name of the network

func (LookupNetworkResultOutput) Private

Whether or not the network is private. If false, members will *NOT* need to be authorized to join.

func (LookupNetworkResultOutput) Routes

A ipv4 or ipv6 network route

func (LookupNetworkResultOutput) ToLookupNetworkResultOutput

func (o LookupNetworkResultOutput) ToLookupNetworkResultOutput() LookupNetworkResultOutput

func (LookupNetworkResultOutput) ToLookupNetworkResultOutputWithContext

func (o LookupNetworkResultOutput) ToLookupNetworkResultOutputWithContext(ctx context.Context) LookupNetworkResultOutput

type Member

type Member struct {
	pulumi.CustomResourceState

	// Is this member allowed to activate ethernet bridging over the ZeroTier network?
	AllowEthernetBridging pulumi.BoolPtrOutput `pulumi:"allowEthernetBridging"`
	// Is the member authorized on the network?
	Authorized pulumi.BoolPtrOutput `pulumi:"authorized"`
	// List of network capabilities
	Capabilities pulumi.IntArrayOutput `pulumi:"capabilities"`
	// Text description of this member.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Is this member visible?
	Hidden pulumi.BoolPtrOutput `pulumi:"hidden"`
	// List of IP address assignments
	IpAssignments pulumi.StringArrayOutput `pulumi:"ipAssignments"`
	// ID of this member.
	MemberId pulumi.StringOutput `pulumi:"memberId"`
	// Descriptive name of this member.
	Name pulumi.StringOutput `pulumi:"name"`
	// ID of the network this member belongs to
	NetworkId pulumi.StringOutput `pulumi:"networkId"`
	// Exempt this member from the IP auto assignment pool on a Network
	NoAutoAssignIps pulumi.BoolPtrOutput `pulumi:"noAutoAssignIps"`
	// List of network tags
	Tags pulumi.IntArrayArrayOutput `pulumi:"tags"`
}

Manage ZeroTier members and join them to networks

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/yckao/pulumi-zerotier/sdk/go/zerotier"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := zerotier.NewMember(ctx, "alice", &zerotier.MemberArgs{
			MemberId:              pulumi.Any(zerotier_identity.Alice.Id),
			NetworkId:             pulumi.Any(zerotier_network.Alicenet.Id),
			Description:           pulumi.String("Hello, world"),
			Hidden:                pulumi.Bool(true),
			AllowEthernetBridging: pulumi.Bool(true),
			NoAutoAssignIps:       pulumi.Bool(true),
			IpAssignments: pulumi.StringArray{
				pulumi.String("10.0.0.1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetMember

func GetMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MemberState, opts ...pulumi.ResourceOption) (*Member, error)

GetMember gets an existing Member 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 NewMember

func NewMember(ctx *pulumi.Context,
	name string, args *MemberArgs, opts ...pulumi.ResourceOption) (*Member, error)

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

func (*Member) ElementType

func (*Member) ElementType() reflect.Type

func (*Member) ToMemberOutput

func (i *Member) ToMemberOutput() MemberOutput

func (*Member) ToMemberOutputWithContext

func (i *Member) ToMemberOutputWithContext(ctx context.Context) MemberOutput

type MemberArgs

type MemberArgs struct {
	// Is this member allowed to activate ethernet bridging over the ZeroTier network?
	AllowEthernetBridging pulumi.BoolPtrInput
	// Is the member authorized on the network?
	Authorized pulumi.BoolPtrInput
	// List of network capabilities
	Capabilities pulumi.IntArrayInput
	// Text description of this member.
	Description pulumi.StringPtrInput
	// Is this member visible?
	Hidden pulumi.BoolPtrInput
	// List of IP address assignments
	IpAssignments pulumi.StringArrayInput
	// ID of this member.
	MemberId pulumi.StringInput
	// Descriptive name of this member.
	Name pulumi.StringPtrInput
	// ID of the network this member belongs to
	NetworkId pulumi.StringInput
	// Exempt this member from the IP auto assignment pool on a Network
	NoAutoAssignIps pulumi.BoolPtrInput
	// List of network tags
	Tags pulumi.IntArrayArrayInput
}

The set of arguments for constructing a Member resource.

func (MemberArgs) ElementType

func (MemberArgs) ElementType() reflect.Type

type MemberArray

type MemberArray []MemberInput

func (MemberArray) ElementType

func (MemberArray) ElementType() reflect.Type

func (MemberArray) ToMemberArrayOutput

func (i MemberArray) ToMemberArrayOutput() MemberArrayOutput

func (MemberArray) ToMemberArrayOutputWithContext

func (i MemberArray) ToMemberArrayOutputWithContext(ctx context.Context) MemberArrayOutput

type MemberArrayInput

type MemberArrayInput interface {
	pulumi.Input

	ToMemberArrayOutput() MemberArrayOutput
	ToMemberArrayOutputWithContext(context.Context) MemberArrayOutput
}

MemberArrayInput is an input type that accepts MemberArray and MemberArrayOutput values. You can construct a concrete instance of `MemberArrayInput` via:

MemberArray{ MemberArgs{...} }

type MemberArrayOutput

type MemberArrayOutput struct{ *pulumi.OutputState }

func (MemberArrayOutput) ElementType

func (MemberArrayOutput) ElementType() reflect.Type

func (MemberArrayOutput) Index

func (MemberArrayOutput) ToMemberArrayOutput

func (o MemberArrayOutput) ToMemberArrayOutput() MemberArrayOutput

func (MemberArrayOutput) ToMemberArrayOutputWithContext

func (o MemberArrayOutput) ToMemberArrayOutputWithContext(ctx context.Context) MemberArrayOutput

type MemberInput

type MemberInput interface {
	pulumi.Input

	ToMemberOutput() MemberOutput
	ToMemberOutputWithContext(ctx context.Context) MemberOutput
}

type MemberMap

type MemberMap map[string]MemberInput

func (MemberMap) ElementType

func (MemberMap) ElementType() reflect.Type

func (MemberMap) ToMemberMapOutput

func (i MemberMap) ToMemberMapOutput() MemberMapOutput

func (MemberMap) ToMemberMapOutputWithContext

func (i MemberMap) ToMemberMapOutputWithContext(ctx context.Context) MemberMapOutput

type MemberMapInput

type MemberMapInput interface {
	pulumi.Input

	ToMemberMapOutput() MemberMapOutput
	ToMemberMapOutputWithContext(context.Context) MemberMapOutput
}

MemberMapInput is an input type that accepts MemberMap and MemberMapOutput values. You can construct a concrete instance of `MemberMapInput` via:

MemberMap{ "key": MemberArgs{...} }

type MemberMapOutput

type MemberMapOutput struct{ *pulumi.OutputState }

func (MemberMapOutput) ElementType

func (MemberMapOutput) ElementType() reflect.Type

func (MemberMapOutput) MapIndex

func (MemberMapOutput) ToMemberMapOutput

func (o MemberMapOutput) ToMemberMapOutput() MemberMapOutput

func (MemberMapOutput) ToMemberMapOutputWithContext

func (o MemberMapOutput) ToMemberMapOutputWithContext(ctx context.Context) MemberMapOutput

type MemberOutput

type MemberOutput struct{ *pulumi.OutputState }

func (MemberOutput) ElementType

func (MemberOutput) ElementType() reflect.Type

func (MemberOutput) ToMemberOutput

func (o MemberOutput) ToMemberOutput() MemberOutput

func (MemberOutput) ToMemberOutputWithContext

func (o MemberOutput) ToMemberOutputWithContext(ctx context.Context) MemberOutput

type MemberState

type MemberState struct {
	// Is this member allowed to activate ethernet bridging over the ZeroTier network?
	AllowEthernetBridging pulumi.BoolPtrInput
	// Is the member authorized on the network?
	Authorized pulumi.BoolPtrInput
	// List of network capabilities
	Capabilities pulumi.IntArrayInput
	// Text description of this member.
	Description pulumi.StringPtrInput
	// Is this member visible?
	Hidden pulumi.BoolPtrInput
	// List of IP address assignments
	IpAssignments pulumi.StringArrayInput
	// ID of this member.
	MemberId pulumi.StringPtrInput
	// Descriptive name of this member.
	Name pulumi.StringPtrInput
	// ID of the network this member belongs to
	NetworkId pulumi.StringPtrInput
	// Exempt this member from the IP auto assignment pool on a Network
	NoAutoAssignIps pulumi.BoolPtrInput
	// List of network tags
	Tags pulumi.IntArrayArrayInput
}

func (MemberState) ElementType

func (MemberState) ElementType() reflect.Type

type Network

type Network struct {
	pulumi.CustomResourceState

	// IPv4 Assignment RuleSets
	AssignIpv4s NetworkAssignIpv4ArrayOutput `pulumi:"assignIpv4s"`
	// IPv6 Assignment RuleSets
	AssignIpv6s NetworkAssignIpv6ArrayOutput `pulumi:"assignIpv6s"`
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools NetworkAssignmentPoolArrayOutput `pulumi:"assignmentPools"`
	// The time at which this network was created, in epoch seconds
	CreationTime pulumi.IntOutput `pulumi:"creationTime"`
	// The description of the network
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Enable broadcast packets on the network
	EnableBroadcast pulumi.BoolPtrOutput `pulumi:"enableBroadcast"`
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules pulumi.StringPtrOutput `pulumi:"flowRules"`
	// ZeroTier's internal network identifier, aka NetworkID
	Id pulumi.StringOutput `pulumi:"id"`
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit pulumi.IntPtrOutput `pulumi:"multicastLimit"`
	// The name of the network
	Name pulumi.StringOutput `pulumi:"name"`
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private pulumi.BoolPtrOutput `pulumi:"private"`
	// A ipv4 or ipv6 network route
	Routes NetworkRouteArrayOutput `pulumi:"routes"`
}

Network provider for ZeroTier, allows you to create ZeroTier networks.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-zerotier/sdk/go/zerotier"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/yckao/pulumi-zerotier/sdk/go/zerotier"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := zerotier.NewNetwork(ctx, "myNetwork", &zerotier.NetworkArgs{
			AssignIpv4s: NetworkAssignIpv4Array{
				&NetworkAssignIpv4Args{
					Zerotier: pulumi.Bool(true),
				},
			},
			AssignIpv6s: NetworkAssignIpv6Array{
				&NetworkAssignIpv6Args{
					Rfc4193:  pulumi.Bool(false),
					Sixplane: pulumi.Bool(false),
					Zerotier: pulumi.Bool(true),
				},
			},
			Description:     pulumi.String("Managed by Terraform"),
			EnableBroadcast: pulumi.Bool(true),
			FlowRules:       pulumi.String("accept;"),
			Private:         pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Networks can be imported using their ID, e.g.

```sh

$ pulumi import zerotier:index/network:Network network 8056c2e21c1930be

```

func GetNetwork

func GetNetwork(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkState, opts ...pulumi.ResourceOption) (*Network, error)

GetNetwork gets an existing Network 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 NewNetwork

func NewNetwork(ctx *pulumi.Context,
	name string, args *NetworkArgs, opts ...pulumi.ResourceOption) (*Network, error)

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

func (*Network) ElementType

func (*Network) ElementType() reflect.Type

func (*Network) ToNetworkOutput

func (i *Network) ToNetworkOutput() NetworkOutput

func (*Network) ToNetworkOutputWithContext

func (i *Network) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput

type NetworkArgs

type NetworkArgs struct {
	// IPv4 Assignment RuleSets
	AssignIpv4s NetworkAssignIpv4ArrayInput
	// IPv6 Assignment RuleSets
	AssignIpv6s NetworkAssignIpv6ArrayInput
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools NetworkAssignmentPoolArrayInput
	// The description of the network
	Description pulumi.StringPtrInput
	// Enable broadcast packets on the network
	EnableBroadcast pulumi.BoolPtrInput
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules pulumi.StringPtrInput
	// ZeroTier's internal network identifier, aka NetworkID
	Id pulumi.StringPtrInput
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit pulumi.IntPtrInput
	// The name of the network
	Name pulumi.StringPtrInput
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private pulumi.BoolPtrInput
	// A ipv4 or ipv6 network route
	Routes NetworkRouteArrayInput
}

The set of arguments for constructing a Network resource.

func (NetworkArgs) ElementType

func (NetworkArgs) ElementType() reflect.Type

type NetworkArray

type NetworkArray []NetworkInput

func (NetworkArray) ElementType

func (NetworkArray) ElementType() reflect.Type

func (NetworkArray) ToNetworkArrayOutput

func (i NetworkArray) ToNetworkArrayOutput() NetworkArrayOutput

func (NetworkArray) ToNetworkArrayOutputWithContext

func (i NetworkArray) ToNetworkArrayOutputWithContext(ctx context.Context) NetworkArrayOutput

type NetworkArrayInput

type NetworkArrayInput interface {
	pulumi.Input

	ToNetworkArrayOutput() NetworkArrayOutput
	ToNetworkArrayOutputWithContext(context.Context) NetworkArrayOutput
}

NetworkArrayInput is an input type that accepts NetworkArray and NetworkArrayOutput values. You can construct a concrete instance of `NetworkArrayInput` via:

NetworkArray{ NetworkArgs{...} }

type NetworkArrayOutput

type NetworkArrayOutput struct{ *pulumi.OutputState }

func (NetworkArrayOutput) ElementType

func (NetworkArrayOutput) ElementType() reflect.Type

func (NetworkArrayOutput) Index

func (NetworkArrayOutput) ToNetworkArrayOutput

func (o NetworkArrayOutput) ToNetworkArrayOutput() NetworkArrayOutput

func (NetworkArrayOutput) ToNetworkArrayOutputWithContext

func (o NetworkArrayOutput) ToNetworkArrayOutputWithContext(ctx context.Context) NetworkArrayOutput

type NetworkAssignIpv4

type NetworkAssignIpv4 struct {
	Zerotier *bool `pulumi:"zerotier"`
}

type NetworkAssignIpv4Args

type NetworkAssignIpv4Args struct {
	Zerotier pulumi.BoolPtrInput `pulumi:"zerotier"`
}

func (NetworkAssignIpv4Args) ElementType

func (NetworkAssignIpv4Args) ElementType() reflect.Type

func (NetworkAssignIpv4Args) ToNetworkAssignIpv4Output

func (i NetworkAssignIpv4Args) ToNetworkAssignIpv4Output() NetworkAssignIpv4Output

func (NetworkAssignIpv4Args) ToNetworkAssignIpv4OutputWithContext

func (i NetworkAssignIpv4Args) ToNetworkAssignIpv4OutputWithContext(ctx context.Context) NetworkAssignIpv4Output

type NetworkAssignIpv4Array

type NetworkAssignIpv4Array []NetworkAssignIpv4Input

func (NetworkAssignIpv4Array) ElementType

func (NetworkAssignIpv4Array) ElementType() reflect.Type

func (NetworkAssignIpv4Array) ToNetworkAssignIpv4ArrayOutput

func (i NetworkAssignIpv4Array) ToNetworkAssignIpv4ArrayOutput() NetworkAssignIpv4ArrayOutput

func (NetworkAssignIpv4Array) ToNetworkAssignIpv4ArrayOutputWithContext

func (i NetworkAssignIpv4Array) ToNetworkAssignIpv4ArrayOutputWithContext(ctx context.Context) NetworkAssignIpv4ArrayOutput

type NetworkAssignIpv4ArrayInput

type NetworkAssignIpv4ArrayInput interface {
	pulumi.Input

	ToNetworkAssignIpv4ArrayOutput() NetworkAssignIpv4ArrayOutput
	ToNetworkAssignIpv4ArrayOutputWithContext(context.Context) NetworkAssignIpv4ArrayOutput
}

NetworkAssignIpv4ArrayInput is an input type that accepts NetworkAssignIpv4Array and NetworkAssignIpv4ArrayOutput values. You can construct a concrete instance of `NetworkAssignIpv4ArrayInput` via:

NetworkAssignIpv4Array{ NetworkAssignIpv4Args{...} }

type NetworkAssignIpv4ArrayOutput

type NetworkAssignIpv4ArrayOutput struct{ *pulumi.OutputState }

func (NetworkAssignIpv4ArrayOutput) ElementType

func (NetworkAssignIpv4ArrayOutput) Index

func (NetworkAssignIpv4ArrayOutput) ToNetworkAssignIpv4ArrayOutput

func (o NetworkAssignIpv4ArrayOutput) ToNetworkAssignIpv4ArrayOutput() NetworkAssignIpv4ArrayOutput

func (NetworkAssignIpv4ArrayOutput) ToNetworkAssignIpv4ArrayOutputWithContext

func (o NetworkAssignIpv4ArrayOutput) ToNetworkAssignIpv4ArrayOutputWithContext(ctx context.Context) NetworkAssignIpv4ArrayOutput

type NetworkAssignIpv4Input

type NetworkAssignIpv4Input interface {
	pulumi.Input

	ToNetworkAssignIpv4Output() NetworkAssignIpv4Output
	ToNetworkAssignIpv4OutputWithContext(context.Context) NetworkAssignIpv4Output
}

NetworkAssignIpv4Input is an input type that accepts NetworkAssignIpv4Args and NetworkAssignIpv4Output values. You can construct a concrete instance of `NetworkAssignIpv4Input` via:

NetworkAssignIpv4Args{...}

type NetworkAssignIpv4Output

type NetworkAssignIpv4Output struct{ *pulumi.OutputState }

func (NetworkAssignIpv4Output) ElementType

func (NetworkAssignIpv4Output) ElementType() reflect.Type

func (NetworkAssignIpv4Output) ToNetworkAssignIpv4Output

func (o NetworkAssignIpv4Output) ToNetworkAssignIpv4Output() NetworkAssignIpv4Output

func (NetworkAssignIpv4Output) ToNetworkAssignIpv4OutputWithContext

func (o NetworkAssignIpv4Output) ToNetworkAssignIpv4OutputWithContext(ctx context.Context) NetworkAssignIpv4Output

func (NetworkAssignIpv4Output) Zerotier

type NetworkAssignIpv6

type NetworkAssignIpv6 struct {
	Rfc4193  *bool `pulumi:"rfc4193"`
	Sixplane *bool `pulumi:"sixplane"`
	Zerotier *bool `pulumi:"zerotier"`
}

type NetworkAssignIpv6Args

type NetworkAssignIpv6Args struct {
	Rfc4193  pulumi.BoolPtrInput `pulumi:"rfc4193"`
	Sixplane pulumi.BoolPtrInput `pulumi:"sixplane"`
	Zerotier pulumi.BoolPtrInput `pulumi:"zerotier"`
}

func (NetworkAssignIpv6Args) ElementType

func (NetworkAssignIpv6Args) ElementType() reflect.Type

func (NetworkAssignIpv6Args) ToNetworkAssignIpv6Output

func (i NetworkAssignIpv6Args) ToNetworkAssignIpv6Output() NetworkAssignIpv6Output

func (NetworkAssignIpv6Args) ToNetworkAssignIpv6OutputWithContext

func (i NetworkAssignIpv6Args) ToNetworkAssignIpv6OutputWithContext(ctx context.Context) NetworkAssignIpv6Output

type NetworkAssignIpv6Array

type NetworkAssignIpv6Array []NetworkAssignIpv6Input

func (NetworkAssignIpv6Array) ElementType

func (NetworkAssignIpv6Array) ElementType() reflect.Type

func (NetworkAssignIpv6Array) ToNetworkAssignIpv6ArrayOutput

func (i NetworkAssignIpv6Array) ToNetworkAssignIpv6ArrayOutput() NetworkAssignIpv6ArrayOutput

func (NetworkAssignIpv6Array) ToNetworkAssignIpv6ArrayOutputWithContext

func (i NetworkAssignIpv6Array) ToNetworkAssignIpv6ArrayOutputWithContext(ctx context.Context) NetworkAssignIpv6ArrayOutput

type NetworkAssignIpv6ArrayInput

type NetworkAssignIpv6ArrayInput interface {
	pulumi.Input

	ToNetworkAssignIpv6ArrayOutput() NetworkAssignIpv6ArrayOutput
	ToNetworkAssignIpv6ArrayOutputWithContext(context.Context) NetworkAssignIpv6ArrayOutput
}

NetworkAssignIpv6ArrayInput is an input type that accepts NetworkAssignIpv6Array and NetworkAssignIpv6ArrayOutput values. You can construct a concrete instance of `NetworkAssignIpv6ArrayInput` via:

NetworkAssignIpv6Array{ NetworkAssignIpv6Args{...} }

type NetworkAssignIpv6ArrayOutput

type NetworkAssignIpv6ArrayOutput struct{ *pulumi.OutputState }

func (NetworkAssignIpv6ArrayOutput) ElementType

func (NetworkAssignIpv6ArrayOutput) Index

func (NetworkAssignIpv6ArrayOutput) ToNetworkAssignIpv6ArrayOutput

func (o NetworkAssignIpv6ArrayOutput) ToNetworkAssignIpv6ArrayOutput() NetworkAssignIpv6ArrayOutput

func (NetworkAssignIpv6ArrayOutput) ToNetworkAssignIpv6ArrayOutputWithContext

func (o NetworkAssignIpv6ArrayOutput) ToNetworkAssignIpv6ArrayOutputWithContext(ctx context.Context) NetworkAssignIpv6ArrayOutput

type NetworkAssignIpv6Input

type NetworkAssignIpv6Input interface {
	pulumi.Input

	ToNetworkAssignIpv6Output() NetworkAssignIpv6Output
	ToNetworkAssignIpv6OutputWithContext(context.Context) NetworkAssignIpv6Output
}

NetworkAssignIpv6Input is an input type that accepts NetworkAssignIpv6Args and NetworkAssignIpv6Output values. You can construct a concrete instance of `NetworkAssignIpv6Input` via:

NetworkAssignIpv6Args{...}

type NetworkAssignIpv6Output

type NetworkAssignIpv6Output struct{ *pulumi.OutputState }

func (NetworkAssignIpv6Output) ElementType

func (NetworkAssignIpv6Output) ElementType() reflect.Type

func (NetworkAssignIpv6Output) Rfc4193

func (NetworkAssignIpv6Output) Sixplane

func (NetworkAssignIpv6Output) ToNetworkAssignIpv6Output

func (o NetworkAssignIpv6Output) ToNetworkAssignIpv6Output() NetworkAssignIpv6Output

func (NetworkAssignIpv6Output) ToNetworkAssignIpv6OutputWithContext

func (o NetworkAssignIpv6Output) ToNetworkAssignIpv6OutputWithContext(ctx context.Context) NetworkAssignIpv6Output

func (NetworkAssignIpv6Output) Zerotier

type NetworkAssignmentPool

type NetworkAssignmentPool struct {
	// The last address in the assignment rule. This must be the highest number in the pool. end must also be accompanied by start.
	End *string `pulumi:"end"`
	// The first address in the assignment rule. This must be the lowest number in the pool. `start` must also be accompanied by `end`.
	Start *string `pulumi:"start"`
}

type NetworkAssignmentPoolArgs

type NetworkAssignmentPoolArgs struct {
	// The last address in the assignment rule. This must be the highest number in the pool. end must also be accompanied by start.
	End pulumi.StringPtrInput `pulumi:"end"`
	// The first address in the assignment rule. This must be the lowest number in the pool. `start` must also be accompanied by `end`.
	Start pulumi.StringPtrInput `pulumi:"start"`
}

func (NetworkAssignmentPoolArgs) ElementType

func (NetworkAssignmentPoolArgs) ElementType() reflect.Type

func (NetworkAssignmentPoolArgs) ToNetworkAssignmentPoolOutput

func (i NetworkAssignmentPoolArgs) ToNetworkAssignmentPoolOutput() NetworkAssignmentPoolOutput

func (NetworkAssignmentPoolArgs) ToNetworkAssignmentPoolOutputWithContext

func (i NetworkAssignmentPoolArgs) ToNetworkAssignmentPoolOutputWithContext(ctx context.Context) NetworkAssignmentPoolOutput

type NetworkAssignmentPoolArray

type NetworkAssignmentPoolArray []NetworkAssignmentPoolInput

func (NetworkAssignmentPoolArray) ElementType

func (NetworkAssignmentPoolArray) ElementType() reflect.Type

func (NetworkAssignmentPoolArray) ToNetworkAssignmentPoolArrayOutput

func (i NetworkAssignmentPoolArray) ToNetworkAssignmentPoolArrayOutput() NetworkAssignmentPoolArrayOutput

func (NetworkAssignmentPoolArray) ToNetworkAssignmentPoolArrayOutputWithContext

func (i NetworkAssignmentPoolArray) ToNetworkAssignmentPoolArrayOutputWithContext(ctx context.Context) NetworkAssignmentPoolArrayOutput

type NetworkAssignmentPoolArrayInput

type NetworkAssignmentPoolArrayInput interface {
	pulumi.Input

	ToNetworkAssignmentPoolArrayOutput() NetworkAssignmentPoolArrayOutput
	ToNetworkAssignmentPoolArrayOutputWithContext(context.Context) NetworkAssignmentPoolArrayOutput
}

NetworkAssignmentPoolArrayInput is an input type that accepts NetworkAssignmentPoolArray and NetworkAssignmentPoolArrayOutput values. You can construct a concrete instance of `NetworkAssignmentPoolArrayInput` via:

NetworkAssignmentPoolArray{ NetworkAssignmentPoolArgs{...} }

type NetworkAssignmentPoolArrayOutput

type NetworkAssignmentPoolArrayOutput struct{ *pulumi.OutputState }

func (NetworkAssignmentPoolArrayOutput) ElementType

func (NetworkAssignmentPoolArrayOutput) Index

func (NetworkAssignmentPoolArrayOutput) ToNetworkAssignmentPoolArrayOutput

func (o NetworkAssignmentPoolArrayOutput) ToNetworkAssignmentPoolArrayOutput() NetworkAssignmentPoolArrayOutput

func (NetworkAssignmentPoolArrayOutput) ToNetworkAssignmentPoolArrayOutputWithContext

func (o NetworkAssignmentPoolArrayOutput) ToNetworkAssignmentPoolArrayOutputWithContext(ctx context.Context) NetworkAssignmentPoolArrayOutput

type NetworkAssignmentPoolInput

type NetworkAssignmentPoolInput interface {
	pulumi.Input

	ToNetworkAssignmentPoolOutput() NetworkAssignmentPoolOutput
	ToNetworkAssignmentPoolOutputWithContext(context.Context) NetworkAssignmentPoolOutput
}

NetworkAssignmentPoolInput is an input type that accepts NetworkAssignmentPoolArgs and NetworkAssignmentPoolOutput values. You can construct a concrete instance of `NetworkAssignmentPoolInput` via:

NetworkAssignmentPoolArgs{...}

type NetworkAssignmentPoolOutput

type NetworkAssignmentPoolOutput struct{ *pulumi.OutputState }

func (NetworkAssignmentPoolOutput) ElementType

func (NetworkAssignmentPoolOutput) End

The last address in the assignment rule. This must be the highest number in the pool. end must also be accompanied by start.

func (NetworkAssignmentPoolOutput) Start

The first address in the assignment rule. This must be the lowest number in the pool. `start` must also be accompanied by `end`.

func (NetworkAssignmentPoolOutput) ToNetworkAssignmentPoolOutput

func (o NetworkAssignmentPoolOutput) ToNetworkAssignmentPoolOutput() NetworkAssignmentPoolOutput

func (NetworkAssignmentPoolOutput) ToNetworkAssignmentPoolOutputWithContext

func (o NetworkAssignmentPoolOutput) ToNetworkAssignmentPoolOutputWithContext(ctx context.Context) NetworkAssignmentPoolOutput

type NetworkInput

type NetworkInput interface {
	pulumi.Input

	ToNetworkOutput() NetworkOutput
	ToNetworkOutputWithContext(ctx context.Context) NetworkOutput
}

type NetworkMap

type NetworkMap map[string]NetworkInput

func (NetworkMap) ElementType

func (NetworkMap) ElementType() reflect.Type

func (NetworkMap) ToNetworkMapOutput

func (i NetworkMap) ToNetworkMapOutput() NetworkMapOutput

func (NetworkMap) ToNetworkMapOutputWithContext

func (i NetworkMap) ToNetworkMapOutputWithContext(ctx context.Context) NetworkMapOutput

type NetworkMapInput

type NetworkMapInput interface {
	pulumi.Input

	ToNetworkMapOutput() NetworkMapOutput
	ToNetworkMapOutputWithContext(context.Context) NetworkMapOutput
}

NetworkMapInput is an input type that accepts NetworkMap and NetworkMapOutput values. You can construct a concrete instance of `NetworkMapInput` via:

NetworkMap{ "key": NetworkArgs{...} }

type NetworkMapOutput

type NetworkMapOutput struct{ *pulumi.OutputState }

func (NetworkMapOutput) ElementType

func (NetworkMapOutput) ElementType() reflect.Type

func (NetworkMapOutput) MapIndex

func (NetworkMapOutput) ToNetworkMapOutput

func (o NetworkMapOutput) ToNetworkMapOutput() NetworkMapOutput

func (NetworkMapOutput) ToNetworkMapOutputWithContext

func (o NetworkMapOutput) ToNetworkMapOutputWithContext(ctx context.Context) NetworkMapOutput

type NetworkOutput

type NetworkOutput struct{ *pulumi.OutputState }

func (NetworkOutput) ElementType

func (NetworkOutput) ElementType() reflect.Type

func (NetworkOutput) ToNetworkOutput

func (o NetworkOutput) ToNetworkOutput() NetworkOutput

func (NetworkOutput) ToNetworkOutputWithContext

func (o NetworkOutput) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput

type NetworkRoute

type NetworkRoute struct {
	// Network to route for
	Target string `pulumi:"target"`
	// Gateway address
	Via *string `pulumi:"via"`
}

type NetworkRouteArgs

type NetworkRouteArgs struct {
	// Network to route for
	Target pulumi.StringInput `pulumi:"target"`
	// Gateway address
	Via pulumi.StringPtrInput `pulumi:"via"`
}

func (NetworkRouteArgs) ElementType

func (NetworkRouteArgs) ElementType() reflect.Type

func (NetworkRouteArgs) ToNetworkRouteOutput

func (i NetworkRouteArgs) ToNetworkRouteOutput() NetworkRouteOutput

func (NetworkRouteArgs) ToNetworkRouteOutputWithContext

func (i NetworkRouteArgs) ToNetworkRouteOutputWithContext(ctx context.Context) NetworkRouteOutput

type NetworkRouteArray

type NetworkRouteArray []NetworkRouteInput

func (NetworkRouteArray) ElementType

func (NetworkRouteArray) ElementType() reflect.Type

func (NetworkRouteArray) ToNetworkRouteArrayOutput

func (i NetworkRouteArray) ToNetworkRouteArrayOutput() NetworkRouteArrayOutput

func (NetworkRouteArray) ToNetworkRouteArrayOutputWithContext

func (i NetworkRouteArray) ToNetworkRouteArrayOutputWithContext(ctx context.Context) NetworkRouteArrayOutput

type NetworkRouteArrayInput

type NetworkRouteArrayInput interface {
	pulumi.Input

	ToNetworkRouteArrayOutput() NetworkRouteArrayOutput
	ToNetworkRouteArrayOutputWithContext(context.Context) NetworkRouteArrayOutput
}

NetworkRouteArrayInput is an input type that accepts NetworkRouteArray and NetworkRouteArrayOutput values. You can construct a concrete instance of `NetworkRouteArrayInput` via:

NetworkRouteArray{ NetworkRouteArgs{...} }

type NetworkRouteArrayOutput

type NetworkRouteArrayOutput struct{ *pulumi.OutputState }

func (NetworkRouteArrayOutput) ElementType

func (NetworkRouteArrayOutput) ElementType() reflect.Type

func (NetworkRouteArrayOutput) Index

func (NetworkRouteArrayOutput) ToNetworkRouteArrayOutput

func (o NetworkRouteArrayOutput) ToNetworkRouteArrayOutput() NetworkRouteArrayOutput

func (NetworkRouteArrayOutput) ToNetworkRouteArrayOutputWithContext

func (o NetworkRouteArrayOutput) ToNetworkRouteArrayOutputWithContext(ctx context.Context) NetworkRouteArrayOutput

type NetworkRouteInput

type NetworkRouteInput interface {
	pulumi.Input

	ToNetworkRouteOutput() NetworkRouteOutput
	ToNetworkRouteOutputWithContext(context.Context) NetworkRouteOutput
}

NetworkRouteInput is an input type that accepts NetworkRouteArgs and NetworkRouteOutput values. You can construct a concrete instance of `NetworkRouteInput` via:

NetworkRouteArgs{...}

type NetworkRouteOutput

type NetworkRouteOutput struct{ *pulumi.OutputState }

func (NetworkRouteOutput) ElementType

func (NetworkRouteOutput) ElementType() reflect.Type

func (NetworkRouteOutput) Target

Network to route for

func (NetworkRouteOutput) ToNetworkRouteOutput

func (o NetworkRouteOutput) ToNetworkRouteOutput() NetworkRouteOutput

func (NetworkRouteOutput) ToNetworkRouteOutputWithContext

func (o NetworkRouteOutput) ToNetworkRouteOutputWithContext(ctx context.Context) NetworkRouteOutput

func (NetworkRouteOutput) Via

Gateway address

type NetworkState

type NetworkState struct {
	// IPv4 Assignment RuleSets
	AssignIpv4s NetworkAssignIpv4ArrayInput
	// IPv6 Assignment RuleSets
	AssignIpv6s NetworkAssignIpv6ArrayInput
	// Rules regarding IPv4 and IPv6 assignments
	AssignmentPools NetworkAssignmentPoolArrayInput
	// The time at which this network was created, in epoch seconds
	CreationTime pulumi.IntPtrInput
	// The description of the network
	Description pulumi.StringPtrInput
	// Enable broadcast packets on the network
	EnableBroadcast pulumi.BoolPtrInput
	// The layer 2 flow rules to apply to packets traveling across this network. Please see https://www.zerotier.com/manual/#3*4*1 for more information.
	FlowRules pulumi.StringPtrInput
	// ZeroTier's internal network identifier, aka NetworkID
	Id pulumi.StringPtrInput
	// Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
	MulticastLimit pulumi.IntPtrInput
	// The name of the network
	Name pulumi.StringPtrInput
	// Whether or not the network is private.  If false, members will *NOT* need to be authorized to join.
	Private pulumi.BoolPtrInput
	// A ipv4 or ipv6 network route
	Routes NetworkRouteArrayInput
}

func (NetworkState) ElementType

func (NetworkState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.ProviderResourceState

	// ZeroTier Central API Token; you can generate a new one at https://my.zerotier.com/account.
	ZerotierCentralToken pulumi.StringOutput `pulumi:"zerotierCentralToken"`
	// ZeroTier Central API endpoint. Unlikely you'll need to alter this unless you're testing ZeroTier central itself.
	ZerotierCentralUrl pulumi.StringOutput `pulumi:"zerotierCentralUrl"`
}

The provider type for the zerotier package. By default, resources use package-wide configuration settings, however an explicit `Provider` instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.

func NewProvider

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

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

func (*Provider) ElementType

func (*Provider) ElementType() reflect.Type

func (*Provider) ToProviderOutput

func (i *Provider) ToProviderOutput() ProviderOutput

func (*Provider) ToProviderOutputWithContext

func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type ProviderArgs

type ProviderArgs struct {
	// ZeroTier Central API Token; you can generate a new one at https://my.zerotier.com/account.
	ZerotierCentralToken pulumi.StringInput
	// ZeroTier Central API endpoint. Unlikely you'll need to alter this unless you're testing ZeroTier central itself.
	ZerotierCentralUrl pulumi.StringInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ProviderInput

type ProviderInput interface {
	pulumi.Input

	ToProviderOutput() ProviderOutput
	ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}

type ProviderOutput

type ProviderOutput struct{ *pulumi.OutputState }

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type Token

type Token struct {
	pulumi.CustomResourceState

	// The name of the token; if you do not supply this value, one will be generated
	Name pulumi.StringOutput `pulumi:"name"`
	// The value of the token
	Token pulumi.StringOutput `pulumi:"token"`
}

func GetToken

func GetToken(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TokenState, opts ...pulumi.ResourceOption) (*Token, error)

GetToken gets an existing Token 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 NewToken

func NewToken(ctx *pulumi.Context,
	name string, args *TokenArgs, opts ...pulumi.ResourceOption) (*Token, error)

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

func (*Token) ElementType

func (*Token) ElementType() reflect.Type

func (*Token) ToTokenOutput

func (i *Token) ToTokenOutput() TokenOutput

func (*Token) ToTokenOutputWithContext

func (i *Token) ToTokenOutputWithContext(ctx context.Context) TokenOutput

type TokenArgs

type TokenArgs struct {
	// The name of the token; if you do not supply this value, one will be generated
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Token resource.

func (TokenArgs) ElementType

func (TokenArgs) ElementType() reflect.Type

type TokenArray

type TokenArray []TokenInput

func (TokenArray) ElementType

func (TokenArray) ElementType() reflect.Type

func (TokenArray) ToTokenArrayOutput

func (i TokenArray) ToTokenArrayOutput() TokenArrayOutput

func (TokenArray) ToTokenArrayOutputWithContext

func (i TokenArray) ToTokenArrayOutputWithContext(ctx context.Context) TokenArrayOutput

type TokenArrayInput

type TokenArrayInput interface {
	pulumi.Input

	ToTokenArrayOutput() TokenArrayOutput
	ToTokenArrayOutputWithContext(context.Context) TokenArrayOutput
}

TokenArrayInput is an input type that accepts TokenArray and TokenArrayOutput values. You can construct a concrete instance of `TokenArrayInput` via:

TokenArray{ TokenArgs{...} }

type TokenArrayOutput

type TokenArrayOutput struct{ *pulumi.OutputState }

func (TokenArrayOutput) ElementType

func (TokenArrayOutput) ElementType() reflect.Type

func (TokenArrayOutput) Index

func (TokenArrayOutput) ToTokenArrayOutput

func (o TokenArrayOutput) ToTokenArrayOutput() TokenArrayOutput

func (TokenArrayOutput) ToTokenArrayOutputWithContext

func (o TokenArrayOutput) ToTokenArrayOutputWithContext(ctx context.Context) TokenArrayOutput

type TokenInput

type TokenInput interface {
	pulumi.Input

	ToTokenOutput() TokenOutput
	ToTokenOutputWithContext(ctx context.Context) TokenOutput
}

type TokenMap

type TokenMap map[string]TokenInput

func (TokenMap) ElementType

func (TokenMap) ElementType() reflect.Type

func (TokenMap) ToTokenMapOutput

func (i TokenMap) ToTokenMapOutput() TokenMapOutput

func (TokenMap) ToTokenMapOutputWithContext

func (i TokenMap) ToTokenMapOutputWithContext(ctx context.Context) TokenMapOutput

type TokenMapInput

type TokenMapInput interface {
	pulumi.Input

	ToTokenMapOutput() TokenMapOutput
	ToTokenMapOutputWithContext(context.Context) TokenMapOutput
}

TokenMapInput is an input type that accepts TokenMap and TokenMapOutput values. You can construct a concrete instance of `TokenMapInput` via:

TokenMap{ "key": TokenArgs{...} }

type TokenMapOutput

type TokenMapOutput struct{ *pulumi.OutputState }

func (TokenMapOutput) ElementType

func (TokenMapOutput) ElementType() reflect.Type

func (TokenMapOutput) MapIndex

func (TokenMapOutput) ToTokenMapOutput

func (o TokenMapOutput) ToTokenMapOutput() TokenMapOutput

func (TokenMapOutput) ToTokenMapOutputWithContext

func (o TokenMapOutput) ToTokenMapOutputWithContext(ctx context.Context) TokenMapOutput

type TokenOutput

type TokenOutput struct{ *pulumi.OutputState }

func (TokenOutput) ElementType

func (TokenOutput) ElementType() reflect.Type

func (TokenOutput) ToTokenOutput

func (o TokenOutput) ToTokenOutput() TokenOutput

func (TokenOutput) ToTokenOutputWithContext

func (o TokenOutput) ToTokenOutputWithContext(ctx context.Context) TokenOutput

type TokenState

type TokenState struct {
	// The name of the token; if you do not supply this value, one will be generated
	Name pulumi.StringPtrInput
	// The value of the token
	Token pulumi.StringPtrInput
}

func (TokenState) ElementType

func (TokenState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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