Initial provider implementation (#18)
This brings over the initial buildx prototype from pulumi/pulumi-docker and fixes various build and release issues.
This commit is contained in:
88
sdk/go/dockerbuild/x/provider.go
generated
Normal file
88
sdk/go/dockerbuild/x/provider.go
generated
Normal file
@@ -0,0 +1,88 @@
|
||||
// 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 dockerbuild
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
type Provider struct {
|
||||
pulumi.ProviderResourceState
|
||||
|
||||
// The build daemon's address.
|
||||
Host pulumix.Output[*string] `pulumi:"host"`
|
||||
}
|
||||
|
||||
// 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{}
|
||||
}
|
||||
|
||||
if args.Host == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||
args.Host = pulumix.Ptr(d.(string))
|
||||
}
|
||||
}
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource Provider
|
||||
err := ctx.RegisterResource("pulumi:providers:docker-build", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
type providerArgs struct {
|
||||
// The build daemon's address.
|
||||
Host *string `pulumi:"host"`
|
||||
Registries []Registry `pulumi:"registries"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a Provider resource.
|
||||
type ProviderArgs struct {
|
||||
// The build daemon's address.
|
||||
Host pulumix.Input[*string]
|
||||
Registries pulumix.Input[[]*RegistryArgs]
|
||||
}
|
||||
|
||||
func (ProviderArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*providerArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToOutput(ctx context.Context) pulumix.Output[Provider] {
|
||||
return pulumix.Output[Provider]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
// The build daemon's address.
|
||||
func (o ProviderOutput) Host() pulumix.Output[*string] {
|
||||
value := pulumix.Apply[Provider](o, func(v Provider) pulumix.Output[*string] { return v.Host })
|
||||
return pulumix.Flatten[*string, pulumix.Output[*string]](value)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterOutputType(ProviderOutput{})
|
||||
}
|
||||
Reference in New Issue
Block a user