All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.lightsail.kotlin.inputs.DistributionOriginArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.lightsail.kotlin.inputs

import com.pulumi.aws.lightsail.inputs.DistributionOriginArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property name The name of the origin resource. Your origin can be an instance with an attached static IP, a bucket, or a load balancer that has at least one instance attached to it.
 * @property protocolPolicy The protocol that your Amazon Lightsail distribution uses when establishing a connection with your origin to pull content.
 * @property regionName The AWS Region name of the origin resource.
 * @property resourceType The resource type of the origin resource (e.g., Instance).
 */
public data class DistributionOriginArgs(
    public val name: Output,
    public val protocolPolicy: Output? = null,
    public val regionName: Output,
    public val resourceType: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.lightsail.inputs.DistributionOriginArgs =
        com.pulumi.aws.lightsail.inputs.DistributionOriginArgs.builder()
            .name(name.applyValue({ args0 -> args0 }))
            .protocolPolicy(protocolPolicy?.applyValue({ args0 -> args0 }))
            .regionName(regionName.applyValue({ args0 -> args0 }))
            .resourceType(resourceType?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DistributionOriginArgs].
 */
@PulumiTagMarker
public class DistributionOriginArgsBuilder internal constructor() {
    private var name: Output? = null

    private var protocolPolicy: Output? = null

    private var regionName: Output? = null

    private var resourceType: Output? = null

    /**
     * @param value The name of the origin resource. Your origin can be an instance with an attached static IP, a bucket, or a load balancer that has at least one instance attached to it.
     */
    @JvmName("jqqdvskthptpiyes")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The protocol that your Amazon Lightsail distribution uses when establishing a connection with your origin to pull content.
     */
    @JvmName("wfrdyrlioascdadn")
    public suspend fun protocolPolicy(`value`: Output) {
        this.protocolPolicy = value
    }

    /**
     * @param value The AWS Region name of the origin resource.
     */
    @JvmName("wfnrldmoxnxgwqfu")
    public suspend fun regionName(`value`: Output) {
        this.regionName = value
    }

    /**
     * @param value The resource type of the origin resource (e.g., Instance).
     */
    @JvmName("iwqndxpcikqjxnil")
    public suspend fun resourceType(`value`: Output) {
        this.resourceType = value
    }

    /**
     * @param value The name of the origin resource. Your origin can be an instance with an attached static IP, a bucket, or a load balancer that has at least one instance attached to it.
     */
    @JvmName("ginrqayuavncalnf")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value The protocol that your Amazon Lightsail distribution uses when establishing a connection with your origin to pull content.
     */
    @JvmName("ppcwtiwvxpvxqetm")
    public suspend fun protocolPolicy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.protocolPolicy = mapped
    }

    /**
     * @param value The AWS Region name of the origin resource.
     */
    @JvmName("jabdwvsyvnxhpckc")
    public suspend fun regionName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.regionName = mapped
    }

    /**
     * @param value The resource type of the origin resource (e.g., Instance).
     */
    @JvmName("mwrnjaltougoanua")
    public suspend fun resourceType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceType = mapped
    }

    internal fun build(): DistributionOriginArgs = DistributionOriginArgs(
        name = name ?: throw PulumiNullFieldException("name"),
        protocolPolicy = protocolPolicy,
        regionName = regionName ?: throw PulumiNullFieldException("regionName"),
        resourceType = resourceType,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy