matchbox

package
v0.0.0-...-62bcc51 Latest Latest
Warning

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

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

Documentation

Overview

A Pulumi package for creating and managing the Matchbox iPXE server.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Group

type Group struct {
	pulumi.CustomResourceState

	// Map of group metadata (optional, seldom used)
	Metadata pulumi.MapOutput `pulumi:"metadata"`
	// Unqiue name for the machine matcher
	Name pulumi.StringOutput `pulumi:"name"`
	// Name of a Matchbox profile
	Profile pulumi.StringOutput `pulumi:"profile"`
	// Map of hardware machine selectors. See [reserved selectors](https://matchbox.psdn.io/matchbox/#reserved-selectors). An empty selector becomes a global default group that matches machines.
	Selector pulumi.MapOutput `pulumi:"selector"`
}

## # Group Resource

A Group matches (one or more) machines and declares a machine should be boot with a named `profile`.

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-matchbox/sdk/go/matchbox"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := matchbox.NewGroup(ctx, "node1", &matchbox.GroupArgs{
			Metadata: pulumi.Map{
				"custom_variable": pulumi.Any("machine_specific_value_here"),
			},
			Profile: pulumi.Any(matchbox_profile.Myprofile.Name),
			Selector: pulumi.Map{
				"mac": pulumi.Any("52:54:00:a1:9c:ae"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetGroup

func GetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupState, opts ...pulumi.ResourceOption) (*Group, error)

GetGroup gets an existing Group 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 NewGroup

func NewGroup(ctx *pulumi.Context,
	name string, args *GroupArgs, opts ...pulumi.ResourceOption) (*Group, error)

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

func (*Group) ElementType

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

func (i *Group) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupArgs

type GroupArgs struct {
	// Map of group metadata (optional, seldom used)
	Metadata pulumi.MapInput
	// Unqiue name for the machine matcher
	Name pulumi.StringPtrInput
	// Name of a Matchbox profile
	Profile pulumi.StringInput
	// Map of hardware machine selectors. See [reserved selectors](https://matchbox.psdn.io/matchbox/#reserved-selectors). An empty selector becomes a global default group that matches machines.
	Selector pulumi.MapInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

func (i GroupArray) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

	ToGroupArrayOutput() GroupArrayOutput
	ToGroupArrayOutputWithContext(context.Context) GroupArrayOutput
}

GroupArrayInput is an input type that accepts GroupArray and GroupArrayOutput values. You can construct a concrete instance of `GroupArrayInput` via:

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

func (o GroupArrayOutput) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupInput

type GroupInput interface {
	pulumi.Input

	ToGroupOutput() GroupOutput
	ToGroupOutputWithContext(ctx context.Context) GroupOutput
}

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

func (i GroupMap) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

	ToGroupMapOutput() GroupMapOutput
	ToGroupMapOutputWithContext(context.Context) GroupMapOutput
}

GroupMapInput is an input type that accepts GroupMap and GroupMapOutput values. You can construct a concrete instance of `GroupMapInput` via:

GroupMap{ "key": GroupArgs{...} }

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

func (o GroupMapOutput) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) Metadata

func (o GroupOutput) Metadata() pulumi.MapOutput

Map of group metadata (optional, seldom used)

func (GroupOutput) Name

func (o GroupOutput) Name() pulumi.StringOutput

Unqiue name for the machine matcher

func (GroupOutput) Profile

func (o GroupOutput) Profile() pulumi.StringOutput

Name of a Matchbox profile

func (GroupOutput) Selector

func (o GroupOutput) Selector() pulumi.MapOutput

Map of hardware machine selectors. See [reserved selectors](https://matchbox.psdn.io/matchbox/#reserved-selectors). An empty selector becomes a global default group that matches machines.

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupState

type GroupState struct {
	// Map of group metadata (optional, seldom used)
	Metadata pulumi.MapInput
	// Unqiue name for the machine matcher
	Name pulumi.StringPtrInput
	// Name of a Matchbox profile
	Profile pulumi.StringPtrInput
	// Map of hardware machine selectors. See [reserved selectors](https://matchbox.psdn.io/matchbox/#reserved-selectors). An empty selector becomes a global default group that matches machines.
	Selector pulumi.MapInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

type Profile

type Profile struct {
	pulumi.CustomResourceState

	// List of kernel arguments
	Args pulumi.StringArrayOutput `pulumi:"args"`
	// CoreOS Container Linux Config (CLC) (for backwards compatibility)
	ContainerLinuxConfig pulumi.StringPtrOutput `pulumi:"containerLinuxConfig"`
	GenericConfig        pulumi.StringPtrOutput `pulumi:"genericConfig"`
	// List of URLs to init RAM filesystems
	Initrds pulumi.StringArrayOutput `pulumi:"initrds"`
	// URL of the kernel image to boot
	Kernel pulumi.StringPtrOutput `pulumi:"kernel"`
	// Unqiue name for the machine matcher
	Name        pulumi.StringOutput    `pulumi:"name"`
	RawIgnition pulumi.StringPtrOutput `pulumi:"rawIgnition"`
}

func GetProfile

func GetProfile(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProfileState, opts ...pulumi.ResourceOption) (*Profile, error)

GetProfile gets an existing Profile 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 NewProfile

func NewProfile(ctx *pulumi.Context,
	name string, args *ProfileArgs, opts ...pulumi.ResourceOption) (*Profile, error)

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

func (*Profile) ElementType

func (*Profile) ElementType() reflect.Type

func (*Profile) ToProfileOutput

func (i *Profile) ToProfileOutput() ProfileOutput

func (*Profile) ToProfileOutputWithContext

func (i *Profile) ToProfileOutputWithContext(ctx context.Context) ProfileOutput

type ProfileArgs

type ProfileArgs struct {
	// List of kernel arguments
	Args pulumi.StringArrayInput
	// CoreOS Container Linux Config (CLC) (for backwards compatibility)
	ContainerLinuxConfig pulumi.StringPtrInput
	GenericConfig        pulumi.StringPtrInput
	// List of URLs to init RAM filesystems
	Initrds pulumi.StringArrayInput
	// URL of the kernel image to boot
	Kernel pulumi.StringPtrInput
	// Unqiue name for the machine matcher
	Name        pulumi.StringPtrInput
	RawIgnition pulumi.StringPtrInput
}

The set of arguments for constructing a Profile resource.

func (ProfileArgs) ElementType

func (ProfileArgs) ElementType() reflect.Type

type ProfileArray

type ProfileArray []ProfileInput

func (ProfileArray) ElementType

func (ProfileArray) ElementType() reflect.Type

func (ProfileArray) ToProfileArrayOutput

func (i ProfileArray) ToProfileArrayOutput() ProfileArrayOutput

func (ProfileArray) ToProfileArrayOutputWithContext

func (i ProfileArray) ToProfileArrayOutputWithContext(ctx context.Context) ProfileArrayOutput

type ProfileArrayInput

type ProfileArrayInput interface {
	pulumi.Input

	ToProfileArrayOutput() ProfileArrayOutput
	ToProfileArrayOutputWithContext(context.Context) ProfileArrayOutput
}

ProfileArrayInput is an input type that accepts ProfileArray and ProfileArrayOutput values. You can construct a concrete instance of `ProfileArrayInput` via:

ProfileArray{ ProfileArgs{...} }

type ProfileArrayOutput

type ProfileArrayOutput struct{ *pulumi.OutputState }

func (ProfileArrayOutput) ElementType

func (ProfileArrayOutput) ElementType() reflect.Type

func (ProfileArrayOutput) Index

func (ProfileArrayOutput) ToProfileArrayOutput

func (o ProfileArrayOutput) ToProfileArrayOutput() ProfileArrayOutput

func (ProfileArrayOutput) ToProfileArrayOutputWithContext

func (o ProfileArrayOutput) ToProfileArrayOutputWithContext(ctx context.Context) ProfileArrayOutput

type ProfileInput

type ProfileInput interface {
	pulumi.Input

	ToProfileOutput() ProfileOutput
	ToProfileOutputWithContext(ctx context.Context) ProfileOutput
}

type ProfileMap

type ProfileMap map[string]ProfileInput

func (ProfileMap) ElementType

func (ProfileMap) ElementType() reflect.Type

func (ProfileMap) ToProfileMapOutput

func (i ProfileMap) ToProfileMapOutput() ProfileMapOutput

func (ProfileMap) ToProfileMapOutputWithContext

func (i ProfileMap) ToProfileMapOutputWithContext(ctx context.Context) ProfileMapOutput

type ProfileMapInput

type ProfileMapInput interface {
	pulumi.Input

	ToProfileMapOutput() ProfileMapOutput
	ToProfileMapOutputWithContext(context.Context) ProfileMapOutput
}

ProfileMapInput is an input type that accepts ProfileMap and ProfileMapOutput values. You can construct a concrete instance of `ProfileMapInput` via:

ProfileMap{ "key": ProfileArgs{...} }

type ProfileMapOutput

type ProfileMapOutput struct{ *pulumi.OutputState }

func (ProfileMapOutput) ElementType

func (ProfileMapOutput) ElementType() reflect.Type

func (ProfileMapOutput) MapIndex

func (ProfileMapOutput) ToProfileMapOutput

func (o ProfileMapOutput) ToProfileMapOutput() ProfileMapOutput

func (ProfileMapOutput) ToProfileMapOutputWithContext

func (o ProfileMapOutput) ToProfileMapOutputWithContext(ctx context.Context) ProfileMapOutput

type ProfileOutput

type ProfileOutput struct{ *pulumi.OutputState }

func (ProfileOutput) Args

List of kernel arguments

func (ProfileOutput) ContainerLinuxConfig

func (o ProfileOutput) ContainerLinuxConfig() pulumi.StringPtrOutput

CoreOS Container Linux Config (CLC) (for backwards compatibility)

func (ProfileOutput) ElementType

func (ProfileOutput) ElementType() reflect.Type

func (ProfileOutput) GenericConfig

func (o ProfileOutput) GenericConfig() pulumi.StringPtrOutput

func (ProfileOutput) Initrds

List of URLs to init RAM filesystems

func (ProfileOutput) Kernel

URL of the kernel image to boot

func (ProfileOutput) Name

Unqiue name for the machine matcher

func (ProfileOutput) RawIgnition

func (o ProfileOutput) RawIgnition() pulumi.StringPtrOutput

func (ProfileOutput) ToProfileOutput

func (o ProfileOutput) ToProfileOutput() ProfileOutput

func (ProfileOutput) ToProfileOutputWithContext

func (o ProfileOutput) ToProfileOutputWithContext(ctx context.Context) ProfileOutput

type ProfileState

type ProfileState struct {
	// List of kernel arguments
	Args pulumi.StringArrayInput
	// CoreOS Container Linux Config (CLC) (for backwards compatibility)
	ContainerLinuxConfig pulumi.StringPtrInput
	GenericConfig        pulumi.StringPtrInput
	// List of URLs to init RAM filesystems
	Initrds pulumi.StringArrayInput
	// URL of the kernel image to boot
	Kernel pulumi.StringPtrInput
	// Unqiue name for the machine matcher
	Name        pulumi.StringPtrInput
	RawIgnition pulumi.StringPtrInput
}

func (ProfileState) ElementType

func (ProfileState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.ProviderResourceState

	Ca         pulumi.StringOutput `pulumi:"ca"`
	ClientCert pulumi.StringOutput `pulumi:"clientCert"`
	ClientKey  pulumi.StringOutput `pulumi:"clientKey"`
	Endpoint   pulumi.StringOutput `pulumi:"endpoint"`
}

The provider type for the matchbox 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 {
	Ca         pulumi.StringInput
	ClientCert pulumi.StringInput
	ClientKey  pulumi.StringInput
	Endpoint   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) Ca

func (ProviderOutput) ClientCert

func (o ProviderOutput) ClientCert() pulumi.StringOutput

func (ProviderOutput) ClientKey

func (o ProviderOutput) ClientKey() pulumi.StringOutput

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) Endpoint

func (o ProviderOutput) Endpoint() pulumi.StringOutput

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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