Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.digitalocean.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.digitalocean.inputs.AppSpecServiceArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Deprecated
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property alerts Describes an alert policy for the component.
* @property autoscaling Configuration for automatically scaling this component based on metrics.
* @property buildCommand An optional build command to run while building this component from source.
* @property cors The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app.
* @property dockerfilePath The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.
* @property environmentSlug An environment slug describing the type of this app.
* @property envs Describes an environment variable made available to an app competent.
* @property git 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.
* @property github A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
* @property gitlab A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set.
* @property healthCheck A health check to determine the availability of this component.
* @property httpPort The internal port on which this service's run command will listen.
* @property image An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set.
* @property instanceCount The amount of instances that this component should be scaled to.
* @property instanceSizeSlug 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](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs`
* @property internalPorts A list of ports on which this service will listen for internal traffic.
* @property logDestinations Describes a log forwarding destination.
* @property name The name of the component.
* @property routes An HTTP paths that should be routed to this component.
* @property runCommand An optional run command to override the component's default.
* @property sourceDir An optional path to the working directory to use for the build.
*/
public data class AppSpecServiceArgs(
public val alerts: Output>? = null,
public val autoscaling: Output? = null,
public val buildCommand: Output? = null,
@Deprecated(
message = """
Service level CORS rules are deprecated in favor of ingresses
""",
)
public val cors: Output? = null,
public val dockerfilePath: Output? = null,
public val environmentSlug: Output? = null,
public val envs: Output>? = null,
public val git: Output? = null,
public val github: Output? = null,
public val gitlab: Output? = null,
public val healthCheck: Output? = null,
public val httpPort: Output? = null,
public val image: Output? = null,
public val instanceCount: Output? = null,
public val instanceSizeSlug: Output? = null,
public val internalPorts: Output>? = null,
public val logDestinations: Output>? = null,
public val name: Output,
@Deprecated(
message = """
Service level routes are deprecated in favor of ingresses
""",
)
public val routes: Output>? = null,
public val runCommand: Output? = null,
public val sourceDir: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.digitalocean.inputs.AppSpecServiceArgs =
com.pulumi.digitalocean.inputs.AppSpecServiceArgs.builder()
.alerts(alerts?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.autoscaling(autoscaling?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.buildCommand(buildCommand?.applyValue({ args0 -> args0 }))
.cors(cors?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dockerfilePath(dockerfilePath?.applyValue({ args0 -> args0 }))
.environmentSlug(environmentSlug?.applyValue({ args0 -> args0 }))
.envs(envs?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.git(git?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.github(github?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.gitlab(gitlab?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.healthCheck(healthCheck?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.httpPort(httpPort?.applyValue({ args0 -> args0 }))
.image(image?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.instanceCount(instanceCount?.applyValue({ args0 -> args0 }))
.instanceSizeSlug(instanceSizeSlug?.applyValue({ args0 -> args0 }))
.internalPorts(internalPorts?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.logDestinations(
logDestinations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.name(name.applyValue({ args0 -> args0 }))
.routes(routes?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.runCommand(runCommand?.applyValue({ args0 -> args0 }))
.sourceDir(sourceDir?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AppSpecServiceArgs].
*/
@PulumiTagMarker
public class AppSpecServiceArgsBuilder internal constructor() {
private var alerts: Output>? = null
private var autoscaling: Output? = null
private var buildCommand: Output? = null
private var cors: Output? = null
private var dockerfilePath: Output? = null
private var environmentSlug: Output? = null
private var envs: Output>? = null
private var git: Output? = null
private var github: Output? = null
private var gitlab: Output? = null
private var healthCheck: Output? = null
private var httpPort: Output? = null
private var image: Output? = null
private var instanceCount: Output? = null
private var instanceSizeSlug: Output? = null
private var internalPorts: Output>? = null
private var logDestinations: Output>? = null
private var name: Output? = null
private var routes: Output>? = null
private var runCommand: Output? = null
private var sourceDir: Output? = null
/**
* @param value Describes an alert policy for the component.
*/
@JvmName("egarminqdirwmlng")
public suspend fun alerts(`value`: Output>) {
this.alerts = value
}
@JvmName("fcfkdcktmyrxadyy")
public suspend fun alerts(vararg values: Output) {
this.alerts = Output.all(values.asList())
}
/**
* @param values Describes an alert policy for the component.
*/
@JvmName("sykhawmnwghhwlpk")
public suspend fun alerts(values: List