Files
pulumi-dokploy/sdk/go/dokploy/dnsProvider.go
T
max-voitcov 73386ba0ff
build / build (push) Failing after 11m22s
release / plugin (push) Failing after 31m35s
release / sdks (push) Has been skipped
Bridge what Dokploy v0.30 added, and let the docs through
Six new resources from terraform-provider-dokploy v0.2.0 -- Network,
DnsProvider, VaultProvider, Schedule, VolumeBackup and Libsql -- plus the new
properties on Domain (`enabled`), Compose (`serviceNetworks`, `createEnvFile`,
`icon`) and Application. Verified with `pulumi up` against a live v0.30.2
instance: create, preview-clean, and destroy.

The upstream provider also now refuses a volume Mount with no `volumeName`,
which Dokploy would otherwise turn into an anonymous Docker volume recreated
on every deploy. That surfaces here at preview time, before anything exists.

Two things made that fix nearly invisible to Pulumi users, so this commit
fixes the second one: the bridge resolves the upstream `docs/` through the Go
module cache, where a locally `replace`d dependency never lands, so tfgen was
emitting every resource with no description at all. UpstreamRepoPath now
points at the checkout and all 445 inputs carry documentation -- with names
rendered per language, so Python readers see `volume_name` where TypeScript
readers see `volumeName`.
2026-08-26 00:46:32 +03:00

277 lines
10 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 dokploy
import (
"context"
"reflect"
"errors"
"github.com/maxvojtkov/pulumi-dokploy/sdk/go/dokploy/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// A DNS provider connection Dokploy uses to create records for domains automatically.
//
// `config` is a JSON object whose shape depends on `providerType`:
type DnsProvider struct {
pulumi.CustomResourceState
// Provider credentials as a JSON object, including the `providerType` discriminator.
Config pulumi.StringOutput `pulumi:"config"`
// RFC 3339 timestamp of when the connection was created.
CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
// Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
Name pulumi.StringOutput `pulumi:"name"`
// Organization that owns the connection.
OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
// Provider kind derived from `config`: `cloudflare` or `route53`.
ProviderType pulumi.StringOutput `pulumi:"providerType"`
}
// NewDnsProvider registers a new resource with the given unique name, arguments, and options.
func NewDnsProvider(ctx *pulumi.Context,
name string, args *DnsProviderArgs, opts ...pulumi.ResourceOption) (*DnsProvider, error) {
if args == nil {
return nil, errors.New("missing one or more required arguments")
}
if args.Config == nil {
return nil, errors.New("invalid value for required argument 'Config'")
}
if args.Config != nil {
args.Config = pulumi.ToSecret(args.Config).(pulumi.StringInput)
}
secrets := pulumi.AdditionalSecretOutputs([]string{
"config",
})
opts = append(opts, secrets)
opts = internal.PkgResourceDefaultOpts(opts)
var resource DnsProvider
err := ctx.RegisterResource("dokploy:index/dnsProvider:DnsProvider", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// GetDnsProvider gets an existing DnsProvider 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 GetDnsProvider(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *DnsProviderState, opts ...pulumi.ResourceOption) (*DnsProvider, error) {
var resource DnsProvider
err := ctx.ReadResource("dokploy:index/dnsProvider:DnsProvider", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// Input properties used for looking up and filtering DnsProvider resources.
type dnsProviderState struct {
// Provider credentials as a JSON object, including the `providerType` discriminator.
Config *string `pulumi:"config"`
// RFC 3339 timestamp of when the connection was created.
CreatedAt *string `pulumi:"createdAt"`
// Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
Name *string `pulumi:"name"`
// Organization that owns the connection.
OrganizationId *string `pulumi:"organizationId"`
// Provider kind derived from `config`: `cloudflare` or `route53`.
ProviderType *string `pulumi:"providerType"`
}
type DnsProviderState struct {
// Provider credentials as a JSON object, including the `providerType` discriminator.
Config pulumi.StringPtrInput
// RFC 3339 timestamp of when the connection was created.
CreatedAt pulumi.StringPtrInput
// Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
Name pulumi.StringPtrInput
// Organization that owns the connection.
OrganizationId pulumi.StringPtrInput
// Provider kind derived from `config`: `cloudflare` or `route53`.
ProviderType pulumi.StringPtrInput
}
func (DnsProviderState) ElementType() reflect.Type {
return reflect.TypeOf((*dnsProviderState)(nil)).Elem()
}
type dnsProviderArgs struct {
// Provider credentials as a JSON object, including the `providerType` discriminator.
Config string `pulumi:"config"`
// Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
Name *string `pulumi:"name"`
}
// The set of arguments for constructing a DnsProvider resource.
type DnsProviderArgs struct {
// Provider credentials as a JSON object, including the `providerType` discriminator.
Config pulumi.StringInput
// Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
Name pulumi.StringPtrInput
}
func (DnsProviderArgs) ElementType() reflect.Type {
return reflect.TypeOf((*dnsProviderArgs)(nil)).Elem()
}
type DnsProviderInput interface {
pulumi.Input
ToDnsProviderOutput() DnsProviderOutput
ToDnsProviderOutputWithContext(ctx context.Context) DnsProviderOutput
}
func (*DnsProvider) ElementType() reflect.Type {
return reflect.TypeOf((**DnsProvider)(nil)).Elem()
}
func (i *DnsProvider) ToDnsProviderOutput() DnsProviderOutput {
return i.ToDnsProviderOutputWithContext(context.Background())
}
func (i *DnsProvider) ToDnsProviderOutputWithContext(ctx context.Context) DnsProviderOutput {
return pulumi.ToOutputWithContext(ctx, i).(DnsProviderOutput)
}
// DnsProviderArrayInput is an input type that accepts DnsProviderArray and DnsProviderArrayOutput values.
// You can construct a concrete instance of `DnsProviderArrayInput` via:
//
// DnsProviderArray{ DnsProviderArgs{...} }
type DnsProviderArrayInput interface {
pulumi.Input
ToDnsProviderArrayOutput() DnsProviderArrayOutput
ToDnsProviderArrayOutputWithContext(context.Context) DnsProviderArrayOutput
}
type DnsProviderArray []DnsProviderInput
func (DnsProviderArray) ElementType() reflect.Type {
return reflect.TypeOf((*[]*DnsProvider)(nil)).Elem()
}
func (i DnsProviderArray) ToDnsProviderArrayOutput() DnsProviderArrayOutput {
return i.ToDnsProviderArrayOutputWithContext(context.Background())
}
func (i DnsProviderArray) ToDnsProviderArrayOutputWithContext(ctx context.Context) DnsProviderArrayOutput {
return pulumi.ToOutputWithContext(ctx, i).(DnsProviderArrayOutput)
}
// DnsProviderMapInput is an input type that accepts DnsProviderMap and DnsProviderMapOutput values.
// You can construct a concrete instance of `DnsProviderMapInput` via:
//
// DnsProviderMap{ "key": DnsProviderArgs{...} }
type DnsProviderMapInput interface {
pulumi.Input
ToDnsProviderMapOutput() DnsProviderMapOutput
ToDnsProviderMapOutputWithContext(context.Context) DnsProviderMapOutput
}
type DnsProviderMap map[string]DnsProviderInput
func (DnsProviderMap) ElementType() reflect.Type {
return reflect.TypeOf((*map[string]*DnsProvider)(nil)).Elem()
}
func (i DnsProviderMap) ToDnsProviderMapOutput() DnsProviderMapOutput {
return i.ToDnsProviderMapOutputWithContext(context.Background())
}
func (i DnsProviderMap) ToDnsProviderMapOutputWithContext(ctx context.Context) DnsProviderMapOutput {
return pulumi.ToOutputWithContext(ctx, i).(DnsProviderMapOutput)
}
type DnsProviderOutput struct{ *pulumi.OutputState }
func (DnsProviderOutput) ElementType() reflect.Type {
return reflect.TypeOf((**DnsProvider)(nil)).Elem()
}
func (o DnsProviderOutput) ToDnsProviderOutput() DnsProviderOutput {
return o
}
func (o DnsProviderOutput) ToDnsProviderOutputWithContext(ctx context.Context) DnsProviderOutput {
return o
}
// Provider credentials as a JSON object, including the `providerType` discriminator.
func (o DnsProviderOutput) Config() pulumi.StringOutput {
return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.Config }).(pulumi.StringOutput)
}
// RFC 3339 timestamp of when the connection was created.
func (o DnsProviderOutput) CreatedAt() pulumi.StringOutput {
return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
}
// Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`.
func (o DnsProviderOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
}
// Organization that owns the connection.
func (o DnsProviderOutput) OrganizationId() pulumi.StringOutput {
return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.OrganizationId }).(pulumi.StringOutput)
}
// Provider kind derived from `config`: `cloudflare` or `route53`.
func (o DnsProviderOutput) ProviderType() pulumi.StringOutput {
return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.ProviderType }).(pulumi.StringOutput)
}
type DnsProviderArrayOutput struct{ *pulumi.OutputState }
func (DnsProviderArrayOutput) ElementType() reflect.Type {
return reflect.TypeOf((*[]*DnsProvider)(nil)).Elem()
}
func (o DnsProviderArrayOutput) ToDnsProviderArrayOutput() DnsProviderArrayOutput {
return o
}
func (o DnsProviderArrayOutput) ToDnsProviderArrayOutputWithContext(ctx context.Context) DnsProviderArrayOutput {
return o
}
func (o DnsProviderArrayOutput) Index(i pulumi.IntInput) DnsProviderOutput {
return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DnsProvider {
return vs[0].([]*DnsProvider)[vs[1].(int)]
}).(DnsProviderOutput)
}
type DnsProviderMapOutput struct{ *pulumi.OutputState }
func (DnsProviderMapOutput) ElementType() reflect.Type {
return reflect.TypeOf((*map[string]*DnsProvider)(nil)).Elem()
}
func (o DnsProviderMapOutput) ToDnsProviderMapOutput() DnsProviderMapOutput {
return o
}
func (o DnsProviderMapOutput) ToDnsProviderMapOutputWithContext(ctx context.Context) DnsProviderMapOutput {
return o
}
func (o DnsProviderMapOutput) MapIndex(k pulumi.StringInput) DnsProviderOutput {
return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DnsProvider {
return vs[0].(map[string]*DnsProvider)[vs[1].(string)]
}).(DnsProviderOutput)
}
func init() {
pulumi.RegisterInputType(reflect.TypeOf((*DnsProviderInput)(nil)).Elem(), &DnsProvider{})
pulumi.RegisterInputType(reflect.TypeOf((*DnsProviderArrayInput)(nil)).Elem(), DnsProviderArray{})
pulumi.RegisterInputType(reflect.TypeOf((*DnsProviderMapInput)(nil)).Elem(), DnsProviderMap{})
pulumi.RegisterOutputType(DnsProviderOutput{})
pulumi.RegisterOutputType(DnsProviderArrayOutput{})
pulumi.RegisterOutputType(DnsProviderMapOutput{})
}