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

156 lines
6.0 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"
)
// The provider type for the incus 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.
type Provider struct {
pulumi.ProviderResourceState
// The directory to look for existing Incus configuration. (default = $HOME/.config/incus)
ConfigDir pulumi.StringPtrOutput `pulumi:"configDir"`
// The default remote to use when no other remote is defined in a resource.
DefaultRemote pulumi.StringPtrOutput `pulumi:"defaultRemote"`
// The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)
Project pulumi.StringPtrOutput `pulumi:"project"`
}
// NewProvider registers a new resource with the given unique name, arguments, and options.
func NewProvider(ctx *pulumi.Context,
name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) {
if args == nil {
args = &ProviderArgs{}
}
opts = internal.PkgResourceDefaultOpts(opts)
var resource Provider
err := ctx.RegisterResource("pulumi:providers:incus", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
type providerArgs struct {
// Accept the server certificate.
AcceptRemoteCertificate *bool `pulumi:"acceptRemoteCertificate"`
// The directory to look for existing Incus configuration. (default = $HOME/.config/incus)
ConfigDir *string `pulumi:"configDir"`
// The default remote to use when no other remote is defined in a resource.
DefaultRemote *string `pulumi:"defaultRemote"`
// Automatically generate the Incus client certificates if they don't exist.
GenerateClientCertificates *bool `pulumi:"generateClientCertificates"`
// The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)
Project *string `pulumi:"project"`
// Incus Remote
Remotes []ProviderRemote `pulumi:"remotes"`
}
// The set of arguments for constructing a Provider resource.
type ProviderArgs struct {
// Accept the server certificate.
AcceptRemoteCertificate pulumi.BoolPtrInput
// The directory to look for existing Incus configuration. (default = $HOME/.config/incus)
ConfigDir pulumi.StringPtrInput
// The default remote to use when no other remote is defined in a resource.
DefaultRemote pulumi.StringPtrInput
// Automatically generate the Incus client certificates if they don't exist.
GenerateClientCertificates pulumi.BoolPtrInput
// The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)
Project pulumi.StringPtrInput
// Incus Remote
Remotes ProviderRemoteArrayInput
}
func (ProviderArgs) ElementType() reflect.Type {
return reflect.TypeOf((*providerArgs)(nil)).Elem()
}
// This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.
func (r *Provider) TerraformConfig(ctx *pulumi.Context) (ProviderTerraformConfigResultOutput, error) {
out, err := ctx.Call("pulumi:providers:incus/terraformConfig", nil, ProviderTerraformConfigResultOutput{}, r)
if err != nil {
return ProviderTerraformConfigResultOutput{}, err
}
return out.(ProviderTerraformConfigResultOutput), nil
}
type ProviderTerraformConfigResult struct {
Result map[string]interface{} `pulumi:"result"`
}
type ProviderTerraformConfigResultOutput struct{ *pulumi.OutputState }
func (ProviderTerraformConfigResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*ProviderTerraformConfigResult)(nil)).Elem()
}
func (o ProviderTerraformConfigResultOutput) Result() pulumi.MapOutput {
return o.ApplyT(func(v ProviderTerraformConfigResult) map[string]interface{} { return v.Result }).(pulumi.MapOutput)
}
type ProviderInput interface {
pulumi.Input
ToProviderOutput() ProviderOutput
ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}
func (*Provider) ElementType() reflect.Type {
return reflect.TypeOf((**Provider)(nil)).Elem()
}
func (i *Provider) ToProviderOutput() ProviderOutput {
return i.ToProviderOutputWithContext(context.Background())
}
func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput)
}
type ProviderOutput struct{ *pulumi.OutputState }
func (ProviderOutput) ElementType() reflect.Type {
return reflect.TypeOf((**Provider)(nil)).Elem()
}
func (o ProviderOutput) ToProviderOutput() ProviderOutput {
return o
}
func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
return o
}
// The directory to look for existing Incus configuration. (default = $HOME/.config/incus)
func (o ProviderOutput) ConfigDir() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ConfigDir }).(pulumi.StringPtrOutput)
}
// The default remote to use when no other remote is defined in a resource.
func (o ProviderOutput) DefaultRemote() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.DefaultRemote }).(pulumi.StringPtrOutput)
}
// The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)
func (o ProviderOutput) Project() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Project }).(pulumi.StringPtrOutput)
}
func init() {
pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{})
pulumi.RegisterOutputType(ProviderOutput{})
pulumi.RegisterOutputType(ProviderTerraformConfigResultOutput{})
}