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