// 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{}) }