1. Packages
  2. Digitalocean Provider
  3. API Docs
  4. App
DigitalOcean v4.34.1 published on Wednesday, Nov 13, 2024 by Pulumi

digitalocean.App

Explore with Pulumi AI

digitalocean logo
DigitalOcean v4.34.1 published on Wednesday, Nov 13, 2024 by Pulumi

    Provides a DigitalOcean App resource.

    Example Usage

    To create an app, provide a DigitalOcean app spec specifying the app’s components.

    Basic Example

    import * as pulumi from "@pulumi/pulumi";
    import * as digitalocean from "@pulumi/digitalocean";
    
    const golang_sample = new digitalocean.App("golang-sample", {spec: {
        name: "golang-sample",
        region: "ams",
        services: [{
            name: "go-service",
            instanceCount: 1,
            instanceSizeSlug: "apps-s-1vcpu-1gb",
            git: {
                repoCloneUrl: "https://github.com/digitalocean/sample-golang.git",
                branch: "main",
            },
        }],
    }});
    
    import pulumi
    import pulumi_digitalocean as digitalocean
    
    golang_sample = digitalocean.App("golang-sample", spec={
        "name": "golang-sample",
        "region": "ams",
        "services": [{
            "name": "go-service",
            "instance_count": 1,
            "instance_size_slug": "apps-s-1vcpu-1gb",
            "git": {
                "repo_clone_url": "https://github.com/digitalocean/sample-golang.git",
                "branch": "main",
            },
        }],
    })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := digitalocean.NewApp(ctx, "golang-sample", &digitalocean.AppArgs{
    			Spec: &digitalocean.AppSpecArgs{
    				Name:   pulumi.String("golang-sample"),
    				Region: pulumi.String("ams"),
    				Services: digitalocean.AppSpecServiceArray{
    					&digitalocean.AppSpecServiceArgs{
    						Name:             pulumi.String("go-service"),
    						InstanceCount:    pulumi.Int(1),
    						InstanceSizeSlug: pulumi.String("apps-s-1vcpu-1gb"),
    						Git: &digitalocean.AppSpecServiceGitArgs{
    							RepoCloneUrl: pulumi.String("https://github.com/digitalocean/sample-golang.git"),
    							Branch:       pulumi.String("main"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using DigitalOcean = Pulumi.DigitalOcean;
    
    return await Deployment.RunAsync(() => 
    {
        var golang_sample = new DigitalOcean.App("golang-sample", new()
        {
            Spec = new DigitalOcean.Inputs.AppSpecArgs
            {
                Name = "golang-sample",
                Region = "ams",
                Services = new[]
                {
                    new DigitalOcean.Inputs.AppSpecServiceArgs
                    {
                        Name = "go-service",
                        InstanceCount = 1,
                        InstanceSizeSlug = "apps-s-1vcpu-1gb",
                        Git = new DigitalOcean.Inputs.AppSpecServiceGitArgs
                        {
                            RepoCloneUrl = "https://github.com/digitalocean/sample-golang.git",
                            Branch = "main",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.digitalocean.App;
    import com.pulumi.digitalocean.AppArgs;
    import com.pulumi.digitalocean.inputs.AppSpecArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var golang_sample = new App("golang-sample", AppArgs.builder()
                .spec(AppSpecArgs.builder()
                    .name("golang-sample")
                    .region("ams")
                    .services(AppSpecServiceArgs.builder()
                        .name("go-service")
                        .instanceCount(1)
                        .instanceSizeSlug("apps-s-1vcpu-1gb")
                        .git(AppSpecServiceGitArgs.builder()
                            .repoCloneUrl("https://github.com/digitalocean/sample-golang.git")
                            .branch("main")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      golang-sample:
        type: digitalocean:App
        properties:
          spec:
            name: golang-sample
            region: ams
            services:
              - name: go-service
                instanceCount: 1
                instanceSizeSlug: apps-s-1vcpu-1gb
                git:
                  repoCloneUrl: https://github.com/digitalocean/sample-golang.git
                  branch: main
    

    Static Site Example

    import * as pulumi from "@pulumi/pulumi";
    import * as digitalocean from "@pulumi/digitalocean";
    
    const static_site_example = new digitalocean.App("static-site-example", {spec: {
        name: "static-site-example",
        region: "ams",
        staticSites: [{
            name: "sample-jekyll",
            buildCommand: "bundle exec jekyll build -d ./public",
            outputDir: "/public",
            git: {
                repoCloneUrl: "https://github.com/digitalocean/sample-jekyll.git",
                branch: "main",
            },
        }],
    }});
    
    import pulumi
    import pulumi_digitalocean as digitalocean
    
    static_site_example = digitalocean.App("static-site-example", spec={
        "name": "static-site-example",
        "region": "ams",
        "static_sites": [{
            "name": "sample-jekyll",
            "build_command": "bundle exec jekyll build -d ./public",
            "output_dir": "/public",
            "git": {
                "repo_clone_url": "https://github.com/digitalocean/sample-jekyll.git",
                "branch": "main",
            },
        }],
    })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := digitalocean.NewApp(ctx, "static-site-example", &digitalocean.AppArgs{
    			Spec: &digitalocean.AppSpecArgs{
    				Name:   pulumi.String("static-site-example"),
    				Region: pulumi.String("ams"),
    				StaticSites: digitalocean.AppSpecStaticSiteArray{
    					&digitalocean.AppSpecStaticSiteArgs{
    						Name:         pulumi.String("sample-jekyll"),
    						BuildCommand: pulumi.String("bundle exec jekyll build -d ./public"),
    						OutputDir:    pulumi.String("/public"),
    						Git: &digitalocean.AppSpecStaticSiteGitArgs{
    							RepoCloneUrl: pulumi.String("https://github.com/digitalocean/sample-jekyll.git"),
    							Branch:       pulumi.String("main"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using DigitalOcean = Pulumi.DigitalOcean;
    
    return await Deployment.RunAsync(() => 
    {
        var static_site_example = new DigitalOcean.App("static-site-example", new()
        {
            Spec = new DigitalOcean.Inputs.AppSpecArgs
            {
                Name = "static-site-example",
                Region = "ams",
                StaticSites = new[]
                {
                    new DigitalOcean.Inputs.AppSpecStaticSiteArgs
                    {
                        Name = "sample-jekyll",
                        BuildCommand = "bundle exec jekyll build -d ./public",
                        OutputDir = "/public",
                        Git = new DigitalOcean.Inputs.AppSpecStaticSiteGitArgs
                        {
                            RepoCloneUrl = "https://github.com/digitalocean/sample-jekyll.git",
                            Branch = "main",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.digitalocean.App;
    import com.pulumi.digitalocean.AppArgs;
    import com.pulumi.digitalocean.inputs.AppSpecArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var static_site_example = new App("static-site-example", AppArgs.builder()
                .spec(AppSpecArgs.builder()
                    .name("static-site-example")
                    .region("ams")
                    .staticSites(AppSpecStaticSiteArgs.builder()
                        .name("sample-jekyll")
                        .buildCommand("bundle exec jekyll build -d ./public")
                        .outputDir("/public")
                        .git(AppSpecStaticSiteGitArgs.builder()
                            .repoCloneUrl("https://github.com/digitalocean/sample-jekyll.git")
                            .branch("main")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      static-site-example:
        type: digitalocean:App
        properties:
          spec:
            name: static-site-example
            region: ams
            staticSites:
              - name: sample-jekyll
                buildCommand: bundle exec jekyll build -d ./public
                outputDir: /public
                git:
                  repoCloneUrl: https://github.com/digitalocean/sample-jekyll.git
                  branch: main
    

    Multiple Components Example

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.digitalocean.App;
    import com.pulumi.digitalocean.AppArgs;
    import com.pulumi.digitalocean.inputs.AppSpecArgs;
    import com.pulumi.digitalocean.inputs.AppSpecIngressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var mono_repo_example = new App("mono-repo-example", AppArgs.builder()
                .spec(AppSpecArgs.builder()
                    .name("mono-repo-example")
                    .region("ams")
                    .domains(Map.of("name", "foo.example.com"))
                    .alerts(AppSpecAlertArgs.builder()
                        .rule("DEPLOYMENT_FAILED")
                        .build())
                    .services(AppSpecServiceArgs.builder()
                        .name("go-api")
                        .instanceCount(2)
                        .instanceSizeSlug("apps-s-1vcpu-1gb")
                        .github(AppSpecServiceGithubArgs.builder()
                            .branch("main")
                            .deployOnPush(true)
                            .repo("username/repo")
                            .build())
                        .sourceDir("api/")
                        .httpPort(3000)
                        .alerts(AppSpecServiceAlertArgs.builder()
                            .value(75)
                            .operator("GREATER_THAN")
                            .window("TEN_MINUTES")
                            .rule("CPU_UTILIZATION")
                            .build())
                        .logDestinations(AppSpecServiceLogDestinationArgs.builder()
                            .name("MyLogs")
                            .papertrail(AppSpecServiceLogDestinationPapertrailArgs.builder()
                                .endpoint("syslog+tls://example.com:12345")
                                .build())
                            .build())
                        .runCommand("bin/api")
                        .build())
                    .staticSites(AppSpecStaticSiteArgs.builder()
                        .name("web")
                        .buildCommand("npm run build")
                        .github(AppSpecStaticSiteGithubArgs.builder()
                            .branch("main")
                            .deployOnPush(true)
                            .repo("username/repo")
                            .build())
                        .build())
                    .databases(AppSpecDatabaseArgs.builder()
                        .name("starter-db")
                        .engine("PG")
                        .production(false)
                        .build())
                    .ingress(AppSpecIngressArgs.builder()
                        .rules(                    
                            AppSpecIngressRuleArgs.builder()
                                .component(AppSpecIngressRuleComponentArgs.builder()
                                    .name("api")
                                    .build())
                                .match(AppSpecIngressRuleMatchArgs.builder()
                                    .path(AppSpecIngressRuleMatchPathArgs.builder()
                                        .prefix("/api")
                                        .build())
                                    .build())
                                .build(),
                            AppSpecIngressRuleArgs.builder()
                                .component(AppSpecIngressRuleComponentArgs.builder()
                                    .name("web")
                                    .build())
                                .match(AppSpecIngressRuleMatchArgs.builder()
                                    .path(AppSpecIngressRuleMatchPathArgs.builder()
                                        .prefix("/")
                                        .build())
                                    .build())
                                .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      mono-repo-example:
        type: digitalocean:App
        properties:
          spec:
            name: mono-repo-example
            region: ams
            domains:
              - name: foo.example.com
            alerts:
              - rule: DEPLOYMENT_FAILED
            services:
              - name: go-api
                instanceCount: 2
                instanceSizeSlug: apps-s-1vcpu-1gb
                github:
                  branch: main
                  deployOnPush: true
                  repo: username/repo
                sourceDir: api/
                httpPort: 3000
                alerts:
                  - value: 75
                    operator: GREATER_THAN
                    window: TEN_MINUTES
                    rule: CPU_UTILIZATION
                logDestinations:
                  - name: MyLogs
                    papertrail:
                      endpoint: syslog+tls://example.com:12345
                runCommand: bin/api
            staticSites:
              - name: web
                buildCommand: npm run build
                github:
                  branch: main
                  deployOnPush: true
                  repo: username/repo
            databases:
              - name: starter-db
                engine: PG
                production: false
            ingress:
              rules:
                - component:
                    name: api
                  match:
                    path:
                      prefix: /api
                - component:
                    name: web
                  match:
                    path:
                      prefix: /
    

    Log Destination Example with Opensearch

    import * as pulumi from "@pulumi/pulumi";
    import * as digitalocean from "@pulumi/digitalocean";
    
    const golang_sample = new digitalocean.App("golang-sample", {spec: {
        name: "golang-sample",
        region: "ams",
        services: [{
            name: "go-service",
            instanceCount: 1,
            instanceSizeSlug: "apps-s-1vcpu-1gb",
            git: {
                repoCloneUrl: "https://github.com/digitalocean/sample-golang.git",
                branch: "main",
            },
            logDestinations: [{
                name: "MyLogs",
                openSearch: {
                    endpoint: "https://something:1234",
                    basicAuth: {
                        user: "user",
                        password: "hi",
                    },
                },
            }],
        }],
    }});
    
    import pulumi
    import pulumi_digitalocean as digitalocean
    
    golang_sample = digitalocean.App("golang-sample", spec={
        "name": "golang-sample",
        "region": "ams",
        "services": [{
            "name": "go-service",
            "instance_count": 1,
            "instance_size_slug": "apps-s-1vcpu-1gb",
            "git": {
                "repo_clone_url": "https://github.com/digitalocean/sample-golang.git",
                "branch": "main",
            },
            "log_destinations": [{
                "name": "MyLogs",
                "open_search": {
                    "endpoint": "https://something:1234",
                    "basic_auth": {
                        "user": "user",
                        "password": "hi",
                    },
                },
            }],
        }],
    })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := digitalocean.NewApp(ctx, "golang-sample", &digitalocean.AppArgs{
    			Spec: &digitalocean.AppSpecArgs{
    				Name:   pulumi.String("golang-sample"),
    				Region: pulumi.String("ams"),
    				Services: digitalocean.AppSpecServiceArray{
    					&digitalocean.AppSpecServiceArgs{
    						Name:             pulumi.String("go-service"),
    						InstanceCount:    pulumi.Int(1),
    						InstanceSizeSlug: pulumi.String("apps-s-1vcpu-1gb"),
    						Git: &digitalocean.AppSpecServiceGitArgs{
    							RepoCloneUrl: pulumi.String("https://github.com/digitalocean/sample-golang.git"),
    							Branch:       pulumi.String("main"),
    						},
    						LogDestinations: digitalocean.AppSpecServiceLogDestinationArray{
    							&digitalocean.AppSpecServiceLogDestinationArgs{
    								Name: pulumi.String("MyLogs"),
    								OpenSearch: &digitalocean.AppSpecServiceLogDestinationOpenSearchArgs{
    									Endpoint: pulumi.String("https://something:1234"),
    									BasicAuth: &digitalocean.AppSpecServiceLogDestinationOpenSearchBasicAuthArgs{
    										User:     pulumi.String("user"),
    										Password: pulumi.String("hi"),
    									},
    								},
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using DigitalOcean = Pulumi.DigitalOcean;
    
    return await Deployment.RunAsync(() => 
    {
        var golang_sample = new DigitalOcean.App("golang-sample", new()
        {
            Spec = new DigitalOcean.Inputs.AppSpecArgs
            {
                Name = "golang-sample",
                Region = "ams",
                Services = new[]
                {
                    new DigitalOcean.Inputs.AppSpecServiceArgs
                    {
                        Name = "go-service",
                        InstanceCount = 1,
                        InstanceSizeSlug = "apps-s-1vcpu-1gb",
                        Git = new DigitalOcean.Inputs.AppSpecServiceGitArgs
                        {
                            RepoCloneUrl = "https://github.com/digitalocean/sample-golang.git",
                            Branch = "main",
                        },
                        LogDestinations = new[]
                        {
                            new DigitalOcean.Inputs.AppSpecServiceLogDestinationArgs
                            {
                                Name = "MyLogs",
                                OpenSearch = new DigitalOcean.Inputs.AppSpecServiceLogDestinationOpenSearchArgs
                                {
                                    Endpoint = "https://something:1234",
                                    BasicAuth = new DigitalOcean.Inputs.AppSpecServiceLogDestinationOpenSearchBasicAuthArgs
                                    {
                                        User = "user",
                                        Password = "hi",
                                    },
                                },
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.digitalocean.App;
    import com.pulumi.digitalocean.AppArgs;
    import com.pulumi.digitalocean.inputs.AppSpecArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var golang_sample = new App("golang-sample", AppArgs.builder()
                .spec(AppSpecArgs.builder()
                    .name("golang-sample")
                    .region("ams")
                    .services(AppSpecServiceArgs.builder()
                        .name("go-service")
                        .instanceCount(1)
                        .instanceSizeSlug("apps-s-1vcpu-1gb")
                        .git(AppSpecServiceGitArgs.builder()
                            .repoCloneUrl("https://github.com/digitalocean/sample-golang.git")
                            .branch("main")
                            .build())
                        .logDestinations(AppSpecServiceLogDestinationArgs.builder()
                            .name("MyLogs")
                            .openSearch(AppSpecServiceLogDestinationOpenSearchArgs.builder()
                                .endpoint("https://something:1234")
                                .basicAuth(AppSpecServiceLogDestinationOpenSearchBasicAuthArgs.builder()
                                    .user("user")
                                    .password("hi")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      golang-sample:
        type: digitalocean:App
        properties:
          spec:
            name: golang-sample
            region: ams
            services:
              - name: go-service
                instanceCount: 1
                instanceSizeSlug: apps-s-1vcpu-1gb
                git:
                  repoCloneUrl: https://github.com/digitalocean/sample-golang.git
                  branch: main
                logDestinations:
                  - name: MyLogs
                    openSearch:
                      endpoint: https://something:1234
                      basicAuth:
                        user: user
                        password: hi
    

    Create App Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new App(name: string, args?: AppArgs, opts?: CustomResourceOptions);
    @overload
    def App(resource_name: str,
            args: Optional[AppArgs] = None,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def App(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            dedicated_ips: Optional[Sequence[AppDedicatedIpArgs]] = None,
            project_id: Optional[str] = None,
            spec: Optional[AppSpecArgs] = None)
    func NewApp(ctx *Context, name string, args *AppArgs, opts ...ResourceOption) (*App, error)
    public App(string name, AppArgs? args = null, CustomResourceOptions? opts = null)
    public App(String name, AppArgs args)
    public App(String name, AppArgs args, CustomResourceOptions options)
    
    type: digitalocean:App
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var appResource = new DigitalOcean.App("appResource", new()
    {
        DedicatedIps = new[]
        {
            new DigitalOcean.Inputs.AppDedicatedIpArgs
            {
                Id = "string",
                Ip = "string",
                Status = "string",
            },
        },
        ProjectId = "string",
        Spec = new DigitalOcean.Inputs.AppSpecArgs
        {
            Name = "string",
            Features = new[]
            {
                "string",
            },
            Ingress = new DigitalOcean.Inputs.AppSpecIngressArgs
            {
                Rules = new[]
                {
                    new DigitalOcean.Inputs.AppSpecIngressRuleArgs
                    {
                        Component = new DigitalOcean.Inputs.AppSpecIngressRuleComponentArgs
                        {
                            Name = "string",
                            PreservePathPrefix = false,
                            Rewrite = "string",
                        },
                        Cors = new DigitalOcean.Inputs.AppSpecIngressRuleCorsArgs
                        {
                            AllowCredentials = false,
                            AllowHeaders = new[]
                            {
                                "string",
                            },
                            AllowMethods = new[]
                            {
                                "string",
                            },
                            AllowOrigins = new DigitalOcean.Inputs.AppSpecIngressRuleCorsAllowOriginsArgs
                            {
                                Exact = "string",
                                Regex = "string",
                            },
                            ExposeHeaders = new[]
                            {
                                "string",
                            },
                            MaxAge = "string",
                        },
                        Match = new DigitalOcean.Inputs.AppSpecIngressRuleMatchArgs
                        {
                            Path = new DigitalOcean.Inputs.AppSpecIngressRuleMatchPathArgs
                            {
                                Prefix = "string",
                            },
                        },
                        Redirect = new DigitalOcean.Inputs.AppSpecIngressRuleRedirectArgs
                        {
                            Authority = "string",
                            Port = 0,
                            RedirectCode = 0,
                            Scheme = "string",
                            Uri = "string",
                        },
                    },
                },
            },
            Egresses = new[]
            {
                new DigitalOcean.Inputs.AppSpecEgressArgs
                {
                    Type = "string",
                },
            },
            Envs = new[]
            {
                new DigitalOcean.Inputs.AppSpecEnvArgs
                {
                    Key = "string",
                    Scope = "string",
                    Type = "string",
                    Value = "string",
                },
            },
            Alerts = new[]
            {
                new DigitalOcean.Inputs.AppSpecAlertArgs
                {
                    Rule = "string",
                    Disabled = false,
                },
            },
            Functions = new[]
            {
                new DigitalOcean.Inputs.AppSpecFunctionArgs
                {
                    Name = "string",
                    Alerts = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecFunctionAlertArgs
                        {
                            Operator = "string",
                            Rule = "string",
                            Value = 0,
                            Window = "string",
                            Disabled = false,
                        },
                    },
                    Envs = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecFunctionEnvArgs
                        {
                            Key = "string",
                            Scope = "string",
                            Type = "string",
                            Value = "string",
                        },
                    },
                    Git = new DigitalOcean.Inputs.AppSpecFunctionGitArgs
                    {
                        Branch = "string",
                        RepoCloneUrl = "string",
                    },
                    Github = new DigitalOcean.Inputs.AppSpecFunctionGithubArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    Gitlab = new DigitalOcean.Inputs.AppSpecFunctionGitlabArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    LogDestinations = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecFunctionLogDestinationArgs
                        {
                            Name = "string",
                            Datadog = new DigitalOcean.Inputs.AppSpecFunctionLogDestinationDatadogArgs
                            {
                                ApiKey = "string",
                                Endpoint = "string",
                            },
                            Logtail = new DigitalOcean.Inputs.AppSpecFunctionLogDestinationLogtailArgs
                            {
                                Token = "string",
                            },
                            OpenSearch = new DigitalOcean.Inputs.AppSpecFunctionLogDestinationOpenSearchArgs
                            {
                                BasicAuth = new DigitalOcean.Inputs.AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs
                                {
                                    Password = "string",
                                    User = "string",
                                },
                                ClusterName = "string",
                                Endpoint = "string",
                                IndexName = "string",
                            },
                            Papertrail = new DigitalOcean.Inputs.AppSpecFunctionLogDestinationPapertrailArgs
                            {
                                Endpoint = "string",
                            },
                        },
                    },
                    SourceDir = "string",
                },
            },
            DomainNames = new[]
            {
                new DigitalOcean.Inputs.AppSpecDomainNameArgs
                {
                    Name = "string",
                    Type = "string",
                    Wildcard = false,
                    Zone = "string",
                },
            },
            Jobs = new[]
            {
                new DigitalOcean.Inputs.AppSpecJobArgs
                {
                    Name = "string",
                    Image = new DigitalOcean.Inputs.AppSpecJobImageArgs
                    {
                        RegistryType = "string",
                        Repository = "string",
                        DeployOnPushes = new[]
                        {
                            new DigitalOcean.Inputs.AppSpecJobImageDeployOnPushArgs
                            {
                                Enabled = false,
                            },
                        },
                        Registry = "string",
                        RegistryCredentials = "string",
                        Tag = "string",
                    },
                    InstanceCount = 0,
                    EnvironmentSlug = "string",
                    Envs = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecJobEnvArgs
                        {
                            Key = "string",
                            Scope = "string",
                            Type = "string",
                            Value = "string",
                        },
                    },
                    Git = new DigitalOcean.Inputs.AppSpecJobGitArgs
                    {
                        Branch = "string",
                        RepoCloneUrl = "string",
                    },
                    Github = new DigitalOcean.Inputs.AppSpecJobGithubArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    DockerfilePath = "string",
                    Alerts = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecJobAlertArgs
                        {
                            Operator = "string",
                            Rule = "string",
                            Value = 0,
                            Window = "string",
                            Disabled = false,
                        },
                    },
                    Gitlab = new DigitalOcean.Inputs.AppSpecJobGitlabArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    InstanceSizeSlug = "string",
                    Kind = "string",
                    LogDestinations = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecJobLogDestinationArgs
                        {
                            Name = "string",
                            Datadog = new DigitalOcean.Inputs.AppSpecJobLogDestinationDatadogArgs
                            {
                                ApiKey = "string",
                                Endpoint = "string",
                            },
                            Logtail = new DigitalOcean.Inputs.AppSpecJobLogDestinationLogtailArgs
                            {
                                Token = "string",
                            },
                            OpenSearch = new DigitalOcean.Inputs.AppSpecJobLogDestinationOpenSearchArgs
                            {
                                BasicAuth = new DigitalOcean.Inputs.AppSpecJobLogDestinationOpenSearchBasicAuthArgs
                                {
                                    Password = "string",
                                    User = "string",
                                },
                                ClusterName = "string",
                                Endpoint = "string",
                                IndexName = "string",
                            },
                            Papertrail = new DigitalOcean.Inputs.AppSpecJobLogDestinationPapertrailArgs
                            {
                                Endpoint = "string",
                            },
                        },
                    },
                    BuildCommand = "string",
                    RunCommand = "string",
                    SourceDir = "string",
                },
            },
            Databases = new[]
            {
                new DigitalOcean.Inputs.AppSpecDatabaseArgs
                {
                    ClusterName = "string",
                    DbName = "string",
                    DbUser = "string",
                    Engine = "string",
                    Name = "string",
                    Production = false,
                    Version = "string",
                },
            },
            Region = "string",
            Services = new[]
            {
                new DigitalOcean.Inputs.AppSpecServiceArgs
                {
                    Name = "string",
                    HealthCheck = new DigitalOcean.Inputs.AppSpecServiceHealthCheckArgs
                    {
                        FailureThreshold = 0,
                        HttpPath = "string",
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        Port = 0,
                        SuccessThreshold = 0,
                        TimeoutSeconds = 0,
                    },
                    DockerfilePath = "string",
                    EnvironmentSlug = "string",
                    Envs = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecServiceEnvArgs
                        {
                            Key = "string",
                            Scope = "string",
                            Type = "string",
                            Value = "string",
                        },
                    },
                    Git = new DigitalOcean.Inputs.AppSpecServiceGitArgs
                    {
                        Branch = "string",
                        RepoCloneUrl = "string",
                    },
                    HttpPort = 0,
                    SourceDir = "string",
                    BuildCommand = "string",
                    Github = new DigitalOcean.Inputs.AppSpecServiceGithubArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    Image = new DigitalOcean.Inputs.AppSpecServiceImageArgs
                    {
                        RegistryType = "string",
                        Repository = "string",
                        DeployOnPushes = new[]
                        {
                            new DigitalOcean.Inputs.AppSpecServiceImageDeployOnPushArgs
                            {
                                Enabled = false,
                            },
                        },
                        Registry = "string",
                        RegistryCredentials = "string",
                        Tag = "string",
                    },
                    InstanceCount = 0,
                    InstanceSizeSlug = "string",
                    InternalPorts = new[]
                    {
                        0,
                    },
                    LogDestinations = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecServiceLogDestinationArgs
                        {
                            Name = "string",
                            Datadog = new DigitalOcean.Inputs.AppSpecServiceLogDestinationDatadogArgs
                            {
                                ApiKey = "string",
                                Endpoint = "string",
                            },
                            Logtail = new DigitalOcean.Inputs.AppSpecServiceLogDestinationLogtailArgs
                            {
                                Token = "string",
                            },
                            OpenSearch = new DigitalOcean.Inputs.AppSpecServiceLogDestinationOpenSearchArgs
                            {
                                BasicAuth = new DigitalOcean.Inputs.AppSpecServiceLogDestinationOpenSearchBasicAuthArgs
                                {
                                    Password = "string",
                                    User = "string",
                                },
                                ClusterName = "string",
                                Endpoint = "string",
                                IndexName = "string",
                            },
                            Papertrail = new DigitalOcean.Inputs.AppSpecServiceLogDestinationPapertrailArgs
                            {
                                Endpoint = "string",
                            },
                        },
                    },
                    Autoscaling = new DigitalOcean.Inputs.AppSpecServiceAutoscalingArgs
                    {
                        MaxInstanceCount = 0,
                        Metrics = new DigitalOcean.Inputs.AppSpecServiceAutoscalingMetricsArgs
                        {
                            Cpu = new DigitalOcean.Inputs.AppSpecServiceAutoscalingMetricsCpuArgs
                            {
                                Percent = 0,
                            },
                        },
                        MinInstanceCount = 0,
                    },
                    Alerts = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecServiceAlertArgs
                        {
                            Operator = "string",
                            Rule = "string",
                            Value = 0,
                            Window = "string",
                            Disabled = false,
                        },
                    },
                    RunCommand = "string",
                    Gitlab = new DigitalOcean.Inputs.AppSpecServiceGitlabArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                },
            },
            StaticSites = new[]
            {
                new DigitalOcean.Inputs.AppSpecStaticSiteArgs
                {
                    Name = "string",
                    ErrorDocument = "string",
                    Github = new DigitalOcean.Inputs.AppSpecStaticSiteGithubArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    DockerfilePath = "string",
                    EnvironmentSlug = "string",
                    Envs = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecStaticSiteEnvArgs
                        {
                            Key = "string",
                            Scope = "string",
                            Type = "string",
                            Value = "string",
                        },
                    },
                    BuildCommand = "string",
                    Git = new DigitalOcean.Inputs.AppSpecStaticSiteGitArgs
                    {
                        Branch = "string",
                        RepoCloneUrl = "string",
                    },
                    Gitlab = new DigitalOcean.Inputs.AppSpecStaticSiteGitlabArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    IndexDocument = "string",
                    CatchallDocument = "string",
                    OutputDir = "string",
                    SourceDir = "string",
                },
            },
            Workers = new[]
            {
                new DigitalOcean.Inputs.AppSpecWorkerArgs
                {
                    Name = "string",
                    Github = new DigitalOcean.Inputs.AppSpecWorkerGithubArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    Image = new DigitalOcean.Inputs.AppSpecWorkerImageArgs
                    {
                        RegistryType = "string",
                        Repository = "string",
                        DeployOnPushes = new[]
                        {
                            new DigitalOcean.Inputs.AppSpecWorkerImageDeployOnPushArgs
                            {
                                Enabled = false,
                            },
                        },
                        Registry = "string",
                        RegistryCredentials = "string",
                        Tag = "string",
                    },
                    EnvironmentSlug = "string",
                    Envs = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecWorkerEnvArgs
                        {
                            Key = "string",
                            Scope = "string",
                            Type = "string",
                            Value = "string",
                        },
                    },
                    Git = new DigitalOcean.Inputs.AppSpecWorkerGitArgs
                    {
                        Branch = "string",
                        RepoCloneUrl = "string",
                    },
                    Alerts = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecWorkerAlertArgs
                        {
                            Operator = "string",
                            Rule = "string",
                            Value = 0,
                            Window = "string",
                            Disabled = false,
                        },
                    },
                    Gitlab = new DigitalOcean.Inputs.AppSpecWorkerGitlabArgs
                    {
                        Branch = "string",
                        DeployOnPush = false,
                        Repo = "string",
                    },
                    DockerfilePath = "string",
                    InstanceCount = 0,
                    InstanceSizeSlug = "string",
                    LogDestinations = new[]
                    {
                        new DigitalOcean.Inputs.AppSpecWorkerLogDestinationArgs
                        {
                            Name = "string",
                            Datadog = new DigitalOcean.Inputs.AppSpecWorkerLogDestinationDatadogArgs
                            {
                                ApiKey = "string",
                                Endpoint = "string",
                            },
                            Logtail = new DigitalOcean.Inputs.AppSpecWorkerLogDestinationLogtailArgs
                            {
                                Token = "string",
                            },
                            OpenSearch = new DigitalOcean.Inputs.AppSpecWorkerLogDestinationOpenSearchArgs
                            {
                                BasicAuth = new DigitalOcean.Inputs.AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs
                                {
                                    Password = "string",
                                    User = "string",
                                },
                                ClusterName = "string",
                                Endpoint = "string",
                                IndexName = "string",
                            },
                            Papertrail = new DigitalOcean.Inputs.AppSpecWorkerLogDestinationPapertrailArgs
                            {
                                Endpoint = "string",
                            },
                        },
                    },
                    BuildCommand = "string",
                    RunCommand = "string",
                    SourceDir = "string",
                },
            },
        },
    });
    
    example, err := digitalocean.NewApp(ctx, "appResource", &digitalocean.AppArgs{
    	DedicatedIps: digitalocean.AppDedicatedIpArray{
    		&digitalocean.AppDedicatedIpArgs{
    			Id:     pulumi.String("string"),
    			Ip:     pulumi.String("string"),
    			Status: pulumi.String("string"),
    		},
    	},
    	ProjectId: pulumi.String("string"),
    	Spec: &digitalocean.AppSpecArgs{
    		Name: pulumi.String("string"),
    		Features: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Ingress: &digitalocean.AppSpecIngressArgs{
    			Rules: digitalocean.AppSpecIngressRuleArray{
    				&digitalocean.AppSpecIngressRuleArgs{
    					Component: &digitalocean.AppSpecIngressRuleComponentArgs{
    						Name:               pulumi.String("string"),
    						PreservePathPrefix: pulumi.Bool(false),
    						Rewrite:            pulumi.String("string"),
    					},
    					Cors: &digitalocean.AppSpecIngressRuleCorsArgs{
    						AllowCredentials: pulumi.Bool(false),
    						AllowHeaders: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						AllowMethods: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						AllowOrigins: &digitalocean.AppSpecIngressRuleCorsAllowOriginsArgs{
    							Exact: pulumi.String("string"),
    							Regex: pulumi.String("string"),
    						},
    						ExposeHeaders: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						MaxAge: pulumi.String("string"),
    					},
    					Match: &digitalocean.AppSpecIngressRuleMatchArgs{
    						Path: &digitalocean.AppSpecIngressRuleMatchPathArgs{
    							Prefix: pulumi.String("string"),
    						},
    					},
    					Redirect: &digitalocean.AppSpecIngressRuleRedirectArgs{
    						Authority:    pulumi.String("string"),
    						Port:         pulumi.Int(0),
    						RedirectCode: pulumi.Int(0),
    						Scheme:       pulumi.String("string"),
    						Uri:          pulumi.String("string"),
    					},
    				},
    			},
    		},
    		Egresses: digitalocean.AppSpecEgressArray{
    			&digitalocean.AppSpecEgressArgs{
    				Type: pulumi.String("string"),
    			},
    		},
    		Envs: digitalocean.AppSpecEnvArray{
    			&digitalocean.AppSpecEnvArgs{
    				Key:   pulumi.String("string"),
    				Scope: pulumi.String("string"),
    				Type:  pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		Alerts: digitalocean.AppSpecAlertArray{
    			&digitalocean.AppSpecAlertArgs{
    				Rule:     pulumi.String("string"),
    				Disabled: pulumi.Bool(false),
    			},
    		},
    		Functions: digitalocean.AppSpecFunctionArray{
    			&digitalocean.AppSpecFunctionArgs{
    				Name: pulumi.String("string"),
    				Alerts: digitalocean.AppSpecFunctionAlertArray{
    					&digitalocean.AppSpecFunctionAlertArgs{
    						Operator: pulumi.String("string"),
    						Rule:     pulumi.String("string"),
    						Value:    pulumi.Float64(0),
    						Window:   pulumi.String("string"),
    						Disabled: pulumi.Bool(false),
    					},
    				},
    				Envs: digitalocean.AppSpecFunctionEnvArray{
    					&digitalocean.AppSpecFunctionEnvArgs{
    						Key:   pulumi.String("string"),
    						Scope: pulumi.String("string"),
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Git: &digitalocean.AppSpecFunctionGitArgs{
    					Branch:       pulumi.String("string"),
    					RepoCloneUrl: pulumi.String("string"),
    				},
    				Github: &digitalocean.AppSpecFunctionGithubArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				Gitlab: &digitalocean.AppSpecFunctionGitlabArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				LogDestinations: digitalocean.AppSpecFunctionLogDestinationArray{
    					&digitalocean.AppSpecFunctionLogDestinationArgs{
    						Name: pulumi.String("string"),
    						Datadog: &digitalocean.AppSpecFunctionLogDestinationDatadogArgs{
    							ApiKey:   pulumi.String("string"),
    							Endpoint: pulumi.String("string"),
    						},
    						Logtail: &digitalocean.AppSpecFunctionLogDestinationLogtailArgs{
    							Token: pulumi.String("string"),
    						},
    						OpenSearch: &digitalocean.AppSpecFunctionLogDestinationOpenSearchArgs{
    							BasicAuth: &digitalocean.AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs{
    								Password: pulumi.String("string"),
    								User:     pulumi.String("string"),
    							},
    							ClusterName: pulumi.String("string"),
    							Endpoint:    pulumi.String("string"),
    							IndexName:   pulumi.String("string"),
    						},
    						Papertrail: &digitalocean.AppSpecFunctionLogDestinationPapertrailArgs{
    							Endpoint: pulumi.String("string"),
    						},
    					},
    				},
    				SourceDir: pulumi.String("string"),
    			},
    		},
    		DomainNames: digitalocean.AppSpecDomainNameArray{
    			&digitalocean.AppSpecDomainNameArgs{
    				Name:     pulumi.String("string"),
    				Type:     pulumi.String("string"),
    				Wildcard: pulumi.Bool(false),
    				Zone:     pulumi.String("string"),
    			},
    		},
    		Jobs: digitalocean.AppSpecJobArray{
    			&digitalocean.AppSpecJobArgs{
    				Name: pulumi.String("string"),
    				Image: &digitalocean.AppSpecJobImageArgs{
    					RegistryType: pulumi.String("string"),
    					Repository:   pulumi.String("string"),
    					DeployOnPushes: digitalocean.AppSpecJobImageDeployOnPushArray{
    						&digitalocean.AppSpecJobImageDeployOnPushArgs{
    							Enabled: pulumi.Bool(false),
    						},
    					},
    					Registry:            pulumi.String("string"),
    					RegistryCredentials: pulumi.String("string"),
    					Tag:                 pulumi.String("string"),
    				},
    				InstanceCount:   pulumi.Int(0),
    				EnvironmentSlug: pulumi.String("string"),
    				Envs: digitalocean.AppSpecJobEnvArray{
    					&digitalocean.AppSpecJobEnvArgs{
    						Key:   pulumi.String("string"),
    						Scope: pulumi.String("string"),
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Git: &digitalocean.AppSpecJobGitArgs{
    					Branch:       pulumi.String("string"),
    					RepoCloneUrl: pulumi.String("string"),
    				},
    				Github: &digitalocean.AppSpecJobGithubArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				DockerfilePath: pulumi.String("string"),
    				Alerts: digitalocean.AppSpecJobAlertArray{
    					&digitalocean.AppSpecJobAlertArgs{
    						Operator: pulumi.String("string"),
    						Rule:     pulumi.String("string"),
    						Value:    pulumi.Float64(0),
    						Window:   pulumi.String("string"),
    						Disabled: pulumi.Bool(false),
    					},
    				},
    				Gitlab: &digitalocean.AppSpecJobGitlabArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				InstanceSizeSlug: pulumi.String("string"),
    				Kind:             pulumi.String("string"),
    				LogDestinations: digitalocean.AppSpecJobLogDestinationArray{
    					&digitalocean.AppSpecJobLogDestinationArgs{
    						Name: pulumi.String("string"),
    						Datadog: &digitalocean.AppSpecJobLogDestinationDatadogArgs{
    							ApiKey:   pulumi.String("string"),
    							Endpoint: pulumi.String("string"),
    						},
    						Logtail: &digitalocean.AppSpecJobLogDestinationLogtailArgs{
    							Token: pulumi.String("string"),
    						},
    						OpenSearch: &digitalocean.AppSpecJobLogDestinationOpenSearchArgs{
    							BasicAuth: &digitalocean.AppSpecJobLogDestinationOpenSearchBasicAuthArgs{
    								Password: pulumi.String("string"),
    								User:     pulumi.String("string"),
    							},
    							ClusterName: pulumi.String("string"),
    							Endpoint:    pulumi.String("string"),
    							IndexName:   pulumi.String("string"),
    						},
    						Papertrail: &digitalocean.AppSpecJobLogDestinationPapertrailArgs{
    							Endpoint: pulumi.String("string"),
    						},
    					},
    				},
    				BuildCommand: pulumi.String("string"),
    				RunCommand:   pulumi.String("string"),
    				SourceDir:    pulumi.String("string"),
    			},
    		},
    		Databases: digitalocean.AppSpecDatabaseArray{
    			&digitalocean.AppSpecDatabaseArgs{
    				ClusterName: pulumi.String("string"),
    				DbName:      pulumi.String("string"),
    				DbUser:      pulumi.String("string"),
    				Engine:      pulumi.String("string"),
    				Name:        pulumi.String("string"),
    				Production:  pulumi.Bool(false),
    				Version:     pulumi.String("string"),
    			},
    		},
    		Region: pulumi.String("string"),
    		Services: digitalocean.AppSpecServiceArray{
    			&digitalocean.AppSpecServiceArgs{
    				Name: pulumi.String("string"),
    				HealthCheck: &digitalocean.AppSpecServiceHealthCheckArgs{
    					FailureThreshold:    pulumi.Int(0),
    					HttpPath:            pulumi.String("string"),
    					InitialDelaySeconds: pulumi.Int(0),
    					PeriodSeconds:       pulumi.Int(0),
    					Port:                pulumi.Int(0),
    					SuccessThreshold:    pulumi.Int(0),
    					TimeoutSeconds:      pulumi.Int(0),
    				},
    				DockerfilePath:  pulumi.String("string"),
    				EnvironmentSlug: pulumi.String("string"),
    				Envs: digitalocean.AppSpecServiceEnvArray{
    					&digitalocean.AppSpecServiceEnvArgs{
    						Key:   pulumi.String("string"),
    						Scope: pulumi.String("string"),
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Git: &digitalocean.AppSpecServiceGitArgs{
    					Branch:       pulumi.String("string"),
    					RepoCloneUrl: pulumi.String("string"),
    				},
    				HttpPort:     pulumi.Int(0),
    				SourceDir:    pulumi.String("string"),
    				BuildCommand: pulumi.String("string"),
    				Github: &digitalocean.AppSpecServiceGithubArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				Image: &digitalocean.AppSpecServiceImageArgs{
    					RegistryType: pulumi.String("string"),
    					Repository:   pulumi.String("string"),
    					DeployOnPushes: digitalocean.AppSpecServiceImageDeployOnPushArray{
    						&digitalocean.AppSpecServiceImageDeployOnPushArgs{
    							Enabled: pulumi.Bool(false),
    						},
    					},
    					Registry:            pulumi.String("string"),
    					RegistryCredentials: pulumi.String("string"),
    					Tag:                 pulumi.String("string"),
    				},
    				InstanceCount:    pulumi.Int(0),
    				InstanceSizeSlug: pulumi.String("string"),
    				InternalPorts: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    				LogDestinations: digitalocean.AppSpecServiceLogDestinationArray{
    					&digitalocean.AppSpecServiceLogDestinationArgs{
    						Name: pulumi.String("string"),
    						Datadog: &digitalocean.AppSpecServiceLogDestinationDatadogArgs{
    							ApiKey:   pulumi.String("string"),
    							Endpoint: pulumi.String("string"),
    						},
    						Logtail: &digitalocean.AppSpecServiceLogDestinationLogtailArgs{
    							Token: pulumi.String("string"),
    						},
    						OpenSearch: &digitalocean.AppSpecServiceLogDestinationOpenSearchArgs{
    							BasicAuth: &digitalocean.AppSpecServiceLogDestinationOpenSearchBasicAuthArgs{
    								Password: pulumi.String("string"),
    								User:     pulumi.String("string"),
    							},
    							ClusterName: pulumi.String("string"),
    							Endpoint:    pulumi.String("string"),
    							IndexName:   pulumi.String("string"),
    						},
    						Papertrail: &digitalocean.AppSpecServiceLogDestinationPapertrailArgs{
    							Endpoint: pulumi.String("string"),
    						},
    					},
    				},
    				Autoscaling: &digitalocean.AppSpecServiceAutoscalingArgs{
    					MaxInstanceCount: pulumi.Int(0),
    					Metrics: &digitalocean.AppSpecServiceAutoscalingMetricsArgs{
    						Cpu: &digitalocean.AppSpecServiceAutoscalingMetricsCpuArgs{
    							Percent: pulumi.Int(0),
    						},
    					},
    					MinInstanceCount: pulumi.Int(0),
    				},
    				Alerts: digitalocean.AppSpecServiceAlertArray{
    					&digitalocean.AppSpecServiceAlertArgs{
    						Operator: pulumi.String("string"),
    						Rule:     pulumi.String("string"),
    						Value:    pulumi.Float64(0),
    						Window:   pulumi.String("string"),
    						Disabled: pulumi.Bool(false),
    					},
    				},
    				RunCommand: pulumi.String("string"),
    				Gitlab: &digitalocean.AppSpecServiceGitlabArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    			},
    		},
    		StaticSites: digitalocean.AppSpecStaticSiteArray{
    			&digitalocean.AppSpecStaticSiteArgs{
    				Name:          pulumi.String("string"),
    				ErrorDocument: pulumi.String("string"),
    				Github: &digitalocean.AppSpecStaticSiteGithubArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				DockerfilePath:  pulumi.String("string"),
    				EnvironmentSlug: pulumi.String("string"),
    				Envs: digitalocean.AppSpecStaticSiteEnvArray{
    					&digitalocean.AppSpecStaticSiteEnvArgs{
    						Key:   pulumi.String("string"),
    						Scope: pulumi.String("string"),
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				BuildCommand: pulumi.String("string"),
    				Git: &digitalocean.AppSpecStaticSiteGitArgs{
    					Branch:       pulumi.String("string"),
    					RepoCloneUrl: pulumi.String("string"),
    				},
    				Gitlab: &digitalocean.AppSpecStaticSiteGitlabArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				IndexDocument:    pulumi.String("string"),
    				CatchallDocument: pulumi.String("string"),
    				OutputDir:        pulumi.String("string"),
    				SourceDir:        pulumi.String("string"),
    			},
    		},
    		Workers: digitalocean.AppSpecWorkerArray{
    			&digitalocean.AppSpecWorkerArgs{
    				Name: pulumi.String("string"),
    				Github: &digitalocean.AppSpecWorkerGithubArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				Image: &digitalocean.AppSpecWorkerImageArgs{
    					RegistryType: pulumi.String("string"),
    					Repository:   pulumi.String("string"),
    					DeployOnPushes: digitalocean.AppSpecWorkerImageDeployOnPushArray{
    						&digitalocean.AppSpecWorkerImageDeployOnPushArgs{
    							Enabled: pulumi.Bool(false),
    						},
    					},
    					Registry:            pulumi.String("string"),
    					RegistryCredentials: pulumi.String("string"),
    					Tag:                 pulumi.String("string"),
    				},
    				EnvironmentSlug: pulumi.String("string"),
    				Envs: digitalocean.AppSpecWorkerEnvArray{
    					&digitalocean.AppSpecWorkerEnvArgs{
    						Key:   pulumi.String("string"),
    						Scope: pulumi.String("string"),
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Git: &digitalocean.AppSpecWorkerGitArgs{
    					Branch:       pulumi.String("string"),
    					RepoCloneUrl: pulumi.String("string"),
    				},
    				Alerts: digitalocean.AppSpecWorkerAlertArray{
    					&digitalocean.AppSpecWorkerAlertArgs{
    						Operator: pulumi.String("string"),
    						Rule:     pulumi.String("string"),
    						Value:    pulumi.Float64(0),
    						Window:   pulumi.String("string"),
    						Disabled: pulumi.Bool(false),
    					},
    				},
    				Gitlab: &digitalocean.AppSpecWorkerGitlabArgs{
    					Branch:       pulumi.String("string"),
    					DeployOnPush: pulumi.Bool(false),
    					Repo:         pulumi.String("string"),
    				},
    				DockerfilePath:   pulumi.String("string"),
    				InstanceCount:    pulumi.Int(0),
    				InstanceSizeSlug: pulumi.String("string"),
    				LogDestinations: digitalocean.AppSpecWorkerLogDestinationArray{
    					&digitalocean.AppSpecWorkerLogDestinationArgs{
    						Name: pulumi.String("string"),
    						Datadog: &digitalocean.AppSpecWorkerLogDestinationDatadogArgs{
    							ApiKey:   pulumi.String("string"),
    							Endpoint: pulumi.String("string"),
    						},
    						Logtail: &digitalocean.AppSpecWorkerLogDestinationLogtailArgs{
    							Token: pulumi.String("string"),
    						},
    						OpenSearch: &digitalocean.AppSpecWorkerLogDestinationOpenSearchArgs{
    							BasicAuth: &digitalocean.AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs{
    								Password: pulumi.String("string"),
    								User:     pulumi.String("string"),
    							},
    							ClusterName: pulumi.String("string"),
    							Endpoint:    pulumi.String("string"),
    							IndexName:   pulumi.String("string"),
    						},
    						Papertrail: &digitalocean.AppSpecWorkerLogDestinationPapertrailArgs{
    							Endpoint: pulumi.String("string"),
    						},
    					},
    				},
    				BuildCommand: pulumi.String("string"),
    				RunCommand:   pulumi.String("string"),
    				SourceDir:    pulumi.String("string"),
    			},
    		},
    	},
    })
    
    var appResource = new App("appResource", AppArgs.builder()
        .dedicatedIps(AppDedicatedIpArgs.builder()
            .id("string")
            .ip("string")
            .status("string")
            .build())
        .projectId("string")
        .spec(AppSpecArgs.builder()
            .name("string")
            .features("string")
            .ingress(AppSpecIngressArgs.builder()
                .rules(AppSpecIngressRuleArgs.builder()
                    .component(AppSpecIngressRuleComponentArgs.builder()
                        .name("string")
                        .preservePathPrefix(false)
                        .rewrite("string")
                        .build())
                    .cors(AppSpecIngressRuleCorsArgs.builder()
                        .allowCredentials(false)
                        .allowHeaders("string")
                        .allowMethods("string")
                        .allowOrigins(AppSpecIngressRuleCorsAllowOriginsArgs.builder()
                            .exact("string")
                            .regex("string")
                            .build())
                        .exposeHeaders("string")
                        .maxAge("string")
                        .build())
                    .match(AppSpecIngressRuleMatchArgs.builder()
                        .path(AppSpecIngressRuleMatchPathArgs.builder()
                            .prefix("string")
                            .build())
                        .build())
                    .redirect(AppSpecIngressRuleRedirectArgs.builder()
                        .authority("string")
                        .port(0)
                        .redirectCode(0)
                        .scheme("string")
                        .uri("string")
                        .build())
                    .build())
                .build())
            .egresses(AppSpecEgressArgs.builder()
                .type("string")
                .build())
            .envs(AppSpecEnvArgs.builder()
                .key("string")
                .scope("string")
                .type("string")
                .value("string")
                .build())
            .alerts(AppSpecAlertArgs.builder()
                .rule("string")
                .disabled(false)
                .build())
            .functions(AppSpecFunctionArgs.builder()
                .name("string")
                .alerts(AppSpecFunctionAlertArgs.builder()
                    .operator("string")
                    .rule("string")
                    .value(0)
                    .window("string")
                    .disabled(false)
                    .build())
                .envs(AppSpecFunctionEnvArgs.builder()
                    .key("string")
                    .scope("string")
                    .type("string")
                    .value("string")
                    .build())
                .git(AppSpecFunctionGitArgs.builder()
                    .branch("string")
                    .repoCloneUrl("string")
                    .build())
                .github(AppSpecFunctionGithubArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .gitlab(AppSpecFunctionGitlabArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .logDestinations(AppSpecFunctionLogDestinationArgs.builder()
                    .name("string")
                    .datadog(AppSpecFunctionLogDestinationDatadogArgs.builder()
                        .apiKey("string")
                        .endpoint("string")
                        .build())
                    .logtail(AppSpecFunctionLogDestinationLogtailArgs.builder()
                        .token("string")
                        .build())
                    .openSearch(AppSpecFunctionLogDestinationOpenSearchArgs.builder()
                        .basicAuth(AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs.builder()
                            .password("string")
                            .user("string")
                            .build())
                        .clusterName("string")
                        .endpoint("string")
                        .indexName("string")
                        .build())
                    .papertrail(AppSpecFunctionLogDestinationPapertrailArgs.builder()
                        .endpoint("string")
                        .build())
                    .build())
                .sourceDir("string")
                .build())
            .domainNames(AppSpecDomainNameArgs.builder()
                .name("string")
                .type("string")
                .wildcard(false)
                .zone("string")
                .build())
            .jobs(AppSpecJobArgs.builder()
                .name("string")
                .image(AppSpecJobImageArgs.builder()
                    .registryType("string")
                    .repository("string")
                    .deployOnPushes(AppSpecJobImageDeployOnPushArgs.builder()
                        .enabled(false)
                        .build())
                    .registry("string")
                    .registryCredentials("string")
                    .tag("string")
                    .build())
                .instanceCount(0)
                .environmentSlug("string")
                .envs(AppSpecJobEnvArgs.builder()
                    .key("string")
                    .scope("string")
                    .type("string")
                    .value("string")
                    .build())
                .git(AppSpecJobGitArgs.builder()
                    .branch("string")
                    .repoCloneUrl("string")
                    .build())
                .github(AppSpecJobGithubArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .dockerfilePath("string")
                .alerts(AppSpecJobAlertArgs.builder()
                    .operator("string")
                    .rule("string")
                    .value(0)
                    .window("string")
                    .disabled(false)
                    .build())
                .gitlab(AppSpecJobGitlabArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .instanceSizeSlug("string")
                .kind("string")
                .logDestinations(AppSpecJobLogDestinationArgs.builder()
                    .name("string")
                    .datadog(AppSpecJobLogDestinationDatadogArgs.builder()
                        .apiKey("string")
                        .endpoint("string")
                        .build())
                    .logtail(AppSpecJobLogDestinationLogtailArgs.builder()
                        .token("string")
                        .build())
                    .openSearch(AppSpecJobLogDestinationOpenSearchArgs.builder()
                        .basicAuth(AppSpecJobLogDestinationOpenSearchBasicAuthArgs.builder()
                            .password("string")
                            .user("string")
                            .build())
                        .clusterName("string")
                        .endpoint("string")
                        .indexName("string")
                        .build())
                    .papertrail(AppSpecJobLogDestinationPapertrailArgs.builder()
                        .endpoint("string")
                        .build())
                    .build())
                .buildCommand("string")
                .runCommand("string")
                .sourceDir("string")
                .build())
            .databases(AppSpecDatabaseArgs.builder()
                .clusterName("string")
                .dbName("string")
                .dbUser("string")
                .engine("string")
                .name("string")
                .production(false)
                .version("string")
                .build())
            .region("string")
            .services(AppSpecServiceArgs.builder()
                .name("string")
                .healthCheck(AppSpecServiceHealthCheckArgs.builder()
                    .failureThreshold(0)
                    .httpPath("string")
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .port(0)
                    .successThreshold(0)
                    .timeoutSeconds(0)
                    .build())
                .dockerfilePath("string")
                .environmentSlug("string")
                .envs(AppSpecServiceEnvArgs.builder()
                    .key("string")
                    .scope("string")
                    .type("string")
                    .value("string")
                    .build())
                .git(AppSpecServiceGitArgs.builder()
                    .branch("string")
                    .repoCloneUrl("string")
                    .build())
                .httpPort(0)
                .sourceDir("string")
                .buildCommand("string")
                .github(AppSpecServiceGithubArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .image(AppSpecServiceImageArgs.builder()
                    .registryType("string")
                    .repository("string")
                    .deployOnPushes(AppSpecServiceImageDeployOnPushArgs.builder()
                        .enabled(false)
                        .build())
                    .registry("string")
                    .registryCredentials("string")
                    .tag("string")
                    .build())
                .instanceCount(0)
                .instanceSizeSlug("string")
                .internalPorts(0)
                .logDestinations(AppSpecServiceLogDestinationArgs.builder()
                    .name("string")
                    .datadog(AppSpecServiceLogDestinationDatadogArgs.builder()
                        .apiKey("string")
                        .endpoint("string")
                        .build())
                    .logtail(AppSpecServiceLogDestinationLogtailArgs.builder()
                        .token("string")
                        .build())
                    .openSearch(AppSpecServiceLogDestinationOpenSearchArgs.builder()
                        .basicAuth(AppSpecServiceLogDestinationOpenSearchBasicAuthArgs.builder()
                            .password("string")
                            .user("string")
                            .build())
                        .clusterName("string")
                        .endpoint("string")
                        .indexName("string")
                        .build())
                    .papertrail(AppSpecServiceLogDestinationPapertrailArgs.builder()
                        .endpoint("string")
                        .build())
                    .build())
                .autoscaling(AppSpecServiceAutoscalingArgs.builder()
                    .maxInstanceCount(0)
                    .metrics(AppSpecServiceAutoscalingMetricsArgs.builder()
                        .cpu(AppSpecServiceAutoscalingMetricsCpuArgs.builder()
                            .percent(0)
                            .build())
                        .build())
                    .minInstanceCount(0)
                    .build())
                .alerts(AppSpecServiceAlertArgs.builder()
                    .operator("string")
                    .rule("string")
                    .value(0)
                    .window("string")
                    .disabled(false)
                    .build())
                .runCommand("string")
                .gitlab(AppSpecServiceGitlabArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .build())
            .staticSites(AppSpecStaticSiteArgs.builder()
                .name("string")
                .errorDocument("string")
                .github(AppSpecStaticSiteGithubArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .dockerfilePath("string")
                .environmentSlug("string")
                .envs(AppSpecStaticSiteEnvArgs.builder()
                    .key("string")
                    .scope("string")
                    .type("string")
                    .value("string")
                    .build())
                .buildCommand("string")
                .git(AppSpecStaticSiteGitArgs.builder()
                    .branch("string")
                    .repoCloneUrl("string")
                    .build())
                .gitlab(AppSpecStaticSiteGitlabArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .indexDocument("string")
                .catchallDocument("string")
                .outputDir("string")
                .sourceDir("string")
                .build())
            .workers(AppSpecWorkerArgs.builder()
                .name("string")
                .github(AppSpecWorkerGithubArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .image(AppSpecWorkerImageArgs.builder()
                    .registryType("string")
                    .repository("string")
                    .deployOnPushes(AppSpecWorkerImageDeployOnPushArgs.builder()
                        .enabled(false)
                        .build())
                    .registry("string")
                    .registryCredentials("string")
                    .tag("string")
                    .build())
                .environmentSlug("string")
                .envs(AppSpecWorkerEnvArgs.builder()
                    .key("string")
                    .scope("string")
                    .type("string")
                    .value("string")
                    .build())
                .git(AppSpecWorkerGitArgs.builder()
                    .branch("string")
                    .repoCloneUrl("string")
                    .build())
                .alerts(AppSpecWorkerAlertArgs.builder()
                    .operator("string")
                    .rule("string")
                    .value(0)
                    .window("string")
                    .disabled(false)
                    .build())
                .gitlab(AppSpecWorkerGitlabArgs.builder()
                    .branch("string")
                    .deployOnPush(false)
                    .repo("string")
                    .build())
                .dockerfilePath("string")
                .instanceCount(0)
                .instanceSizeSlug("string")
                .logDestinations(AppSpecWorkerLogDestinationArgs.builder()
                    .name("string")
                    .datadog(AppSpecWorkerLogDestinationDatadogArgs.builder()
                        .apiKey("string")
                        .endpoint("string")
                        .build())
                    .logtail(AppSpecWorkerLogDestinationLogtailArgs.builder()
                        .token("string")
                        .build())
                    .openSearch(AppSpecWorkerLogDestinationOpenSearchArgs.builder()
                        .basicAuth(AppSpecWorkerLogDestinationOpenSearchBasicAuthArgs.builder()
                            .password("string")
                            .user("string")
                            .build())
                        .clusterName("string")
                        .endpoint("string")
                        .indexName("string")
                        .build())
                    .papertrail(AppSpecWorkerLogDestinationPapertrailArgs.builder()
                        .endpoint("string")
                        .build())
                    .build())
                .buildCommand("string")
                .runCommand("string")
                .sourceDir("string")
                .build())
            .build())
        .build());
    
    app_resource = digitalocean.App("appResource",
        dedicated_ips=[{
            "id": "string",
            "ip": "string",
            "status": "string",
        }],
        project_id="string",
        spec={
            "name": "string",
            "features": ["string"],
            "ingress": {
                "rules": [{
                    "component": {
                        "name": "string",
                        "preserve_path_prefix": False,
                        "rewrite": "string",
                    },
                    "cors": {
                        "allow_credentials": False,
                        "allow_headers": ["string"],
                        "allow_methods": ["string"],
                        "allow_origins": {
                            "exact": "string",
                            "regex": "string",
                        },
                        "expose_headers": ["string"],
                        "max_age": "string",
                    },
                    "match": {
                        "path": {
                            "prefix": "string",
                        },
                    },
                    "redirect": {
                        "authority": "string",
                        "port": 0,
                        "redirect_code": 0,
                        "scheme": "string",
                        "uri": "string",
                    },
                }],
            },
            "egresses": [{
                "type": "string",
            }],
            "envs": [{
                "key": "string",
                "scope": "string",
                "type": "string",
                "value": "string",
            }],
            "alerts": [{
                "rule": "string",
                "disabled": False,
            }],
            "functions": [{
                "name": "string",
                "alerts": [{
                    "operator": "string",
                    "rule": "string",
                    "value": 0,
                    "window": "string",
                    "disabled": False,
                }],
                "envs": [{
                    "key": "string",
                    "scope": "string",
                    "type": "string",
                    "value": "string",
                }],
                "git": {
                    "branch": "string",
                    "repo_clone_url": "string",
                },
                "github": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "gitlab": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "log_destinations": [{
                    "name": "string",
                    "datadog": {
                        "api_key": "string",
                        "endpoint": "string",
                    },
                    "logtail": {
                        "token": "string",
                    },
                    "open_search": {
                        "basic_auth": {
                            "password": "string",
                            "user": "string",
                        },
                        "cluster_name": "string",
                        "endpoint": "string",
                        "index_name": "string",
                    },
                    "papertrail": {
                        "endpoint": "string",
                    },
                }],
                "source_dir": "string",
            }],
            "domain_names": [{
                "name": "string",
                "type": "string",
                "wildcard": False,
                "zone": "string",
            }],
            "jobs": [{
                "name": "string",
                "image": {
                    "registry_type": "string",
                    "repository": "string",
                    "deploy_on_pushes": [{
                        "enabled": False,
                    }],
                    "registry": "string",
                    "registry_credentials": "string",
                    "tag": "string",
                },
                "instance_count": 0,
                "environment_slug": "string",
                "envs": [{
                    "key": "string",
                    "scope": "string",
                    "type": "string",
                    "value": "string",
                }],
                "git": {
                    "branch": "string",
                    "repo_clone_url": "string",
                },
                "github": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "dockerfile_path": "string",
                "alerts": [{
                    "operator": "string",
                    "rule": "string",
                    "value": 0,
                    "window": "string",
                    "disabled": False,
                }],
                "gitlab": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "instance_size_slug": "string",
                "kind": "string",
                "log_destinations": [{
                    "name": "string",
                    "datadog": {
                        "api_key": "string",
                        "endpoint": "string",
                    },
                    "logtail": {
                        "token": "string",
                    },
                    "open_search": {
                        "basic_auth": {
                            "password": "string",
                            "user": "string",
                        },
                        "cluster_name": "string",
                        "endpoint": "string",
                        "index_name": "string",
                    },
                    "papertrail": {
                        "endpoint": "string",
                    },
                }],
                "build_command": "string",
                "run_command": "string",
                "source_dir": "string",
            }],
            "databases": [{
                "cluster_name": "string",
                "db_name": "string",
                "db_user": "string",
                "engine": "string",
                "name": "string",
                "production": False,
                "version": "string",
            }],
            "region": "string",
            "services": [{
                "name": "string",
                "health_check": {
                    "failure_threshold": 0,
                    "http_path": "string",
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "port": 0,
                    "success_threshold": 0,
                    "timeout_seconds": 0,
                },
                "dockerfile_path": "string",
                "environment_slug": "string",
                "envs": [{
                    "key": "string",
                    "scope": "string",
                    "type": "string",
                    "value": "string",
                }],
                "git": {
                    "branch": "string",
                    "repo_clone_url": "string",
                },
                "http_port": 0,
                "source_dir": "string",
                "build_command": "string",
                "github": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "image": {
                    "registry_type": "string",
                    "repository": "string",
                    "deploy_on_pushes": [{
                        "enabled": False,
                    }],
                    "registry": "string",
                    "registry_credentials": "string",
                    "tag": "string",
                },
                "instance_count": 0,
                "instance_size_slug": "string",
                "internal_ports": [0],
                "log_destinations": [{
                    "name": "string",
                    "datadog": {
                        "api_key": "string",
                        "endpoint": "string",
                    },
                    "logtail": {
                        "token": "string",
                    },
                    "open_search": {
                        "basic_auth": {
                            "password": "string",
                            "user": "string",
                        },
                        "cluster_name": "string",
                        "endpoint": "string",
                        "index_name": "string",
                    },
                    "papertrail": {
                        "endpoint": "string",
                    },
                }],
                "autoscaling": {
                    "max_instance_count": 0,
                    "metrics": {
                        "cpu": {
                            "percent": 0,
                        },
                    },
                    "min_instance_count": 0,
                },
                "alerts": [{
                    "operator": "string",
                    "rule": "string",
                    "value": 0,
                    "window": "string",
                    "disabled": False,
                }],
                "run_command": "string",
                "gitlab": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
            }],
            "static_sites": [{
                "name": "string",
                "error_document": "string",
                "github": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "dockerfile_path": "string",
                "environment_slug": "string",
                "envs": [{
                    "key": "string",
                    "scope": "string",
                    "type": "string",
                    "value": "string",
                }],
                "build_command": "string",
                "git": {
                    "branch": "string",
                    "repo_clone_url": "string",
                },
                "gitlab": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "index_document": "string",
                "catchall_document": "string",
                "output_dir": "string",
                "source_dir": "string",
            }],
            "workers": [{
                "name": "string",
                "github": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "image": {
                    "registry_type": "string",
                    "repository": "string",
                    "deploy_on_pushes": [{
                        "enabled": False,
                    }],
                    "registry": "string",
                    "registry_credentials": "string",
                    "tag": "string",
                },
                "environment_slug": "string",
                "envs": [{
                    "key": "string",
                    "scope": "string",
                    "type": "string",
                    "value": "string",
                }],
                "git": {
                    "branch": "string",
                    "repo_clone_url": "string",
                },
                "alerts": [{
                    "operator": "string",
                    "rule": "string",
                    "value": 0,
                    "window": "string",
                    "disabled": False,
                }],
                "gitlab": {
                    "branch": "string",
                    "deploy_on_push": False,
                    "repo": "string",
                },
                "dockerfile_path": "string",
                "instance_count": 0,
                "instance_size_slug": "string",
                "log_destinations": [{
                    "name": "string",
                    "datadog": {
                        "api_key": "string",
                        "endpoint": "string",
                    },
                    "logtail": {
                        "token": "string",
                    },
                    "open_search": {
                        "basic_auth": {
                            "password": "string",
                            "user": "string",
                        },
                        "cluster_name": "string",
                        "endpoint": "string",
                        "index_name": "string",
                    },
                    "papertrail": {
                        "endpoint": "string",
                    },
                }],
                "build_command": "string",
                "run_command": "string",
                "source_dir": "string",
            }],
        })
    
    const appResource = new digitalocean.App("appResource", {
        dedicatedIps: [{
            id: "string",
            ip: "string",
            status: "string",
        }],
        projectId: "string",
        spec: {
            name: "string",
            features: ["string"],
            ingress: {
                rules: [{
                    component: {
                        name: "string",
                        preservePathPrefix: false,
                        rewrite: "string",
                    },
                    cors: {
                        allowCredentials: false,
                        allowHeaders: ["string"],
                        allowMethods: ["string"],
                        allowOrigins: {
                            exact: "string",
                            regex: "string",
                        },
                        exposeHeaders: ["string"],
                        maxAge: "string",
                    },
                    match: {
                        path: {
                            prefix: "string",
                        },
                    },
                    redirect: {
                        authority: "string",
                        port: 0,
                        redirectCode: 0,
                        scheme: "string",
                        uri: "string",
                    },
                }],
            },
            egresses: [{
                type: "string",
            }],
            envs: [{
                key: "string",
                scope: "string",
                type: "string",
                value: "string",
            }],
            alerts: [{
                rule: "string",
                disabled: false,
            }],
            functions: [{
                name: "string",
                alerts: [{
                    operator: "string",
                    rule: "string",
                    value: 0,
                    window: "string",
                    disabled: false,
                }],
                envs: [{
                    key: "string",
                    scope: "string",
                    type: "string",
                    value: "string",
                }],
                git: {
                    branch: "string",
                    repoCloneUrl: "string",
                },
                github: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                gitlab: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                logDestinations: [{
                    name: "string",
                    datadog: {
                        apiKey: "string",
                        endpoint: "string",
                    },
                    logtail: {
                        token: "string",
                    },
                    openSearch: {
                        basicAuth: {
                            password: "string",
                            user: "string",
                        },
                        clusterName: "string",
                        endpoint: "string",
                        indexName: "string",
                    },
                    papertrail: {
                        endpoint: "string",
                    },
                }],
                sourceDir: "string",
            }],
            domainNames: [{
                name: "string",
                type: "string",
                wildcard: false,
                zone: "string",
            }],
            jobs: [{
                name: "string",
                image: {
                    registryType: "string",
                    repository: "string",
                    deployOnPushes: [{
                        enabled: false,
                    }],
                    registry: "string",
                    registryCredentials: "string",
                    tag: "string",
                },
                instanceCount: 0,
                environmentSlug: "string",
                envs: [{
                    key: "string",
                    scope: "string",
                    type: "string",
                    value: "string",
                }],
                git: {
                    branch: "string",
                    repoCloneUrl: "string",
                },
                github: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                dockerfilePath: "string",
                alerts: [{
                    operator: "string",
                    rule: "string",
                    value: 0,
                    window: "string",
                    disabled: false,
                }],
                gitlab: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                instanceSizeSlug: "string",
                kind: "string",
                logDestinations: [{
                    name: "string",
                    datadog: {
                        apiKey: "string",
                        endpoint: "string",
                    },
                    logtail: {
                        token: "string",
                    },
                    openSearch: {
                        basicAuth: {
                            password: "string",
                            user: "string",
                        },
                        clusterName: "string",
                        endpoint: "string",
                        indexName: "string",
                    },
                    papertrail: {
                        endpoint: "string",
                    },
                }],
                buildCommand: "string",
                runCommand: "string",
                sourceDir: "string",
            }],
            databases: [{
                clusterName: "string",
                dbName: "string",
                dbUser: "string",
                engine: "string",
                name: "string",
                production: false,
                version: "string",
            }],
            region: "string",
            services: [{
                name: "string",
                healthCheck: {
                    failureThreshold: 0,
                    httpPath: "string",
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    port: 0,
                    successThreshold: 0,
                    timeoutSeconds: 0,
                },
                dockerfilePath: "string",
                environmentSlug: "string",
                envs: [{
                    key: "string",
                    scope: "string",
                    type: "string",
                    value: "string",
                }],
                git: {
                    branch: "string",
                    repoCloneUrl: "string",
                },
                httpPort: 0,
                sourceDir: "string",
                buildCommand: "string",
                github: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                image: {
                    registryType: "string",
                    repository: "string",
                    deployOnPushes: [{
                        enabled: false,
                    }],
                    registry: "string",
                    registryCredentials: "string",
                    tag: "string",
                },
                instanceCount: 0,
                instanceSizeSlug: "string",
                internalPorts: [0],
                logDestinations: [{
                    name: "string",
                    datadog: {
                        apiKey: "string",
                        endpoint: "string",
                    },
                    logtail: {
                        token: "string",
                    },
                    openSearch: {
                        basicAuth: {
                            password: "string",
                            user: "string",
                        },
                        clusterName: "string",
                        endpoint: "string",
                        indexName: "string",
                    },
                    papertrail: {
                        endpoint: "string",
                    },
                }],
                autoscaling: {
                    maxInstanceCount: 0,
                    metrics: {
                        cpu: {
                            percent: 0,
                        },
                    },
                    minInstanceCount: 0,
                },
                alerts: [{
                    operator: "string",
                    rule: "string",
                    value: 0,
                    window: "string",
                    disabled: false,
                }],
                runCommand: "string",
                gitlab: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
            }],
            staticSites: [{
                name: "string",
                errorDocument: "string",
                github: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                dockerfilePath: "string",
                environmentSlug: "string",
                envs: [{
                    key: "string",
                    scope: "string",
                    type: "string",
                    value: "string",
                }],
                buildCommand: "string",
                git: {
                    branch: "string",
                    repoCloneUrl: "string",
                },
                gitlab: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                indexDocument: "string",
                catchallDocument: "string",
                outputDir: "string",
                sourceDir: "string",
            }],
            workers: [{
                name: "string",
                github: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                image: {
                    registryType: "string",
                    repository: "string",
                    deployOnPushes: [{
                        enabled: false,
                    }],
                    registry: "string",
                    registryCredentials: "string",
                    tag: "string",
                },
                environmentSlug: "string",
                envs: [{
                    key: "string",
                    scope: "string",
                    type: "string",
                    value: "string",
                }],
                git: {
                    branch: "string",
                    repoCloneUrl: "string",
                },
                alerts: [{
                    operator: "string",
                    rule: "string",
                    value: 0,
                    window: "string",
                    disabled: false,
                }],
                gitlab: {
                    branch: "string",
                    deployOnPush: false,
                    repo: "string",
                },
                dockerfilePath: "string",
                instanceCount: 0,
                instanceSizeSlug: "string",
                logDestinations: [{
                    name: "string",
                    datadog: {
                        apiKey: "string",
                        endpoint: "string",
                    },
                    logtail: {
                        token: "string",
                    },
                    openSearch: {
                        basicAuth: {
                            password: "string",
                            user: "string",
                        },
                        clusterName: "string",
                        endpoint: "string",
                        indexName: "string",
                    },
                    papertrail: {
                        endpoint: "string",
                    },
                }],
                buildCommand: "string",
                runCommand: "string",
                sourceDir: "string",
            }],
        },
    });
    
    type: digitalocean:App
    properties:
        dedicatedIps:
            - id: string
              ip: string
              status: string
        projectId: string
        spec:
            alerts:
                - disabled: false
                  rule: string
            databases:
                - clusterName: string
                  dbName: string
                  dbUser: string
                  engine: string
                  name: string
                  production: false
                  version: string
            domainNames:
                - name: string
                  type: string
                  wildcard: false
                  zone: string
            egresses:
                - type: string
            envs:
                - key: string
                  scope: string
                  type: string
                  value: string
            features:
                - string
            functions:
                - alerts:
                    - disabled: false
                      operator: string
                      rule: string
                      value: 0
                      window: string
                  envs:
                    - key: string
                      scope: string
                      type: string
                      value: string
                  git:
                    branch: string
                    repoCloneUrl: string
                  github:
                    branch: string
                    deployOnPush: false
                    repo: string
                  gitlab:
                    branch: string
                    deployOnPush: false
                    repo: string
                  logDestinations:
                    - datadog:
                        apiKey: string
                        endpoint: string
                      logtail:
                        token: string
                      name: string
                      openSearch:
                        basicAuth:
                            password: string
                            user: string
                        clusterName: string
                        endpoint: string
                        indexName: string
                      papertrail:
                        endpoint: string
                  name: string
                  sourceDir: string
            ingress:
                rules:
                    - component:
                        name: string
                        preservePathPrefix: false
                        rewrite: string
                      cors:
                        allowCredentials: false
                        allowHeaders:
                            - string
                        allowMethods:
                            - string
                        allowOrigins:
                            exact: string
                            regex: string
                        exposeHeaders:
                            - string
                        maxAge: string
                      match:
                        path:
                            prefix: string
                      redirect:
                        authority: string
                        port: 0
                        redirectCode: 0
                        scheme: string
                        uri: string
            jobs:
                - alerts:
                    - disabled: false
                      operator: string
                      rule: string
                      value: 0
                      window: string
                  buildCommand: string
                  dockerfilePath: string
                  environmentSlug: string
                  envs:
                    - key: string
                      scope: string
                      type: string
                      value: string
                  git:
                    branch: string
                    repoCloneUrl: string
                  github:
                    branch: string
                    deployOnPush: false
                    repo: string
                  gitlab:
                    branch: string
                    deployOnPush: false
                    repo: string
                  image:
                    deployOnPushes:
                        - enabled: false
                    registry: string
                    registryCredentials: string
                    registryType: string
                    repository: string
                    tag: string
                  instanceCount: 0
                  instanceSizeSlug: string
                  kind: string
                  logDestinations:
                    - datadog:
                        apiKey: string
                        endpoint: string
                      logtail:
                        token: string
                      name: string
                      openSearch:
                        basicAuth:
                            password: string
                            user: string
                        clusterName: string
                        endpoint: string
                        indexName: string
                      papertrail:
                        endpoint: string
                  name: string
                  runCommand: string
                  sourceDir: string
            name: string
            region: string
            services:
                - alerts:
                    - disabled: false
                      operator: string
                      rule: string
                      value: 0
                      window: string
                  autoscaling:
                    maxInstanceCount: 0
                    metrics:
                        cpu:
                            percent: 0
                    minInstanceCount: 0
                  buildCommand: string
                  dockerfilePath: string
                  environmentSlug: string
                  envs:
                    - key: string
                      scope: string
                      type: string
                      value: string
                  git:
                    branch: string
                    repoCloneUrl: string
                  github:
                    branch: string
                    deployOnPush: false
                    repo: string
                  gitlab:
                    branch: string
                    deployOnPush: false
                    repo: string
                  healthCheck:
                    failureThreshold: 0
                    httpPath: string
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    port: 0
                    successThreshold: 0
                    timeoutSeconds: 0
                  httpPort: 0
                  image:
                    deployOnPushes:
                        - enabled: false
                    registry: string
                    registryCredentials: string
                    registryType: string
                    repository: string
                    tag: string
                  instanceCount: 0
                  instanceSizeSlug: string
                  internalPorts:
                    - 0
                  logDestinations:
                    - datadog:
                        apiKey: string
                        endpoint: string
                      logtail:
                        token: string
                      name: string
                      openSearch:
                        basicAuth:
                            password: string
                            user: string
                        clusterName: string
                        endpoint: string
                        indexName: string
                      papertrail:
                        endpoint: string
                  name: string
                  runCommand: string
                  sourceDir: string
            staticSites:
                - buildCommand: string
                  catchallDocument: string
                  dockerfilePath: string
                  environmentSlug: string
                  envs:
                    - key: string
                      scope: string
                      type: string
                      value: string
                  errorDocument: string
                  git:
                    branch: string
                    repoCloneUrl: string
                  github:
                    branch: string
                    deployOnPush: false
                    repo: string
                  gitlab:
                    branch: string
                    deployOnPush: false
                    repo: string
                  indexDocument: string
                  name: string
                  outputDir: string
                  sourceDir: string
            workers:
                - alerts:
                    - disabled: false
                      operator: string
                      rule: string
                      value: 0
                      window: string
                  buildCommand: string
                  dockerfilePath: string
                  environmentSlug: string
                  envs:
                    - key: string
                      scope: string
                      type: string
                      value: string
                  git:
                    branch: string
                    repoCloneUrl: string
                  github:
                    branch: string
                    deployOnPush: false
                    repo: string
                  gitlab:
                    branch: string
                    deployOnPush: false
                    repo: string
                  image:
                    deployOnPushes:
                        - enabled: false
                    registry: string
                    registryCredentials: string
                    registryType: string
                    repository: string
                    tag: string
                  instanceCount: 0
                  instanceSizeSlug: string
                  logDestinations:
                    - datadog:
                        apiKey: string
                        endpoint: string
                      logtail:
                        token: string
                      name: string
                      openSearch:
                        basicAuth:
                            password: string
                            user: string
                        clusterName: string
                        endpoint: string
                        indexName: string
                      papertrail:
                        endpoint: string
                  name: string
                  runCommand: string
                  sourceDir: string
    

    App Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The App resource accepts the following input properties:

    DedicatedIps List<Pulumi.DigitalOcean.Inputs.AppDedicatedIp>
    The dedicated egress IP addresses associated with the app.
    ProjectId string

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    Spec Pulumi.DigitalOcean.Inputs.AppSpec
    A DigitalOcean App spec describing the app.
    DedicatedIps []AppDedicatedIpArgs
    The dedicated egress IP addresses associated with the app.
    ProjectId string

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    Spec AppSpecArgs
    A DigitalOcean App spec describing the app.
    dedicatedIps List<AppDedicatedIp>
    The dedicated egress IP addresses associated with the app.
    projectId String

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    spec AppSpec
    A DigitalOcean App spec describing the app.
    dedicatedIps AppDedicatedIp[]
    The dedicated egress IP addresses associated with the app.
    projectId string

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    spec AppSpec
    A DigitalOcean App spec describing the app.
    dedicated_ips Sequence[AppDedicatedIpArgs]
    The dedicated egress IP addresses associated with the app.
    project_id str

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    spec AppSpecArgs
    A DigitalOcean App spec describing the app.
    dedicatedIps List<Property Map>
    The dedicated egress IP addresses associated with the app.
    projectId String

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    spec Property Map
    A DigitalOcean App spec describing the app.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the App resource produces the following output properties:

    ActiveDeploymentId string
    The ID the app's currently active deployment.
    AppUrn string
    The uniform resource identifier for the app.
    CreatedAt string
    The date and time of when the app was created.
    DefaultIngress string
    The default URL to access the app.
    Id string
    The provider-assigned unique ID for this managed resource.
    LiveDomain string
    The live domain of the app.
    LiveUrl string
    The live URL of the app.
    UpdatedAt string
    The date and time of when the app was last updated.
    ActiveDeploymentId string
    The ID the app's currently active deployment.
    AppUrn string
    The uniform resource identifier for the app.
    CreatedAt string
    The date and time of when the app was created.
    DefaultIngress string
    The default URL to access the app.
    Id string
    The provider-assigned unique ID for this managed resource.
    LiveDomain string
    The live domain of the app.
    LiveUrl string
    The live URL of the app.
    UpdatedAt string
    The date and time of when the app was last updated.
    activeDeploymentId String
    The ID the app's currently active deployment.
    appUrn String
    The uniform resource identifier for the app.
    createdAt String
    The date and time of when the app was created.
    defaultIngress String
    The default URL to access the app.
    id String
    The provider-assigned unique ID for this managed resource.
    liveDomain String
    The live domain of the app.
    liveUrl String
    The live URL of the app.
    updatedAt String
    The date and time of when the app was last updated.
    activeDeploymentId string
    The ID the app's currently active deployment.
    appUrn string
    The uniform resource identifier for the app.
    createdAt string
    The date and time of when the app was created.
    defaultIngress string
    The default URL to access the app.
    id string
    The provider-assigned unique ID for this managed resource.
    liveDomain string
    The live domain of the app.
    liveUrl string
    The live URL of the app.
    updatedAt string
    The date and time of when the app was last updated.
    active_deployment_id str
    The ID the app's currently active deployment.
    app_urn str
    The uniform resource identifier for the app.
    created_at str
    The date and time of when the app was created.
    default_ingress str
    The default URL to access the app.
    id str
    The provider-assigned unique ID for this managed resource.
    live_domain str
    The live domain of the app.
    live_url str
    The live URL of the app.
    updated_at str
    The date and time of when the app was last updated.
    activeDeploymentId String
    The ID the app's currently active deployment.
    appUrn String
    The uniform resource identifier for the app.
    createdAt String
    The date and time of when the app was created.
    defaultIngress String
    The default URL to access the app.
    id String
    The provider-assigned unique ID for this managed resource.
    liveDomain String
    The live domain of the app.
    liveUrl String
    The live URL of the app.
    updatedAt String
    The date and time of when the app was last updated.

    Look up Existing App Resource

    Get an existing App resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AppState, opts?: CustomResourceOptions): App
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            active_deployment_id: Optional[str] = None,
            app_urn: Optional[str] = None,
            created_at: Optional[str] = None,
            dedicated_ips: Optional[Sequence[AppDedicatedIpArgs]] = None,
            default_ingress: Optional[str] = None,
            live_domain: Optional[str] = None,
            live_url: Optional[str] = None,
            project_id: Optional[str] = None,
            spec: Optional[AppSpecArgs] = None,
            updated_at: Optional[str] = None) -> App
    func GetApp(ctx *Context, name string, id IDInput, state *AppState, opts ...ResourceOption) (*App, error)
    public static App Get(string name, Input<string> id, AppState? state, CustomResourceOptions? opts = null)
    public static App get(String name, Output<String> id, AppState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ActiveDeploymentId string
    The ID the app's currently active deployment.
    AppUrn string
    The uniform resource identifier for the app.
    CreatedAt string
    The date and time of when the app was created.
    DedicatedIps List<Pulumi.DigitalOcean.Inputs.AppDedicatedIp>
    The dedicated egress IP addresses associated with the app.
    DefaultIngress string
    The default URL to access the app.
    LiveDomain string
    The live domain of the app.
    LiveUrl string
    The live URL of the app.
    ProjectId string

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    Spec Pulumi.DigitalOcean.Inputs.AppSpec
    A DigitalOcean App spec describing the app.
    UpdatedAt string
    The date and time of when the app was last updated.
    ActiveDeploymentId string
    The ID the app's currently active deployment.
    AppUrn string
    The uniform resource identifier for the app.
    CreatedAt string
    The date and time of when the app was created.
    DedicatedIps []AppDedicatedIpArgs
    The dedicated egress IP addresses associated with the app.
    DefaultIngress string
    The default URL to access the app.
    LiveDomain string
    The live domain of the app.
    LiveUrl string
    The live URL of the app.
    ProjectId string

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    Spec AppSpecArgs
    A DigitalOcean App spec describing the app.
    UpdatedAt string
    The date and time of when the app was last updated.
    activeDeploymentId String
    The ID the app's currently active deployment.
    appUrn String
    The uniform resource identifier for the app.
    createdAt String
    The date and time of when the app was created.
    dedicatedIps List<AppDedicatedIp>
    The dedicated egress IP addresses associated with the app.
    defaultIngress String
    The default URL to access the app.
    liveDomain String
    The live domain of the app.
    liveUrl String
    The live URL of the app.
    projectId String

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    spec AppSpec
    A DigitalOcean App spec describing the app.
    updatedAt String
    The date and time of when the app was last updated.
    activeDeploymentId string
    The ID the app's currently active deployment.
    appUrn string
    The uniform resource identifier for the app.
    createdAt string
    The date and time of when the app was created.
    dedicatedIps AppDedicatedIp[]
    The dedicated egress IP addresses associated with the app.
    defaultIngress string
    The default URL to access the app.
    liveDomain string
    The live domain of the app.
    liveUrl string
    The live URL of the app.
    projectId string

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    spec AppSpec
    A DigitalOcean App spec describing the app.
    updatedAt string
    The date and time of when the app was last updated.
    active_deployment_id str
    The ID the app's currently active deployment.
    app_urn str
    The uniform resource identifier for the app.
    created_at str
    The date and time of when the app was created.
    dedicated_ips Sequence[AppDedicatedIpArgs]
    The dedicated egress IP addresses associated with the app.
    default_ingress str
    The default URL to access the app.
    live_domain str
    The live domain of the app.
    live_url str
    The live URL of the app.
    project_id str

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    spec AppSpecArgs
    A DigitalOcean App spec describing the app.
    updated_at str
    The date and time of when the app was last updated.
    activeDeploymentId String
    The ID the app's currently active deployment.
    appUrn String
    The uniform resource identifier for the app.
    createdAt String
    The date and time of when the app was created.
    dedicatedIps List<Property Map>
    The dedicated egress IP addresses associated with the app.
    defaultIngress String
    The default URL to access the app.
    liveDomain String
    The live domain of the app.
    liveUrl String
    The live URL of the app.
    projectId String

    The ID of the project that the app is assigned to.

    A spec can contain multiple components.

    A service can contain:

    spec Property Map
    A DigitalOcean App spec describing the app.
    updatedAt String
    The date and time of when the app was last updated.

    Supporting Types

    AppDedicatedIp, AppDedicatedIpArgs

    Id string
    The ID of the app.
    Ip string
    The IP address of the dedicated egress IP.
    Status string
    The status of the dedicated egress IP: 'UNKNOWN', 'ASSIGNING', 'ASSIGNED', or 'REMOVED'
    Id string
    The ID of the app.
    Ip string
    The IP address of the dedicated egress IP.
    Status string
    The status of the dedicated egress IP: 'UNKNOWN', 'ASSIGNING', 'ASSIGNED', or 'REMOVED'
    id String
    The ID of the app.
    ip String
    The IP address of the dedicated egress IP.
    status String
    The status of the dedicated egress IP: 'UNKNOWN', 'ASSIGNING', 'ASSIGNED', or 'REMOVED'
    id string
    The ID of the app.
    ip string
    The IP address of the dedicated egress IP.
    status string
    The status of the dedicated egress IP: 'UNKNOWN', 'ASSIGNING', 'ASSIGNED', or 'REMOVED'
    id str
    The ID of the app.
    ip str
    The IP address of the dedicated egress IP.
    status str
    The status of the dedicated egress IP: 'UNKNOWN', 'ASSIGNING', 'ASSIGNED', or 'REMOVED'
    id String
    The ID of the app.
    ip String
    The IP address of the dedicated egress IP.
    status String
    The status of the dedicated egress IP: 'UNKNOWN', 'ASSIGNING', 'ASSIGNED', or 'REMOVED'

    AppSpec, AppSpecArgs

    Name string
    The name of the component.
    Alerts List<Pulumi.DigitalOcean.Inputs.AppSpecAlert>
    Describes an alert policy for the component.
    Databases List<Pulumi.DigitalOcean.Inputs.AppSpecDatabase>
    DomainNames List<Pulumi.DigitalOcean.Inputs.AppSpecDomainName>
    Describes a domain where the application will be made available.
    Domains List<string>

    Deprecated: This attribute has been replaced by domain which supports additional functionality.

    Egresses List<Pulumi.DigitalOcean.Inputs.AppSpecEgress>
    Specification for app egress configurations.
    Envs List<Pulumi.DigitalOcean.Inputs.AppSpecEnv>
    Describes an environment variable made available to an app competent.
    Features List<string>
    A list of the features applied to the app. The default buildpack can be overridden here. List of available buildpacks can be found using the doctl CLI
    Functions List<Pulumi.DigitalOcean.Inputs.AppSpecFunction>
    Ingress Pulumi.DigitalOcean.Inputs.AppSpecIngress
    Specification for component routing, rewrites, and redirects.
    Jobs List<Pulumi.DigitalOcean.Inputs.AppSpecJob>
    Region string
    The slug for the DigitalOcean data center region hosting the app.
    Services List<Pulumi.DigitalOcean.Inputs.AppSpecService>
    StaticSites List<Pulumi.DigitalOcean.Inputs.AppSpecStaticSite>
    Workers List<Pulumi.DigitalOcean.Inputs.AppSpecWorker>
    Name string
    The name of the component.
    Alerts []AppSpecAlert
    Describes an alert policy for the component.
    Databases []AppSpecDatabase
    DomainNames []AppSpecDomainName
    Describes a domain where the application will be made available.
    Domains []string

    Deprecated: This attribute has been replaced by domain which supports additional functionality.

    Egresses []AppSpecEgress
    Specification for app egress configurations.
    Envs []AppSpecEnv
    Describes an environment variable made available to an app competent.
    Features []string
    A list of the features applied to the app. The default buildpack can be overridden here. List of available buildpacks can be found using the doctl CLI
    Functions []AppSpecFunction
    Ingress AppSpecIngress
    Specification for component routing, rewrites, and redirects.
    Jobs []AppSpecJob
    Region string
    The slug for the DigitalOcean data center region hosting the app.
    Services []AppSpecService
    StaticSites []AppSpecStaticSite
    Workers []AppSpecWorker
    name String
    The name of the component.
    alerts List<AppSpecAlert>
    Describes an alert policy for the component.
    databases List<AppSpecDatabase>
    domainNames List<AppSpecDomainName>
    Describes a domain where the application will be made available.
    domains List<String>

    Deprecated: This attribute has been replaced by domain which supports additional functionality.

    egresses List<AppSpecEgress>
    Specification for app egress configurations.
    envs List<AppSpecEnv>
    Describes an environment variable made available to an app competent.
    features List<String>
    A list of the features applied to the app. The default buildpack can be overridden here. List of available buildpacks can be found using the doctl CLI
    functions List<AppSpecFunction>
    ingress AppSpecIngress
    Specification for component routing, rewrites, and redirects.
    jobs List<AppSpecJob>
    region String
    The slug for the DigitalOcean data center region hosting the app.
    services List<AppSpecService>
    staticSites List<AppSpecStaticSite>
    workers List<AppSpecWorker>
    name string
    The name of the component.
    alerts AppSpecAlert[]
    Describes an alert policy for the component.
    databases AppSpecDatabase[]
    domainNames AppSpecDomainName[]
    Describes a domain where the application will be made available.
    domains string[]

    Deprecated: This attribute has been replaced by domain which supports additional functionality.

    egresses AppSpecEgress[]
    Specification for app egress configurations.
    envs AppSpecEnv[]
    Describes an environment variable made available to an app competent.
    features string[]
    A list of the features applied to the app. The default buildpack can be overridden here. List of available buildpacks can be found using the doctl CLI
    functions AppSpecFunction[]
    ingress AppSpecIngress
    Specification for component routing, rewrites, and redirects.
    jobs AppSpecJob[]
    region string
    The slug for the DigitalOcean data center region hosting the app.
    services AppSpecService[]
    staticSites AppSpecStaticSite[]
    workers AppSpecWorker[]
    name str
    The name of the component.
    alerts Sequence[AppSpecAlert]
    Describes an alert policy for the component.
    databases Sequence[AppSpecDatabase]
    domain_names Sequence[AppSpecDomainName]
    Describes a domain where the application will be made available.
    domains Sequence[str]

    Deprecated: This attribute has been replaced by domain which supports additional functionality.

    egresses Sequence[AppSpecEgress]
    Specification for app egress configurations.
    envs Sequence[AppSpecEnv]
    Describes an environment variable made available to an app competent.
    features Sequence[str]
    A list of the features applied to the app. The default buildpack can be overridden here. List of available buildpacks can be found using the doctl CLI
    functions Sequence[AppSpecFunction]
    ingress AppSpecIngress
    Specification for component routing, rewrites, and redirects.
    jobs Sequence[AppSpecJob]
    region str
    The slug for the DigitalOcean data center region hosting the app.
    services Sequence[AppSpecService]
    static_sites Sequence[AppSpecStaticSite]
    workers Sequence[AppSpecWorker]
    name String
    The name of the component.
    alerts List<Property Map>
    Describes an alert policy for the component.
    databases List<Property Map>
    domainNames List<Property Map>
    Describes a domain where the application will be made available.
    domains List<String>

    Deprecated: This attribute has been replaced by domain which supports additional functionality.

    egresses List<Property Map>
    Specification for app egress configurations.
    envs List<Property Map>
    Describes an environment variable made available to an app competent.
    features List<String>
    A list of the features applied to the app. The default buildpack can be overridden here. List of available buildpacks can be found using the doctl CLI
    functions List<Property Map>
    ingress Property Map
    Specification for component routing, rewrites, and redirects.
    jobs List<Property Map>
    region String
    The slug for the DigitalOcean data center region hosting the app.
    services List<Property Map>
    staticSites List<Property Map>
    workers List<Property Map>

    AppSpecAlert, AppSpecAlertArgs

    Rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    Disabled bool
    Determines whether or not the alert is disabled (default: false).
    Rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    Disabled bool
    Determines whether or not the alert is disabled (default: false).
    rule String
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    disabled Boolean
    Determines whether or not the alert is disabled (default: false).
    rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    disabled boolean
    Determines whether or not the alert is disabled (default: false).
    rule str
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    disabled bool
    Determines whether or not the alert is disabled (default: false).
    rule String
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    disabled Boolean
    Determines whether or not the alert is disabled (default: false).

    AppSpecDatabase, AppSpecDatabaseArgs

    ClusterName string
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    DbName string
    The name of the MySQL or PostgreSQL database to configure.
    DbUser string

    The name of the MySQL or PostgreSQL user to configure.

    This resource supports customized create timeouts. The default timeout is 30 minutes.

    Engine string
    The database engine to use (MYSQL, PG, REDIS, MONGODB, KAFKA, or OPENSEARCH).
    Name string
    The name of the component.
    Production bool
    Whether this is a production or dev database.
    Version string
    The version of the database engine.
    ClusterName string
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    DbName string
    The name of the MySQL or PostgreSQL database to configure.
    DbUser string

    The name of the MySQL or PostgreSQL user to configure.

    This resource supports customized create timeouts. The default timeout is 30 minutes.

    Engine string
    The database engine to use (MYSQL, PG, REDIS, MONGODB, KAFKA, or OPENSEARCH).
    Name string
    The name of the component.
    Production bool
    Whether this is a production or dev database.
    Version string
    The version of the database engine.
    clusterName String
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    dbName String
    The name of the MySQL or PostgreSQL database to configure.
    dbUser String

    The name of the MySQL or PostgreSQL user to configure.

    This resource supports customized create timeouts. The default timeout is 30 minutes.

    engine String
    The database engine to use (MYSQL, PG, REDIS, MONGODB, KAFKA, or OPENSEARCH).
    name String
    The name of the component.
    production Boolean
    Whether this is a production or dev database.
    version String
    The version of the database engine.
    clusterName string
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    dbName string
    The name of the MySQL or PostgreSQL database to configure.
    dbUser string

    The name of the MySQL or PostgreSQL user to configure.

    This resource supports customized create timeouts. The default timeout is 30 minutes.

    engine string
    The database engine to use (MYSQL, PG, REDIS, MONGODB, KAFKA, or OPENSEARCH).
    name string
    The name of the component.
    production boolean
    Whether this is a production or dev database.
    version string
    The version of the database engine.
    cluster_name str
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    db_name str
    The name of the MySQL or PostgreSQL database to configure.
    db_user str

    The name of the MySQL or PostgreSQL user to configure.

    This resource supports customized create timeouts. The default timeout is 30 minutes.

    engine str
    The database engine to use (MYSQL, PG, REDIS, MONGODB, KAFKA, or OPENSEARCH).
    name str
    The name of the component.
    production bool
    Whether this is a production or dev database.
    version str
    The version of the database engine.
    clusterName String
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    dbName String
    The name of the MySQL or PostgreSQL database to configure.
    dbUser String

    The name of the MySQL or PostgreSQL user to configure.

    This resource supports customized create timeouts. The default timeout is 30 minutes.

    engine String
    The database engine to use (MYSQL, PG, REDIS, MONGODB, KAFKA, or OPENSEARCH).
    name String
    The name of the component.
    production Boolean
    Whether this is a production or dev database.
    version String
    The version of the database engine.

    AppSpecDomainName, AppSpecDomainNameArgs

    Name string
    The hostname for the domain.
    Type string
    The domain type, which can be one of the following:

    • DEFAULT: The default .ondigitalocean.app domain assigned to this app.
    • PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.
    • ALIAS: A non-primary domain.
    Wildcard bool
    A boolean indicating whether the domain includes all sub-domains, in addition to the given domain.
    Zone string
    If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account.
    Name string
    The hostname for the domain.
    Type string
    The domain type, which can be one of the following:

    • DEFAULT: The default .ondigitalocean.app domain assigned to this app.
    • PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.
    • ALIAS: A non-primary domain.
    Wildcard bool
    A boolean indicating whether the domain includes all sub-domains, in addition to the given domain.
    Zone string
    If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account.
    name String
    The hostname for the domain.
    type String
    The domain type, which can be one of the following:

    • DEFAULT: The default .ondigitalocean.app domain assigned to this app.
    • PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.
    • ALIAS: A non-primary domain.
    wildcard Boolean
    A boolean indicating whether the domain includes all sub-domains, in addition to the given domain.
    zone String
    If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account.
    name string
    The hostname for the domain.
    type string
    The domain type, which can be one of the following:

    • DEFAULT: The default .ondigitalocean.app domain assigned to this app.
    • PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.
    • ALIAS: A non-primary domain.
    wildcard boolean
    A boolean indicating whether the domain includes all sub-domains, in addition to the given domain.
    zone string
    If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account.
    name str
    The hostname for the domain.
    type str
    The domain type, which can be one of the following:

    • DEFAULT: The default .ondigitalocean.app domain assigned to this app.
    • PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.
    • ALIAS: A non-primary domain.
    wildcard bool
    A boolean indicating whether the domain includes all sub-domains, in addition to the given domain.
    zone str
    If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account.
    name String
    The hostname for the domain.
    type String
    The domain type, which can be one of the following:

    • DEFAULT: The default .ondigitalocean.app domain assigned to this app.
    • PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.
    • ALIAS: A non-primary domain.
    wildcard Boolean
    A boolean indicating whether the domain includes all sub-domains, in addition to the given domain.
    zone String
    If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account.

    AppSpecEgress, AppSpecEgressArgs

    Type string
    The app egress type: AUTOASSIGN, DEDICATED_IP
    Type string
    The app egress type: AUTOASSIGN, DEDICATED_IP
    type String
    The app egress type: AUTOASSIGN, DEDICATED_IP
    type string
    The app egress type: AUTOASSIGN, DEDICATED_IP
    type str
    The app egress type: AUTOASSIGN, DEDICATED_IP
    type String
    The app egress type: AUTOASSIGN, DEDICATED_IP

    AppSpecEnv, AppSpecEnvArgs

    Key string
    The name of the environment variable.
    Scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    Type string
    The type of the environment variable, GENERAL or SECRET.
    Value string
    The value of the environment variable.
    Key string
    The name of the environment variable.
    Scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    Type string
    The type of the environment variable, GENERAL or SECRET.
    Value string
    The value of the environment variable.
    key String
    The name of the environment variable.
    scope String
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type String
    The type of the environment variable, GENERAL or SECRET.
    value String
    The value of the environment variable.
    key string
    The name of the environment variable.
    scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type string
    The type of the environment variable, GENERAL or SECRET.
    value string
    The value of the environment variable.
    key str
    The name of the environment variable.
    scope str
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type str
    The type of the environment variable, GENERAL or SECRET.
    value str
    The value of the environment variable.
    key String
    The name of the environment variable.
    scope String
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type String
    The type of the environment variable, GENERAL or SECRET.
    value String
    The value of the environment variable.

    AppSpecFunction, AppSpecFunctionArgs

    Name string
    The name of the component.
    Alerts List<Pulumi.DigitalOcean.Inputs.AppSpecFunctionAlert>
    Describes an alert policy for the component.
    Cors Pulumi.DigitalOcean.Inputs.AppSpecFunctionCors
    The CORS policies of the app.

    Deprecated: Service level CORS rules are deprecated in favor of ingresses

    Envs List<Pulumi.DigitalOcean.Inputs.AppSpecFunctionEnv>
    Describes an environment variable made available to an app competent.
    Git Pulumi.DigitalOcean.Inputs.AppSpecFunctionGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    Github Pulumi.DigitalOcean.Inputs.AppSpecFunctionGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    Gitlab Pulumi.DigitalOcean.Inputs.AppSpecFunctionGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    LogDestinations List<Pulumi.DigitalOcean.Inputs.AppSpecFunctionLogDestination>
    Describes a log forwarding destination.
    Routes List<Pulumi.DigitalOcean.Inputs.AppSpecFunctionRoute>
    An HTTP paths that should be routed to this component.

    Deprecated: Service level routes are deprecated in favor of ingresses

    SourceDir string
    An optional path to the working directory to use for the build.
    Name string
    The name of the component.
    Alerts []AppSpecFunctionAlert
    Describes an alert policy for the component.
    Cors AppSpecFunctionCors
    The CORS policies of the app.

    Deprecated: Service level CORS rules are deprecated in favor of ingresses

    Envs []AppSpecFunctionEnv
    Describes an environment variable made available to an app competent.
    Git AppSpecFunctionGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    Github AppSpecFunctionGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    Gitlab AppSpecFunctionGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    LogDestinations []AppSpecFunctionLogDestination
    Describes a log forwarding destination.
    Routes []AppSpecFunctionRoute
    An HTTP paths that should be routed to this component.

    Deprecated: Service level routes are deprecated in favor of ingresses

    SourceDir string
    An optional path to the working directory to use for the build.
    name String
    The name of the component.
    alerts List<AppSpecFunctionAlert>
    Describes an alert policy for the component.
    cors AppSpecFunctionCors
    The CORS policies of the app.

    Deprecated: Service level CORS rules are deprecated in favor of ingresses

    envs List<AppSpecFunctionEnv>
    Describes an environment variable made available to an app competent.
    git AppSpecFunctionGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    github AppSpecFunctionGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    gitlab AppSpecFunctionGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    logDestinations List<AppSpecFunctionLogDestination>
    Describes a log forwarding destination.
    routes List<AppSpecFunctionRoute>
    An HTTP paths that should be routed to this component.

    Deprecated: Service level routes are deprecated in favor of ingresses

    sourceDir String
    An optional path to the working directory to use for the build.
    name string
    The name of the component.
    alerts AppSpecFunctionAlert[]
    Describes an alert policy for the component.
    cors AppSpecFunctionCors
    The CORS policies of the app.

    Deprecated: Service level CORS rules are deprecated in favor of ingresses

    envs AppSpecFunctionEnv[]
    Describes an environment variable made available to an app competent.
    git AppSpecFunctionGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    github AppSpecFunctionGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    gitlab AppSpecFunctionGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    logDestinations AppSpecFunctionLogDestination[]
    Describes a log forwarding destination.
    routes AppSpecFunctionRoute[]
    An HTTP paths that should be routed to this component.

    Deprecated: Service level routes are deprecated in favor of ingresses

    sourceDir string
    An optional path to the working directory to use for the build.
    name str
    The name of the component.
    alerts Sequence[AppSpecFunctionAlert]
    Describes an alert policy for the component.
    cors AppSpecFunctionCors
    The CORS policies of the app.

    Deprecated: Service level CORS rules are deprecated in favor of ingresses

    envs Sequence[AppSpecFunctionEnv]
    Describes an environment variable made available to an app competent.
    git AppSpecFunctionGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    github AppSpecFunctionGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    gitlab AppSpecFunctionGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    log_destinations Sequence[AppSpecFunctionLogDestination]
    Describes a log forwarding destination.
    routes Sequence[AppSpecFunctionRoute]
    An HTTP paths that should be routed to this component.

    Deprecated: Service level routes are deprecated in favor of ingresses

    source_dir str
    An optional path to the working directory to use for the build.
    name String
    The name of the component.
    alerts List<Property Map>
    Describes an alert policy for the component.
    cors Property Map
    The CORS policies of the app.

    Deprecated: Service level CORS rules are deprecated in favor of ingresses

    envs List<Property Map>
    Describes an environment variable made available to an app competent.
    git Property Map
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    github Property Map
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    gitlab Property Map
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    logDestinations List<Property Map>
    Describes a log forwarding destination.
    routes List<Property Map>
    An HTTP paths that should be routed to this component.

    Deprecated: Service level routes are deprecated in favor of ingresses

    sourceDir String
    An optional path to the working directory to use for the build.

    AppSpecFunctionAlert, AppSpecFunctionAlertArgs

    Operator string
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    Rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    Value double
    The threshold for the type of the warning.
    Window string
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    Disabled bool
    Determines whether or not the alert is disabled (default: false).
    Operator string
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    Rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    Value float64
    The threshold for the type of the warning.
    Window string
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    Disabled bool
    Determines whether or not the alert is disabled (default: false).
    operator String
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    rule String
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    value Double
    The threshold for the type of the warning.
    window String
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    disabled Boolean
    Determines whether or not the alert is disabled (default: false).
    operator string
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    value number
    The threshold for the type of the warning.
    window string
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    disabled boolean
    Determines whether or not the alert is disabled (default: false).
    operator str
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    rule str
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    value float
    The threshold for the type of the warning.
    window str
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    disabled bool
    Determines whether or not the alert is disabled (default: false).
    operator String
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    rule String
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    value Number
    The threshold for the type of the warning.
    window String
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    disabled Boolean
    Determines whether or not the alert is disabled (default: false).

    AppSpecFunctionCors, AppSpecFunctionCorsArgs

    AllowCredentials bool
    Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    AllowHeaders List<string>
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    AllowMethods List<string>
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    AllowOrigins Pulumi.DigitalOcean.Inputs.AppSpecFunctionCorsAllowOrigins
    The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.
    ExposeHeaders List<string>
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    MaxAge string
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    AllowCredentials bool
    Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    AllowHeaders []string
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    AllowMethods []string
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    AllowOrigins AppSpecFunctionCorsAllowOrigins
    The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.
    ExposeHeaders []string
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    MaxAge string
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    allowCredentials Boolean
    Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    allowHeaders List<String>
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    allowMethods List<String>
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    allowOrigins AppSpecFunctionCorsAllowOrigins
    The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.
    exposeHeaders List<String>
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    maxAge String
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    allowCredentials boolean
    Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    allowHeaders string[]
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    allowMethods string[]
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    allowOrigins AppSpecFunctionCorsAllowOrigins
    The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.
    exposeHeaders string[]
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    maxAge string
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    allow_credentials bool
    Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    allow_headers Sequence[str]
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    allow_methods Sequence[str]
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    allow_origins AppSpecFunctionCorsAllowOrigins
    The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.
    expose_headers Sequence[str]
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    max_age str
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    allowCredentials Boolean
    Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    allowHeaders List<String>
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    allowMethods List<String>
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    allowOrigins Property Map
    The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.
    exposeHeaders List<String>
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    maxAge String
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.

    AppSpecFunctionCorsAllowOrigins, AppSpecFunctionCorsAllowOriginsArgs

    Exact string
    Exact string match.
    Prefix string
    Prefix-based match.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    Regex string
    RE2 style regex-based match.
    Exact string
    Exact string match.
    Prefix string
    Prefix-based match.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    Regex string
    RE2 style regex-based match.
    exact String
    Exact string match.
    prefix String
    Prefix-based match.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    regex String
    RE2 style regex-based match.
    exact string
    Exact string match.
    prefix string
    Prefix-based match.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    regex string
    RE2 style regex-based match.
    exact str
    Exact string match.
    prefix str
    Prefix-based match.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    regex str
    RE2 style regex-based match.
    exact String
    Exact string match.
    prefix String
    Prefix-based match.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    regex String
    RE2 style regex-based match.

    AppSpecFunctionEnv, AppSpecFunctionEnvArgs

    Key string
    The name of the environment variable.
    Scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    Type string
    The type of the environment variable, GENERAL or SECRET.
    Value string
    The value of the environment variable.
    Key string
    The name of the environment variable.
    Scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    Type string
    The type of the environment variable, GENERAL or SECRET.
    Value string
    The value of the environment variable.
    key String
    The name of the environment variable.
    scope String
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type String
    The type of the environment variable, GENERAL or SECRET.
    value String
    The value of the environment variable.
    key string
    The name of the environment variable.
    scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type string
    The type of the environment variable, GENERAL or SECRET.
    value string
    The value of the environment variable.
    key str
    The name of the environment variable.
    scope str
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type str
    The type of the environment variable, GENERAL or SECRET.
    value str
    The value of the environment variable.
    key String
    The name of the environment variable.
    scope String
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type String
    The type of the environment variable, GENERAL or SECRET.
    value String
    The value of the environment variable.

    AppSpecFunctionGit, AppSpecFunctionGitArgs

    Branch string
    The name of the branch to use.
    RepoCloneUrl string
    The clone URL of the repo.
    Branch string
    The name of the branch to use.
    RepoCloneUrl string
    The clone URL of the repo.
    branch String
    The name of the branch to use.
    repoCloneUrl String
    The clone URL of the repo.
    branch string
    The name of the branch to use.
    repoCloneUrl string
    The clone URL of the repo.
    branch str
    The name of the branch to use.
    repo_clone_url str
    The clone URL of the repo.
    branch String
    The name of the branch to use.
    repoCloneUrl String
    The clone URL of the repo.

    AppSpecFunctionGithub, AppSpecFunctionGithubArgs

    Branch string
    The name of the branch to use.
    DeployOnPush bool
    Whether to automatically deploy new commits made to the repo.
    Repo string
    The name of the repo in the format owner/repo.
    Branch string
    The name of the branch to use.
    DeployOnPush bool
    Whether to automatically deploy new commits made to the repo.
    Repo string
    The name of the repo in the format owner/repo.
    branch String
    The name of the branch to use.
    deployOnPush Boolean
    Whether to automatically deploy new commits made to the repo.
    repo String
    The name of the repo in the format owner/repo.
    branch string
    The name of the branch to use.
    deployOnPush boolean
    Whether to automatically deploy new commits made to the repo.
    repo string
    The name of the repo in the format owner/repo.
    branch str
    The name of the branch to use.
    deploy_on_push bool
    Whether to automatically deploy new commits made to the repo.
    repo str
    The name of the repo in the format owner/repo.
    branch String
    The name of the branch to use.
    deployOnPush Boolean
    Whether to automatically deploy new commits made to the repo.
    repo String
    The name of the repo in the format owner/repo.

    AppSpecFunctionGitlab, AppSpecFunctionGitlabArgs

    Branch string
    The name of the branch to use.
    DeployOnPush bool
    Whether to automatically deploy new commits made to the repo.
    Repo string
    The name of the repo in the format owner/repo.
    Branch string
    The name of the branch to use.
    DeployOnPush bool
    Whether to automatically deploy new commits made to the repo.
    Repo string
    The name of the repo in the format owner/repo.
    branch String
    The name of the branch to use.
    deployOnPush Boolean
    Whether to automatically deploy new commits made to the repo.
    repo String
    The name of the repo in the format owner/repo.
    branch string
    The name of the branch to use.
    deployOnPush boolean
    Whether to automatically deploy new commits made to the repo.
    repo string
    The name of the repo in the format owner/repo.
    branch str
    The name of the branch to use.
    deploy_on_push bool
    Whether to automatically deploy new commits made to the repo.
    repo str
    The name of the repo in the format owner/repo.
    branch String
    The name of the branch to use.
    deployOnPush Boolean
    Whether to automatically deploy new commits made to the repo.
    repo String
    The name of the repo in the format owner/repo.

    AppSpecFunctionLogDestination, AppSpecFunctionLogDestinationArgs

    Name string
    Name of the log destination. Minimum length: 2. Maximum length: 42.
    Datadog AppSpecFunctionLogDestinationDatadog
    Datadog configuration.
    Logtail AppSpecFunctionLogDestinationLogtail
    Logtail configuration.
    OpenSearch AppSpecFunctionLogDestinationOpenSearch
    OpenSearch configuration.
    Papertrail AppSpecFunctionLogDestinationPapertrail
    Papertrail configuration.
    name String
    Name of the log destination. Minimum length: 2. Maximum length: 42.
    datadog AppSpecFunctionLogDestinationDatadog
    Datadog configuration.
    logtail AppSpecFunctionLogDestinationLogtail
    Logtail configuration.
    openSearch AppSpecFunctionLogDestinationOpenSearch
    OpenSearch configuration.
    papertrail AppSpecFunctionLogDestinationPapertrail
    Papertrail configuration.
    name string
    Name of the log destination. Minimum length: 2. Maximum length: 42.
    datadog AppSpecFunctionLogDestinationDatadog
    Datadog configuration.
    logtail AppSpecFunctionLogDestinationLogtail
    Logtail configuration.
    openSearch AppSpecFunctionLogDestinationOpenSearch
    OpenSearch configuration.
    papertrail AppSpecFunctionLogDestinationPapertrail
    Papertrail configuration.
    name str
    Name of the log destination. Minimum length: 2. Maximum length: 42.
    datadog AppSpecFunctionLogDestinationDatadog
    Datadog configuration.
    logtail AppSpecFunctionLogDestinationLogtail
    Logtail configuration.
    open_search AppSpecFunctionLogDestinationOpenSearch
    OpenSearch configuration.
    papertrail AppSpecFunctionLogDestinationPapertrail
    Papertrail configuration.
    name String
    Name of the log destination. Minimum length: 2. Maximum length: 42.
    datadog Property Map
    Datadog configuration.
    logtail Property Map
    Logtail configuration.
    openSearch Property Map
    OpenSearch configuration.
    papertrail Property Map
    Papertrail configuration.

    AppSpecFunctionLogDestinationDatadog, AppSpecFunctionLogDestinationDatadogArgs

    ApiKey string
    Datadog API key.
    Endpoint string
    Datadog HTTP log intake endpoint.
    ApiKey string
    Datadog API key.
    Endpoint string
    Datadog HTTP log intake endpoint.
    apiKey String
    Datadog API key.
    endpoint String
    Datadog HTTP log intake endpoint.
    apiKey string
    Datadog API key.
    endpoint string
    Datadog HTTP log intake endpoint.
    api_key str
    Datadog API key.
    endpoint str
    Datadog HTTP log intake endpoint.
    apiKey String
    Datadog API key.
    endpoint String
    Datadog HTTP log intake endpoint.

    AppSpecFunctionLogDestinationLogtail, AppSpecFunctionLogDestinationLogtailArgs

    Token string
    Logtail token.
    Token string
    Logtail token.
    token String
    Logtail token.
    token string
    Logtail token.
    token str
    Logtail token.
    token String
    Logtail token.

    AppSpecFunctionLogDestinationOpenSearch, AppSpecFunctionLogDestinationOpenSearchArgs

    BasicAuth Pulumi.DigitalOcean.Inputs.AppSpecFunctionLogDestinationOpenSearchBasicAuth
    Basic authentication details.
    ClusterName string
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    Endpoint string
    OpenSearch endpoint.
    IndexName string
    OpenSearch index name.
    BasicAuth AppSpecFunctionLogDestinationOpenSearchBasicAuth
    Basic authentication details.
    ClusterName string
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    Endpoint string
    OpenSearch endpoint.
    IndexName string
    OpenSearch index name.
    basicAuth AppSpecFunctionLogDestinationOpenSearchBasicAuth
    Basic authentication details.
    clusterName String
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    endpoint String
    OpenSearch endpoint.
    indexName String
    OpenSearch index name.
    basicAuth AppSpecFunctionLogDestinationOpenSearchBasicAuth
    Basic authentication details.
    clusterName string
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    endpoint string
    OpenSearch endpoint.
    indexName string
    OpenSearch index name.
    basic_auth AppSpecFunctionLogDestinationOpenSearchBasicAuth
    Basic authentication details.
    cluster_name str
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    endpoint str
    OpenSearch endpoint.
    index_name str
    OpenSearch index name.
    basicAuth Property Map
    Basic authentication details.
    clusterName String
    The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    endpoint String
    OpenSearch endpoint.
    indexName String
    OpenSearch index name.

    AppSpecFunctionLogDestinationOpenSearchBasicAuth, AppSpecFunctionLogDestinationOpenSearchBasicAuthArgs

    Password string
    Password for basic authentication.
    User string
    user for basic authentication.
    Password string
    Password for basic authentication.
    User string
    user for basic authentication.
    password String
    Password for basic authentication.
    user String
    user for basic authentication.
    password string
    Password for basic authentication.
    user string
    user for basic authentication.
    password str
    Password for basic authentication.
    user str
    user for basic authentication.
    password String
    Password for basic authentication.
    user String
    user for basic authentication.

    AppSpecFunctionLogDestinationPapertrail, AppSpecFunctionLogDestinationPapertrailArgs

    Endpoint string
    Papertrail syslog endpoint.
    Endpoint string
    Papertrail syslog endpoint.
    endpoint String
    Papertrail syslog endpoint.
    endpoint string
    Papertrail syslog endpoint.
    endpoint str
    Papertrail syslog endpoint.
    endpoint String
    Papertrail syslog endpoint.

    AppSpecFunctionRoute, AppSpecFunctionRouteArgs

    Path string
    Paths must start with / and must be unique within the app.
    PreservePathPrefix bool
    An optional flag to preserve the path that is forwarded to the backend service.
    Path string
    Paths must start with / and must be unique within the app.
    PreservePathPrefix bool
    An optional flag to preserve the path that is forwarded to the backend service.
    path String
    Paths must start with / and must be unique within the app.
    preservePathPrefix Boolean
    An optional flag to preserve the path that is forwarded to the backend service.
    path string
    Paths must start with / and must be unique within the app.
    preservePathPrefix boolean
    An optional flag to preserve the path that is forwarded to the backend service.
    path str
    Paths must start with / and must be unique within the app.
    preserve_path_prefix bool
    An optional flag to preserve the path that is forwarded to the backend service.
    path String
    Paths must start with / and must be unique within the app.
    preservePathPrefix Boolean
    An optional flag to preserve the path that is forwarded to the backend service.

    AppSpecIngress, AppSpecIngressArgs

    Rules List<Pulumi.DigitalOcean.Inputs.AppSpecIngressRule>
    Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects.
    Rules []AppSpecIngressRule
    Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects.
    rules List<AppSpecIngressRule>
    Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects.
    rules AppSpecIngressRule[]
    Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects.
    rules Sequence[AppSpecIngressRule]
    Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects.
    rules List<Property Map>
    Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects.

    AppSpecIngressRule, AppSpecIngressRuleArgs

    Component Pulumi.DigitalOcean.Inputs.AppSpecIngressRuleComponent
    The component to route to. Only one of component or redirect may be set.
    Cors Pulumi.DigitalOcean.Inputs.AppSpecIngressRuleCors
    The CORS policies of the app.
    Match Pulumi.DigitalOcean.Inputs.AppSpecIngressRuleMatch
    The match configuration for the rule
    Redirect Pulumi.DigitalOcean.Inputs.AppSpecIngressRuleRedirect
    The redirect configuration for the rule. Only one of component or redirect may be set.
    Component AppSpecIngressRuleComponent
    The component to route to. Only one of component or redirect may be set.
    Cors AppSpecIngressRuleCors
    The CORS policies of the app.
    Match AppSpecIngressRuleMatch
    The match configuration for the rule
    Redirect AppSpecIngressRuleRedirect
    The redirect configuration for the rule. Only one of component or redirect may be set.
    component AppSpecIngressRuleComponent
    The component to route to. Only one of component or redirect may be set.
    cors AppSpecIngressRuleCors
    The CORS policies of the app.
    match AppSpecIngressRuleMatch
    The match configuration for the rule
    redirect AppSpecIngressRuleRedirect
    The redirect configuration for the rule. Only one of component or redirect may be set.
    component AppSpecIngressRuleComponent
    The component to route to. Only one of component or redirect may be set.
    cors AppSpecIngressRuleCors
    The CORS policies of the app.
    match AppSpecIngressRuleMatch
    The match configuration for the rule
    redirect AppSpecIngressRuleRedirect
    The redirect configuration for the rule. Only one of component or redirect may be set.
    component AppSpecIngressRuleComponent
    The component to route to. Only one of component or redirect may be set.
    cors AppSpecIngressRuleCors
    The CORS policies of the app.
    match AppSpecIngressRuleMatch
    The match configuration for the rule
    redirect AppSpecIngressRuleRedirect
    The redirect configuration for the rule. Only one of component or redirect may be set.
    component Property Map
    The component to route to. Only one of component or redirect may be set.
    cors Property Map
    The CORS policies of the app.
    match Property Map
    The match configuration for the rule
    redirect Property Map
    The redirect configuration for the rule. Only one of component or redirect may be set.

    AppSpecIngressRuleComponent, AppSpecIngressRuleComponentArgs

    Name string
    The name of the component to route to.
    PreservePathPrefix bool
    An optional boolean flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component.
    Rewrite string
    An optional field that will rewrite the path of the component to be what is specified here. This is mutually exclusive with preserve_path_prefix.
    Name string
    The name of the component to route to.
    PreservePathPrefix bool
    An optional boolean flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component.
    Rewrite string
    An optional field that will rewrite the path of the component to be what is specified here. This is mutually exclusive with preserve_path_prefix.
    name String
    The name of the component to route to.
    preservePathPrefix Boolean
    An optional boolean flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component.
    rewrite String
    An optional field that will rewrite the path of the component to be what is specified here. This is mutually exclusive with preserve_path_prefix.
    name string
    The name of the component to route to.
    preservePathPrefix boolean
    An optional boolean flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component.
    rewrite string
    An optional field that will rewrite the path of the component to be what is specified here. This is mutually exclusive with preserve_path_prefix.
    name str
    The name of the component to route to.
    preserve_path_prefix bool
    An optional boolean flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component.
    rewrite str
    An optional field that will rewrite the path of the component to be what is specified here. This is mutually exclusive with preserve_path_prefix.
    name String
    The name of the component to route to.
    preservePathPrefix Boolean
    An optional boolean flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component.
    rewrite String
    An optional field that will rewrite the path of the component to be what is specified here. This is mutually exclusive with preserve_path_prefix.

    AppSpecIngressRuleCors, AppSpecIngressRuleCorsArgs

    AllowCredentials bool
    Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    AllowHeaders List<string>
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    AllowMethods List<string>
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    AllowOrigins Pulumi.DigitalOcean.Inputs.AppSpecIngressRuleCorsAllowOrigins
    The Access-Control-Allow-Origin can be
    ExposeHeaders List<string>
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    MaxAge string
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    AllowCredentials bool
    Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    AllowHeaders []string
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    AllowMethods []string
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    AllowOrigins AppSpecIngressRuleCorsAllowOrigins
    The Access-Control-Allow-Origin can be
    ExposeHeaders []string
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    MaxAge string
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    allowCredentials Boolean
    Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    allowHeaders List<String>
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    allowMethods List<String>
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    allowOrigins AppSpecIngressRuleCorsAllowOrigins
    The Access-Control-Allow-Origin can be
    exposeHeaders List<String>
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    maxAge String
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    allowCredentials boolean
    Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    allowHeaders string[]
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    allowMethods string[]
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    allowOrigins AppSpecIngressRuleCorsAllowOrigins
    The Access-Control-Allow-Origin can be
    exposeHeaders string[]
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    maxAge string
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    allow_credentials bool
    Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    allow_headers Sequence[str]
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    allow_methods Sequence[str]
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    allow_origins AppSpecIngressRuleCorsAllowOrigins
    The Access-Control-Allow-Origin can be
    expose_headers Sequence[str]
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    max_age str
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.
    allowCredentials Boolean
    Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is include. This configures the Access-Control-Allow-Credentials header.
    allowHeaders List<String>
    The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
    allowMethods List<String>
    The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
    allowOrigins Property Map
    The Access-Control-Allow-Origin can be
    exposeHeaders List<String>
    The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.
    maxAge String
    An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: 5h30m.

    AppSpecIngressRuleCorsAllowOrigins, AppSpecIngressRuleCorsAllowOriginsArgs

    Exact string
    The Access-Control-Allow-Origin header will be set to the client's origin only if the client's origin exactly matches the value you provide.
    Prefix string
    The Access-Control-Allow-Origin header will be set to the client's origin if the beginning of the client's origin matches the value you provide.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    Regex string
    The Access-Control-Allow-Origin header will be set to the client's origin if the client’s origin matches the regex you provide, in RE2 style syntax.
    Exact string
    The Access-Control-Allow-Origin header will be set to the client's origin only if the client's origin exactly matches the value you provide.
    Prefix string
    The Access-Control-Allow-Origin header will be set to the client's origin if the beginning of the client's origin matches the value you provide.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    Regex string
    The Access-Control-Allow-Origin header will be set to the client's origin if the client’s origin matches the regex you provide, in RE2 style syntax.
    exact String
    The Access-Control-Allow-Origin header will be set to the client's origin only if the client's origin exactly matches the value you provide.
    prefix String
    The Access-Control-Allow-Origin header will be set to the client's origin if the beginning of the client's origin matches the value you provide.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    regex String
    The Access-Control-Allow-Origin header will be set to the client's origin if the client’s origin matches the regex you provide, in RE2 style syntax.
    exact string
    The Access-Control-Allow-Origin header will be set to the client's origin only if the client's origin exactly matches the value you provide.
    prefix string
    The Access-Control-Allow-Origin header will be set to the client's origin if the beginning of the client's origin matches the value you provide.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    regex string
    The Access-Control-Allow-Origin header will be set to the client's origin if the client’s origin matches the regex you provide, in RE2 style syntax.
    exact str
    The Access-Control-Allow-Origin header will be set to the client's origin only if the client's origin exactly matches the value you provide.
    prefix str
    The Access-Control-Allow-Origin header will be set to the client's origin if the beginning of the client's origin matches the value you provide.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    regex str
    The Access-Control-Allow-Origin header will be set to the client's origin if the client’s origin matches the regex you provide, in RE2 style syntax.
    exact String
    The Access-Control-Allow-Origin header will be set to the client's origin only if the client's origin exactly matches the value you provide.
    prefix String
    The Access-Control-Allow-Origin header will be set to the client's origin if the beginning of the client's origin matches the value you provide.

    Deprecated: Prefix-based matching has been deprecated in favor of regex-based matching.

    regex String
    The Access-Control-Allow-Origin header will be set to the client's origin if the client’s origin matches the regex you provide, in RE2 style syntax.

    AppSpecIngressRuleMatch, AppSpecIngressRuleMatchArgs

    Path AppSpecIngressRuleMatchPath
    The path to match on.
    path AppSpecIngressRuleMatchPath
    The path to match on.
    path AppSpecIngressRuleMatchPath
    The path to match on.
    path AppSpecIngressRuleMatchPath
    The path to match on.
    path Property Map
    The path to match on.

    AppSpecIngressRuleMatchPath, AppSpecIngressRuleMatchPathArgs

    Prefix string
    Prefix-based match.
    Prefix string
    Prefix-based match.
    prefix String
    Prefix-based match.
    prefix string
    Prefix-based match.
    prefix str
    Prefix-based match.
    prefix String
    Prefix-based match.

    AppSpecIngressRuleRedirect, AppSpecIngressRuleRedirectArgs

    Authority string
    The authority/host to redirect to. This can be a hostname or IP address.
    Port int
    The port to redirect to.
    RedirectCode int
    The redirect code to use. Supported values are 300, 301, 302, 303, 304, 307, 308.
    Scheme string
    The scheme to redirect to. Supported values are http or https
    Uri string
    An optional URI path to redirect to.
    Authority string
    The authority/host to redirect to. This can be a hostname or IP address.
    Port int
    The port to redirect to.
    RedirectCode int
    The redirect code to use. Supported values are 300, 301, 302, 303, 304, 307, 308.
    Scheme string
    The scheme to redirect to. Supported values are http or https
    Uri string
    An optional URI path to redirect to.
    authority String
    The authority/host to redirect to. This can be a hostname or IP address.
    port Integer
    The port to redirect to.
    redirectCode Integer
    The redirect code to use. Supported values are 300, 301, 302, 303, 304, 307, 308.
    scheme String
    The scheme to redirect to. Supported values are http or https
    uri String
    An optional URI path to redirect to.
    authority string
    The authority/host to redirect to. This can be a hostname or IP address.
    port number
    The port to redirect to.
    redirectCode number
    The redirect code to use. Supported values are 300, 301, 302, 303, 304, 307, 308.
    scheme string
    The scheme to redirect to. Supported values are http or https
    uri string
    An optional URI path to redirect to.
    authority str
    The authority/host to redirect to. This can be a hostname or IP address.
    port int
    The port to redirect to.
    redirect_code int
    The redirect code to use. Supported values are 300, 301, 302, 303, 304, 307, 308.
    scheme str
    The scheme to redirect to. Supported values are http or https
    uri str
    An optional URI path to redirect to.
    authority String
    The authority/host to redirect to. This can be a hostname or IP address.
    port Number
    The port to redirect to.
    redirectCode Number
    The redirect code to use. Supported values are 300, 301, 302, 303, 304, 307, 308.
    scheme String
    The scheme to redirect to. Supported values are http or https
    uri String
    An optional URI path to redirect to.

    AppSpecJob, AppSpecJobArgs

    Name string
    The name of the component.
    Alerts List<Pulumi.DigitalOcean.Inputs.AppSpecJobAlert>
    Describes an alert policy for the component.
    BuildCommand string
    An optional build command to run while building this component from source.
    DockerfilePath string
    The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
    EnvironmentSlug string
    An environment slug describing the type of this app.
    Envs List<Pulumi.DigitalOcean.Inputs.AppSpecJobEnv>
    Describes an environment variable made available to an app competent.
    Git Pulumi.DigitalOcean.Inputs.AppSpecJobGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    Github Pulumi.DigitalOcean.Inputs.AppSpecJobGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    Gitlab Pulumi.DigitalOcean.Inputs.AppSpecJobGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    Image Pulumi.DigitalOcean.Inputs.AppSpecJobImage
    An image to use as the component's source. Only one of git, github, gitlab, or image may be set.
    InstanceCount int
    The amount of instances that this component should be scaled to.
    InstanceSizeSlug string
    The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be found with the API or using the doctl CLI (doctl apps tier instance-size list). Default: basic-xxs
    Kind string
    The type of job and when it will be run during the deployment process. It may be one of:

    • UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.
    • PRE_DEPLOY: Indicates a job that runs before an app deployment.
    • POST_DEPLOY: Indicates a job that runs after an app deployment.
    • FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.
    LogDestinations List<Pulumi.DigitalOcean.Inputs.AppSpecJobLogDestination>
    Describes a log forwarding destination.
    RunCommand string
    An optional run command to override the component's default.
    SourceDir string
    An optional path to the working directory to use for the build.
    Name string
    The name of the component.
    Alerts []AppSpecJobAlert
    Describes an alert policy for the component.
    BuildCommand string
    An optional build command to run while building this component from source.
    DockerfilePath string
    The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
    EnvironmentSlug string
    An environment slug describing the type of this app.
    Envs []AppSpecJobEnv
    Describes an environment variable made available to an app competent.
    Git AppSpecJobGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    Github AppSpecJobGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    Gitlab AppSpecJobGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    Image AppSpecJobImage
    An image to use as the component's source. Only one of git, github, gitlab, or image may be set.
    InstanceCount int
    The amount of instances that this component should be scaled to.
    InstanceSizeSlug string
    The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be found with the API or using the doctl CLI (doctl apps tier instance-size list). Default: basic-xxs
    Kind string
    The type of job and when it will be run during the deployment process. It may be one of:

    • UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.
    • PRE_DEPLOY: Indicates a job that runs before an app deployment.
    • POST_DEPLOY: Indicates a job that runs after an app deployment.
    • FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.
    LogDestinations []AppSpecJobLogDestination
    Describes a log forwarding destination.
    RunCommand string
    An optional run command to override the component's default.
    SourceDir string
    An optional path to the working directory to use for the build.
    name String
    The name of the component.
    alerts List<AppSpecJobAlert>
    Describes an alert policy for the component.
    buildCommand String
    An optional build command to run while building this component from source.
    dockerfilePath String
    The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
    environmentSlug String
    An environment slug describing the type of this app.
    envs List<AppSpecJobEnv>
    Describes an environment variable made available to an app competent.
    git AppSpecJobGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    github AppSpecJobGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    gitlab AppSpecJobGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    image AppSpecJobImage
    An image to use as the component's source. Only one of git, github, gitlab, or image may be set.
    instanceCount Integer
    The amount of instances that this component should be scaled to.
    instanceSizeSlug String
    The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be found with the API or using the doctl CLI (doctl apps tier instance-size list). Default: basic-xxs
    kind String
    The type of job and when it will be run during the deployment process. It may be one of:

    • UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.
    • PRE_DEPLOY: Indicates a job that runs before an app deployment.
    • POST_DEPLOY: Indicates a job that runs after an app deployment.
    • FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.
    logDestinations List<AppSpecJobLogDestination>
    Describes a log forwarding destination.
    runCommand String
    An optional run command to override the component's default.
    sourceDir String
    An optional path to the working directory to use for the build.
    name string
    The name of the component.
    alerts AppSpecJobAlert[]
    Describes an alert policy for the component.
    buildCommand string
    An optional build command to run while building this component from source.
    dockerfilePath string
    The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
    environmentSlug string
    An environment slug describing the type of this app.
    envs AppSpecJobEnv[]
    Describes an environment variable made available to an app competent.
    git AppSpecJobGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    github AppSpecJobGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    gitlab AppSpecJobGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    image AppSpecJobImage
    An image to use as the component's source. Only one of git, github, gitlab, or image may be set.
    instanceCount number
    The amount of instances that this component should be scaled to.
    instanceSizeSlug string
    The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be found with the API or using the doctl CLI (doctl apps tier instance-size list). Default: basic-xxs
    kind string
    The type of job and when it will be run during the deployment process. It may be one of:

    • UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.
    • PRE_DEPLOY: Indicates a job that runs before an app deployment.
    • POST_DEPLOY: Indicates a job that runs after an app deployment.
    • FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.
    logDestinations AppSpecJobLogDestination[]
    Describes a log forwarding destination.
    runCommand string
    An optional run command to override the component's default.
    sourceDir string
    An optional path to the working directory to use for the build.
    name str
    The name of the component.
    alerts Sequence[AppSpecJobAlert]
    Describes an alert policy for the component.
    build_command str
    An optional build command to run while building this component from source.
    dockerfile_path str
    The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
    environment_slug str
    An environment slug describing the type of this app.
    envs Sequence[AppSpecJobEnv]
    Describes an environment variable made available to an app competent.
    git AppSpecJobGit
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    github AppSpecJobGithub
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    gitlab AppSpecJobGitlab
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    image AppSpecJobImage
    An image to use as the component's source. Only one of git, github, gitlab, or image may be set.
    instance_count int
    The amount of instances that this component should be scaled to.
    instance_size_slug str
    The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be found with the API or using the doctl CLI (doctl apps tier instance-size list). Default: basic-xxs
    kind str
    The type of job and when it will be run during the deployment process. It may be one of:

    • UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.
    • PRE_DEPLOY: Indicates a job that runs before an app deployment.
    • POST_DEPLOY: Indicates a job that runs after an app deployment.
    • FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.
    log_destinations Sequence[AppSpecJobLogDestination]
    Describes a log forwarding destination.
    run_command str
    An optional run command to override the component's default.
    source_dir str
    An optional path to the working directory to use for the build.
    name String
    The name of the component.
    alerts List<Property Map>
    Describes an alert policy for the component.
    buildCommand String
    An optional build command to run while building this component from source.
    dockerfilePath String
    The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
    environmentSlug String
    An environment slug describing the type of this app.
    envs List<Property Map>
    Describes an environment variable made available to an app competent.
    git Property Map
    A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of git, github or gitlab may be set.
    github Property Map
    A GitHub repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    gitlab Property Map
    A Gitlab repo to use as the component's source. DigitalOcean App Platform must have access to the repository. Only one of git, github, gitlab, or image may be set.
    image Property Map
    An image to use as the component's source. Only one of git, github, gitlab, or image may be set.
    instanceCount Number
    The amount of instances that this component should be scaled to.
    instanceSizeSlug String
    The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be found with the API or using the doctl CLI (doctl apps tier instance-size list). Default: basic-xxs
    kind String
    The type of job and when it will be run during the deployment process. It may be one of:

    • UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.
    • PRE_DEPLOY: Indicates a job that runs before an app deployment.
    • POST_DEPLOY: Indicates a job that runs after an app deployment.
    • FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.
    logDestinations List<Property Map>
    Describes a log forwarding destination.
    runCommand String
    An optional run command to override the component's default.
    sourceDir String
    An optional path to the working directory to use for the build.

    AppSpecJobAlert, AppSpecJobAlertArgs

    Operator string
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    Rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    Value double
    The threshold for the type of the warning.
    Window string
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    Disabled bool
    Determines whether or not the alert is disabled (default: false).
    Operator string
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    Rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    Value float64
    The threshold for the type of the warning.
    Window string
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    Disabled bool
    Determines whether or not the alert is disabled (default: false).
    operator String
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    rule String
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    value Double
    The threshold for the type of the warning.
    window String
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    disabled Boolean
    Determines whether or not the alert is disabled (default: false).
    operator string
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    rule string
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    value number
    The threshold for the type of the warning.
    window string
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    disabled boolean
    Determines whether or not the alert is disabled (default: false).
    operator str
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    rule str
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    value float
    The threshold for the type of the warning.
    window str
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    disabled bool
    Determines whether or not the alert is disabled (default: false).
    operator String
    The operator to use. This is either of GREATER_THAN or LESS_THAN.
    rule String
    The type of the alert to configure. Component app alert policies can be: CPU_UTILIZATION, MEM_UTILIZATION, or RESTART_COUNT.
    value Number
    The threshold for the type of the warning.
    window String
    The time before alerts should be triggered. This is may be one of: FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
    disabled Boolean
    Determines whether or not the alert is disabled (default: false).

    AppSpecJobEnv, AppSpecJobEnvArgs

    Key string
    The name of the environment variable.
    Scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    Type string
    The type of the environment variable, GENERAL or SECRET.
    Value string
    The value of the environment variable.
    Key string
    The name of the environment variable.
    Scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    Type string
    The type of the environment variable, GENERAL or SECRET.
    Value string
    The value of the environment variable.
    key String
    The name of the environment variable.
    scope String
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type String
    The type of the environment variable, GENERAL or SECRET.
    value String
    The value of the environment variable.
    key string
    The name of the environment variable.
    scope string
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type string
    The type of the environment variable, GENERAL or SECRET.
    value string
    The value of the environment variable.
    key str
    The name of the environment variable.
    scope str
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type str
    The type of the environment variable, GENERAL or SECRET.
    value str
    The value of the environment variable.
    key String
    The name of the environment variable.
    scope String
    The visibility scope of the environment variable. One of RUN_TIME, BUILD_TIME, or RUN_AND_BUILD_TIME (default).
    type String
    The type of the environment variable, GENERAL or SECRET.
    value String
    The value of the environment variable.

    AppSpecJobGit, AppSpecJobGitArgs

    Branch string
    The name of the branch to use.
    RepoCloneUrl string
    The clone URL of the repo.
    Branch string
    The name of the branch to use.
    RepoCloneUrl string
    The clone URL of the repo.
    branch String
    The name of the branch to use.
    repoCloneUrl String
    The clone URL of the repo.
    branch string
    The name of the branch to use.
    repoCloneUrl string
    The clone URL of the repo.
    branch str
    The name of the branch to use.