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`.
This commit is contained in:
Generated
+296
@@ -0,0 +1,296 @@
|
||||
// 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"
|
||||
)
|
||||
|
||||
// An external secret manager Dokploy resolves environment variables from at deploy time.
|
||||
//
|
||||
// Reference a secret from any `env` value with `${{vault.<scope>.<key>}}`. The value is fetched when the deployment runs and is never stored in Dokploy — so rotating it in the vault takes effect on the next deploy with no Terraform change.
|
||||
//
|
||||
// Supported `providerType` values: `hashicorp` (Vault/OpenBao), `infisical`, `aws` (Secrets Manager), `doppler`, `azure` (Key Vault) and `scaleway`.
|
||||
type VaultProvider struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
// JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
Assignments pulumi.StringOutput `pulumi:"assignments"`
|
||||
// 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, unique within the organization.
|
||||
Name pulumi.StringOutput `pulumi:"name"`
|
||||
// Organization that owns the connection.
|
||||
OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
|
||||
// Provider kind derived from `config`.
|
||||
ProviderType pulumi.StringOutput `pulumi:"providerType"`
|
||||
}
|
||||
|
||||
// NewVaultProvider registers a new resource with the given unique name, arguments, and options.
|
||||
func NewVaultProvider(ctx *pulumi.Context,
|
||||
name string, args *VaultProviderArgs, opts ...pulumi.ResourceOption) (*VaultProvider, error) {
|
||||
if args == nil {
|
||||
return nil, errors.New("missing one or more required arguments")
|
||||
}
|
||||
|
||||
if args.Assignments == nil {
|
||||
return nil, errors.New("invalid value for required argument 'Assignments'")
|
||||
}
|
||||
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 VaultProvider
|
||||
err := ctx.RegisterResource("dokploy:index/vaultProvider:VaultProvider", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetVaultProvider gets an existing VaultProvider 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 GetVaultProvider(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *VaultProviderState, opts ...pulumi.ResourceOption) (*VaultProvider, error) {
|
||||
var resource VaultProvider
|
||||
err := ctx.ReadResource("dokploy:index/vaultProvider:VaultProvider", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering VaultProvider resources.
|
||||
type vaultProviderState struct {
|
||||
// JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
Assignments *string `pulumi:"assignments"`
|
||||
// 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, unique within the organization.
|
||||
Name *string `pulumi:"name"`
|
||||
// Organization that owns the connection.
|
||||
OrganizationId *string `pulumi:"organizationId"`
|
||||
// Provider kind derived from `config`.
|
||||
ProviderType *string `pulumi:"providerType"`
|
||||
}
|
||||
|
||||
type VaultProviderState struct {
|
||||
// JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
Assignments pulumi.StringPtrInput
|
||||
// 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, unique within the organization.
|
||||
Name pulumi.StringPtrInput
|
||||
// Organization that owns the connection.
|
||||
OrganizationId pulumi.StringPtrInput
|
||||
// Provider kind derived from `config`.
|
||||
ProviderType pulumi.StringPtrInput
|
||||
}
|
||||
|
||||
func (VaultProviderState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*vaultProviderState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type vaultProviderArgs struct {
|
||||
// JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
Assignments string `pulumi:"assignments"`
|
||||
// Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
Config string `pulumi:"config"`
|
||||
// Name of the connection, unique within the organization.
|
||||
Name *string `pulumi:"name"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a VaultProvider resource.
|
||||
type VaultProviderArgs struct {
|
||||
// JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
Assignments pulumi.StringInput
|
||||
// Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
Config pulumi.StringInput
|
||||
// Name of the connection, unique within the organization.
|
||||
Name pulumi.StringPtrInput
|
||||
}
|
||||
|
||||
func (VaultProviderArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*vaultProviderArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type VaultProviderInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToVaultProviderOutput() VaultProviderOutput
|
||||
ToVaultProviderOutputWithContext(ctx context.Context) VaultProviderOutput
|
||||
}
|
||||
|
||||
func (*VaultProvider) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**VaultProvider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *VaultProvider) ToVaultProviderOutput() VaultProviderOutput {
|
||||
return i.ToVaultProviderOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *VaultProvider) ToVaultProviderOutputWithContext(ctx context.Context) VaultProviderOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(VaultProviderOutput)
|
||||
}
|
||||
|
||||
// VaultProviderArrayInput is an input type that accepts VaultProviderArray and VaultProviderArrayOutput values.
|
||||
// You can construct a concrete instance of `VaultProviderArrayInput` via:
|
||||
//
|
||||
// VaultProviderArray{ VaultProviderArgs{...} }
|
||||
type VaultProviderArrayInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToVaultProviderArrayOutput() VaultProviderArrayOutput
|
||||
ToVaultProviderArrayOutputWithContext(context.Context) VaultProviderArrayOutput
|
||||
}
|
||||
|
||||
type VaultProviderArray []VaultProviderInput
|
||||
|
||||
func (VaultProviderArray) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*[]*VaultProvider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i VaultProviderArray) ToVaultProviderArrayOutput() VaultProviderArrayOutput {
|
||||
return i.ToVaultProviderArrayOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i VaultProviderArray) ToVaultProviderArrayOutputWithContext(ctx context.Context) VaultProviderArrayOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(VaultProviderArrayOutput)
|
||||
}
|
||||
|
||||
// VaultProviderMapInput is an input type that accepts VaultProviderMap and VaultProviderMapOutput values.
|
||||
// You can construct a concrete instance of `VaultProviderMapInput` via:
|
||||
//
|
||||
// VaultProviderMap{ "key": VaultProviderArgs{...} }
|
||||
type VaultProviderMapInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToVaultProviderMapOutput() VaultProviderMapOutput
|
||||
ToVaultProviderMapOutputWithContext(context.Context) VaultProviderMapOutput
|
||||
}
|
||||
|
||||
type VaultProviderMap map[string]VaultProviderInput
|
||||
|
||||
func (VaultProviderMap) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*map[string]*VaultProvider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i VaultProviderMap) ToVaultProviderMapOutput() VaultProviderMapOutput {
|
||||
return i.ToVaultProviderMapOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i VaultProviderMap) ToVaultProviderMapOutputWithContext(ctx context.Context) VaultProviderMapOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(VaultProviderMapOutput)
|
||||
}
|
||||
|
||||
type VaultProviderOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (VaultProviderOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**VaultProvider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o VaultProviderOutput) ToVaultProviderOutput() VaultProviderOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o VaultProviderOutput) ToVaultProviderOutputWithContext(ctx context.Context) VaultProviderOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
// JSON array scoping which projects or environments may resolve secrets from this provider. Pass `jsonencode([])` to leave it unscoped.
|
||||
func (o VaultProviderOutput) Assignments() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *VaultProvider) pulumi.StringOutput { return v.Assignments }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// Provider credentials as a JSON object, including the `providerType` discriminator.
|
||||
func (o VaultProviderOutput) Config() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *VaultProvider) pulumi.StringOutput { return v.Config }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// RFC 3339 timestamp of when the connection was created.
|
||||
func (o VaultProviderOutput) CreatedAt() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *VaultProvider) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// Name of the connection, unique within the organization.
|
||||
func (o VaultProviderOutput) Name() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *VaultProvider) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// Organization that owns the connection.
|
||||
func (o VaultProviderOutput) OrganizationId() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *VaultProvider) pulumi.StringOutput { return v.OrganizationId }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// Provider kind derived from `config`.
|
||||
func (o VaultProviderOutput) ProviderType() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *VaultProvider) pulumi.StringOutput { return v.ProviderType }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
type VaultProviderArrayOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (VaultProviderArrayOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*[]*VaultProvider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o VaultProviderArrayOutput) ToVaultProviderArrayOutput() VaultProviderArrayOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o VaultProviderArrayOutput) ToVaultProviderArrayOutputWithContext(ctx context.Context) VaultProviderArrayOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o VaultProviderArrayOutput) Index(i pulumi.IntInput) VaultProviderOutput {
|
||||
return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VaultProvider {
|
||||
return vs[0].([]*VaultProvider)[vs[1].(int)]
|
||||
}).(VaultProviderOutput)
|
||||
}
|
||||
|
||||
type VaultProviderMapOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (VaultProviderMapOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*map[string]*VaultProvider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o VaultProviderMapOutput) ToVaultProviderMapOutput() VaultProviderMapOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o VaultProviderMapOutput) ToVaultProviderMapOutputWithContext(ctx context.Context) VaultProviderMapOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o VaultProviderMapOutput) MapIndex(k pulumi.StringInput) VaultProviderOutput {
|
||||
return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VaultProvider {
|
||||
return vs[0].(map[string]*VaultProvider)[vs[1].(string)]
|
||||
}).(VaultProviderOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*VaultProviderInput)(nil)).Elem(), &VaultProvider{})
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*VaultProviderArrayInput)(nil)).Elem(), VaultProviderArray{})
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*VaultProviderMapInput)(nil)).Elem(), VaultProviderMap{})
|
||||
pulumi.RegisterOutputType(VaultProviderOutput{})
|
||||
pulumi.RegisterOutputType(VaultProviderArrayOutput{})
|
||||
pulumi.RegisterOutputType(VaultProviderMapOutput{})
|
||||
}
|
||||
Reference in New Issue
Block a user