Documentation
¶
Overview ¶
A Pulumi package for creating and managing the Matchbox iPXE server.
Index ¶
- type Group
- type GroupArgs
- type GroupArray
- type GroupArrayInput
- type GroupArrayOutput
- type GroupInput
- type GroupMap
- type GroupMapInput
- type GroupMapOutput
- type GroupOutput
- func (GroupOutput) ElementType() reflect.Type
- func (o GroupOutput) Metadata() pulumi.StringMapOutput
- func (o GroupOutput) Name() pulumi.StringOutput
- func (o GroupOutput) Profile() pulumi.StringOutput
- func (o GroupOutput) Selector() pulumi.StringMapOutput
- func (o GroupOutput) ToGroupOutput() GroupOutput
- func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput
- type GroupState
- type Profile
- type ProfileArgs
- type ProfileArray
- type ProfileArrayInput
- type ProfileArrayOutput
- type ProfileInput
- type ProfileMap
- type ProfileMapInput
- type ProfileMapOutput
- type ProfileOutput
- func (o ProfileOutput) Args() pulumi.StringArrayOutput
- func (o ProfileOutput) ContainerLinuxConfig() pulumi.StringPtrOutput
- func (ProfileOutput) ElementType() reflect.Type
- func (o ProfileOutput) GenericConfig() pulumi.StringPtrOutput
- func (o ProfileOutput) Initrds() pulumi.StringArrayOutput
- func (o ProfileOutput) Kernel() pulumi.StringPtrOutput
- func (o ProfileOutput) Name() pulumi.StringOutput
- func (o ProfileOutput) RawIgnition() pulumi.StringPtrOutput
- func (o ProfileOutput) ToProfileOutput() ProfileOutput
- func (o ProfileOutput) ToProfileOutputWithContext(ctx context.Context) ProfileOutput
- type ProfileState
- type Provider
- type ProviderArgs
- type ProviderInput
- type ProviderOutput
- func (o ProviderOutput) Ca() pulumi.StringOutput
- func (o ProviderOutput) ClientCert() pulumi.StringOutput
- func (o ProviderOutput) ClientKey() pulumi.StringOutput
- func (ProviderOutput) ElementType() reflect.Type
- func (o ProviderOutput) Endpoint() pulumi.StringOutput
- func (o ProviderOutput) ToProviderOutput() ProviderOutput
- func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput
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.StringMapOutput `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.StringMapOutput `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.StringMap{
"custom_variable": pulumi.String("machine_specific_value_here"),
},
Profile: pulumi.Any(matchbox_profile.Myprofile.Name),
Selector: pulumi.StringMap{
"mac": pulumi.String("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) 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.StringMapInput
// 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.StringMapInput
}
The set of arguments for constructing a Group resource.
func (GroupArgs) ElementType ¶
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 (o GroupArrayOutput) Index(i pulumi.IntInput) GroupOutput
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) 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 (o GroupMapOutput) MapIndex(k pulumi.StringInput) GroupOutput
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.StringMapOutput
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.StringMapOutput
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.StringMapInput
// 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.StringMapInput
}
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"`
// Generic configuration
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"`
}
## # Profile Resource
A Profile defines network boot and declarative provisioning configurations.
```go package main
import (
"fmt" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
osStream := "stable"
if param := cfg.Get("osStream"); param != "" {
osStream = param
}
osVersion := cfg.Require("osVersion")
_ := fmt.Sprintf("https://builds.coreos.fedoraproject.org/prod/streams/%v/builds/%v/x86_64/fedora-coreos-%v-live-kernel-x86_64", osStream, osVersion, osVersion)
_ := fmt.Sprintf("https://builds.coreos.fedoraproject.org/prod/streams/%v/builds/%v/x86_64/fedora-coreos-%v-live-initramfs.x86_64.img", osStream, osVersion, osVersion)
return nil
})
}
```
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) 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
// Generic configuration
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 (o ProfileArrayOutput) Index(i pulumi.IntInput) ProfileOutput
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 (o ProfileMapOutput) MapIndex(k pulumi.StringInput) ProfileOutput
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 ¶
func (o ProfileOutput) Args() pulumi.StringArrayOutput
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
Generic configuration
func (ProfileOutput) Initrds ¶
func (o ProfileOutput) Initrds() pulumi.StringArrayOutput
List of URLs to init RAM filesystems
func (ProfileOutput) Kernel ¶
func (o ProfileOutput) Kernel() pulumi.StringPtrOutput
URL of the kernel image to boot
func (ProfileOutput) Name ¶
func (o ProfileOutput) Name() pulumi.StringOutput
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
// Generic configuration
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) 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 (o ProviderOutput) Ca() pulumi.StringOutput
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