Files
pulumi-dokploy/sdk/go/dokploy/compose.go
Max Vojtkov bb3c15135b Bridge terraform-provider-dokploy into a Pulumi provider
18 resources and 5 data sources mapped into the dokploy:index module, with
SDKs generated for TypeScript, Python, Go and .NET.
2026-08-08 15:28:16 +03:00

856 lines
36 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"
)
type Compose struct {
pulumi.CustomResourceState
// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
AppName pulumi.StringOutput `pulumi:"appName"`
// Deploy automatically when the configured trigger fires.
AutoDeploy pulumi.BoolOutput `pulumi:"autoDeploy"`
// Bitbucket branch to deploy.
BitbucketBranch pulumi.StringPtrOutput `pulumi:"bitbucketBranch"`
// ID of the configured Bitbucket provider connection.
BitbucketId pulumi.StringPtrOutput `pulumi:"bitbucketId"`
// Bitbucket repository owner.
BitbucketOwner pulumi.StringPtrOutput `pulumi:"bitbucketOwner"`
// Bitbucket repository name.
BitbucketRepository pulumi.StringPtrOutput `pulumi:"bitbucketRepository"`
// Bitbucket repository slug.
BitbucketRepositorySlug pulumi.StringPtrOutput `pulumi:"bitbucketRepositorySlug"`
// GitHub branch to deploy.
Branch pulumi.StringPtrOutput `pulumi:"branch"`
// Custom `docker compose` command to run.
Command pulumi.StringOutput `pulumi:"command"`
// Inline Compose file contents. Used when `sourceType` is `raw`.
ComposeFile pulumi.StringOutput `pulumi:"composeFile"`
// Path to the Compose file within the repository.
ComposePath pulumi.StringOutput `pulumi:"composePath"`
// Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
ComposeStatus pulumi.StringOutput `pulumi:"composeStatus"`
// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
ComposeType pulumi.StringOutput `pulumi:"composeType"`
// RFC 3339 timestamp of when the stack was created.
CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
// Branch to deploy for a custom Git remote.
CustomGitBranch pulumi.StringPtrOutput `pulumi:"customGitBranch"`
// SSH key used to clone a private custom Git remote.
CustomGitSshKeyId pulumi.StringPtrOutput `pulumi:"customGitSshKeyId"`
// Git remote URL, when `sourceType` is `git`.
CustomGitUrl pulumi.StringPtrOutput `pulumi:"customGitUrl"`
// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
DeleteVolumes pulumi.BoolPtrOutput `pulumi:"deleteVolumes"`
// Free-form description.
Description pulumi.StringPtrOutput `pulumi:"description"`
// Clone Git submodules when checking out the repository.
EnableSubmodules pulumi.BoolOutput `pulumi:"enableSubmodules"`
// Environment variables in `KEY=value` format, one per line.
Env pulumi.StringPtrOutput `pulumi:"env"`
// Environment this stack belongs to.
EnvironmentId pulumi.StringOutput `pulumi:"environmentId"`
// Gitea branch to deploy.
GiteaBranch pulumi.StringPtrOutput `pulumi:"giteaBranch"`
// ID of the configured Gitea provider connection.
GiteaId pulumi.StringPtrOutput `pulumi:"giteaId"`
// Gitea repository owner.
GiteaOwner pulumi.StringPtrOutput `pulumi:"giteaOwner"`
// Gitea repository name.
GiteaRepository pulumi.StringPtrOutput `pulumi:"giteaRepository"`
// ID of the configured GitHub provider connection.
GithubId pulumi.StringPtrOutput `pulumi:"githubId"`
// GitLab branch to deploy.
GitlabBranch pulumi.StringPtrOutput `pulumi:"gitlabBranch"`
// ID of the configured GitLab provider connection.
GitlabId pulumi.StringPtrOutput `pulumi:"gitlabId"`
// GitLab repository owner.
GitlabOwner pulumi.StringPtrOutput `pulumi:"gitlabOwner"`
// Full GitLab namespace path.
GitlabPathNamespace pulumi.StringPtrOutput `pulumi:"gitlabPathNamespace"`
// Numeric GitLab project ID.
GitlabProjectId pulumi.IntPtrOutput `pulumi:"gitlabProjectId"`
// GitLab repository name.
GitlabRepository pulumi.StringPtrOutput `pulumi:"gitlabRepository"`
// Run the stack on its own isolated Docker network.
IsolatedDeployment pulumi.BoolOutput `pulumi:"isolatedDeployment"`
// Prefix volume names for isolated deployments. Retained for backwards compatibility.
IsolatedDeploymentsVolume pulumi.BoolOutput `pulumi:"isolatedDeploymentsVolume"`
// Display name of the stack.
Name pulumi.StringOutput `pulumi:"name"`
// GitHub repository owner.
Owner pulumi.StringPtrOutput `pulumi:"owner"`
// Append a random suffix to service and volume names.
Randomize pulumi.BoolOutput `pulumi:"randomize"`
// GitHub repository name.
Repository pulumi.StringPtrOutput `pulumi:"repository"`
// Remote server to deploy on. Omit to use the Dokploy host itself.
ServerId pulumi.StringPtrOutput `pulumi:"serverId"`
// Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
SourceType pulumi.StringOutput `pulumi:"sourceType"`
// Suffix appended to generated resource names.
Suffix pulumi.StringOutput `pulumi:"suffix"`
// What triggers an automatic deployment. Valid values: `push`, `tag`.
TriggerType pulumi.StringOutput `pulumi:"triggerType"`
// Glob patterns that limit which changed paths trigger an automatic deployment.
WatchPaths pulumi.StringArrayOutput `pulumi:"watchPaths"`
}
// NewCompose registers a new resource with the given unique name, arguments, and options.
func NewCompose(ctx *pulumi.Context,
name string, args *ComposeArgs, opts ...pulumi.ResourceOption) (*Compose, error) {
if args == nil {
return nil, errors.New("missing one or more required arguments")
}
if args.EnvironmentId == nil {
return nil, errors.New("invalid value for required argument 'EnvironmentId'")
}
opts = internal.PkgResourceDefaultOpts(opts)
var resource Compose
err := ctx.RegisterResource("dokploy:index/compose:Compose", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// GetCompose gets an existing Compose 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 GetCompose(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *ComposeState, opts ...pulumi.ResourceOption) (*Compose, error) {
var resource Compose
err := ctx.ReadResource("dokploy:index/compose:Compose", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// Input properties used for looking up and filtering Compose resources.
type composeState struct {
// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
AppName *string `pulumi:"appName"`
// Deploy automatically when the configured trigger fires.
AutoDeploy *bool `pulumi:"autoDeploy"`
// Bitbucket branch to deploy.
BitbucketBranch *string `pulumi:"bitbucketBranch"`
// ID of the configured Bitbucket provider connection.
BitbucketId *string `pulumi:"bitbucketId"`
// Bitbucket repository owner.
BitbucketOwner *string `pulumi:"bitbucketOwner"`
// Bitbucket repository name.
BitbucketRepository *string `pulumi:"bitbucketRepository"`
// Bitbucket repository slug.
BitbucketRepositorySlug *string `pulumi:"bitbucketRepositorySlug"`
// GitHub branch to deploy.
Branch *string `pulumi:"branch"`
// Custom `docker compose` command to run.
Command *string `pulumi:"command"`
// Inline Compose file contents. Used when `sourceType` is `raw`.
ComposeFile *string `pulumi:"composeFile"`
// Path to the Compose file within the repository.
ComposePath *string `pulumi:"composePath"`
// Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
ComposeStatus *string `pulumi:"composeStatus"`
// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
ComposeType *string `pulumi:"composeType"`
// RFC 3339 timestamp of when the stack was created.
CreatedAt *string `pulumi:"createdAt"`
// Branch to deploy for a custom Git remote.
CustomGitBranch *string `pulumi:"customGitBranch"`
// SSH key used to clone a private custom Git remote.
CustomGitSshKeyId *string `pulumi:"customGitSshKeyId"`
// Git remote URL, when `sourceType` is `git`.
CustomGitUrl *string `pulumi:"customGitUrl"`
// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
DeleteVolumes *bool `pulumi:"deleteVolumes"`
// Free-form description.
Description *string `pulumi:"description"`
// Clone Git submodules when checking out the repository.
EnableSubmodules *bool `pulumi:"enableSubmodules"`
// Environment variables in `KEY=value` format, one per line.
Env *string `pulumi:"env"`
// Environment this stack belongs to.
EnvironmentId *string `pulumi:"environmentId"`
// Gitea branch to deploy.
GiteaBranch *string `pulumi:"giteaBranch"`
// ID of the configured Gitea provider connection.
GiteaId *string `pulumi:"giteaId"`
// Gitea repository owner.
GiteaOwner *string `pulumi:"giteaOwner"`
// Gitea repository name.
GiteaRepository *string `pulumi:"giteaRepository"`
// ID of the configured GitHub provider connection.
GithubId *string `pulumi:"githubId"`
// GitLab branch to deploy.
GitlabBranch *string `pulumi:"gitlabBranch"`
// ID of the configured GitLab provider connection.
GitlabId *string `pulumi:"gitlabId"`
// GitLab repository owner.
GitlabOwner *string `pulumi:"gitlabOwner"`
// Full GitLab namespace path.
GitlabPathNamespace *string `pulumi:"gitlabPathNamespace"`
// Numeric GitLab project ID.
GitlabProjectId *int `pulumi:"gitlabProjectId"`
// GitLab repository name.
GitlabRepository *string `pulumi:"gitlabRepository"`
// Run the stack on its own isolated Docker network.
IsolatedDeployment *bool `pulumi:"isolatedDeployment"`
// Prefix volume names for isolated deployments. Retained for backwards compatibility.
IsolatedDeploymentsVolume *bool `pulumi:"isolatedDeploymentsVolume"`
// Display name of the stack.
Name *string `pulumi:"name"`
// GitHub repository owner.
Owner *string `pulumi:"owner"`
// Append a random suffix to service and volume names.
Randomize *bool `pulumi:"randomize"`
// GitHub repository name.
Repository *string `pulumi:"repository"`
// Remote server to deploy on. Omit to use the Dokploy host itself.
ServerId *string `pulumi:"serverId"`
// Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
SourceType *string `pulumi:"sourceType"`
// Suffix appended to generated resource names.
Suffix *string `pulumi:"suffix"`
// What triggers an automatic deployment. Valid values: `push`, `tag`.
TriggerType *string `pulumi:"triggerType"`
// Glob patterns that limit which changed paths trigger an automatic deployment.
WatchPaths []string `pulumi:"watchPaths"`
}
type ComposeState struct {
// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
AppName pulumi.StringPtrInput
// Deploy automatically when the configured trigger fires.
AutoDeploy pulumi.BoolPtrInput
// Bitbucket branch to deploy.
BitbucketBranch pulumi.StringPtrInput
// ID of the configured Bitbucket provider connection.
BitbucketId pulumi.StringPtrInput
// Bitbucket repository owner.
BitbucketOwner pulumi.StringPtrInput
// Bitbucket repository name.
BitbucketRepository pulumi.StringPtrInput
// Bitbucket repository slug.
BitbucketRepositorySlug pulumi.StringPtrInput
// GitHub branch to deploy.
Branch pulumi.StringPtrInput
// Custom `docker compose` command to run.
Command pulumi.StringPtrInput
// Inline Compose file contents. Used when `sourceType` is `raw`.
ComposeFile pulumi.StringPtrInput
// Path to the Compose file within the repository.
ComposePath pulumi.StringPtrInput
// Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
ComposeStatus pulumi.StringPtrInput
// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
ComposeType pulumi.StringPtrInput
// RFC 3339 timestamp of when the stack was created.
CreatedAt pulumi.StringPtrInput
// Branch to deploy for a custom Git remote.
CustomGitBranch pulumi.StringPtrInput
// SSH key used to clone a private custom Git remote.
CustomGitSshKeyId pulumi.StringPtrInput
// Git remote URL, when `sourceType` is `git`.
CustomGitUrl pulumi.StringPtrInput
// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
DeleteVolumes pulumi.BoolPtrInput
// Free-form description.
Description pulumi.StringPtrInput
// Clone Git submodules when checking out the repository.
EnableSubmodules pulumi.BoolPtrInput
// Environment variables in `KEY=value` format, one per line.
Env pulumi.StringPtrInput
// Environment this stack belongs to.
EnvironmentId pulumi.StringPtrInput
// Gitea branch to deploy.
GiteaBranch pulumi.StringPtrInput
// ID of the configured Gitea provider connection.
GiteaId pulumi.StringPtrInput
// Gitea repository owner.
GiteaOwner pulumi.StringPtrInput
// Gitea repository name.
GiteaRepository pulumi.StringPtrInput
// ID of the configured GitHub provider connection.
GithubId pulumi.StringPtrInput
// GitLab branch to deploy.
GitlabBranch pulumi.StringPtrInput
// ID of the configured GitLab provider connection.
GitlabId pulumi.StringPtrInput
// GitLab repository owner.
GitlabOwner pulumi.StringPtrInput
// Full GitLab namespace path.
GitlabPathNamespace pulumi.StringPtrInput
// Numeric GitLab project ID.
GitlabProjectId pulumi.IntPtrInput
// GitLab repository name.
GitlabRepository pulumi.StringPtrInput
// Run the stack on its own isolated Docker network.
IsolatedDeployment pulumi.BoolPtrInput
// Prefix volume names for isolated deployments. Retained for backwards compatibility.
IsolatedDeploymentsVolume pulumi.BoolPtrInput
// Display name of the stack.
Name pulumi.StringPtrInput
// GitHub repository owner.
Owner pulumi.StringPtrInput
// Append a random suffix to service and volume names.
Randomize pulumi.BoolPtrInput
// GitHub repository name.
Repository pulumi.StringPtrInput
// Remote server to deploy on. Omit to use the Dokploy host itself.
ServerId pulumi.StringPtrInput
// Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
SourceType pulumi.StringPtrInput
// Suffix appended to generated resource names.
Suffix pulumi.StringPtrInput
// What triggers an automatic deployment. Valid values: `push`, `tag`.
TriggerType pulumi.StringPtrInput
// Glob patterns that limit which changed paths trigger an automatic deployment.
WatchPaths pulumi.StringArrayInput
}
func (ComposeState) ElementType() reflect.Type {
return reflect.TypeOf((*composeState)(nil)).Elem()
}
type composeArgs struct {
// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
AppName *string `pulumi:"appName"`
// Deploy automatically when the configured trigger fires.
AutoDeploy *bool `pulumi:"autoDeploy"`
// Bitbucket branch to deploy.
BitbucketBranch *string `pulumi:"bitbucketBranch"`
// ID of the configured Bitbucket provider connection.
BitbucketId *string `pulumi:"bitbucketId"`
// Bitbucket repository owner.
BitbucketOwner *string `pulumi:"bitbucketOwner"`
// Bitbucket repository name.
BitbucketRepository *string `pulumi:"bitbucketRepository"`
// Bitbucket repository slug.
BitbucketRepositorySlug *string `pulumi:"bitbucketRepositorySlug"`
// GitHub branch to deploy.
Branch *string `pulumi:"branch"`
// Custom `docker compose` command to run.
Command *string `pulumi:"command"`
// Inline Compose file contents. Used when `sourceType` is `raw`.
ComposeFile *string `pulumi:"composeFile"`
// Path to the Compose file within the repository.
ComposePath *string `pulumi:"composePath"`
// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
ComposeType *string `pulumi:"composeType"`
// Branch to deploy for a custom Git remote.
CustomGitBranch *string `pulumi:"customGitBranch"`
// SSH key used to clone a private custom Git remote.
CustomGitSshKeyId *string `pulumi:"customGitSshKeyId"`
// Git remote URL, when `sourceType` is `git`.
CustomGitUrl *string `pulumi:"customGitUrl"`
// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
DeleteVolumes *bool `pulumi:"deleteVolumes"`
// Free-form description.
Description *string `pulumi:"description"`
// Clone Git submodules when checking out the repository.
EnableSubmodules *bool `pulumi:"enableSubmodules"`
// Environment variables in `KEY=value` format, one per line.
Env *string `pulumi:"env"`
// Environment this stack belongs to.
EnvironmentId string `pulumi:"environmentId"`
// Gitea branch to deploy.
GiteaBranch *string `pulumi:"giteaBranch"`
// ID of the configured Gitea provider connection.
GiteaId *string `pulumi:"giteaId"`
// Gitea repository owner.
GiteaOwner *string `pulumi:"giteaOwner"`
// Gitea repository name.
GiteaRepository *string `pulumi:"giteaRepository"`
// ID of the configured GitHub provider connection.
GithubId *string `pulumi:"githubId"`
// GitLab branch to deploy.
GitlabBranch *string `pulumi:"gitlabBranch"`
// ID of the configured GitLab provider connection.
GitlabId *string `pulumi:"gitlabId"`
// GitLab repository owner.
GitlabOwner *string `pulumi:"gitlabOwner"`
// Full GitLab namespace path.
GitlabPathNamespace *string `pulumi:"gitlabPathNamespace"`
// Numeric GitLab project ID.
GitlabProjectId *int `pulumi:"gitlabProjectId"`
// GitLab repository name.
GitlabRepository *string `pulumi:"gitlabRepository"`
// Run the stack on its own isolated Docker network.
IsolatedDeployment *bool `pulumi:"isolatedDeployment"`
// Prefix volume names for isolated deployments. Retained for backwards compatibility.
IsolatedDeploymentsVolume *bool `pulumi:"isolatedDeploymentsVolume"`
// Display name of the stack.
Name *string `pulumi:"name"`
// GitHub repository owner.
Owner *string `pulumi:"owner"`
// Append a random suffix to service and volume names.
Randomize *bool `pulumi:"randomize"`
// GitHub repository name.
Repository *string `pulumi:"repository"`
// Remote server to deploy on. Omit to use the Dokploy host itself.
ServerId *string `pulumi:"serverId"`
// Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
SourceType *string `pulumi:"sourceType"`
// Suffix appended to generated resource names.
Suffix *string `pulumi:"suffix"`
// What triggers an automatic deployment. Valid values: `push`, `tag`.
TriggerType *string `pulumi:"triggerType"`
// Glob patterns that limit which changed paths trigger an automatic deployment.
WatchPaths []string `pulumi:"watchPaths"`
}
// The set of arguments for constructing a Compose resource.
type ComposeArgs struct {
// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
AppName pulumi.StringPtrInput
// Deploy automatically when the configured trigger fires.
AutoDeploy pulumi.BoolPtrInput
// Bitbucket branch to deploy.
BitbucketBranch pulumi.StringPtrInput
// ID of the configured Bitbucket provider connection.
BitbucketId pulumi.StringPtrInput
// Bitbucket repository owner.
BitbucketOwner pulumi.StringPtrInput
// Bitbucket repository name.
BitbucketRepository pulumi.StringPtrInput
// Bitbucket repository slug.
BitbucketRepositorySlug pulumi.StringPtrInput
// GitHub branch to deploy.
Branch pulumi.StringPtrInput
// Custom `docker compose` command to run.
Command pulumi.StringPtrInput
// Inline Compose file contents. Used when `sourceType` is `raw`.
ComposeFile pulumi.StringPtrInput
// Path to the Compose file within the repository.
ComposePath pulumi.StringPtrInput
// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
ComposeType pulumi.StringPtrInput
// Branch to deploy for a custom Git remote.
CustomGitBranch pulumi.StringPtrInput
// SSH key used to clone a private custom Git remote.
CustomGitSshKeyId pulumi.StringPtrInput
// Git remote URL, when `sourceType` is `git`.
CustomGitUrl pulumi.StringPtrInput
// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
DeleteVolumes pulumi.BoolPtrInput
// Free-form description.
Description pulumi.StringPtrInput
// Clone Git submodules when checking out the repository.
EnableSubmodules pulumi.BoolPtrInput
// Environment variables in `KEY=value` format, one per line.
Env pulumi.StringPtrInput
// Environment this stack belongs to.
EnvironmentId pulumi.StringInput
// Gitea branch to deploy.
GiteaBranch pulumi.StringPtrInput
// ID of the configured Gitea provider connection.
GiteaId pulumi.StringPtrInput
// Gitea repository owner.
GiteaOwner pulumi.StringPtrInput
// Gitea repository name.
GiteaRepository pulumi.StringPtrInput
// ID of the configured GitHub provider connection.
GithubId pulumi.StringPtrInput
// GitLab branch to deploy.
GitlabBranch pulumi.StringPtrInput
// ID of the configured GitLab provider connection.
GitlabId pulumi.StringPtrInput
// GitLab repository owner.
GitlabOwner pulumi.StringPtrInput
// Full GitLab namespace path.
GitlabPathNamespace pulumi.StringPtrInput
// Numeric GitLab project ID.
GitlabProjectId pulumi.IntPtrInput
// GitLab repository name.
GitlabRepository pulumi.StringPtrInput
// Run the stack on its own isolated Docker network.
IsolatedDeployment pulumi.BoolPtrInput
// Prefix volume names for isolated deployments. Retained for backwards compatibility.
IsolatedDeploymentsVolume pulumi.BoolPtrInput
// Display name of the stack.
Name pulumi.StringPtrInput
// GitHub repository owner.
Owner pulumi.StringPtrInput
// Append a random suffix to service and volume names.
Randomize pulumi.BoolPtrInput
// GitHub repository name.
Repository pulumi.StringPtrInput
// Remote server to deploy on. Omit to use the Dokploy host itself.
ServerId pulumi.StringPtrInput
// Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
SourceType pulumi.StringPtrInput
// Suffix appended to generated resource names.
Suffix pulumi.StringPtrInput
// What triggers an automatic deployment. Valid values: `push`, `tag`.
TriggerType pulumi.StringPtrInput
// Glob patterns that limit which changed paths trigger an automatic deployment.
WatchPaths pulumi.StringArrayInput
}
func (ComposeArgs) ElementType() reflect.Type {
return reflect.TypeOf((*composeArgs)(nil)).Elem()
}
type ComposeInput interface {
pulumi.Input
ToComposeOutput() ComposeOutput
ToComposeOutputWithContext(ctx context.Context) ComposeOutput
}
func (*Compose) ElementType() reflect.Type {
return reflect.TypeOf((**Compose)(nil)).Elem()
}
func (i *Compose) ToComposeOutput() ComposeOutput {
return i.ToComposeOutputWithContext(context.Background())
}
func (i *Compose) ToComposeOutputWithContext(ctx context.Context) ComposeOutput {
return pulumi.ToOutputWithContext(ctx, i).(ComposeOutput)
}
// ComposeArrayInput is an input type that accepts ComposeArray and ComposeArrayOutput values.
// You can construct a concrete instance of `ComposeArrayInput` via:
//
// ComposeArray{ ComposeArgs{...} }
type ComposeArrayInput interface {
pulumi.Input
ToComposeArrayOutput() ComposeArrayOutput
ToComposeArrayOutputWithContext(context.Context) ComposeArrayOutput
}
type ComposeArray []ComposeInput
func (ComposeArray) ElementType() reflect.Type {
return reflect.TypeOf((*[]*Compose)(nil)).Elem()
}
func (i ComposeArray) ToComposeArrayOutput() ComposeArrayOutput {
return i.ToComposeArrayOutputWithContext(context.Background())
}
func (i ComposeArray) ToComposeArrayOutputWithContext(ctx context.Context) ComposeArrayOutput {
return pulumi.ToOutputWithContext(ctx, i).(ComposeArrayOutput)
}
// ComposeMapInput is an input type that accepts ComposeMap and ComposeMapOutput values.
// You can construct a concrete instance of `ComposeMapInput` via:
//
// ComposeMap{ "key": ComposeArgs{...} }
type ComposeMapInput interface {
pulumi.Input
ToComposeMapOutput() ComposeMapOutput
ToComposeMapOutputWithContext(context.Context) ComposeMapOutput
}
type ComposeMap map[string]ComposeInput
func (ComposeMap) ElementType() reflect.Type {
return reflect.TypeOf((*map[string]*Compose)(nil)).Elem()
}
func (i ComposeMap) ToComposeMapOutput() ComposeMapOutput {
return i.ToComposeMapOutputWithContext(context.Background())
}
func (i ComposeMap) ToComposeMapOutputWithContext(ctx context.Context) ComposeMapOutput {
return pulumi.ToOutputWithContext(ctx, i).(ComposeMapOutput)
}
type ComposeOutput struct{ *pulumi.OutputState }
func (ComposeOutput) ElementType() reflect.Type {
return reflect.TypeOf((**Compose)(nil)).Elem()
}
func (o ComposeOutput) ToComposeOutput() ComposeOutput {
return o
}
func (o ComposeOutput) ToComposeOutputWithContext(ctx context.Context) ComposeOutput {
return o
}
// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
func (o ComposeOutput) AppName() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.AppName }).(pulumi.StringOutput)
}
// Deploy automatically when the configured trigger fires.
func (o ComposeOutput) AutoDeploy() pulumi.BoolOutput {
return o.ApplyT(func(v *Compose) pulumi.BoolOutput { return v.AutoDeploy }).(pulumi.BoolOutput)
}
// Bitbucket branch to deploy.
func (o ComposeOutput) BitbucketBranch() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.BitbucketBranch }).(pulumi.StringPtrOutput)
}
// ID of the configured Bitbucket provider connection.
func (o ComposeOutput) BitbucketId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.BitbucketId }).(pulumi.StringPtrOutput)
}
// Bitbucket repository owner.
func (o ComposeOutput) BitbucketOwner() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.BitbucketOwner }).(pulumi.StringPtrOutput)
}
// Bitbucket repository name.
func (o ComposeOutput) BitbucketRepository() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.BitbucketRepository }).(pulumi.StringPtrOutput)
}
// Bitbucket repository slug.
func (o ComposeOutput) BitbucketRepositorySlug() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.BitbucketRepositorySlug }).(pulumi.StringPtrOutput)
}
// GitHub branch to deploy.
func (o ComposeOutput) Branch() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.Branch }).(pulumi.StringPtrOutput)
}
// Custom `docker compose` command to run.
func (o ComposeOutput) Command() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.Command }).(pulumi.StringOutput)
}
// Inline Compose file contents. Used when `sourceType` is `raw`.
func (o ComposeOutput) ComposeFile() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.ComposeFile }).(pulumi.StringOutput)
}
// Path to the Compose file within the repository.
func (o ComposeOutput) ComposePath() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.ComposePath }).(pulumi.StringOutput)
}
// Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
func (o ComposeOutput) ComposeStatus() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.ComposeStatus }).(pulumi.StringOutput)
}
// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
func (o ComposeOutput) ComposeType() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.ComposeType }).(pulumi.StringOutput)
}
// RFC 3339 timestamp of when the stack was created.
func (o ComposeOutput) CreatedAt() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
}
// Branch to deploy for a custom Git remote.
func (o ComposeOutput) CustomGitBranch() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.CustomGitBranch }).(pulumi.StringPtrOutput)
}
// SSH key used to clone a private custom Git remote.
func (o ComposeOutput) CustomGitSshKeyId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.CustomGitSshKeyId }).(pulumi.StringPtrOutput)
}
// Git remote URL, when `sourceType` is `git`.
func (o ComposeOutput) CustomGitUrl() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.CustomGitUrl }).(pulumi.StringPtrOutput)
}
// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
func (o ComposeOutput) DeleteVolumes() pulumi.BoolPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.BoolPtrOutput { return v.DeleteVolumes }).(pulumi.BoolPtrOutput)
}
// Free-form description.
func (o ComposeOutput) Description() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
}
// Clone Git submodules when checking out the repository.
func (o ComposeOutput) EnableSubmodules() pulumi.BoolOutput {
return o.ApplyT(func(v *Compose) pulumi.BoolOutput { return v.EnableSubmodules }).(pulumi.BoolOutput)
}
// Environment variables in `KEY=value` format, one per line.
func (o ComposeOutput) Env() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.Env }).(pulumi.StringPtrOutput)
}
// Environment this stack belongs to.
func (o ComposeOutput) EnvironmentId() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.EnvironmentId }).(pulumi.StringOutput)
}
// Gitea branch to deploy.
func (o ComposeOutput) GiteaBranch() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GiteaBranch }).(pulumi.StringPtrOutput)
}
// ID of the configured Gitea provider connection.
func (o ComposeOutput) GiteaId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GiteaId }).(pulumi.StringPtrOutput)
}
// Gitea repository owner.
func (o ComposeOutput) GiteaOwner() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GiteaOwner }).(pulumi.StringPtrOutput)
}
// Gitea repository name.
func (o ComposeOutput) GiteaRepository() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GiteaRepository }).(pulumi.StringPtrOutput)
}
// ID of the configured GitHub provider connection.
func (o ComposeOutput) GithubId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GithubId }).(pulumi.StringPtrOutput)
}
// GitLab branch to deploy.
func (o ComposeOutput) GitlabBranch() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GitlabBranch }).(pulumi.StringPtrOutput)
}
// ID of the configured GitLab provider connection.
func (o ComposeOutput) GitlabId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GitlabId }).(pulumi.StringPtrOutput)
}
// GitLab repository owner.
func (o ComposeOutput) GitlabOwner() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GitlabOwner }).(pulumi.StringPtrOutput)
}
// Full GitLab namespace path.
func (o ComposeOutput) GitlabPathNamespace() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GitlabPathNamespace }).(pulumi.StringPtrOutput)
}
// Numeric GitLab project ID.
func (o ComposeOutput) GitlabProjectId() pulumi.IntPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.IntPtrOutput { return v.GitlabProjectId }).(pulumi.IntPtrOutput)
}
// GitLab repository name.
func (o ComposeOutput) GitlabRepository() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.GitlabRepository }).(pulumi.StringPtrOutput)
}
// Run the stack on its own isolated Docker network.
func (o ComposeOutput) IsolatedDeployment() pulumi.BoolOutput {
return o.ApplyT(func(v *Compose) pulumi.BoolOutput { return v.IsolatedDeployment }).(pulumi.BoolOutput)
}
// Prefix volume names for isolated deployments. Retained for backwards compatibility.
func (o ComposeOutput) IsolatedDeploymentsVolume() pulumi.BoolOutput {
return o.ApplyT(func(v *Compose) pulumi.BoolOutput { return v.IsolatedDeploymentsVolume }).(pulumi.BoolOutput)
}
// Display name of the stack.
func (o ComposeOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
}
// GitHub repository owner.
func (o ComposeOutput) Owner() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.Owner }).(pulumi.StringPtrOutput)
}
// Append a random suffix to service and volume names.
func (o ComposeOutput) Randomize() pulumi.BoolOutput {
return o.ApplyT(func(v *Compose) pulumi.BoolOutput { return v.Randomize }).(pulumi.BoolOutput)
}
// GitHub repository name.
func (o ComposeOutput) Repository() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.Repository }).(pulumi.StringPtrOutput)
}
// Remote server to deploy on. Omit to use the Dokploy host itself.
func (o ComposeOutput) ServerId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Compose) pulumi.StringPtrOutput { return v.ServerId }).(pulumi.StringPtrOutput)
}
// Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
func (o ComposeOutput) SourceType() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.SourceType }).(pulumi.StringOutput)
}
// Suffix appended to generated resource names.
func (o ComposeOutput) Suffix() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.Suffix }).(pulumi.StringOutput)
}
// What triggers an automatic deployment. Valid values: `push`, `tag`.
func (o ComposeOutput) TriggerType() pulumi.StringOutput {
return o.ApplyT(func(v *Compose) pulumi.StringOutput { return v.TriggerType }).(pulumi.StringOutput)
}
// Glob patterns that limit which changed paths trigger an automatic deployment.
func (o ComposeOutput) WatchPaths() pulumi.StringArrayOutput {
return o.ApplyT(func(v *Compose) pulumi.StringArrayOutput { return v.WatchPaths }).(pulumi.StringArrayOutput)
}
type ComposeArrayOutput struct{ *pulumi.OutputState }
func (ComposeArrayOutput) ElementType() reflect.Type {
return reflect.TypeOf((*[]*Compose)(nil)).Elem()
}
func (o ComposeArrayOutput) ToComposeArrayOutput() ComposeArrayOutput {
return o
}
func (o ComposeArrayOutput) ToComposeArrayOutputWithContext(ctx context.Context) ComposeArrayOutput {
return o
}
func (o ComposeArrayOutput) Index(i pulumi.IntInput) ComposeOutput {
return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Compose {
return vs[0].([]*Compose)[vs[1].(int)]
}).(ComposeOutput)
}
type ComposeMapOutput struct{ *pulumi.OutputState }
func (ComposeMapOutput) ElementType() reflect.Type {
return reflect.TypeOf((*map[string]*Compose)(nil)).Elem()
}
func (o ComposeMapOutput) ToComposeMapOutput() ComposeMapOutput {
return o
}
func (o ComposeMapOutput) ToComposeMapOutputWithContext(ctx context.Context) ComposeMapOutput {
return o
}
func (o ComposeMapOutput) MapIndex(k pulumi.StringInput) ComposeOutput {
return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Compose {
return vs[0].(map[string]*Compose)[vs[1].(string)]
}).(ComposeOutput)
}
func init() {
pulumi.RegisterInputType(reflect.TypeOf((*ComposeInput)(nil)).Elem(), &Compose{})
pulumi.RegisterInputType(reflect.TypeOf((*ComposeArrayInput)(nil)).Elem(), ComposeArray{})
pulumi.RegisterInputType(reflect.TypeOf((*ComposeMapInput)(nil)).Elem(), ComposeMap{})
pulumi.RegisterOutputType(ComposeOutput{})
pulumi.RegisterOutputType(ComposeArrayOutput{})
pulumi.RegisterOutputType(ComposeMapOutput{})
}