// 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 Domain struct { pulumi.CustomResourceState // Application this domain routes to. ApplicationId pulumi.StringPtrOutput `pulumi:"applicationId"` // How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. CertificateType pulumi.StringOutput `pulumi:"certificateType"` // Compose stack this domain routes to. ComposeId pulumi.StringPtrOutput `pulumi:"composeId"` // RFC 3339 timestamp of when the domain was created. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Traefik certificate resolver name, when `certificateType` is `custom`. CustomCertResolver pulumi.StringPtrOutput `pulumi:"customCertResolver"` // Traefik entrypoint to bind, when not using the defaults. CustomEntrypoint pulumi.StringPtrOutput `pulumi:"customEntrypoint"` // What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. DomainType pulumi.StringOutput `pulumi:"domainType"` // Protect this domain with Dokploy's forward auth. ForwardAuthEnabled pulumi.BoolOutput `pulumi:"forwardAuthEnabled"` // Fully-qualified hostname, for example `api.example.com`. Host pulumi.StringOutput `pulumi:"host"` // Serve the domain over HTTPS and redirect HTTP traffic to it. Https pulumi.BoolOutput `pulumi:"https"` // Path the request is rewritten to before it reaches the container, defaults to `/`. InternalPath pulumi.StringOutput `pulumi:"internalPath"` // Names of Traefik middlewares to apply. Middlewares pulumi.StringArrayOutput `pulumi:"middlewares"` // Path prefix this domain routes, defaults to `/`. Path pulumi.StringOutput `pulumi:"path"` // Container port that receives the traffic, defaults to `3000`. Port pulumi.IntOutput `pulumi:"port"` // Preview deployment this domain routes to. PreviewDeploymentId pulumi.StringPtrOutput `pulumi:"previewDeploymentId"` // Name of the service inside a Compose stack that receives the traffic. Required when `composeId` is set. ServiceName pulumi.StringPtrOutput `pulumi:"serviceName"` // Strip `path` from the request before forwarding it. StripPath pulumi.BoolOutput `pulumi:"stripPath"` } // NewDomain registers a new resource with the given unique name, arguments, and options. func NewDomain(ctx *pulumi.Context, name string, args *DomainArgs, opts ...pulumi.ResourceOption) (*Domain, error) { if args == nil { return nil, errors.New("missing one or more required arguments") } if args.Host == nil { return nil, errors.New("invalid value for required argument 'Host'") } opts = internal.PkgResourceDefaultOpts(opts) var resource Domain err := ctx.RegisterResource("dokploy:index/domain:Domain", name, args, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // GetDomain gets an existing Domain 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 GetDomain(ctx *pulumi.Context, name string, id pulumi.IDInput, state *DomainState, opts ...pulumi.ResourceOption) (*Domain, error) { var resource Domain err := ctx.ReadResource("dokploy:index/domain:Domain", name, id, state, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // Input properties used for looking up and filtering Domain resources. type domainState struct { // Application this domain routes to. ApplicationId *string `pulumi:"applicationId"` // How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. CertificateType *string `pulumi:"certificateType"` // Compose stack this domain routes to. ComposeId *string `pulumi:"composeId"` // RFC 3339 timestamp of when the domain was created. CreatedAt *string `pulumi:"createdAt"` // Traefik certificate resolver name, when `certificateType` is `custom`. CustomCertResolver *string `pulumi:"customCertResolver"` // Traefik entrypoint to bind, when not using the defaults. CustomEntrypoint *string `pulumi:"customEntrypoint"` // What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. DomainType *string `pulumi:"domainType"` // Protect this domain with Dokploy's forward auth. ForwardAuthEnabled *bool `pulumi:"forwardAuthEnabled"` // Fully-qualified hostname, for example `api.example.com`. Host *string `pulumi:"host"` // Serve the domain over HTTPS and redirect HTTP traffic to it. Https *bool `pulumi:"https"` // Path the request is rewritten to before it reaches the container, defaults to `/`. InternalPath *string `pulumi:"internalPath"` // Names of Traefik middlewares to apply. Middlewares []string `pulumi:"middlewares"` // Path prefix this domain routes, defaults to `/`. Path *string `pulumi:"path"` // Container port that receives the traffic, defaults to `3000`. Port *int `pulumi:"port"` // Preview deployment this domain routes to. PreviewDeploymentId *string `pulumi:"previewDeploymentId"` // Name of the service inside a Compose stack that receives the traffic. Required when `composeId` is set. ServiceName *string `pulumi:"serviceName"` // Strip `path` from the request before forwarding it. StripPath *bool `pulumi:"stripPath"` } type DomainState struct { // Application this domain routes to. ApplicationId pulumi.StringPtrInput // How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. CertificateType pulumi.StringPtrInput // Compose stack this domain routes to. ComposeId pulumi.StringPtrInput // RFC 3339 timestamp of when the domain was created. CreatedAt pulumi.StringPtrInput // Traefik certificate resolver name, when `certificateType` is `custom`. CustomCertResolver pulumi.StringPtrInput // Traefik entrypoint to bind, when not using the defaults. CustomEntrypoint pulumi.StringPtrInput // What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. DomainType pulumi.StringPtrInput // Protect this domain with Dokploy's forward auth. ForwardAuthEnabled pulumi.BoolPtrInput // Fully-qualified hostname, for example `api.example.com`. Host pulumi.StringPtrInput // Serve the domain over HTTPS and redirect HTTP traffic to it. Https pulumi.BoolPtrInput // Path the request is rewritten to before it reaches the container, defaults to `/`. InternalPath pulumi.StringPtrInput // Names of Traefik middlewares to apply. Middlewares pulumi.StringArrayInput // Path prefix this domain routes, defaults to `/`. Path pulumi.StringPtrInput // Container port that receives the traffic, defaults to `3000`. Port pulumi.IntPtrInput // Preview deployment this domain routes to. PreviewDeploymentId pulumi.StringPtrInput // Name of the service inside a Compose stack that receives the traffic. Required when `composeId` is set. ServiceName pulumi.StringPtrInput // Strip `path` from the request before forwarding it. StripPath pulumi.BoolPtrInput } func (DomainState) ElementType() reflect.Type { return reflect.TypeOf((*domainState)(nil)).Elem() } type domainArgs struct { // Application this domain routes to. ApplicationId *string `pulumi:"applicationId"` // How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. CertificateType *string `pulumi:"certificateType"` // Compose stack this domain routes to. ComposeId *string `pulumi:"composeId"` // Traefik certificate resolver name, when `certificateType` is `custom`. CustomCertResolver *string `pulumi:"customCertResolver"` // Traefik entrypoint to bind, when not using the defaults. CustomEntrypoint *string `pulumi:"customEntrypoint"` // What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. DomainType *string `pulumi:"domainType"` // Protect this domain with Dokploy's forward auth. ForwardAuthEnabled *bool `pulumi:"forwardAuthEnabled"` // Fully-qualified hostname, for example `api.example.com`. Host string `pulumi:"host"` // Serve the domain over HTTPS and redirect HTTP traffic to it. Https *bool `pulumi:"https"` // Path the request is rewritten to before it reaches the container, defaults to `/`. InternalPath *string `pulumi:"internalPath"` // Names of Traefik middlewares to apply. Middlewares []string `pulumi:"middlewares"` // Path prefix this domain routes, defaults to `/`. Path *string `pulumi:"path"` // Container port that receives the traffic, defaults to `3000`. Port *int `pulumi:"port"` // Preview deployment this domain routes to. PreviewDeploymentId *string `pulumi:"previewDeploymentId"` // Name of the service inside a Compose stack that receives the traffic. Required when `composeId` is set. ServiceName *string `pulumi:"serviceName"` // Strip `path` from the request before forwarding it. StripPath *bool `pulumi:"stripPath"` } // The set of arguments for constructing a Domain resource. type DomainArgs struct { // Application this domain routes to. ApplicationId pulumi.StringPtrInput // How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. CertificateType pulumi.StringPtrInput // Compose stack this domain routes to. ComposeId pulumi.StringPtrInput // Traefik certificate resolver name, when `certificateType` is `custom`. CustomCertResolver pulumi.StringPtrInput // Traefik entrypoint to bind, when not using the defaults. CustomEntrypoint pulumi.StringPtrInput // What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. DomainType pulumi.StringPtrInput // Protect this domain with Dokploy's forward auth. ForwardAuthEnabled pulumi.BoolPtrInput // Fully-qualified hostname, for example `api.example.com`. Host pulumi.StringInput // Serve the domain over HTTPS and redirect HTTP traffic to it. Https pulumi.BoolPtrInput // Path the request is rewritten to before it reaches the container, defaults to `/`. InternalPath pulumi.StringPtrInput // Names of Traefik middlewares to apply. Middlewares pulumi.StringArrayInput // Path prefix this domain routes, defaults to `/`. Path pulumi.StringPtrInput // Container port that receives the traffic, defaults to `3000`. Port pulumi.IntPtrInput // Preview deployment this domain routes to. PreviewDeploymentId pulumi.StringPtrInput // Name of the service inside a Compose stack that receives the traffic. Required when `composeId` is set. ServiceName pulumi.StringPtrInput // Strip `path` from the request before forwarding it. StripPath pulumi.BoolPtrInput } func (DomainArgs) ElementType() reflect.Type { return reflect.TypeOf((*domainArgs)(nil)).Elem() } type DomainInput interface { pulumi.Input ToDomainOutput() DomainOutput ToDomainOutputWithContext(ctx context.Context) DomainOutput } func (*Domain) ElementType() reflect.Type { return reflect.TypeOf((**Domain)(nil)).Elem() } func (i *Domain) ToDomainOutput() DomainOutput { return i.ToDomainOutputWithContext(context.Background()) } func (i *Domain) ToDomainOutputWithContext(ctx context.Context) DomainOutput { return pulumi.ToOutputWithContext(ctx, i).(DomainOutput) } // DomainArrayInput is an input type that accepts DomainArray and DomainArrayOutput values. // You can construct a concrete instance of `DomainArrayInput` via: // // DomainArray{ DomainArgs{...} } type DomainArrayInput interface { pulumi.Input ToDomainArrayOutput() DomainArrayOutput ToDomainArrayOutputWithContext(context.Context) DomainArrayOutput } type DomainArray []DomainInput func (DomainArray) ElementType() reflect.Type { return reflect.TypeOf((*[]*Domain)(nil)).Elem() } func (i DomainArray) ToDomainArrayOutput() DomainArrayOutput { return i.ToDomainArrayOutputWithContext(context.Background()) } func (i DomainArray) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput { return pulumi.ToOutputWithContext(ctx, i).(DomainArrayOutput) } // DomainMapInput is an input type that accepts DomainMap and DomainMapOutput values. // You can construct a concrete instance of `DomainMapInput` via: // // DomainMap{ "key": DomainArgs{...} } type DomainMapInput interface { pulumi.Input ToDomainMapOutput() DomainMapOutput ToDomainMapOutputWithContext(context.Context) DomainMapOutput } type DomainMap map[string]DomainInput func (DomainMap) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*Domain)(nil)).Elem() } func (i DomainMap) ToDomainMapOutput() DomainMapOutput { return i.ToDomainMapOutputWithContext(context.Background()) } func (i DomainMap) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput { return pulumi.ToOutputWithContext(ctx, i).(DomainMapOutput) } type DomainOutput struct{ *pulumi.OutputState } func (DomainOutput) ElementType() reflect.Type { return reflect.TypeOf((**Domain)(nil)).Elem() } func (o DomainOutput) ToDomainOutput() DomainOutput { return o } func (o DomainOutput) ToDomainOutputWithContext(ctx context.Context) DomainOutput { return o } // Application this domain routes to. func (o DomainOutput) ApplicationId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.ApplicationId }).(pulumi.StringPtrOutput) } // How TLS certificates are obtained. Use `letsencrypt` for automatic certificates. Valid values: `letsencrypt`, `none`, `custom`. func (o DomainOutput) CertificateType() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.CertificateType }).(pulumi.StringOutput) } // Compose stack this domain routes to. func (o DomainOutput) ComposeId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.ComposeId }).(pulumi.StringPtrOutput) } // RFC 3339 timestamp of when the domain was created. func (o DomainOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } // Traefik certificate resolver name, when `certificateType` is `custom`. func (o DomainOutput) CustomCertResolver() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.CustomCertResolver }).(pulumi.StringPtrOutput) } // Traefik entrypoint to bind, when not using the defaults. func (o DomainOutput) CustomEntrypoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.CustomEntrypoint }).(pulumi.StringPtrOutput) } // What kind of target this domain points at. Valid values: `compose`, `application`, `preview`. func (o DomainOutput) DomainType() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.DomainType }).(pulumi.StringOutput) } // Protect this domain with Dokploy's forward auth. func (o DomainOutput) ForwardAuthEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Domain) pulumi.BoolOutput { return v.ForwardAuthEnabled }).(pulumi.BoolOutput) } // Fully-qualified hostname, for example `api.example.com`. func (o DomainOutput) Host() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.Host }).(pulumi.StringOutput) } // Serve the domain over HTTPS and redirect HTTP traffic to it. func (o DomainOutput) Https() pulumi.BoolOutput { return o.ApplyT(func(v *Domain) pulumi.BoolOutput { return v.Https }).(pulumi.BoolOutput) } // Path the request is rewritten to before it reaches the container, defaults to `/`. func (o DomainOutput) InternalPath() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.InternalPath }).(pulumi.StringOutput) } // Names of Traefik middlewares to apply. func (o DomainOutput) Middlewares() pulumi.StringArrayOutput { return o.ApplyT(func(v *Domain) pulumi.StringArrayOutput { return v.Middlewares }).(pulumi.StringArrayOutput) } // Path prefix this domain routes, defaults to `/`. func (o DomainOutput) Path() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.Path }).(pulumi.StringOutput) } // Container port that receives the traffic, defaults to `3000`. func (o DomainOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v *Domain) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) } // Preview deployment this domain routes to. func (o DomainOutput) PreviewDeploymentId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.PreviewDeploymentId }).(pulumi.StringPtrOutput) } // Name of the service inside a Compose stack that receives the traffic. Required when `composeId` is set. func (o DomainOutput) ServiceName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.ServiceName }).(pulumi.StringPtrOutput) } // Strip `path` from the request before forwarding it. func (o DomainOutput) StripPath() pulumi.BoolOutput { return o.ApplyT(func(v *Domain) pulumi.BoolOutput { return v.StripPath }).(pulumi.BoolOutput) } type DomainArrayOutput struct{ *pulumi.OutputState } func (DomainArrayOutput) ElementType() reflect.Type { return reflect.TypeOf((*[]*Domain)(nil)).Elem() } func (o DomainArrayOutput) ToDomainArrayOutput() DomainArrayOutput { return o } func (o DomainArrayOutput) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput { return o } func (o DomainArrayOutput) Index(i pulumi.IntInput) DomainOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Domain { return vs[0].([]*Domain)[vs[1].(int)] }).(DomainOutput) } type DomainMapOutput struct{ *pulumi.OutputState } func (DomainMapOutput) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*Domain)(nil)).Elem() } func (o DomainMapOutput) ToDomainMapOutput() DomainMapOutput { return o } func (o DomainMapOutput) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput { return o } func (o DomainMapOutput) MapIndex(k pulumi.StringInput) DomainOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Domain { return vs[0].(map[string]*Domain)[vs[1].(string)] }).(DomainOutput) } func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainInput)(nil)).Elem(), &Domain{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainArrayInput)(nil)).Elem(), DomainArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainMapInput)(nil)).Elem(), DomainMap{}) pulumi.RegisterOutputType(DomainOutput{}) pulumi.RegisterOutputType(DomainArrayOutput{}) pulumi.RegisterOutputType(DomainMapOutput{}) }