Files
pulumi-incus/sdk/go/incus/getInstance.go
2025-12-08 10:47:09 -05:00

248 lines
9.3 KiB
Go
Generated

// Code generated by pulumi-language-go DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package incus
import (
"context"
"reflect"
"git.kalinow.ski/kiterun/pulumi-incus/sdk/go/incus/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// ## # Instance
//
// Provides information about an Incus instance.
// See Incus instance [configuration reference](https://linuxcontainers.org/incus/docs/main/explanation/instance_config/) for more details.
//
// ## Example Usage
//
// ```go
// package main
//
// import (
//
// "git.kalinow.ski/kiterun/pulumi-incus/sdk/go/incus"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// this, err := incus.LookupInstance(ctx, &incus.LookupInstanceArgs{
// Name: "default",
// }, nil)
// if err != nil {
// return err
// }
// ctx.Export("instanceName", this.Name)
// return nil
// })
// }
//
// ```
func LookupInstance(ctx *pulumi.Context, args *LookupInstanceArgs, opts ...pulumi.InvokeOption) (*LookupInstanceResult, error) {
opts = internal.PkgInvokeDefaultOpts(opts)
var rv LookupInstanceResult
err := ctx.Invoke("incus:index/getInstance:getInstance", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getInstance.
type LookupInstanceArgs struct {
// Architecture name.
Architecture *string `pulumi:"architecture"`
// Description of the instance.
Description *string `pulumi:"description"`
// Device definitions. See reference below.
Devices []GetInstanceDevice `pulumi:"devices"`
// Whether the instance is ephemeral (deleted on shutdown).
Ephemeral *bool `pulumi:"ephemeral"`
// Location of the instance.
Location *string `pulumi:"location"`
// **Required** - Name of the instance.
Name string `pulumi:"name"`
// List of profiles applied to the instance.
Profiles []string `pulumi:"profiles"`
// *Optional* - Name of the project where the instance is be stored.
Project *string `pulumi:"project"`
// *Optional* - The remote in which the resource was created. If
// not provided, the provider's default remote will be used.
Remote *string `pulumi:"remote"`
// Whether the instance is stateful.
Stateful *bool `pulumi:"stateful"`
// Status of the instance.
Status *string `pulumi:"status"`
// Type of the device Must be one of none, disk, nic,
// unix-char, unix-block, usb, gpu, infiniband, proxy, unix-hotplug, tpm, pci.
Type *string `pulumi:"type"`
}
// A collection of values returned by getInstance.
type LookupInstanceResult struct {
// Architecture name.
Architecture string `pulumi:"architecture"`
// Map of key/value pairs of config settings.
// [instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/)
Config map[string]string `pulumi:"config"`
// Description of the instance.
Description string `pulumi:"description"`
// Device definitions. See reference below.
Devices []GetInstanceDevice `pulumi:"devices"`
// Whether the instance is ephemeral (deleted on shutdown).
Ephemeral bool `pulumi:"ephemeral"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
// Location of the instance.
Location string `pulumi:"location"`
// Name of the device.
Name string `pulumi:"name"`
// List of profiles applied to the instance.
Profiles []string `pulumi:"profiles"`
Project *string `pulumi:"project"`
Remote *string `pulumi:"remote"`
// Whether the instance is stateful.
Stateful bool `pulumi:"stateful"`
// Status of the instance.
Status string `pulumi:"status"`
// Type of the device Must be one of none, disk, nic,
// unix-char, unix-block, usb, gpu, infiniband, proxy, unix-hotplug, tpm, pci.
Type string `pulumi:"type"`
}
func LookupInstanceOutput(ctx *pulumi.Context, args LookupInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceResultOutput {
return pulumi.ToOutputWithContext(ctx.Context(), args).
ApplyT(func(v interface{}) (LookupInstanceResultOutput, error) {
args := v.(LookupInstanceArgs)
options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)}
return ctx.InvokeOutput("incus:index/getInstance:getInstance", args, LookupInstanceResultOutput{}, options).(LookupInstanceResultOutput), nil
}).(LookupInstanceResultOutput)
}
// A collection of arguments for invoking getInstance.
type LookupInstanceOutputArgs struct {
// Architecture name.
Architecture pulumi.StringPtrInput `pulumi:"architecture"`
// Description of the instance.
Description pulumi.StringPtrInput `pulumi:"description"`
// Device definitions. See reference below.
Devices GetInstanceDeviceArrayInput `pulumi:"devices"`
// Whether the instance is ephemeral (deleted on shutdown).
Ephemeral pulumi.BoolPtrInput `pulumi:"ephemeral"`
// Location of the instance.
Location pulumi.StringPtrInput `pulumi:"location"`
// **Required** - Name of the instance.
Name pulumi.StringInput `pulumi:"name"`
// List of profiles applied to the instance.
Profiles pulumi.StringArrayInput `pulumi:"profiles"`
// *Optional* - Name of the project where the instance is be stored.
Project pulumi.StringPtrInput `pulumi:"project"`
// *Optional* - The remote in which the resource was created. If
// not provided, the provider's default remote will be used.
Remote pulumi.StringPtrInput `pulumi:"remote"`
// Whether the instance is stateful.
Stateful pulumi.BoolPtrInput `pulumi:"stateful"`
// Status of the instance.
Status pulumi.StringPtrInput `pulumi:"status"`
// Type of the device Must be one of none, disk, nic,
// unix-char, unix-block, usb, gpu, infiniband, proxy, unix-hotplug, tpm, pci.
Type pulumi.StringPtrInput `pulumi:"type"`
}
func (LookupInstanceOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*LookupInstanceArgs)(nil)).Elem()
}
// A collection of values returned by getInstance.
type LookupInstanceResultOutput struct{ *pulumi.OutputState }
func (LookupInstanceResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*LookupInstanceResult)(nil)).Elem()
}
func (o LookupInstanceResultOutput) ToLookupInstanceResultOutput() LookupInstanceResultOutput {
return o
}
func (o LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext(ctx context.Context) LookupInstanceResultOutput {
return o
}
// Architecture name.
func (o LookupInstanceResultOutput) Architecture() pulumi.StringOutput {
return o.ApplyT(func(v LookupInstanceResult) string { return v.Architecture }).(pulumi.StringOutput)
}
// Map of key/value pairs of config settings.
// [instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/)
func (o LookupInstanceResultOutput) Config() pulumi.StringMapOutput {
return o.ApplyT(func(v LookupInstanceResult) map[string]string { return v.Config }).(pulumi.StringMapOutput)
}
// Description of the instance.
func (o LookupInstanceResultOutput) Description() pulumi.StringOutput {
return o.ApplyT(func(v LookupInstanceResult) string { return v.Description }).(pulumi.StringOutput)
}
// Device definitions. See reference below.
func (o LookupInstanceResultOutput) Devices() GetInstanceDeviceArrayOutput {
return o.ApplyT(func(v LookupInstanceResult) []GetInstanceDevice { return v.Devices }).(GetInstanceDeviceArrayOutput)
}
// Whether the instance is ephemeral (deleted on shutdown).
func (o LookupInstanceResultOutput) Ephemeral() pulumi.BoolOutput {
return o.ApplyT(func(v LookupInstanceResult) bool { return v.Ephemeral }).(pulumi.BoolOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o LookupInstanceResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v LookupInstanceResult) string { return v.Id }).(pulumi.StringOutput)
}
// Location of the instance.
func (o LookupInstanceResultOutput) Location() pulumi.StringOutput {
return o.ApplyT(func(v LookupInstanceResult) string { return v.Location }).(pulumi.StringOutput)
}
// Name of the device.
func (o LookupInstanceResultOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v LookupInstanceResult) string { return v.Name }).(pulumi.StringOutput)
}
// List of profiles applied to the instance.
func (o LookupInstanceResultOutput) Profiles() pulumi.StringArrayOutput {
return o.ApplyT(func(v LookupInstanceResult) []string { return v.Profiles }).(pulumi.StringArrayOutput)
}
func (o LookupInstanceResultOutput) Project() pulumi.StringPtrOutput {
return o.ApplyT(func(v LookupInstanceResult) *string { return v.Project }).(pulumi.StringPtrOutput)
}
func (o LookupInstanceResultOutput) Remote() pulumi.StringPtrOutput {
return o.ApplyT(func(v LookupInstanceResult) *string { return v.Remote }).(pulumi.StringPtrOutput)
}
// Whether the instance is stateful.
func (o LookupInstanceResultOutput) Stateful() pulumi.BoolOutput {
return o.ApplyT(func(v LookupInstanceResult) bool { return v.Stateful }).(pulumi.BoolOutput)
}
// Status of the instance.
func (o LookupInstanceResultOutput) Status() pulumi.StringOutput {
return o.ApplyT(func(v LookupInstanceResult) string { return v.Status }).(pulumi.StringOutput)
}
// Type of the device Must be one of none, disk, nic,
// unix-char, unix-block, usb, gpu, infiniband, proxy, unix-hotplug, tpm, pci.
func (o LookupInstanceResultOutput) Type() pulumi.StringOutput {
return o.ApplyT(func(v LookupInstanceResult) string { return v.Type }).(pulumi.StringOutput)
}
func init() {
pulumi.RegisterOutputType(LookupInstanceResultOutput{})
}