
com.pulumi.awsnative.apprunner.kotlin.Service.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.apprunner.kotlin
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceEncryptionConfiguration
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceHealthCheckConfiguration
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceInstanceConfiguration
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceNetworkConfiguration
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceObservabilityConfiguration
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceSourceConfiguration
import com.pulumi.awsnative.kotlin.outputs.CreateOnlyTag
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceEncryptionConfiguration.Companion.toKotlin as serviceEncryptionConfigurationToKotlin
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceHealthCheckConfiguration.Companion.toKotlin as serviceHealthCheckConfigurationToKotlin
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceInstanceConfiguration.Companion.toKotlin as serviceInstanceConfigurationToKotlin
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceNetworkConfiguration.Companion.toKotlin as serviceNetworkConfigurationToKotlin
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceObservabilityConfiguration.Companion.toKotlin as serviceObservabilityConfigurationToKotlin
import com.pulumi.awsnative.apprunner.kotlin.outputs.ServiceSourceConfiguration.Companion.toKotlin as serviceSourceConfigurationToKotlin
import com.pulumi.awsnative.kotlin.outputs.CreateOnlyTag.Companion.toKotlin as createOnlyTagToKotlin
/**
* Builder for [Service].
*/
@PulumiTagMarker
public class ServiceResourceBuilder internal constructor() {
public var name: String? = null
public var args: ServiceArgs = ServiceArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend ServiceArgsBuilder.() -> Unit) {
val builder = ServiceArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): Service {
val builtJavaResource = com.pulumi.awsnative.apprunner.Service(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return Service(builtJavaResource)
}
}
/**
* The AWS::AppRunner::Service resource specifies an AppRunner Service.
*/
public class Service internal constructor(
override val javaResource: com.pulumi.awsnative.apprunner.Service,
) : KotlinCustomResource(javaResource, ServiceMapper) {
/**
* Autoscaling configuration ARN
*/
public val autoScalingConfigurationArn: Output?
get() = javaResource.autoScalingConfigurationArn().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
/**
* An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an AWS managed key .
*/
public val encryptionConfiguration: Output?
get() = javaResource.encryptionConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> serviceEncryptionConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* The settings for the health check that AWS App Runner performs to monitor the health of the App Runner service.
*/
public val healthCheckConfiguration: Output?
get() = javaResource.healthCheckConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> serviceHealthCheckConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* The runtime configuration of instances (scaling units) of your service.
*/
public val instanceConfiguration: Output?
get() = javaResource.instanceConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> serviceInstanceConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* Configuration settings related to network traffic of the web application that the App Runner service runs.
*/
public val networkConfiguration: Output?
get() = javaResource.networkConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> serviceNetworkConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* The observability configuration of your service.
*/
public val observabilityConfiguration: Output?
get() = javaResource.observabilityConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> serviceObservabilityConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* The Amazon Resource Name (ARN) of the AppRunner Service.
*/
public val serviceArn: Output
get() = javaResource.serviceArn().applyValue({ args0 -> args0 })
/**
* The AppRunner Service Id
*/
public val serviceId: Output
get() = javaResource.serviceId().applyValue({ args0 -> args0 })
/**
* The AppRunner Service Name.
*/
public val serviceName: Output?
get() = javaResource.serviceName().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
/**
* The Service Url of the AppRunner Service.
*/
public val serviceUrl: Output
get() = javaResource.serviceUrl().applyValue({ args0 -> args0 })
/**
* The source to deploy to the App Runner service. It can be a code or an image repository.
*/
public val sourceConfiguration: Output
get() = javaResource.sourceConfiguration().applyValue({ args0 ->
args0.let({ args0 ->
serviceSourceConfigurationToKotlin(args0)
})
})
/**
* AppRunner Service status.
*/
public val status: Output
get() = javaResource.status().applyValue({ args0 -> args0 })
/**
* An optional list of metadata items that you can associate with the App Runner service resource. A tag is a key-value pair.
*/
public val tags: Output>?
get() = javaResource.tags().applyValue({ args0 ->
args0.map({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> createOnlyTagToKotlin(args0) })
})
}).orElse(null)
})
}
public object ServiceMapper : ResourceMapper {
override fun supportsMappingOfType(javaResource: Resource): Boolean =
com.pulumi.awsnative.apprunner.Service::class == javaResource::class
override fun map(javaResource: Resource): Service = Service(
javaResource as
com.pulumi.awsnative.apprunner.Service,
)
}
/**
* @see [Service].
* @param name The _unique_ name of the resulting resource.
* @param block Builder for [Service].
*/
public suspend fun service(name: String, block: suspend ServiceResourceBuilder.() -> Unit): Service {
val builder = ServiceResourceBuilder()
builder.name(name)
block(builder)
return builder.build()
}
/**
* @see [Service].
* @param name The _unique_ name of the resulting resource.
*/
public fun service(name: String): Service {
val builder = ServiceResourceBuilder()
builder.name(name)
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy