tailscale

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2024 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Overview

A Pulumi package for creating and managing Tailscale cloud resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Acl

type Acl struct {
	pulumi.CustomResourceState

	// The policy that defines which devices and users are allowed to connect in your network. Can be either a JSON or a HuJSON string.
	Acl pulumi.StringOutput `pulumi:"acl"`
	// If true, will skip requirement to import acl before allowing changes. Be careful, can cause ACL to be overwritten
	OverwriteExistingContent pulumi.BoolPtrOutput `pulumi:"overwriteExistingContent"`
}

The acl resource allows you to configure a Tailscale ACL. See https://tailscale.com/kb/1018/acls for more information. Note that this resource will completely overwrite existing ACL contents for a given tailnet.

If tests are defined in the ACL (the top-level "tests" section), ACL validation will occur before creation and update operations are applied.

## Example Usage

```go package main

import (

"encoding/json"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"acls": []map[string]interface{}{
				map[string]interface{}{
					"action": "accept",
					"users": []string{
						"*",
					},
					"ports": []string{
						"*:*",
					},
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = tailscale.NewAcl(ctx, "asJson", &tailscale.AclArgs{
			Acl: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		_, err = tailscale.NewAcl(ctx, "asHujson", &tailscale.AclArgs{
			Acl: pulumi.String(`  {
    // Comments in HuJSON policy are preserved when the policy is applied.
    "acls": [
      {
        // Allow all users access to all ports.
        action = "accept",
        users  = ["*"],
        ports  = ["*:*"],
      },
    ],
  }

`),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ID doesn't matter.

```sh $ pulumi import tailscale:index/acl:Acl sample_acl acl ```

func GetAcl

func GetAcl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AclState, opts ...pulumi.ResourceOption) (*Acl, error)

GetAcl gets an existing Acl 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 NewAcl

func NewAcl(ctx *pulumi.Context,
	name string, args *AclArgs, opts ...pulumi.ResourceOption) (*Acl, error)

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

func (*Acl) ElementType

func (*Acl) ElementType() reflect.Type

func (*Acl) ToAclOutput

func (i *Acl) ToAclOutput() AclOutput

func (*Acl) ToAclOutputWithContext

func (i *Acl) ToAclOutputWithContext(ctx context.Context) AclOutput

type AclArgs

type AclArgs struct {
	// The policy that defines which devices and users are allowed to connect in your network. Can be either a JSON or a HuJSON string.
	Acl pulumi.StringInput
	// If true, will skip requirement to import acl before allowing changes. Be careful, can cause ACL to be overwritten
	OverwriteExistingContent pulumi.BoolPtrInput
}

The set of arguments for constructing a Acl resource.

func (AclArgs) ElementType

func (AclArgs) ElementType() reflect.Type

type AclArray

type AclArray []AclInput

func (AclArray) ElementType

func (AclArray) ElementType() reflect.Type

func (AclArray) ToAclArrayOutput

func (i AclArray) ToAclArrayOutput() AclArrayOutput

func (AclArray) ToAclArrayOutputWithContext

func (i AclArray) ToAclArrayOutputWithContext(ctx context.Context) AclArrayOutput

type AclArrayInput

type AclArrayInput interface {
	pulumi.Input

	ToAclArrayOutput() AclArrayOutput
	ToAclArrayOutputWithContext(context.Context) AclArrayOutput
}

AclArrayInput is an input type that accepts AclArray and AclArrayOutput values. You can construct a concrete instance of `AclArrayInput` via:

AclArray{ AclArgs{...} }

type AclArrayOutput

type AclArrayOutput struct{ *pulumi.OutputState }

func (AclArrayOutput) ElementType

func (AclArrayOutput) ElementType() reflect.Type

func (AclArrayOutput) Index

func (AclArrayOutput) ToAclArrayOutput

func (o AclArrayOutput) ToAclArrayOutput() AclArrayOutput

func (AclArrayOutput) ToAclArrayOutputWithContext

func (o AclArrayOutput) ToAclArrayOutputWithContext(ctx context.Context) AclArrayOutput

type AclInput

type AclInput interface {
	pulumi.Input

	ToAclOutput() AclOutput
	ToAclOutputWithContext(ctx context.Context) AclOutput
}

type AclMap

type AclMap map[string]AclInput

func (AclMap) ElementType

func (AclMap) ElementType() reflect.Type

func (AclMap) ToAclMapOutput

func (i AclMap) ToAclMapOutput() AclMapOutput

func (AclMap) ToAclMapOutputWithContext

func (i AclMap) ToAclMapOutputWithContext(ctx context.Context) AclMapOutput

type AclMapInput

type AclMapInput interface {
	pulumi.Input

	ToAclMapOutput() AclMapOutput
	ToAclMapOutputWithContext(context.Context) AclMapOutput
}

AclMapInput is an input type that accepts AclMap and AclMapOutput values. You can construct a concrete instance of `AclMapInput` via:

AclMap{ "key": AclArgs{...} }

type AclMapOutput

type AclMapOutput struct{ *pulumi.OutputState }

func (AclMapOutput) ElementType

func (AclMapOutput) ElementType() reflect.Type

func (AclMapOutput) MapIndex

func (o AclMapOutput) MapIndex(k pulumi.StringInput) AclOutput

func (AclMapOutput) ToAclMapOutput

func (o AclMapOutput) ToAclMapOutput() AclMapOutput

func (AclMapOutput) ToAclMapOutputWithContext

func (o AclMapOutput) ToAclMapOutputWithContext(ctx context.Context) AclMapOutput

type AclOutput

type AclOutput struct{ *pulumi.OutputState }

func (AclOutput) Acl added in v0.11.0

func (o AclOutput) Acl() pulumi.StringOutput

The policy that defines which devices and users are allowed to connect in your network. Can be either a JSON or a HuJSON string.

func (AclOutput) ElementType

func (AclOutput) ElementType() reflect.Type

func (AclOutput) OverwriteExistingContent added in v0.14.0

func (o AclOutput) OverwriteExistingContent() pulumi.BoolPtrOutput

If true, will skip requirement to import acl before allowing changes. Be careful, can cause ACL to be overwritten

func (AclOutput) ToAclOutput

func (o AclOutput) ToAclOutput() AclOutput

func (AclOutput) ToAclOutputWithContext

func (o AclOutput) ToAclOutputWithContext(ctx context.Context) AclOutput

type AclState

type AclState struct {
	// The policy that defines which devices and users are allowed to connect in your network. Can be either a JSON or a HuJSON string.
	Acl pulumi.StringPtrInput
	// If true, will skip requirement to import acl before allowing changes. Be careful, can cause ACL to be overwritten
	OverwriteExistingContent pulumi.BoolPtrInput
}

func (AclState) ElementType

func (AclState) ElementType() reflect.Type

type DeviceAuthorization added in v0.3.0

type DeviceAuthorization struct {
	pulumi.CustomResourceState

	// Whether or not the device is authorized
	Authorized pulumi.BoolOutput `pulumi:"authorized"`
	// The device to set as authorized
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
}

The deviceAuthorization resource is used to approve new devices before they can join the tailnet. See https://tailscale.com/kb/1099/device-authorization/ for more details.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sampleDevice, err := tailscale.GetDevice(ctx, &tailscale.GetDeviceArgs{
			Name: pulumi.StringRef("device.example.com"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = tailscale.NewDeviceAuthorization(ctx, "sampleAuthorization", &tailscale.DeviceAuthorizationArgs{
			DeviceId:   *pulumi.String(sampleDevice.Id),
			Authorized: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDeviceAuthorization added in v0.3.0

func GetDeviceAuthorization(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeviceAuthorizationState, opts ...pulumi.ResourceOption) (*DeviceAuthorization, error)

GetDeviceAuthorization gets an existing DeviceAuthorization 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 NewDeviceAuthorization added in v0.3.0

func NewDeviceAuthorization(ctx *pulumi.Context,
	name string, args *DeviceAuthorizationArgs, opts ...pulumi.ResourceOption) (*DeviceAuthorization, error)

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

func (*DeviceAuthorization) ElementType added in v0.3.0

func (*DeviceAuthorization) ElementType() reflect.Type

func (*DeviceAuthorization) ToDeviceAuthorizationOutput added in v0.3.0

func (i *DeviceAuthorization) ToDeviceAuthorizationOutput() DeviceAuthorizationOutput

func (*DeviceAuthorization) ToDeviceAuthorizationOutputWithContext added in v0.3.0

func (i *DeviceAuthorization) ToDeviceAuthorizationOutputWithContext(ctx context.Context) DeviceAuthorizationOutput

type DeviceAuthorizationArgs added in v0.3.0

type DeviceAuthorizationArgs struct {
	// Whether or not the device is authorized
	Authorized pulumi.BoolInput
	// The device to set as authorized
	DeviceId pulumi.StringInput
}

The set of arguments for constructing a DeviceAuthorization resource.

func (DeviceAuthorizationArgs) ElementType added in v0.3.0

func (DeviceAuthorizationArgs) ElementType() reflect.Type

type DeviceAuthorizationArray added in v0.3.0

type DeviceAuthorizationArray []DeviceAuthorizationInput

func (DeviceAuthorizationArray) ElementType added in v0.3.0

func (DeviceAuthorizationArray) ElementType() reflect.Type

func (DeviceAuthorizationArray) ToDeviceAuthorizationArrayOutput added in v0.3.0

func (i DeviceAuthorizationArray) ToDeviceAuthorizationArrayOutput() DeviceAuthorizationArrayOutput

func (DeviceAuthorizationArray) ToDeviceAuthorizationArrayOutputWithContext added in v0.3.0

func (i DeviceAuthorizationArray) ToDeviceAuthorizationArrayOutputWithContext(ctx context.Context) DeviceAuthorizationArrayOutput

type DeviceAuthorizationArrayInput added in v0.3.0

type DeviceAuthorizationArrayInput interface {
	pulumi.Input

	ToDeviceAuthorizationArrayOutput() DeviceAuthorizationArrayOutput
	ToDeviceAuthorizationArrayOutputWithContext(context.Context) DeviceAuthorizationArrayOutput
}

DeviceAuthorizationArrayInput is an input type that accepts DeviceAuthorizationArray and DeviceAuthorizationArrayOutput values. You can construct a concrete instance of `DeviceAuthorizationArrayInput` via:

DeviceAuthorizationArray{ DeviceAuthorizationArgs{...} }

type DeviceAuthorizationArrayOutput added in v0.3.0

type DeviceAuthorizationArrayOutput struct{ *pulumi.OutputState }

func (DeviceAuthorizationArrayOutput) ElementType added in v0.3.0

func (DeviceAuthorizationArrayOutput) Index added in v0.3.0

func (DeviceAuthorizationArrayOutput) ToDeviceAuthorizationArrayOutput added in v0.3.0

func (o DeviceAuthorizationArrayOutput) ToDeviceAuthorizationArrayOutput() DeviceAuthorizationArrayOutput

func (DeviceAuthorizationArrayOutput) ToDeviceAuthorizationArrayOutputWithContext added in v0.3.0

func (o DeviceAuthorizationArrayOutput) ToDeviceAuthorizationArrayOutputWithContext(ctx context.Context) DeviceAuthorizationArrayOutput

type DeviceAuthorizationInput added in v0.3.0

type DeviceAuthorizationInput interface {
	pulumi.Input

	ToDeviceAuthorizationOutput() DeviceAuthorizationOutput
	ToDeviceAuthorizationOutputWithContext(ctx context.Context) DeviceAuthorizationOutput
}

type DeviceAuthorizationMap added in v0.3.0

type DeviceAuthorizationMap map[string]DeviceAuthorizationInput

func (DeviceAuthorizationMap) ElementType added in v0.3.0

func (DeviceAuthorizationMap) ElementType() reflect.Type

func (DeviceAuthorizationMap) ToDeviceAuthorizationMapOutput added in v0.3.0

func (i DeviceAuthorizationMap) ToDeviceAuthorizationMapOutput() DeviceAuthorizationMapOutput

func (DeviceAuthorizationMap) ToDeviceAuthorizationMapOutputWithContext added in v0.3.0

func (i DeviceAuthorizationMap) ToDeviceAuthorizationMapOutputWithContext(ctx context.Context) DeviceAuthorizationMapOutput

type DeviceAuthorizationMapInput added in v0.3.0

type DeviceAuthorizationMapInput interface {
	pulumi.Input

	ToDeviceAuthorizationMapOutput() DeviceAuthorizationMapOutput
	ToDeviceAuthorizationMapOutputWithContext(context.Context) DeviceAuthorizationMapOutput
}

DeviceAuthorizationMapInput is an input type that accepts DeviceAuthorizationMap and DeviceAuthorizationMapOutput values. You can construct a concrete instance of `DeviceAuthorizationMapInput` via:

DeviceAuthorizationMap{ "key": DeviceAuthorizationArgs{...} }

type DeviceAuthorizationMapOutput added in v0.3.0

type DeviceAuthorizationMapOutput struct{ *pulumi.OutputState }

func (DeviceAuthorizationMapOutput) ElementType added in v0.3.0

func (DeviceAuthorizationMapOutput) MapIndex added in v0.3.0

func (DeviceAuthorizationMapOutput) ToDeviceAuthorizationMapOutput added in v0.3.0

func (o DeviceAuthorizationMapOutput) ToDeviceAuthorizationMapOutput() DeviceAuthorizationMapOutput

func (DeviceAuthorizationMapOutput) ToDeviceAuthorizationMapOutputWithContext added in v0.3.0

func (o DeviceAuthorizationMapOutput) ToDeviceAuthorizationMapOutputWithContext(ctx context.Context) DeviceAuthorizationMapOutput

type DeviceAuthorizationOutput added in v0.3.0

type DeviceAuthorizationOutput struct{ *pulumi.OutputState }

func (DeviceAuthorizationOutput) Authorized added in v0.11.0

Whether or not the device is authorized

func (DeviceAuthorizationOutput) DeviceId added in v0.11.0

The device to set as authorized

func (DeviceAuthorizationOutput) ElementType added in v0.3.0

func (DeviceAuthorizationOutput) ElementType() reflect.Type

func (DeviceAuthorizationOutput) ToDeviceAuthorizationOutput added in v0.3.0

func (o DeviceAuthorizationOutput) ToDeviceAuthorizationOutput() DeviceAuthorizationOutput

func (DeviceAuthorizationOutput) ToDeviceAuthorizationOutputWithContext added in v0.3.0

func (o DeviceAuthorizationOutput) ToDeviceAuthorizationOutputWithContext(ctx context.Context) DeviceAuthorizationOutput

type DeviceAuthorizationState added in v0.3.0

type DeviceAuthorizationState struct {
	// Whether or not the device is authorized
	Authorized pulumi.BoolPtrInput
	// The device to set as authorized
	DeviceId pulumi.StringPtrInput
}

func (DeviceAuthorizationState) ElementType added in v0.3.0

func (DeviceAuthorizationState) ElementType() reflect.Type

type DeviceKey added in v0.7.0

type DeviceKey struct {
	pulumi.CustomResourceState

	// The device to update the key properties of
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// Determines whether or not the device's key will expire. Defaults to `false`.
	KeyExpiryDisabled pulumi.BoolPtrOutput `pulumi:"keyExpiryDisabled"`
}

The deviceKey resource allows you to update the properties of a device's key

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleDevice, err := tailscale.GetDevice(ctx, &tailscale.GetDeviceArgs{
			Name: pulumi.StringRef("device.example.com"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = tailscale.NewDeviceKey(ctx, "exampleKey", &tailscale.DeviceKeyArgs{
			DeviceId:          *pulumi.String(exampleDevice.Id),
			KeyExpiryDisabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDeviceKey added in v0.7.0

func GetDeviceKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeviceKeyState, opts ...pulumi.ResourceOption) (*DeviceKey, error)

GetDeviceKey gets an existing DeviceKey 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 NewDeviceKey added in v0.7.0

func NewDeviceKey(ctx *pulumi.Context,
	name string, args *DeviceKeyArgs, opts ...pulumi.ResourceOption) (*DeviceKey, error)

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

func (*DeviceKey) ElementType added in v0.7.0

func (*DeviceKey) ElementType() reflect.Type

func (*DeviceKey) ToDeviceKeyOutput added in v0.7.0

func (i *DeviceKey) ToDeviceKeyOutput() DeviceKeyOutput

func (*DeviceKey) ToDeviceKeyOutputWithContext added in v0.7.0

func (i *DeviceKey) ToDeviceKeyOutputWithContext(ctx context.Context) DeviceKeyOutput

type DeviceKeyArgs added in v0.7.0

type DeviceKeyArgs struct {
	// The device to update the key properties of
	DeviceId pulumi.StringInput
	// Determines whether or not the device's key will expire. Defaults to `false`.
	KeyExpiryDisabled pulumi.BoolPtrInput
}

The set of arguments for constructing a DeviceKey resource.

func (DeviceKeyArgs) ElementType added in v0.7.0

func (DeviceKeyArgs) ElementType() reflect.Type

type DeviceKeyArray added in v0.7.0

type DeviceKeyArray []DeviceKeyInput

func (DeviceKeyArray) ElementType added in v0.7.0

func (DeviceKeyArray) ElementType() reflect.Type

func (DeviceKeyArray) ToDeviceKeyArrayOutput added in v0.7.0

func (i DeviceKeyArray) ToDeviceKeyArrayOutput() DeviceKeyArrayOutput

func (DeviceKeyArray) ToDeviceKeyArrayOutputWithContext added in v0.7.0

func (i DeviceKeyArray) ToDeviceKeyArrayOutputWithContext(ctx context.Context) DeviceKeyArrayOutput

type DeviceKeyArrayInput added in v0.7.0

type DeviceKeyArrayInput interface {
	pulumi.Input

	ToDeviceKeyArrayOutput() DeviceKeyArrayOutput
	ToDeviceKeyArrayOutputWithContext(context.Context) DeviceKeyArrayOutput
}

DeviceKeyArrayInput is an input type that accepts DeviceKeyArray and DeviceKeyArrayOutput values. You can construct a concrete instance of `DeviceKeyArrayInput` via:

DeviceKeyArray{ DeviceKeyArgs{...} }

type DeviceKeyArrayOutput added in v0.7.0

type DeviceKeyArrayOutput struct{ *pulumi.OutputState }

func (DeviceKeyArrayOutput) ElementType added in v0.7.0

func (DeviceKeyArrayOutput) ElementType() reflect.Type

func (DeviceKeyArrayOutput) Index added in v0.7.0

func (DeviceKeyArrayOutput) ToDeviceKeyArrayOutput added in v0.7.0

func (o DeviceKeyArrayOutput) ToDeviceKeyArrayOutput() DeviceKeyArrayOutput

func (DeviceKeyArrayOutput) ToDeviceKeyArrayOutputWithContext added in v0.7.0

func (o DeviceKeyArrayOutput) ToDeviceKeyArrayOutputWithContext(ctx context.Context) DeviceKeyArrayOutput

type DeviceKeyInput added in v0.7.0

type DeviceKeyInput interface {
	pulumi.Input

	ToDeviceKeyOutput() DeviceKeyOutput
	ToDeviceKeyOutputWithContext(ctx context.Context) DeviceKeyOutput
}

type DeviceKeyMap added in v0.7.0

type DeviceKeyMap map[string]DeviceKeyInput

func (DeviceKeyMap) ElementType added in v0.7.0

func (DeviceKeyMap) ElementType() reflect.Type

func (DeviceKeyMap) ToDeviceKeyMapOutput added in v0.7.0

func (i DeviceKeyMap) ToDeviceKeyMapOutput() DeviceKeyMapOutput

func (DeviceKeyMap) ToDeviceKeyMapOutputWithContext added in v0.7.0

func (i DeviceKeyMap) ToDeviceKeyMapOutputWithContext(ctx context.Context) DeviceKeyMapOutput

type DeviceKeyMapInput added in v0.7.0

type DeviceKeyMapInput interface {
	pulumi.Input

	ToDeviceKeyMapOutput() DeviceKeyMapOutput
	ToDeviceKeyMapOutputWithContext(context.Context) DeviceKeyMapOutput
}

DeviceKeyMapInput is an input type that accepts DeviceKeyMap and DeviceKeyMapOutput values. You can construct a concrete instance of `DeviceKeyMapInput` via:

DeviceKeyMap{ "key": DeviceKeyArgs{...} }

type DeviceKeyMapOutput added in v0.7.0

type DeviceKeyMapOutput struct{ *pulumi.OutputState }

func (DeviceKeyMapOutput) ElementType added in v0.7.0

func (DeviceKeyMapOutput) ElementType() reflect.Type

func (DeviceKeyMapOutput) MapIndex added in v0.7.0

func (DeviceKeyMapOutput) ToDeviceKeyMapOutput added in v0.7.0

func (o DeviceKeyMapOutput) ToDeviceKeyMapOutput() DeviceKeyMapOutput

func (DeviceKeyMapOutput) ToDeviceKeyMapOutputWithContext added in v0.7.0

func (o DeviceKeyMapOutput) ToDeviceKeyMapOutputWithContext(ctx context.Context) DeviceKeyMapOutput

type DeviceKeyOutput added in v0.7.0

type DeviceKeyOutput struct{ *pulumi.OutputState }

func (DeviceKeyOutput) DeviceId added in v0.11.0

func (o DeviceKeyOutput) DeviceId() pulumi.StringOutput

The device to update the key properties of

func (DeviceKeyOutput) ElementType added in v0.7.0

func (DeviceKeyOutput) ElementType() reflect.Type

func (DeviceKeyOutput) KeyExpiryDisabled added in v0.11.0

func (o DeviceKeyOutput) KeyExpiryDisabled() pulumi.BoolPtrOutput

Determines whether or not the device's key will expire. Defaults to `false`.

func (DeviceKeyOutput) ToDeviceKeyOutput added in v0.7.0

func (o DeviceKeyOutput) ToDeviceKeyOutput() DeviceKeyOutput

func (DeviceKeyOutput) ToDeviceKeyOutputWithContext added in v0.7.0

func (o DeviceKeyOutput) ToDeviceKeyOutputWithContext(ctx context.Context) DeviceKeyOutput

type DeviceKeyState added in v0.7.0

type DeviceKeyState struct {
	// The device to update the key properties of
	DeviceId pulumi.StringPtrInput
	// Determines whether or not the device's key will expire. Defaults to `false`.
	KeyExpiryDisabled pulumi.BoolPtrInput
}

func (DeviceKeyState) ElementType added in v0.7.0

func (DeviceKeyState) ElementType() reflect.Type

type DeviceSubnetRoutes

type DeviceSubnetRoutes struct {
	pulumi.CustomResourceState

	// The device to set subnet routes for
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// The subnet routes that are enabled to be routed by a device
	Routes pulumi.StringArrayOutput `pulumi:"routes"`
}

The deviceSubnetRoutes resource allows you to configure subnet routes for your Tailscale devices. See https://tailscale.com/kb/1019/subnets for more information.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sampleDevice, err := tailscale.GetDevice(ctx, &tailscale.GetDeviceArgs{
			Name: pulumi.StringRef("device.example.com"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = tailscale.NewDeviceSubnetRoutes(ctx, "sampleRoutes", &tailscale.DeviceSubnetRoutesArgs{
			DeviceId: *pulumi.String(sampleDevice.Id),
			Routes: pulumi.StringArray{
				pulumi.String("10.0.1.0/24"),
				pulumi.String("1.2.0.0/16"),
				pulumi.String("2.0.0.0/24"),
			},
		})
		if err != nil {
			return err
		}
		_, err = tailscale.NewDeviceSubnetRoutes(ctx, "sampleExitNode", &tailscale.DeviceSubnetRoutesArgs{
			DeviceId: *pulumi.String(sampleDevice.Id),
			Routes: pulumi.StringArray{
				pulumi.String("0.0.0.0/0"),
				pulumi.String("::/0"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDeviceSubnetRoutes

func GetDeviceSubnetRoutes(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeviceSubnetRoutesState, opts ...pulumi.ResourceOption) (*DeviceSubnetRoutes, error)

GetDeviceSubnetRoutes gets an existing DeviceSubnetRoutes 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 NewDeviceSubnetRoutes

func NewDeviceSubnetRoutes(ctx *pulumi.Context,
	name string, args *DeviceSubnetRoutesArgs, opts ...pulumi.ResourceOption) (*DeviceSubnetRoutes, error)

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

func (*DeviceSubnetRoutes) ElementType

func (*DeviceSubnetRoutes) ElementType() reflect.Type

func (*DeviceSubnetRoutes) ToDeviceSubnetRoutesOutput

func (i *DeviceSubnetRoutes) ToDeviceSubnetRoutesOutput() DeviceSubnetRoutesOutput

func (*DeviceSubnetRoutes) ToDeviceSubnetRoutesOutputWithContext

func (i *DeviceSubnetRoutes) ToDeviceSubnetRoutesOutputWithContext(ctx context.Context) DeviceSubnetRoutesOutput

type DeviceSubnetRoutesArgs

type DeviceSubnetRoutesArgs struct {
	// The device to set subnet routes for
	DeviceId pulumi.StringInput
	// The subnet routes that are enabled to be routed by a device
	Routes pulumi.StringArrayInput
}

The set of arguments for constructing a DeviceSubnetRoutes resource.

func (DeviceSubnetRoutesArgs) ElementType

func (DeviceSubnetRoutesArgs) ElementType() reflect.Type

type DeviceSubnetRoutesArray

type DeviceSubnetRoutesArray []DeviceSubnetRoutesInput

func (DeviceSubnetRoutesArray) ElementType

func (DeviceSubnetRoutesArray) ElementType() reflect.Type

func (DeviceSubnetRoutesArray) ToDeviceSubnetRoutesArrayOutput

func (i DeviceSubnetRoutesArray) ToDeviceSubnetRoutesArrayOutput() DeviceSubnetRoutesArrayOutput

func (DeviceSubnetRoutesArray) ToDeviceSubnetRoutesArrayOutputWithContext

func (i DeviceSubnetRoutesArray) ToDeviceSubnetRoutesArrayOutputWithContext(ctx context.Context) DeviceSubnetRoutesArrayOutput

type DeviceSubnetRoutesArrayInput

type DeviceSubnetRoutesArrayInput interface {
	pulumi.Input

	ToDeviceSubnetRoutesArrayOutput() DeviceSubnetRoutesArrayOutput
	ToDeviceSubnetRoutesArrayOutputWithContext(context.Context) DeviceSubnetRoutesArrayOutput
}

DeviceSubnetRoutesArrayInput is an input type that accepts DeviceSubnetRoutesArray and DeviceSubnetRoutesArrayOutput values. You can construct a concrete instance of `DeviceSubnetRoutesArrayInput` via:

DeviceSubnetRoutesArray{ DeviceSubnetRoutesArgs{...} }

type DeviceSubnetRoutesArrayOutput

type DeviceSubnetRoutesArrayOutput struct{ *pulumi.OutputState }

func (DeviceSubnetRoutesArrayOutput) ElementType

func (DeviceSubnetRoutesArrayOutput) Index

func (DeviceSubnetRoutesArrayOutput) ToDeviceSubnetRoutesArrayOutput

func (o DeviceSubnetRoutesArrayOutput) ToDeviceSubnetRoutesArrayOutput() DeviceSubnetRoutesArrayOutput

func (DeviceSubnetRoutesArrayOutput) ToDeviceSubnetRoutesArrayOutputWithContext

func (o DeviceSubnetRoutesArrayOutput) ToDeviceSubnetRoutesArrayOutputWithContext(ctx context.Context) DeviceSubnetRoutesArrayOutput

type DeviceSubnetRoutesInput

type DeviceSubnetRoutesInput interface {
	pulumi.Input

	ToDeviceSubnetRoutesOutput() DeviceSubnetRoutesOutput
	ToDeviceSubnetRoutesOutputWithContext(ctx context.Context) DeviceSubnetRoutesOutput
}

type DeviceSubnetRoutesMap

type DeviceSubnetRoutesMap map[string]DeviceSubnetRoutesInput

func (DeviceSubnetRoutesMap) ElementType

func (DeviceSubnetRoutesMap) ElementType() reflect.Type

func (DeviceSubnetRoutesMap) ToDeviceSubnetRoutesMapOutput

func (i DeviceSubnetRoutesMap) ToDeviceSubnetRoutesMapOutput() DeviceSubnetRoutesMapOutput

func (DeviceSubnetRoutesMap) ToDeviceSubnetRoutesMapOutputWithContext

func (i DeviceSubnetRoutesMap) ToDeviceSubnetRoutesMapOutputWithContext(ctx context.Context) DeviceSubnetRoutesMapOutput

type DeviceSubnetRoutesMapInput

type DeviceSubnetRoutesMapInput interface {
	pulumi.Input

	ToDeviceSubnetRoutesMapOutput() DeviceSubnetRoutesMapOutput
	ToDeviceSubnetRoutesMapOutputWithContext(context.Context) DeviceSubnetRoutesMapOutput
}

DeviceSubnetRoutesMapInput is an input type that accepts DeviceSubnetRoutesMap and DeviceSubnetRoutesMapOutput values. You can construct a concrete instance of `DeviceSubnetRoutesMapInput` via:

DeviceSubnetRoutesMap{ "key": DeviceSubnetRoutesArgs{...} }

type DeviceSubnetRoutesMapOutput

type DeviceSubnetRoutesMapOutput struct{ *pulumi.OutputState }

func (DeviceSubnetRoutesMapOutput) ElementType

func (DeviceSubnetRoutesMapOutput) MapIndex

func (DeviceSubnetRoutesMapOutput) ToDeviceSubnetRoutesMapOutput

func (o DeviceSubnetRoutesMapOutput) ToDeviceSubnetRoutesMapOutput() DeviceSubnetRoutesMapOutput

func (DeviceSubnetRoutesMapOutput) ToDeviceSubnetRoutesMapOutputWithContext

func (o DeviceSubnetRoutesMapOutput) ToDeviceSubnetRoutesMapOutputWithContext(ctx context.Context) DeviceSubnetRoutesMapOutput

type DeviceSubnetRoutesOutput

type DeviceSubnetRoutesOutput struct{ *pulumi.OutputState }

func (DeviceSubnetRoutesOutput) DeviceId added in v0.11.0

The device to set subnet routes for

func (DeviceSubnetRoutesOutput) ElementType

func (DeviceSubnetRoutesOutput) ElementType() reflect.Type

func (DeviceSubnetRoutesOutput) Routes added in v0.11.0

The subnet routes that are enabled to be routed by a device

func (DeviceSubnetRoutesOutput) ToDeviceSubnetRoutesOutput

func (o DeviceSubnetRoutesOutput) ToDeviceSubnetRoutesOutput() DeviceSubnetRoutesOutput

func (DeviceSubnetRoutesOutput) ToDeviceSubnetRoutesOutputWithContext

func (o DeviceSubnetRoutesOutput) ToDeviceSubnetRoutesOutputWithContext(ctx context.Context) DeviceSubnetRoutesOutput

type DeviceSubnetRoutesState

type DeviceSubnetRoutesState struct {
	// The device to set subnet routes for
	DeviceId pulumi.StringPtrInput
	// The subnet routes that are enabled to be routed by a device
	Routes pulumi.StringArrayInput
}

func (DeviceSubnetRoutesState) ElementType

func (DeviceSubnetRoutesState) ElementType() reflect.Type

type DeviceTags added in v0.6.0

type DeviceTags struct {
	pulumi.CustomResourceState

	// The device to set tags for
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// The tags to apply to the device
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

The deviceTags resource is used to apply tags to Tailscale devices. See https://tailscale.com/kb/1068/acl-tags/ for more details.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sampleDevice, err := tailscale.GetDevice(ctx, &tailscale.GetDeviceArgs{
			Name: pulumi.StringRef("device.example.com"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = tailscale.NewDeviceTags(ctx, "sampleTags", &tailscale.DeviceTagsArgs{
			DeviceId: *pulumi.String(sampleDevice.Id),
			Tags: pulumi.StringArray{
				pulumi.String("room:bedroom"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDeviceTags added in v0.6.0

func GetDeviceTags(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeviceTagsState, opts ...pulumi.ResourceOption) (*DeviceTags, error)

GetDeviceTags gets an existing DeviceTags 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 NewDeviceTags added in v0.6.0

func NewDeviceTags(ctx *pulumi.Context,
	name string, args *DeviceTagsArgs, opts ...pulumi.ResourceOption) (*DeviceTags, error)

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

func (*DeviceTags) ElementType added in v0.6.0

func (*DeviceTags) ElementType() reflect.Type

func (*DeviceTags) ToDeviceTagsOutput added in v0.6.0

func (i *DeviceTags) ToDeviceTagsOutput() DeviceTagsOutput

func (*DeviceTags) ToDeviceTagsOutputWithContext added in v0.6.0

func (i *DeviceTags) ToDeviceTagsOutputWithContext(ctx context.Context) DeviceTagsOutput

type DeviceTagsArgs added in v0.6.0

type DeviceTagsArgs struct {
	// The device to set tags for
	DeviceId pulumi.StringInput
	// The tags to apply to the device
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a DeviceTags resource.

func (DeviceTagsArgs) ElementType added in v0.6.0

func (DeviceTagsArgs) ElementType() reflect.Type

type DeviceTagsArray added in v0.6.0

type DeviceTagsArray []DeviceTagsInput

func (DeviceTagsArray) ElementType added in v0.6.0

func (DeviceTagsArray) ElementType() reflect.Type

func (DeviceTagsArray) ToDeviceTagsArrayOutput added in v0.6.0

func (i DeviceTagsArray) ToDeviceTagsArrayOutput() DeviceTagsArrayOutput

func (DeviceTagsArray) ToDeviceTagsArrayOutputWithContext added in v0.6.0

func (i DeviceTagsArray) ToDeviceTagsArrayOutputWithContext(ctx context.Context) DeviceTagsArrayOutput

type DeviceTagsArrayInput added in v0.6.0

type DeviceTagsArrayInput interface {
	pulumi.Input

	ToDeviceTagsArrayOutput() DeviceTagsArrayOutput
	ToDeviceTagsArrayOutputWithContext(context.Context) DeviceTagsArrayOutput
}

DeviceTagsArrayInput is an input type that accepts DeviceTagsArray and DeviceTagsArrayOutput values. You can construct a concrete instance of `DeviceTagsArrayInput` via:

DeviceTagsArray{ DeviceTagsArgs{...} }

type DeviceTagsArrayOutput added in v0.6.0

type DeviceTagsArrayOutput struct{ *pulumi.OutputState }

func (DeviceTagsArrayOutput) ElementType added in v0.6.0

func (DeviceTagsArrayOutput) ElementType() reflect.Type

func (DeviceTagsArrayOutput) Index added in v0.6.0

func (DeviceTagsArrayOutput) ToDeviceTagsArrayOutput added in v0.6.0

func (o DeviceTagsArrayOutput) ToDeviceTagsArrayOutput() DeviceTagsArrayOutput

func (DeviceTagsArrayOutput) ToDeviceTagsArrayOutputWithContext added in v0.6.0

func (o DeviceTagsArrayOutput) ToDeviceTagsArrayOutputWithContext(ctx context.Context) DeviceTagsArrayOutput

type DeviceTagsInput added in v0.6.0

type DeviceTagsInput interface {
	pulumi.Input

	ToDeviceTagsOutput() DeviceTagsOutput
	ToDeviceTagsOutputWithContext(ctx context.Context) DeviceTagsOutput
}

type DeviceTagsMap added in v0.6.0

type DeviceTagsMap map[string]DeviceTagsInput

func (DeviceTagsMap) ElementType added in v0.6.0

func (DeviceTagsMap) ElementType() reflect.Type

func (DeviceTagsMap) ToDeviceTagsMapOutput added in v0.6.0

func (i DeviceTagsMap) ToDeviceTagsMapOutput() DeviceTagsMapOutput

func (DeviceTagsMap) ToDeviceTagsMapOutputWithContext added in v0.6.0

func (i DeviceTagsMap) ToDeviceTagsMapOutputWithContext(ctx context.Context) DeviceTagsMapOutput

type DeviceTagsMapInput added in v0.6.0

type DeviceTagsMapInput interface {
	pulumi.Input

	ToDeviceTagsMapOutput() DeviceTagsMapOutput
	ToDeviceTagsMapOutputWithContext(context.Context) DeviceTagsMapOutput
}

DeviceTagsMapInput is an input type that accepts DeviceTagsMap and DeviceTagsMapOutput values. You can construct a concrete instance of `DeviceTagsMapInput` via:

DeviceTagsMap{ "key": DeviceTagsArgs{...} }

type DeviceTagsMapOutput added in v0.6.0

type DeviceTagsMapOutput struct{ *pulumi.OutputState }

func (DeviceTagsMapOutput) ElementType added in v0.6.0

func (DeviceTagsMapOutput) ElementType() reflect.Type

func (DeviceTagsMapOutput) MapIndex added in v0.6.0

func (DeviceTagsMapOutput) ToDeviceTagsMapOutput added in v0.6.0

func (o DeviceTagsMapOutput) ToDeviceTagsMapOutput() DeviceTagsMapOutput

func (DeviceTagsMapOutput) ToDeviceTagsMapOutputWithContext added in v0.6.0

func (o DeviceTagsMapOutput) ToDeviceTagsMapOutputWithContext(ctx context.Context) DeviceTagsMapOutput

type DeviceTagsOutput added in v0.6.0

type DeviceTagsOutput struct{ *pulumi.OutputState }

func (DeviceTagsOutput) DeviceId added in v0.11.0

func (o DeviceTagsOutput) DeviceId() pulumi.StringOutput

The device to set tags for

func (DeviceTagsOutput) ElementType added in v0.6.0

func (DeviceTagsOutput) ElementType() reflect.Type

func (DeviceTagsOutput) Tags added in v0.11.0

The tags to apply to the device

func (DeviceTagsOutput) ToDeviceTagsOutput added in v0.6.0

func (o DeviceTagsOutput) ToDeviceTagsOutput() DeviceTagsOutput

func (DeviceTagsOutput) ToDeviceTagsOutputWithContext added in v0.6.0

func (o DeviceTagsOutput) ToDeviceTagsOutputWithContext(ctx context.Context) DeviceTagsOutput

type DeviceTagsState added in v0.6.0

type DeviceTagsState struct {
	// The device to set tags for
	DeviceId pulumi.StringPtrInput
	// The tags to apply to the device
	Tags pulumi.StringArrayInput
}

func (DeviceTagsState) ElementType added in v0.6.0

func (DeviceTagsState) ElementType() reflect.Type

type DnsNameservers

type DnsNameservers struct {
	pulumi.CustomResourceState

	// Devices on your network will use these nameservers to resolve DNS names. IPv4 or IPv6 addresses are accepted.
	Nameservers pulumi.StringArrayOutput `pulumi:"nameservers"`
}

The dnsNameservers resource allows you to configure DNS nameservers for your Tailscale network. See https://tailscale.com/kb/1054/dns for more information.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tailscale.NewDnsNameservers(ctx, "sampleNameservers", &tailscale.DnsNameserversArgs{
			Nameservers: pulumi.StringArray{
				pulumi.String("8.8.8.8"),
				pulumi.String("8.8.4.4"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDnsNameservers

func GetDnsNameservers(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DnsNameserversState, opts ...pulumi.ResourceOption) (*DnsNameservers, error)

GetDnsNameservers gets an existing DnsNameservers 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 NewDnsNameservers

func NewDnsNameservers(ctx *pulumi.Context,
	name string, args *DnsNameserversArgs, opts ...pulumi.ResourceOption) (*DnsNameservers, error)

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

func (*DnsNameservers) ElementType

func (*DnsNameservers) ElementType() reflect.Type

func (*DnsNameservers) ToDnsNameserversOutput

func (i *DnsNameservers) ToDnsNameserversOutput() DnsNameserversOutput

func (*DnsNameservers) ToDnsNameserversOutputWithContext

func (i *DnsNameservers) ToDnsNameserversOutputWithContext(ctx context.Context) DnsNameserversOutput

type DnsNameserversArgs

type DnsNameserversArgs struct {
	// Devices on your network will use these nameservers to resolve DNS names. IPv4 or IPv6 addresses are accepted.
	Nameservers pulumi.StringArrayInput
}

The set of arguments for constructing a DnsNameservers resource.

func (DnsNameserversArgs) ElementType

func (DnsNameserversArgs) ElementType() reflect.Type

type DnsNameserversArray

type DnsNameserversArray []DnsNameserversInput

func (DnsNameserversArray) ElementType

func (DnsNameserversArray) ElementType() reflect.Type

func (DnsNameserversArray) ToDnsNameserversArrayOutput

func (i DnsNameserversArray) ToDnsNameserversArrayOutput() DnsNameserversArrayOutput

func (DnsNameserversArray) ToDnsNameserversArrayOutputWithContext

func (i DnsNameserversArray) ToDnsNameserversArrayOutputWithContext(ctx context.Context) DnsNameserversArrayOutput

type DnsNameserversArrayInput

type DnsNameserversArrayInput interface {
	pulumi.Input

	ToDnsNameserversArrayOutput() DnsNameserversArrayOutput
	ToDnsNameserversArrayOutputWithContext(context.Context) DnsNameserversArrayOutput
}

DnsNameserversArrayInput is an input type that accepts DnsNameserversArray and DnsNameserversArrayOutput values. You can construct a concrete instance of `DnsNameserversArrayInput` via:

DnsNameserversArray{ DnsNameserversArgs{...} }

type DnsNameserversArrayOutput

type DnsNameserversArrayOutput struct{ *pulumi.OutputState }

func (DnsNameserversArrayOutput) ElementType

func (DnsNameserversArrayOutput) ElementType() reflect.Type

func (DnsNameserversArrayOutput) Index

func (DnsNameserversArrayOutput) ToDnsNameserversArrayOutput

func (o DnsNameserversArrayOutput) ToDnsNameserversArrayOutput() DnsNameserversArrayOutput

func (DnsNameserversArrayOutput) ToDnsNameserversArrayOutputWithContext

func (o DnsNameserversArrayOutput) ToDnsNameserversArrayOutputWithContext(ctx context.Context) DnsNameserversArrayOutput

type DnsNameserversInput

type DnsNameserversInput interface {
	pulumi.Input

	ToDnsNameserversOutput() DnsNameserversOutput
	ToDnsNameserversOutputWithContext(ctx context.Context) DnsNameserversOutput
}

type DnsNameserversMap

type DnsNameserversMap map[string]DnsNameserversInput

func (DnsNameserversMap) ElementType

func (DnsNameserversMap) ElementType() reflect.Type

func (DnsNameserversMap) ToDnsNameserversMapOutput

func (i DnsNameserversMap) ToDnsNameserversMapOutput() DnsNameserversMapOutput

func (DnsNameserversMap) ToDnsNameserversMapOutputWithContext

func (i DnsNameserversMap) ToDnsNameserversMapOutputWithContext(ctx context.Context) DnsNameserversMapOutput

type DnsNameserversMapInput

type DnsNameserversMapInput interface {
	pulumi.Input

	ToDnsNameserversMapOutput() DnsNameserversMapOutput
	ToDnsNameserversMapOutputWithContext(context.Context) DnsNameserversMapOutput
}

DnsNameserversMapInput is an input type that accepts DnsNameserversMap and DnsNameserversMapOutput values. You can construct a concrete instance of `DnsNameserversMapInput` via:

DnsNameserversMap{ "key": DnsNameserversArgs{...} }

type DnsNameserversMapOutput

type DnsNameserversMapOutput struct{ *pulumi.OutputState }

func (DnsNameserversMapOutput) ElementType

func (DnsNameserversMapOutput) ElementType() reflect.Type

func (DnsNameserversMapOutput) MapIndex

func (DnsNameserversMapOutput) ToDnsNameserversMapOutput

func (o DnsNameserversMapOutput) ToDnsNameserversMapOutput() DnsNameserversMapOutput

func (DnsNameserversMapOutput) ToDnsNameserversMapOutputWithContext

func (o DnsNameserversMapOutput) ToDnsNameserversMapOutputWithContext(ctx context.Context) DnsNameserversMapOutput

type DnsNameserversOutput

type DnsNameserversOutput struct{ *pulumi.OutputState }

func (DnsNameserversOutput) ElementType

func (DnsNameserversOutput) ElementType() reflect.Type

func (DnsNameserversOutput) Nameservers added in v0.11.0

Devices on your network will use these nameservers to resolve DNS names. IPv4 or IPv6 addresses are accepted.

func (DnsNameserversOutput) ToDnsNameserversOutput

func (o DnsNameserversOutput) ToDnsNameserversOutput() DnsNameserversOutput

func (DnsNameserversOutput) ToDnsNameserversOutputWithContext

func (o DnsNameserversOutput) ToDnsNameserversOutputWithContext(ctx context.Context) DnsNameserversOutput

type DnsNameserversState

type DnsNameserversState struct {
	// Devices on your network will use these nameservers to resolve DNS names. IPv4 or IPv6 addresses are accepted.
	Nameservers pulumi.StringArrayInput
}

func (DnsNameserversState) ElementType

func (DnsNameserversState) ElementType() reflect.Type

type DnsPreferences

type DnsPreferences struct {
	pulumi.CustomResourceState

	// Whether or not to enable magic DNS
	MagicDns pulumi.BoolOutput `pulumi:"magicDns"`
}

The dnsPreferences resource allows you to configure DNS preferences for your Tailscale network. See https://tailscale.com/kb/1054/dns for more information.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tailscale.NewDnsPreferences(ctx, "samplePreferences", &tailscale.DnsPreferencesArgs{
			MagicDns: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ID doesn't matter.

```sh $ pulumi import tailscale:index/dnsPreferences:DnsPreferences sample_preferences dns_preferences ```

func GetDnsPreferences

func GetDnsPreferences(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DnsPreferencesState, opts ...pulumi.ResourceOption) (*DnsPreferences, error)

GetDnsPreferences gets an existing DnsPreferences 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 NewDnsPreferences

func NewDnsPreferences(ctx *pulumi.Context,
	name string, args *DnsPreferencesArgs, opts ...pulumi.ResourceOption) (*DnsPreferences, error)

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

func (*DnsPreferences) ElementType

func (*DnsPreferences) ElementType() reflect.Type

func (*DnsPreferences) ToDnsPreferencesOutput

func (i *DnsPreferences) ToDnsPreferencesOutput() DnsPreferencesOutput

func (*DnsPreferences) ToDnsPreferencesOutputWithContext

func (i *DnsPreferences) ToDnsPreferencesOutputWithContext(ctx context.Context) DnsPreferencesOutput

type DnsPreferencesArgs

type DnsPreferencesArgs struct {
	// Whether or not to enable magic DNS
	MagicDns pulumi.BoolInput
}

The set of arguments for constructing a DnsPreferences resource.

func (DnsPreferencesArgs) ElementType

func (DnsPreferencesArgs) ElementType() reflect.Type

type DnsPreferencesArray

type DnsPreferencesArray []DnsPreferencesInput

func (DnsPreferencesArray) ElementType

func (DnsPreferencesArray) ElementType() reflect.Type

func (DnsPreferencesArray) ToDnsPreferencesArrayOutput

func (i DnsPreferencesArray) ToDnsPreferencesArrayOutput() DnsPreferencesArrayOutput

func (DnsPreferencesArray) ToDnsPreferencesArrayOutputWithContext

func (i DnsPreferencesArray) ToDnsPreferencesArrayOutputWithContext(ctx context.Context) DnsPreferencesArrayOutput

type DnsPreferencesArrayInput

type DnsPreferencesArrayInput interface {
	pulumi.Input

	ToDnsPreferencesArrayOutput() DnsPreferencesArrayOutput
	ToDnsPreferencesArrayOutputWithContext(context.Context) DnsPreferencesArrayOutput
}

DnsPreferencesArrayInput is an input type that accepts DnsPreferencesArray and DnsPreferencesArrayOutput values. You can construct a concrete instance of `DnsPreferencesArrayInput` via:

DnsPreferencesArray{ DnsPreferencesArgs{...} }

type DnsPreferencesArrayOutput

type DnsPreferencesArrayOutput struct{ *pulumi.OutputState }

func (DnsPreferencesArrayOutput) ElementType

func (DnsPreferencesArrayOutput) ElementType() reflect.Type

func (DnsPreferencesArrayOutput) Index

func (DnsPreferencesArrayOutput) ToDnsPreferencesArrayOutput

func (o DnsPreferencesArrayOutput) ToDnsPreferencesArrayOutput() DnsPreferencesArrayOutput

func (DnsPreferencesArrayOutput) ToDnsPreferencesArrayOutputWithContext

func (o DnsPreferencesArrayOutput) ToDnsPreferencesArrayOutputWithContext(ctx context.Context) DnsPreferencesArrayOutput

type DnsPreferencesInput

type DnsPreferencesInput interface {
	pulumi.Input

	ToDnsPreferencesOutput() DnsPreferencesOutput
	ToDnsPreferencesOutputWithContext(ctx context.Context) DnsPreferencesOutput
}

type DnsPreferencesMap

type DnsPreferencesMap map[string]DnsPreferencesInput

func (DnsPreferencesMap) ElementType

func (DnsPreferencesMap) ElementType() reflect.Type

func (DnsPreferencesMap) ToDnsPreferencesMapOutput

func (i DnsPreferencesMap) ToDnsPreferencesMapOutput() DnsPreferencesMapOutput

func (DnsPreferencesMap) ToDnsPreferencesMapOutputWithContext

func (i DnsPreferencesMap) ToDnsPreferencesMapOutputWithContext(ctx context.Context) DnsPreferencesMapOutput

type DnsPreferencesMapInput

type DnsPreferencesMapInput interface {
	pulumi.Input

	ToDnsPreferencesMapOutput() DnsPreferencesMapOutput
	ToDnsPreferencesMapOutputWithContext(context.Context) DnsPreferencesMapOutput
}

DnsPreferencesMapInput is an input type that accepts DnsPreferencesMap and DnsPreferencesMapOutput values. You can construct a concrete instance of `DnsPreferencesMapInput` via:

DnsPreferencesMap{ "key": DnsPreferencesArgs{...} }

type DnsPreferencesMapOutput

type DnsPreferencesMapOutput struct{ *pulumi.OutputState }

func (DnsPreferencesMapOutput) ElementType

func (DnsPreferencesMapOutput) ElementType() reflect.Type

func (DnsPreferencesMapOutput) MapIndex

func (DnsPreferencesMapOutput) ToDnsPreferencesMapOutput

func (o DnsPreferencesMapOutput) ToDnsPreferencesMapOutput() DnsPreferencesMapOutput

func (DnsPreferencesMapOutput) ToDnsPreferencesMapOutputWithContext

func (o DnsPreferencesMapOutput) ToDnsPreferencesMapOutputWithContext(ctx context.Context) DnsPreferencesMapOutput

type DnsPreferencesOutput

type DnsPreferencesOutput struct{ *pulumi.OutputState }

func (DnsPreferencesOutput) ElementType

func (DnsPreferencesOutput) ElementType() reflect.Type

func (DnsPreferencesOutput) MagicDns added in v0.11.0

func (o DnsPreferencesOutput) MagicDns() pulumi.BoolOutput

Whether or not to enable magic DNS

func (DnsPreferencesOutput) ToDnsPreferencesOutput

func (o DnsPreferencesOutput) ToDnsPreferencesOutput() DnsPreferencesOutput

func (DnsPreferencesOutput) ToDnsPreferencesOutputWithContext

func (o DnsPreferencesOutput) ToDnsPreferencesOutputWithContext(ctx context.Context) DnsPreferencesOutput

type DnsPreferencesState

type DnsPreferencesState struct {
	// Whether or not to enable magic DNS
	MagicDns pulumi.BoolPtrInput
}

func (DnsPreferencesState) ElementType

func (DnsPreferencesState) ElementType() reflect.Type

type DnsSearchPaths

type DnsSearchPaths struct {
	pulumi.CustomResourceState

	// Devices on your network will use these domain suffixes to resolve DNS names.
	SearchPaths pulumi.StringArrayOutput `pulumi:"searchPaths"`
}

The dnsNameservers resource allows you to configure DNS nameservers for your Tailscale network. See https://tailscale.com/kb/1054/dns for more information.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tailscale.NewDnsSearchPaths(ctx, "sampleSearchPaths", &tailscale.DnsSearchPathsArgs{
			SearchPaths: pulumi.StringArray{
				pulumi.String("example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDnsSearchPaths

func GetDnsSearchPaths(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DnsSearchPathsState, opts ...pulumi.ResourceOption) (*DnsSearchPaths, error)

GetDnsSearchPaths gets an existing DnsSearchPaths 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 NewDnsSearchPaths

func NewDnsSearchPaths(ctx *pulumi.Context,
	name string, args *DnsSearchPathsArgs, opts ...pulumi.ResourceOption) (*DnsSearchPaths, error)

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

func (*DnsSearchPaths) ElementType

func (*DnsSearchPaths) ElementType() reflect.Type

func (*DnsSearchPaths) ToDnsSearchPathsOutput

func (i *DnsSearchPaths) ToDnsSearchPathsOutput() DnsSearchPathsOutput

func (*DnsSearchPaths) ToDnsSearchPathsOutputWithContext

func (i *DnsSearchPaths) ToDnsSearchPathsOutputWithContext(ctx context.Context) DnsSearchPathsOutput

type DnsSearchPathsArgs

type DnsSearchPathsArgs struct {
	// Devices on your network will use these domain suffixes to resolve DNS names.
	SearchPaths pulumi.StringArrayInput
}

The set of arguments for constructing a DnsSearchPaths resource.

func (DnsSearchPathsArgs) ElementType

func (DnsSearchPathsArgs) ElementType() reflect.Type

type DnsSearchPathsArray

type DnsSearchPathsArray []DnsSearchPathsInput

func (DnsSearchPathsArray) ElementType

func (DnsSearchPathsArray) ElementType() reflect.Type

func (DnsSearchPathsArray) ToDnsSearchPathsArrayOutput

func (i DnsSearchPathsArray) ToDnsSearchPathsArrayOutput() DnsSearchPathsArrayOutput

func (DnsSearchPathsArray) ToDnsSearchPathsArrayOutputWithContext

func (i DnsSearchPathsArray) ToDnsSearchPathsArrayOutputWithContext(ctx context.Context) DnsSearchPathsArrayOutput

type DnsSearchPathsArrayInput

type DnsSearchPathsArrayInput interface {
	pulumi.Input

	ToDnsSearchPathsArrayOutput() DnsSearchPathsArrayOutput
	ToDnsSearchPathsArrayOutputWithContext(context.Context) DnsSearchPathsArrayOutput
}

DnsSearchPathsArrayInput is an input type that accepts DnsSearchPathsArray and DnsSearchPathsArrayOutput values. You can construct a concrete instance of `DnsSearchPathsArrayInput` via:

DnsSearchPathsArray{ DnsSearchPathsArgs{...} }

type DnsSearchPathsArrayOutput

type DnsSearchPathsArrayOutput struct{ *pulumi.OutputState }

func (DnsSearchPathsArrayOutput) ElementType

func (DnsSearchPathsArrayOutput) ElementType() reflect.Type

func (DnsSearchPathsArrayOutput) Index

func (DnsSearchPathsArrayOutput) ToDnsSearchPathsArrayOutput

func (o DnsSearchPathsArrayOutput) ToDnsSearchPathsArrayOutput() DnsSearchPathsArrayOutput

func (DnsSearchPathsArrayOutput) ToDnsSearchPathsArrayOutputWithContext

func (o DnsSearchPathsArrayOutput) ToDnsSearchPathsArrayOutputWithContext(ctx context.Context) DnsSearchPathsArrayOutput

type DnsSearchPathsInput

type DnsSearchPathsInput interface {
	pulumi.Input

	ToDnsSearchPathsOutput() DnsSearchPathsOutput
	ToDnsSearchPathsOutputWithContext(ctx context.Context) DnsSearchPathsOutput
}

type DnsSearchPathsMap

type DnsSearchPathsMap map[string]DnsSearchPathsInput

func (DnsSearchPathsMap) ElementType

func (DnsSearchPathsMap) ElementType() reflect.Type

func (DnsSearchPathsMap) ToDnsSearchPathsMapOutput

func (i DnsSearchPathsMap) ToDnsSearchPathsMapOutput() DnsSearchPathsMapOutput

func (DnsSearchPathsMap) ToDnsSearchPathsMapOutputWithContext

func (i DnsSearchPathsMap) ToDnsSearchPathsMapOutputWithContext(ctx context.Context) DnsSearchPathsMapOutput

type DnsSearchPathsMapInput

type DnsSearchPathsMapInput interface {
	pulumi.Input

	ToDnsSearchPathsMapOutput() DnsSearchPathsMapOutput
	ToDnsSearchPathsMapOutputWithContext(context.Context) DnsSearchPathsMapOutput
}

DnsSearchPathsMapInput is an input type that accepts DnsSearchPathsMap and DnsSearchPathsMapOutput values. You can construct a concrete instance of `DnsSearchPathsMapInput` via:

DnsSearchPathsMap{ "key": DnsSearchPathsArgs{...} }

type DnsSearchPathsMapOutput

type DnsSearchPathsMapOutput struct{ *pulumi.OutputState }

func (DnsSearchPathsMapOutput) ElementType

func (DnsSearchPathsMapOutput) ElementType() reflect.Type

func (DnsSearchPathsMapOutput) MapIndex

func (DnsSearchPathsMapOutput) ToDnsSearchPathsMapOutput

func (o DnsSearchPathsMapOutput) ToDnsSearchPathsMapOutput() DnsSearchPathsMapOutput

func (DnsSearchPathsMapOutput) ToDnsSearchPathsMapOutputWithContext

func (o DnsSearchPathsMapOutput) ToDnsSearchPathsMapOutputWithContext(ctx context.Context) DnsSearchPathsMapOutput

type DnsSearchPathsOutput

type DnsSearchPathsOutput struct{ *pulumi.OutputState }

func (DnsSearchPathsOutput) ElementType

func (DnsSearchPathsOutput) ElementType() reflect.Type

func (DnsSearchPathsOutput) SearchPaths added in v0.11.0

Devices on your network will use these domain suffixes to resolve DNS names.

func (DnsSearchPathsOutput) ToDnsSearchPathsOutput

func (o DnsSearchPathsOutput) ToDnsSearchPathsOutput() DnsSearchPathsOutput

func (DnsSearchPathsOutput) ToDnsSearchPathsOutputWithContext

func (o DnsSearchPathsOutput) ToDnsSearchPathsOutputWithContext(ctx context.Context) DnsSearchPathsOutput

type DnsSearchPathsState

type DnsSearchPathsState struct {
	// Devices on your network will use these domain suffixes to resolve DNS names.
	SearchPaths pulumi.StringArrayInput
}

func (DnsSearchPathsState) ElementType

func (DnsSearchPathsState) ElementType() reflect.Type

type Get4Via6Args added in v0.11.0

type Get4Via6Args struct {
	// The IPv4 CIDR to map
	Cidr string `pulumi:"cidr"`
	// Site ID (between 0 and 255)
	Site int `pulumi:"site"`
}

A collection of arguments for invoking get4Via6.

type Get4Via6OutputArgs added in v0.11.0

type Get4Via6OutputArgs struct {
	// The IPv4 CIDR to map
	Cidr pulumi.StringInput `pulumi:"cidr"`
	// Site ID (between 0 and 255)
	Site pulumi.IntInput `pulumi:"site"`
}

A collection of arguments for invoking get4Via6.

func (Get4Via6OutputArgs) ElementType added in v0.11.0

func (Get4Via6OutputArgs) ElementType() reflect.Type

type Get4Via6Result added in v0.11.0

type Get4Via6Result struct {
	// The IPv4 CIDR to map
	Cidr string `pulumi:"cidr"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The 4via6 mapped address
	Ipv6 string `pulumi:"ipv6"`
	// Site ID (between 0 and 255)
	Site int `pulumi:"site"`
}

A collection of values returned by get4Via6.

func Get4Via6 added in v0.11.0

func Get4Via6(ctx *pulumi.Context, args *Get4Via6Args, opts ...pulumi.InvokeOption) (*Get4Via6Result, error)

The 4via6 data source is calculates an IPv6 prefix for a given site ID and IPv4 CIDR. See Tailscale documentation for [4via6 subnets](https://tailscale.com/kb/1201/4via6-subnets/) for more details.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tailscale.Get4Via6(ctx, &tailscale.Get4Via6Args{
			Cidr: "10.1.1.0/24",
			Site: 7,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type Get4Via6ResultOutput added in v0.11.0

type Get4Via6ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by get4Via6.

func Get4Via6Output added in v0.11.0

func Get4Via6Output(ctx *pulumi.Context, args Get4Via6OutputArgs, opts ...pulumi.InvokeOption) Get4Via6ResultOutput

func (Get4Via6ResultOutput) Cidr added in v0.11.0

The IPv4 CIDR to map

func (Get4Via6ResultOutput) ElementType added in v0.11.0

func (Get4Via6ResultOutput) ElementType() reflect.Type

func (Get4Via6ResultOutput) Id added in v0.11.0

The provider-assigned unique ID for this managed resource.

func (Get4Via6ResultOutput) Ipv6 added in v0.11.0

The 4via6 mapped address

func (Get4Via6ResultOutput) Site added in v0.11.0

Site ID (between 0 and 255)

func (Get4Via6ResultOutput) ToGet4Via6ResultOutput added in v0.11.0

func (o Get4Via6ResultOutput) ToGet4Via6ResultOutput() Get4Via6ResultOutput

func (Get4Via6ResultOutput) ToGet4Via6ResultOutputWithContext added in v0.11.0

func (o Get4Via6ResultOutput) ToGet4Via6ResultOutputWithContext(ctx context.Context) Get4Via6ResultOutput

type GetDeviceArgs

type GetDeviceArgs struct {
	// The short hostname of the device
	Hostname *string `pulumi:"hostname"`
	// The full name of the device (e.g. `hostname.domain.ts.net`)
	Name *string `pulumi:"name"`
	// If specified, the provider will make multiple attempts to obtain the data source until the waitFor duration is reached. Retries are made every second so this value should be greater than 1s
	WaitFor *string `pulumi:"waitFor"`
}

A collection of arguments for invoking getDevice.

type GetDeviceOutputArgs

type GetDeviceOutputArgs struct {
	// The short hostname of the device
	Hostname pulumi.StringPtrInput `pulumi:"hostname"`
	// The full name of the device (e.g. `hostname.domain.ts.net`)
	Name pulumi.StringPtrInput `pulumi:"name"`
	// If specified, the provider will make multiple attempts to obtain the data source until the waitFor duration is reached. Retries are made every second so this value should be greater than 1s
	WaitFor pulumi.StringPtrInput `pulumi:"waitFor"`
}

A collection of arguments for invoking getDevice.

func (GetDeviceOutputArgs) ElementType

func (GetDeviceOutputArgs) ElementType() reflect.Type

type GetDeviceResult

type GetDeviceResult struct {
	// The list of device's IPs
	Addresses []string `pulumi:"addresses"`
	// The short hostname of the device
	Hostname *string `pulumi:"hostname"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The full name of the device (e.g. `hostname.domain.ts.net`)
	Name *string `pulumi:"name"`
	// The tags applied to the device
	Tags []string `pulumi:"tags"`
	// The user associated with the device
	User string `pulumi:"user"`
	// If specified, the provider will make multiple attempts to obtain the data source until the waitFor duration is reached. Retries are made every second so this value should be greater than 1s
	WaitFor *string `pulumi:"waitFor"`
}

A collection of values returned by getDevice.

func GetDevice

func GetDevice(ctx *pulumi.Context, args *GetDeviceArgs, opts ...pulumi.InvokeOption) (*GetDeviceResult, error)

The device data source describes a single device in a tailnet

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tailscale.GetDevice(ctx, &tailscale.GetDeviceArgs{
			Name:    pulumi.StringRef("device1.example.ts.net"),
			WaitFor: pulumi.StringRef("60s"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = tailscale.GetDevice(ctx, &tailscale.GetDeviceArgs{
			Hostname: pulumi.StringRef("device2"),
			WaitFor:  pulumi.StringRef("60s"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetDeviceResultOutput

type GetDeviceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDevice.

func (GetDeviceResultOutput) Addresses

The list of device's IPs

func (GetDeviceResultOutput) ElementType

func (GetDeviceResultOutput) ElementType() reflect.Type

func (GetDeviceResultOutput) Hostname added in v0.14.0

The short hostname of the device

func (GetDeviceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDeviceResultOutput) Name

The full name of the device (e.g. `hostname.domain.ts.net`)

func (GetDeviceResultOutput) Tags added in v0.6.0

The tags applied to the device

func (GetDeviceResultOutput) ToGetDeviceResultOutput

func (o GetDeviceResultOutput) ToGetDeviceResultOutput() GetDeviceResultOutput

func (GetDeviceResultOutput) ToGetDeviceResultOutputWithContext

func (o GetDeviceResultOutput) ToGetDeviceResultOutputWithContext(ctx context.Context) GetDeviceResultOutput

func (GetDeviceResultOutput) User added in v0.3.0

The user associated with the device

func (GetDeviceResultOutput) WaitFor added in v0.6.0

If specified, the provider will make multiple attempts to obtain the data source until the waitFor duration is reached. Retries are made every second so this value should be greater than 1s

type GetDevicesArgs

type GetDevicesArgs struct {
	// Filters the device list to elements whose name has the provided prefix
	NamePrefix *string `pulumi:"namePrefix"`
}

A collection of arguments for invoking getDevices.

type GetDevicesDevice

type GetDevicesDevice struct {
	// The list of device's IPs
	Addresses []string `pulumi:"addresses"`
	// The short hostname of the device
	Hostname string `pulumi:"hostname"`
	// The unique identifier of the device
	Id string `pulumi:"id"`
	// The full name of the device (e.g. `hostname.domain.ts.net`)
	Name string `pulumi:"name"`
	// The tags applied to the device
	Tags []string `pulumi:"tags"`
	// The user associated with the device
	User string `pulumi:"user"`
}

type GetDevicesDeviceArgs

type GetDevicesDeviceArgs struct {
	// The list of device's IPs
	Addresses pulumi.StringArrayInput `pulumi:"addresses"`
	// The short hostname of the device
	Hostname pulumi.StringInput `pulumi:"hostname"`
	// The unique identifier of the device
	Id pulumi.StringInput `pulumi:"id"`
	// The full name of the device (e.g. `hostname.domain.ts.net`)
	Name pulumi.StringInput `pulumi:"name"`
	// The tags applied to the device
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The user associated with the device
	User pulumi.StringInput `pulumi:"user"`
}

func (GetDevicesDeviceArgs) ElementType

func (GetDevicesDeviceArgs) ElementType() reflect.Type

func (GetDevicesDeviceArgs) ToGetDevicesDeviceOutput

func (i GetDevicesDeviceArgs) ToGetDevicesDeviceOutput() GetDevicesDeviceOutput

func (GetDevicesDeviceArgs) ToGetDevicesDeviceOutputWithContext

func (i GetDevicesDeviceArgs) ToGetDevicesDeviceOutputWithContext(ctx context.Context) GetDevicesDeviceOutput

type GetDevicesDeviceArray

type GetDevicesDeviceArray []GetDevicesDeviceInput

func (GetDevicesDeviceArray) ElementType

func (GetDevicesDeviceArray) ElementType() reflect.Type

func (GetDevicesDeviceArray) ToGetDevicesDeviceArrayOutput

func (i GetDevicesDeviceArray) ToGetDevicesDeviceArrayOutput() GetDevicesDeviceArrayOutput

func (GetDevicesDeviceArray) ToGetDevicesDeviceArrayOutputWithContext

func (i GetDevicesDeviceArray) ToGetDevicesDeviceArrayOutputWithContext(ctx context.Context) GetDevicesDeviceArrayOutput

type GetDevicesDeviceArrayInput

type GetDevicesDeviceArrayInput interface {
	pulumi.Input

	ToGetDevicesDeviceArrayOutput() GetDevicesDeviceArrayOutput
	ToGetDevicesDeviceArrayOutputWithContext(context.Context) GetDevicesDeviceArrayOutput
}

GetDevicesDeviceArrayInput is an input type that accepts GetDevicesDeviceArray and GetDevicesDeviceArrayOutput values. You can construct a concrete instance of `GetDevicesDeviceArrayInput` via:

GetDevicesDeviceArray{ GetDevicesDeviceArgs{...} }

type GetDevicesDeviceArrayOutput

type GetDevicesDeviceArrayOutput struct{ *pulumi.OutputState }

func (GetDevicesDeviceArrayOutput) ElementType

func (GetDevicesDeviceArrayOutput) Index

func (GetDevicesDeviceArrayOutput) ToGetDevicesDeviceArrayOutput

func (o GetDevicesDeviceArrayOutput) ToGetDevicesDeviceArrayOutput() GetDevicesDeviceArrayOutput

func (GetDevicesDeviceArrayOutput) ToGetDevicesDeviceArrayOutputWithContext

func (o GetDevicesDeviceArrayOutput) ToGetDevicesDeviceArrayOutputWithContext(ctx context.Context) GetDevicesDeviceArrayOutput

type GetDevicesDeviceInput

type GetDevicesDeviceInput interface {
	pulumi.Input

	ToGetDevicesDeviceOutput() GetDevicesDeviceOutput
	ToGetDevicesDeviceOutputWithContext(context.Context) GetDevicesDeviceOutput
}

GetDevicesDeviceInput is an input type that accepts GetDevicesDeviceArgs and GetDevicesDeviceOutput values. You can construct a concrete instance of `GetDevicesDeviceInput` via:

GetDevicesDeviceArgs{...}

type GetDevicesDeviceOutput

type GetDevicesDeviceOutput struct{ *pulumi.OutputState }

func (GetDevicesDeviceOutput) Addresses

The list of device's IPs

func (GetDevicesDeviceOutput) ElementType

func (GetDevicesDeviceOutput) ElementType() reflect.Type

func (GetDevicesDeviceOutput) Hostname added in v0.14.0

The short hostname of the device

func (GetDevicesDeviceOutput) Id

The unique identifier of the device

func (GetDevicesDeviceOutput) Name

The full name of the device (e.g. `hostname.domain.ts.net`)

func (GetDevicesDeviceOutput) Tags added in v0.6.0

The tags applied to the device

func (GetDevicesDeviceOutput) ToGetDevicesDeviceOutput

func (o GetDevicesDeviceOutput) ToGetDevicesDeviceOutput() GetDevicesDeviceOutput

func (GetDevicesDeviceOutput) ToGetDevicesDeviceOutputWithContext

func (o GetDevicesDeviceOutput) ToGetDevicesDeviceOutputWithContext(ctx context.Context) GetDevicesDeviceOutput

func (GetDevicesDeviceOutput) User added in v0.3.0

The user associated with the device

type GetDevicesOutputArgs

type GetDevicesOutputArgs struct {
	// Filters the device list to elements whose name has the provided prefix
	NamePrefix pulumi.StringPtrInput `pulumi:"namePrefix"`
}

A collection of arguments for invoking getDevices.

func (GetDevicesOutputArgs) ElementType

func (GetDevicesOutputArgs) ElementType() reflect.Type

type GetDevicesResult

type GetDevicesResult struct {
	// The list of devices in the tailnet
	Devices []GetDevicesDevice `pulumi:"devices"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Filters the device list to elements whose name has the provided prefix
	NamePrefix *string `pulumi:"namePrefix"`
}

A collection of values returned by getDevices.

func GetDevices

func GetDevices(ctx *pulumi.Context, args *GetDevicesArgs, opts ...pulumi.InvokeOption) (*GetDevicesResult, error)

The devices data source describes a list of devices in a tailnet

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tailscale.GetDevices(ctx, &tailscale.GetDevicesArgs{
			NamePrefix: pulumi.StringRef("example-"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetDevicesResultOutput

type GetDevicesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDevices.

func (GetDevicesResultOutput) Devices

The list of devices in the tailnet

func (GetDevicesResultOutput) ElementType

func (GetDevicesResultOutput) ElementType() reflect.Type

func (GetDevicesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDevicesResultOutput) NamePrefix

Filters the device list to elements whose name has the provided prefix

func (GetDevicesResultOutput) ToGetDevicesResultOutput

func (o GetDevicesResultOutput) ToGetDevicesResultOutput() GetDevicesResultOutput

func (GetDevicesResultOutput) ToGetDevicesResultOutputWithContext

func (o GetDevicesResultOutput) ToGetDevicesResultOutputWithContext(ctx context.Context) GetDevicesResultOutput

type LookupAclResult added in v0.13.4

type LookupAclResult struct {
	// The contents of Tailscale ACL as a HuJSON string
	Hujson string `pulumi:"hujson"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The contents of Tailscale ACL as a JSON string
	Json string `pulumi:"json"`
}

A collection of values returned by getAcl.

func LookupAcl added in v0.13.4

func LookupAcl(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupAclResult, error)

The acl data source gets the Tailscale ACL for a tailnet

type LookupAclResultOutput added in v0.13.4

type LookupAclResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAcl.

func LookupAclOutput added in v0.13.4

func LookupAclOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) LookupAclResultOutput

func (LookupAclResultOutput) ElementType added in v0.13.4

func (LookupAclResultOutput) ElementType() reflect.Type

func (LookupAclResultOutput) Hujson added in v0.14.0

The contents of Tailscale ACL as a HuJSON string

func (LookupAclResultOutput) Id added in v0.13.4

The provider-assigned unique ID for this managed resource.

func (LookupAclResultOutput) Json added in v0.13.4

The contents of Tailscale ACL as a JSON string

func (LookupAclResultOutput) ToLookupAclResultOutput added in v0.13.4

func (o LookupAclResultOutput) ToLookupAclResultOutput() LookupAclResultOutput

func (LookupAclResultOutput) ToLookupAclResultOutputWithContext added in v0.13.4

func (o LookupAclResultOutput) ToLookupAclResultOutputWithContext(ctx context.Context) LookupAclResultOutput

type Provider

type Provider struct {
	pulumi.ProviderResourceState

	// The API key to use for authenticating requests to the API. Can be set via the TAILSCALE_API_KEY environment variable.
	// Conflicts with 'oauth_client_id' and 'oauth_client_secret'.
	ApiKey pulumi.StringPtrOutput `pulumi:"apiKey"`
	// The base URL of the Tailscale API. Defaults to https://api.tailscale.com. Can be set via the TAILSCALE_BASE_URL
	// environment variable.
	BaseUrl pulumi.StringPtrOutput `pulumi:"baseUrl"`
	// The OAuth application's ID when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_ID environment
	// variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'.
	OauthClientId pulumi.StringPtrOutput `pulumi:"oauthClientId"`
	// The OAuth application's secret when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_SECRET
	// environment variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'.
	OauthClientSecret pulumi.StringPtrOutput `pulumi:"oauthClientSecret"`
	// The organization name of the Tailnet in which to perform actions. Can be set via the TAILSCALE_TAILNET environment
	// variable. Default is the tailnet that owns API credentials passed to the provider.
	Tailnet pulumi.StringPtrOutput `pulumi:"tailnet"`
	// User-Agent header for API requests.
	UserAgent pulumi.StringPtrOutput `pulumi:"userAgent"`
}

The provider type for the tailscale 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 {
	// The API key to use for authenticating requests to the API. Can be set via the TAILSCALE_API_KEY environment variable.
	// Conflicts with 'oauth_client_id' and 'oauth_client_secret'.
	ApiKey pulumi.StringPtrInput
	// The base URL of the Tailscale API. Defaults to https://api.tailscale.com. Can be set via the TAILSCALE_BASE_URL
	// environment variable.
	BaseUrl pulumi.StringPtrInput
	// The OAuth application's ID when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_ID environment
	// variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'.
	OauthClientId pulumi.StringPtrInput
	// The OAuth application's secret when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_SECRET
	// environment variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'.
	OauthClientSecret pulumi.StringPtrInput
	// The OAuth 2.0 scopes to request when for the access token generated using the supplied OAuth client credentials. See
	// https://tailscale.com/kb/1215/oauth-clients/#scopes for available scopes. Only valid when both 'oauth_client_id' and
	// 'oauth_client_secret' are set.
	Scopes pulumi.StringArrayInput
	// The organization name of the Tailnet in which to perform actions. Can be set via the TAILSCALE_TAILNET environment
	// variable. Default is the tailnet that owns API credentials passed to the provider.
	Tailnet pulumi.StringPtrInput
	// User-Agent header for API requests.
	UserAgent pulumi.StringPtrInput
}

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) ApiKey added in v0.11.0

The API key to use for authenticating requests to the API. Can be set via the TAILSCALE_API_KEY environment variable. Conflicts with 'oauth_client_id' and 'oauth_client_secret'.

func (ProviderOutput) BaseUrl added in v0.11.0

The base URL of the Tailscale API. Defaults to https://api.tailscale.com. Can be set via the TAILSCALE_BASE_URL environment variable.

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) OauthClientId added in v0.12.2

func (o ProviderOutput) OauthClientId() pulumi.StringPtrOutput

The OAuth application's ID when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_ID environment variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'.

func (ProviderOutput) OauthClientSecret added in v0.12.2

func (o ProviderOutput) OauthClientSecret() pulumi.StringPtrOutput

The OAuth application's secret when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_SECRET environment variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'.

func (ProviderOutput) Tailnet added in v0.11.0

The organization name of the Tailnet in which to perform actions. Can be set via the TAILSCALE_TAILNET environment variable. Default is the tailnet that owns API credentials passed to the provider.

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

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

func (ProviderOutput) UserAgent added in v0.13.0

func (o ProviderOutput) UserAgent() pulumi.StringPtrOutput

User-Agent header for API requests.

type TailnetKey added in v0.6.0

type TailnetKey struct {
	pulumi.CustomResourceState

	// The creation timestamp of the key in RFC3339 format
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// A description of the key consisting of alphanumeric characters. Defaults to `""`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Indicates if the key is ephemeral. Defaults to `false`.
	Ephemeral pulumi.BoolPtrOutput `pulumi:"ephemeral"`
	// The expiry timestamp of the key in RFC3339 format
	ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"`
	// The expiry of the key in seconds. Defaults to `7776000` (90 days).
	Expiry pulumi.IntPtrOutput `pulumi:"expiry"`
	// Indicates whether the key is invalid (e.g. expired, revoked or has been deleted).
	Invalid pulumi.BoolOutput `pulumi:"invalid"`
	// The authentication key
	Key pulumi.StringOutput `pulumi:"key"`
	// Determines whether or not the machines authenticated by the key will be authorized for the tailnet by default. Defaults to `false`.
	Preauthorized pulumi.BoolPtrOutput `pulumi:"preauthorized"`
	// Determines whether the key should be created again if it becomes invalid. By default, reusable keys will be recreated, but single-use keys will not. Possible values: 'always', 'never'.
	RecreateIfInvalid pulumi.StringPtrOutput `pulumi:"recreateIfInvalid"`
	// Indicates if the key is reusable or single-use. Defaults to `false`.
	Reusable pulumi.BoolPtrOutput `pulumi:"reusable"`
	// List of tags to apply to the machines authenticated by the key.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

The tailnetKey resource allows you to create pre-authentication keys that can register new nodes without needing to sign in via a web browser. See https://tailscale.com/kb/1085/auth-keys for more information

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tailscale.NewTailnetKey(ctx, "sampleKey", &tailscale.TailnetKeyArgs{
			Description:   pulumi.String("Sample key"),
			Ephemeral:     pulumi.Bool(false),
			Expiry:        pulumi.Int(3600),
			Preauthorized: pulumi.Bool(true),
			Reusable:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetTailnetKey added in v0.6.0

func GetTailnetKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TailnetKeyState, opts ...pulumi.ResourceOption) (*TailnetKey, error)

GetTailnetKey gets an existing TailnetKey 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 NewTailnetKey added in v0.6.0

func NewTailnetKey(ctx *pulumi.Context,
	name string, args *TailnetKeyArgs, opts ...pulumi.ResourceOption) (*TailnetKey, error)

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

func (*TailnetKey) ElementType added in v0.6.0

func (*TailnetKey) ElementType() reflect.Type

func (*TailnetKey) ToTailnetKeyOutput added in v0.6.0

func (i *TailnetKey) ToTailnetKeyOutput() TailnetKeyOutput

func (*TailnetKey) ToTailnetKeyOutputWithContext added in v0.6.0

func (i *TailnetKey) ToTailnetKeyOutputWithContext(ctx context.Context) TailnetKeyOutput

type TailnetKeyArgs added in v0.6.0

type TailnetKeyArgs struct {
	// A description of the key consisting of alphanumeric characters. Defaults to `""`.
	Description pulumi.StringPtrInput
	// Indicates if the key is ephemeral. Defaults to `false`.
	Ephemeral pulumi.BoolPtrInput
	// The expiry of the key in seconds. Defaults to `7776000` (90 days).
	Expiry pulumi.IntPtrInput
	// Determines whether or not the machines authenticated by the key will be authorized for the tailnet by default. Defaults to `false`.
	Preauthorized pulumi.BoolPtrInput
	// Determines whether the key should be created again if it becomes invalid. By default, reusable keys will be recreated, but single-use keys will not. Possible values: 'always', 'never'.
	RecreateIfInvalid pulumi.StringPtrInput
	// Indicates if the key is reusable or single-use. Defaults to `false`.
	Reusable pulumi.BoolPtrInput
	// List of tags to apply to the machines authenticated by the key.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a TailnetKey resource.

func (TailnetKeyArgs) ElementType added in v0.6.0

func (TailnetKeyArgs) ElementType() reflect.Type

type TailnetKeyArray added in v0.6.0

type TailnetKeyArray []TailnetKeyInput

func (TailnetKeyArray) ElementType added in v0.6.0

func (TailnetKeyArray) ElementType() reflect.Type

func (TailnetKeyArray) ToTailnetKeyArrayOutput added in v0.6.0

func (i TailnetKeyArray) ToTailnetKeyArrayOutput() TailnetKeyArrayOutput

func (TailnetKeyArray) ToTailnetKeyArrayOutputWithContext added in v0.6.0

func (i TailnetKeyArray) ToTailnetKeyArrayOutputWithContext(ctx context.Context) TailnetKeyArrayOutput

type TailnetKeyArrayInput added in v0.6.0

type TailnetKeyArrayInput interface {
	pulumi.Input

	ToTailnetKeyArrayOutput() TailnetKeyArrayOutput
	ToTailnetKeyArrayOutputWithContext(context.Context) TailnetKeyArrayOutput
}

TailnetKeyArrayInput is an input type that accepts TailnetKeyArray and TailnetKeyArrayOutput values. You can construct a concrete instance of `TailnetKeyArrayInput` via:

TailnetKeyArray{ TailnetKeyArgs{...} }

type TailnetKeyArrayOutput added in v0.6.0

type TailnetKeyArrayOutput struct{ *pulumi.OutputState }

func (TailnetKeyArrayOutput) ElementType added in v0.6.0

func (TailnetKeyArrayOutput) ElementType() reflect.Type

func (TailnetKeyArrayOutput) Index added in v0.6.0

func (TailnetKeyArrayOutput) ToTailnetKeyArrayOutput added in v0.6.0

func (o TailnetKeyArrayOutput) ToTailnetKeyArrayOutput() TailnetKeyArrayOutput

func (TailnetKeyArrayOutput) ToTailnetKeyArrayOutputWithContext added in v0.6.0

func (o TailnetKeyArrayOutput) ToTailnetKeyArrayOutputWithContext(ctx context.Context) TailnetKeyArrayOutput

type TailnetKeyInput added in v0.6.0

type TailnetKeyInput interface {
	pulumi.Input

	ToTailnetKeyOutput() TailnetKeyOutput
	ToTailnetKeyOutputWithContext(ctx context.Context) TailnetKeyOutput
}

type TailnetKeyMap added in v0.6.0

type TailnetKeyMap map[string]TailnetKeyInput

func (TailnetKeyMap) ElementType added in v0.6.0

func (TailnetKeyMap) ElementType() reflect.Type

func (TailnetKeyMap) ToTailnetKeyMapOutput added in v0.6.0

func (i TailnetKeyMap) ToTailnetKeyMapOutput() TailnetKeyMapOutput

func (TailnetKeyMap) ToTailnetKeyMapOutputWithContext added in v0.6.0

func (i TailnetKeyMap) ToTailnetKeyMapOutputWithContext(ctx context.Context) TailnetKeyMapOutput

type TailnetKeyMapInput added in v0.6.0

type TailnetKeyMapInput interface {
	pulumi.Input

	ToTailnetKeyMapOutput() TailnetKeyMapOutput
	ToTailnetKeyMapOutputWithContext(context.Context) TailnetKeyMapOutput
}

TailnetKeyMapInput is an input type that accepts TailnetKeyMap and TailnetKeyMapOutput values. You can construct a concrete instance of `TailnetKeyMapInput` via:

TailnetKeyMap{ "key": TailnetKeyArgs{...} }

type TailnetKeyMapOutput added in v0.6.0

type TailnetKeyMapOutput struct{ *pulumi.OutputState }

func (TailnetKeyMapOutput) ElementType added in v0.6.0

func (TailnetKeyMapOutput) ElementType() reflect.Type

func (TailnetKeyMapOutput) MapIndex added in v0.6.0

func (TailnetKeyMapOutput) ToTailnetKeyMapOutput added in v0.6.0

func (o TailnetKeyMapOutput) ToTailnetKeyMapOutput() TailnetKeyMapOutput

func (TailnetKeyMapOutput) ToTailnetKeyMapOutputWithContext added in v0.6.0

func (o TailnetKeyMapOutput) ToTailnetKeyMapOutputWithContext(ctx context.Context) TailnetKeyMapOutput

type TailnetKeyOutput added in v0.6.0

type TailnetKeyOutput struct{ *pulumi.OutputState }

func (TailnetKeyOutput) CreatedAt added in v0.13.0

func (o TailnetKeyOutput) CreatedAt() pulumi.StringOutput

The creation timestamp of the key in RFC3339 format

func (TailnetKeyOutput) Description added in v0.13.1

func (o TailnetKeyOutput) Description() pulumi.StringPtrOutput

A description of the key consisting of alphanumeric characters. Defaults to `""`.

func (TailnetKeyOutput) ElementType added in v0.6.0

func (TailnetKeyOutput) ElementType() reflect.Type

func (TailnetKeyOutput) Ephemeral added in v0.11.0

func (o TailnetKeyOutput) Ephemeral() pulumi.BoolPtrOutput

Indicates if the key is ephemeral. Defaults to `false`.

func (TailnetKeyOutput) ExpiresAt added in v0.13.0

func (o TailnetKeyOutput) ExpiresAt() pulumi.StringOutput

The expiry timestamp of the key in RFC3339 format

func (TailnetKeyOutput) Expiry added in v0.12.0

The expiry of the key in seconds. Defaults to `7776000` (90 days).

func (TailnetKeyOutput) Invalid added in v0.13.4

func (o TailnetKeyOutput) Invalid() pulumi.BoolOutput

Indicates whether the key is invalid (e.g. expired, revoked or has been deleted).

func (TailnetKeyOutput) Key added in v0.11.0

The authentication key

func (TailnetKeyOutput) Preauthorized added in v0.11.0

func (o TailnetKeyOutput) Preauthorized() pulumi.BoolPtrOutput

Determines whether or not the machines authenticated by the key will be authorized for the tailnet by default. Defaults to `false`.

func (TailnetKeyOutput) RecreateIfInvalid added in v0.13.4

func (o TailnetKeyOutput) RecreateIfInvalid() pulumi.StringPtrOutput

Determines whether the key should be created again if it becomes invalid. By default, reusable keys will be recreated, but single-use keys will not. Possible values: 'always', 'never'.

func (TailnetKeyOutput) Reusable added in v0.11.0

func (o TailnetKeyOutput) Reusable() pulumi.BoolPtrOutput

Indicates if the key is reusable or single-use. Defaults to `false`.

func (TailnetKeyOutput) Tags added in v0.11.0

List of tags to apply to the machines authenticated by the key.

func (TailnetKeyOutput) ToTailnetKeyOutput added in v0.6.0

func (o TailnetKeyOutput) ToTailnetKeyOutput() TailnetKeyOutput

func (TailnetKeyOutput) ToTailnetKeyOutputWithContext added in v0.6.0

func (o TailnetKeyOutput) ToTailnetKeyOutputWithContext(ctx context.Context) TailnetKeyOutput

type TailnetKeyState added in v0.6.0

type TailnetKeyState struct {
	// The creation timestamp of the key in RFC3339 format
	CreatedAt pulumi.StringPtrInput
	// A description of the key consisting of alphanumeric characters. Defaults to `""`.
	Description pulumi.StringPtrInput
	// Indicates if the key is ephemeral. Defaults to `false`.
	Ephemeral pulumi.BoolPtrInput
	// The expiry timestamp of the key in RFC3339 format
	ExpiresAt pulumi.StringPtrInput
	// The expiry of the key in seconds. Defaults to `7776000` (90 days).
	Expiry pulumi.IntPtrInput
	// Indicates whether the key is invalid (e.g. expired, revoked or has been deleted).
	Invalid pulumi.BoolPtrInput
	// The authentication key
	Key pulumi.StringPtrInput
	// Determines whether or not the machines authenticated by the key will be authorized for the tailnet by default. Defaults to `false`.
	Preauthorized pulumi.BoolPtrInput
	// Determines whether the key should be created again if it becomes invalid. By default, reusable keys will be recreated, but single-use keys will not. Possible values: 'always', 'never'.
	RecreateIfInvalid pulumi.StringPtrInput
	// Indicates if the key is reusable or single-use. Defaults to `false`.
	Reusable pulumi.BoolPtrInput
	// List of tags to apply to the machines authenticated by the key.
	Tags pulumi.StringArrayInput
}

func (TailnetKeyState) ElementType added in v0.6.0

func (TailnetKeyState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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