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

com.pulumi.cloudflare.kotlin.inputs.PageRuleActionsCacheKeyFieldsArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.cloudflare.kotlin.inputs

import com.pulumi.cloudflare.inputs.PageRuleActionsCacheKeyFieldsArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property cookie Controls what cookies go into Cache Key:
 * @property header Controls what HTTP headers go into Cache Key:
 * @property host Controls which Host header goes into Cache Key:
 * @property queryString Controls which URL query string parameters go into the Cache Key.
 * @property user Controls which end user-related features go into the Cache Key.
 */
public data class PageRuleActionsCacheKeyFieldsArgs(
    public val cookie: Output? = null,
    public val `header`: Output? = null,
    public val host: Output,
    public val queryString: Output,
    public val user: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.cloudflare.inputs.PageRuleActionsCacheKeyFieldsArgs =
        com.pulumi.cloudflare.inputs.PageRuleActionsCacheKeyFieldsArgs.builder()
            .cookie(cookie?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .`header`(`header`?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .host(host.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .queryString(queryString.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .user(user.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [PageRuleActionsCacheKeyFieldsArgs].
 */
@PulumiTagMarker
public class PageRuleActionsCacheKeyFieldsArgsBuilder internal constructor() {
    private var cookie: Output? = null

    private var `header`: Output? = null

    private var host: Output? = null

    private var queryString: Output? = null

    private var user: Output? = null

    /**
     * @param value Controls what cookies go into Cache Key:
     */
    @JvmName("jjnhfiytuljmjnlm")
    public suspend fun cookie(`value`: Output) {
        this.cookie = value
    }

    /**
     * @param value Controls what HTTP headers go into Cache Key:
     */
    @JvmName("dutickbpaddgomin")
    public suspend fun `header`(`value`: Output) {
        this.`header` = value
    }

    /**
     * @param value Controls which Host header goes into Cache Key:
     */
    @JvmName("ndrurjgxirhemaqa")
    public suspend fun host(`value`: Output) {
        this.host = value
    }

    /**
     * @param value Controls which URL query string parameters go into the Cache Key.
     */
    @JvmName("qxpcotgqxidhtubr")
    public suspend fun queryString(`value`: Output) {
        this.queryString = value
    }

    /**
     * @param value Controls which end user-related features go into the Cache Key.
     */
    @JvmName("gugaessuxoluqwhq")
    public suspend fun user(`value`: Output) {
        this.user = value
    }

    /**
     * @param value Controls what cookies go into Cache Key:
     */
    @JvmName("ugxtgjkeclcofwum")
    public suspend fun cookie(`value`: PageRuleActionsCacheKeyFieldsCookieArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cookie = mapped
    }

    /**
     * @param argument Controls what cookies go into Cache Key:
     */
    @JvmName("pojmkspjcdocuspf")
    public suspend fun cookie(argument: suspend PageRuleActionsCacheKeyFieldsCookieArgsBuilder.() -> Unit) {
        val toBeMapped = PageRuleActionsCacheKeyFieldsCookieArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.cookie = mapped
    }

    /**
     * @param value Controls what HTTP headers go into Cache Key:
     */
    @JvmName("twaegyvnlfscvyrw")
    public suspend fun `header`(`value`: PageRuleActionsCacheKeyFieldsHeaderArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.`header` = mapped
    }

    /**
     * @param argument Controls what HTTP headers go into Cache Key:
     */
    @JvmName("toktjjcjjpnggfva")
    public suspend fun `header`(argument: suspend PageRuleActionsCacheKeyFieldsHeaderArgsBuilder.() -> Unit) {
        val toBeMapped = PageRuleActionsCacheKeyFieldsHeaderArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.`header` = mapped
    }

    /**
     * @param value Controls which Host header goes into Cache Key:
     */
    @JvmName("hfhnqqodbxymhgxm")
    public suspend fun host(`value`: PageRuleActionsCacheKeyFieldsHostArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.host = mapped
    }

    /**
     * @param argument Controls which Host header goes into Cache Key:
     */
    @JvmName("fbpegkfuxtapmxgs")
    public suspend fun host(argument: suspend PageRuleActionsCacheKeyFieldsHostArgsBuilder.() -> Unit) {
        val toBeMapped = PageRuleActionsCacheKeyFieldsHostArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.host = mapped
    }

    /**
     * @param value Controls which URL query string parameters go into the Cache Key.
     */
    @JvmName("bituqwvhjtmmnrrs")
    public suspend fun queryString(`value`: PageRuleActionsCacheKeyFieldsQueryStringArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.queryString = mapped
    }

    /**
     * @param argument Controls which URL query string parameters go into the Cache Key.
     */
    @JvmName("kesdqdhoimamcuey")
    public suspend fun queryString(argument: suspend PageRuleActionsCacheKeyFieldsQueryStringArgsBuilder.() -> Unit) {
        val toBeMapped = PageRuleActionsCacheKeyFieldsQueryStringArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.queryString = mapped
    }

    /**
     * @param value Controls which end user-related features go into the Cache Key.
     */
    @JvmName("krepckvnjvoovfxn")
    public suspend fun user(`value`: PageRuleActionsCacheKeyFieldsUserArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.user = mapped
    }

    /**
     * @param argument Controls which end user-related features go into the Cache Key.
     */
    @JvmName("gyailldgdxogyvxu")
    public suspend fun user(argument: suspend PageRuleActionsCacheKeyFieldsUserArgsBuilder.() -> Unit) {
        val toBeMapped = PageRuleActionsCacheKeyFieldsUserArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.user = mapped
    }

    internal fun build(): PageRuleActionsCacheKeyFieldsArgs = PageRuleActionsCacheKeyFieldsArgs(
        cookie = cookie,
        `header` = `header`,
        host = host ?: throw PulumiNullFieldException("host"),
        queryString = queryString ?: throw PulumiNullFieldException("queryString"),
        user = user ?: throw PulumiNullFieldException("user"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy