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

com.pulumi.azure.cdn.kotlin.inputs.EndpointDeliveryRuleArgs.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.

There is a newer version: 6.14.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.cdn.kotlin.inputs

import com.pulumi.azure.cdn.inputs.EndpointDeliveryRuleArgs.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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property cacheExpirationAction A `cache_expiration_action` block as defined above.
 * @property cacheKeyQueryStringAction A `cache_key_query_string_action` block as defined above.
 * @property cookiesConditions A `cookies_condition` block as defined above.
 * @property deviceCondition A `device_condition` block as defined below.
 * @property httpVersionConditions A `http_version_condition` block as defined below.
 * @property modifyRequestHeaderActions A `modify_request_header_action` block as defined below.
 * @property modifyResponseHeaderActions A `modify_response_header_action` block as defined below.
 * @property name The Name which should be used for this Delivery Rule.
 * @property order The order used for this rule. The order values should be sequential and begin at `1`.
 * @property postArgConditions A `post_arg_condition` block as defined below.
 * @property queryStringConditions A `query_string_condition` block as defined below.
 * @property remoteAddressConditions A `remote_address_condition` block as defined below.
 * @property requestBodyConditions A `request_body_condition` block as defined below.
 * @property requestHeaderConditions A `request_header_condition` block as defined below.
 * @property requestMethodCondition A `request_method_condition` block as defined below.
 * @property requestSchemeCondition A `request_scheme_condition` block as defined below.
 * @property requestUriConditions A `request_uri_condition` block as defined below.
 * @property urlFileExtensionConditions A `url_file_extension_condition` block as defined below.
 * @property urlFileNameConditions A `url_file_name_condition` block as defined below.
 * @property urlPathConditions A `url_path_condition` block as defined below.
 * @property urlRedirectAction A `url_redirect_action` block as defined below.
 * @property urlRewriteAction A `url_rewrite_action` block as defined below.
 */
public data class EndpointDeliveryRuleArgs(
    public val cacheExpirationAction: Output? = null,
    public val cacheKeyQueryStringAction: Output? =
        null,
    public val cookiesConditions: Output>? = null,
    public val deviceCondition: Output? = null,
    public val httpVersionConditions: Output>? =
        null,
    public val modifyRequestHeaderActions:
    Output>? = null,
    public val modifyResponseHeaderActions:
    Output>? = null,
    public val name: Output,
    public val order: Output,
    public val postArgConditions: Output>? = null,
    public val queryStringConditions: Output>? =
        null,
    public val remoteAddressConditions: Output>? =
        null,
    public val requestBodyConditions: Output>? =
        null,
    public val requestHeaderConditions: Output>? =
        null,
    public val requestMethodCondition: Output? = null,
    public val requestSchemeCondition: Output? = null,
    public val requestUriConditions: Output>? =
        null,
    public val urlFileExtensionConditions:
    Output>? = null,
    public val urlFileNameConditions: Output>? =
        null,
    public val urlPathConditions: Output>? = null,
    public val urlRedirectAction: Output? = null,
    public val urlRewriteAction: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.cdn.inputs.EndpointDeliveryRuleArgs =
        com.pulumi.azure.cdn.inputs.EndpointDeliveryRuleArgs.builder()
            .cacheExpirationAction(
                cacheExpirationAction?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .cacheKeyQueryStringAction(
                cacheKeyQueryStringAction?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .cookiesConditions(
                cookiesConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .deviceCondition(deviceCondition?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .httpVersionConditions(
                httpVersionConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .modifyRequestHeaderActions(
                modifyRequestHeaderActions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .modifyResponseHeaderActions(
                modifyResponseHeaderActions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .name(name.applyValue({ args0 -> args0 }))
            .order(order.applyValue({ args0 -> args0 }))
            .postArgConditions(
                postArgConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .queryStringConditions(
                queryStringConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .remoteAddressConditions(
                remoteAddressConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .requestBodyConditions(
                requestBodyConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .requestHeaderConditions(
                requestHeaderConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .requestMethodCondition(
                requestMethodCondition?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .requestSchemeCondition(
                requestSchemeCondition?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .requestUriConditions(
                requestUriConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .urlFileExtensionConditions(
                urlFileExtensionConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .urlFileNameConditions(
                urlFileNameConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .urlPathConditions(
                urlPathConditions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .urlRedirectAction(urlRedirectAction?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .urlRewriteAction(
                urlRewriteAction?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [EndpointDeliveryRuleArgs].
 */
@PulumiTagMarker
public class EndpointDeliveryRuleArgsBuilder internal constructor() {
    private var cacheExpirationAction: Output? = null

    private var cacheKeyQueryStringAction: Output? =
        null

    private var cookiesConditions: Output>? = null

    private var deviceCondition: Output? = null

    private var httpVersionConditions: Output>? =
        null

    private var modifyRequestHeaderActions:
        Output>? = null

    private var modifyResponseHeaderActions:
        Output>? = null

    private var name: Output? = null

    private var order: Output? = null

    private var postArgConditions: Output>? = null

    private var queryStringConditions: Output>? =
        null

    private var remoteAddressConditions: Output>? =
        null

    private var requestBodyConditions: Output>? =
        null

    private var requestHeaderConditions: Output>? =
        null

    private var requestMethodCondition: Output? = null

    private var requestSchemeCondition: Output? = null

    private var requestUriConditions: Output>? =
        null

    private var urlFileExtensionConditions:
        Output>? = null

    private var urlFileNameConditions: Output>? =
        null

    private var urlPathConditions: Output>? = null

    private var urlRedirectAction: Output? = null

    private var urlRewriteAction: Output? = null

    /**
     * @param value A `cache_expiration_action` block as defined above.
     */
    @JvmName("grpfxetktyoadrvm")
    public suspend
    fun cacheExpirationAction(`value`: Output) {
        this.cacheExpirationAction = value
    }

    /**
     * @param value A `cache_key_query_string_action` block as defined above.
     */
    @JvmName("uwoctcoguxkpwvrd")
    public suspend
    fun cacheKeyQueryStringAction(`value`: Output) {
        this.cacheKeyQueryStringAction = value
    }

    /**
     * @param value A `cookies_condition` block as defined above.
     */
    @JvmName("ejpinyecbccwkcqi")
    public suspend
    fun cookiesConditions(`value`: Output>) {
        this.cookiesConditions = value
    }

    @JvmName("yybptmetlxbregys")
    public suspend fun cookiesConditions(
        vararg
        values: Output,
    ) {
        this.cookiesConditions = Output.all(values.asList())
    }

    /**
     * @param values A `cookies_condition` block as defined above.
     */
    @JvmName("kpnwimcmkwqrlhbn")
    public suspend
    fun cookiesConditions(values: List>) {
        this.cookiesConditions = Output.all(values)
    }

    /**
     * @param value A `device_condition` block as defined below.
     */
    @JvmName("vypwdpvokkaapkdy")
    public suspend fun deviceCondition(`value`: Output) {
        this.deviceCondition = value
    }

    /**
     * @param value A `http_version_condition` block as defined below.
     */
    @JvmName("oybmfgafvktricim")
    public suspend
    fun httpVersionConditions(`value`: Output>) {
        this.httpVersionConditions = value
    }

    @JvmName("ekofvlbtchlqeftj")
    public suspend fun httpVersionConditions(
        vararg
        values: Output,
    ) {
        this.httpVersionConditions = Output.all(values.asList())
    }

    /**
     * @param values A `http_version_condition` block as defined below.
     */
    @JvmName("ktxdmplaqcnktoxv")
    public suspend
    fun httpVersionConditions(values: List>) {
        this.httpVersionConditions = Output.all(values)
    }

    /**
     * @param value A `modify_request_header_action` block as defined below.
     */
    @JvmName("hobvfsqjgpxpqewg")
    public suspend
    fun modifyRequestHeaderActions(`value`: Output>) {
        this.modifyRequestHeaderActions = value
    }

    @JvmName("spioayyuguuvqwve")
    public suspend fun modifyRequestHeaderActions(
        vararg
        values: Output,
    ) {
        this.modifyRequestHeaderActions = Output.all(values.asList())
    }

    /**
     * @param values A `modify_request_header_action` block as defined below.
     */
    @JvmName("fbwnwuawflyjnhbn")
    public suspend
    fun modifyRequestHeaderActions(values: List>) {
        this.modifyRequestHeaderActions = Output.all(values)
    }

    /**
     * @param value A `modify_response_header_action` block as defined below.
     */
    @JvmName("onyhilitxoawnqhm")
    public suspend
    fun modifyResponseHeaderActions(`value`: Output>) {
        this.modifyResponseHeaderActions = value
    }

    @JvmName("oukndefggafviajs")
    public suspend fun modifyResponseHeaderActions(
        vararg
        values: Output,
    ) {
        this.modifyResponseHeaderActions = Output.all(values.asList())
    }

    /**
     * @param values A `modify_response_header_action` block as defined below.
     */
    @JvmName("jpxtmusmsosjnmwd")
    public suspend
    fun modifyResponseHeaderActions(values: List>) {
        this.modifyResponseHeaderActions = Output.all(values)
    }

    /**
     * @param value The Name which should be used for this Delivery Rule.
     */
    @JvmName("jddbvlyofhavvffr")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The order used for this rule. The order values should be sequential and begin at `1`.
     */
    @JvmName("inlkvljvqtlktdpw")
    public suspend fun order(`value`: Output) {
        this.order = value
    }

    /**
     * @param value A `post_arg_condition` block as defined below.
     */
    @JvmName("vtpgepcclwakvjll")
    public suspend
    fun postArgConditions(`value`: Output>) {
        this.postArgConditions = value
    }

    @JvmName("kpnmmnpwoshwwhtd")
    public suspend fun postArgConditions(
        vararg
        values: Output,
    ) {
        this.postArgConditions = Output.all(values.asList())
    }

    /**
     * @param values A `post_arg_condition` block as defined below.
     */
    @JvmName("gscravyahkbsfadv")
    public suspend
    fun postArgConditions(values: List>) {
        this.postArgConditions = Output.all(values)
    }

    /**
     * @param value A `query_string_condition` block as defined below.
     */
    @JvmName("cxeeytakdcqmyxdk")
    public suspend
    fun queryStringConditions(`value`: Output>) {
        this.queryStringConditions = value
    }

    @JvmName("vlftexdvwqvlidfl")
    public suspend fun queryStringConditions(
        vararg
        values: Output,
    ) {
        this.queryStringConditions = Output.all(values.asList())
    }

    /**
     * @param values A `query_string_condition` block as defined below.
     */
    @JvmName("gdopfwqejfjlmydd")
    public suspend
    fun queryStringConditions(values: List>) {
        this.queryStringConditions = Output.all(values)
    }

    /**
     * @param value A `remote_address_condition` block as defined below.
     */
    @JvmName("uuccmeojeygrkflt")
    public suspend
    fun remoteAddressConditions(`value`: Output>) {
        this.remoteAddressConditions = value
    }

    @JvmName("ifeslflqelaourmj")
    public suspend fun remoteAddressConditions(
        vararg
        values: Output,
    ) {
        this.remoteAddressConditions = Output.all(values.asList())
    }

    /**
     * @param values A `remote_address_condition` block as defined below.
     */
    @JvmName("yajwecyijnedxkoo")
    public suspend
    fun remoteAddressConditions(values: List>) {
        this.remoteAddressConditions = Output.all(values)
    }

    /**
     * @param value A `request_body_condition` block as defined below.
     */
    @JvmName("sjkfkjgdywkmixxs")
    public suspend
    fun requestBodyConditions(`value`: Output>) {
        this.requestBodyConditions = value
    }

    @JvmName("jncpotvlgjaxlytj")
    public suspend fun requestBodyConditions(
        vararg
        values: Output,
    ) {
        this.requestBodyConditions = Output.all(values.asList())
    }

    /**
     * @param values A `request_body_condition` block as defined below.
     */
    @JvmName("qltqxowqthgwuxkx")
    public suspend
    fun requestBodyConditions(values: List>) {
        this.requestBodyConditions = Output.all(values)
    }

    /**
     * @param value A `request_header_condition` block as defined below.
     */
    @JvmName("rfnoqgvocjisyril")
    public suspend
    fun requestHeaderConditions(`value`: Output>) {
        this.requestHeaderConditions = value
    }

    @JvmName("oucnmuhyfbyqyqjh")
    public suspend fun requestHeaderConditions(
        vararg
        values: Output,
    ) {
        this.requestHeaderConditions = Output.all(values.asList())
    }

    /**
     * @param values A `request_header_condition` block as defined below.
     */
    @JvmName("rboollyemfebnrtk")
    public suspend
    fun requestHeaderConditions(values: List>) {
        this.requestHeaderConditions = Output.all(values)
    }

    /**
     * @param value A `request_method_condition` block as defined below.
     */
    @JvmName("mdoaiuwijnxlvvba")
    public suspend
    fun requestMethodCondition(`value`: Output) {
        this.requestMethodCondition = value
    }

    /**
     * @param value A `request_scheme_condition` block as defined below.
     */
    @JvmName("hphcsgghqtwpdkvi")
    public suspend
    fun requestSchemeCondition(`value`: Output) {
        this.requestSchemeCondition = value
    }

    /**
     * @param value A `request_uri_condition` block as defined below.
     */
    @JvmName("mtxxfyyfcmhwssbf")
    public suspend
    fun requestUriConditions(`value`: Output>) {
        this.requestUriConditions = value
    }

    @JvmName("mqkxxnbvllmfsgjc")
    public suspend fun requestUriConditions(
        vararg
        values: Output,
    ) {
        this.requestUriConditions = Output.all(values.asList())
    }

    /**
     * @param values A `request_uri_condition` block as defined below.
     */
    @JvmName("sqtawcbjvthfwnky")
    public suspend
    fun requestUriConditions(values: List>) {
        this.requestUriConditions = Output.all(values)
    }

    /**
     * @param value A `url_file_extension_condition` block as defined below.
     */
    @JvmName("rxkyuplfcbhnnkaf")
    public suspend
    fun urlFileExtensionConditions(`value`: Output>) {
        this.urlFileExtensionConditions = value
    }

    @JvmName("hatdnidemtmvmetg")
    public suspend fun urlFileExtensionConditions(
        vararg
        values: Output,
    ) {
        this.urlFileExtensionConditions = Output.all(values.asList())
    }

    /**
     * @param values A `url_file_extension_condition` block as defined below.
     */
    @JvmName("pvhkscxfdatrwvsi")
    public suspend
    fun urlFileExtensionConditions(values: List>) {
        this.urlFileExtensionConditions = Output.all(values)
    }

    /**
     * @param value A `url_file_name_condition` block as defined below.
     */
    @JvmName("cvfnpasdhfvewdtp")
    public suspend
    fun urlFileNameConditions(`value`: Output>) {
        this.urlFileNameConditions = value
    }

    @JvmName("kwaemevdktdtwani")
    public suspend fun urlFileNameConditions(
        vararg
        values: Output,
    ) {
        this.urlFileNameConditions = Output.all(values.asList())
    }

    /**
     * @param values A `url_file_name_condition` block as defined below.
     */
    @JvmName("ododlhdfntfjohnn")
    public suspend
    fun urlFileNameConditions(values: List>) {
        this.urlFileNameConditions = Output.all(values)
    }

    /**
     * @param value A `url_path_condition` block as defined below.
     */
    @JvmName("ktkalifbiconmoyt")
    public suspend
    fun urlPathConditions(`value`: Output>) {
        this.urlPathConditions = value
    }

    @JvmName("iiahflinchpiucdn")
    public suspend fun urlPathConditions(
        vararg
        values: Output,
    ) {
        this.urlPathConditions = Output.all(values.asList())
    }

    /**
     * @param values A `url_path_condition` block as defined below.
     */
    @JvmName("twwhnkmulmjehpbq")
    public suspend
    fun urlPathConditions(values: List>) {
        this.urlPathConditions = Output.all(values)
    }

    /**
     * @param value A `url_redirect_action` block as defined below.
     */
    @JvmName("bxpxfcyxjgtlkqme")
    public suspend fun urlRedirectAction(`value`: Output) {
        this.urlRedirectAction = value
    }

    /**
     * @param value A `url_rewrite_action` block as defined below.
     */
    @JvmName("nqnkokijumixafdn")
    public suspend fun urlRewriteAction(`value`: Output) {
        this.urlRewriteAction = value
    }

    /**
     * @param value A `cache_expiration_action` block as defined above.
     */
    @JvmName("nlguohmhrabwrbeg")
    public suspend
    fun cacheExpirationAction(`value`: EndpointDeliveryRuleCacheExpirationActionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cacheExpirationAction = mapped
    }

    /**
     * @param argument A `cache_expiration_action` block as defined above.
     */
    @JvmName("daidvippdqohnfxi")
    public suspend
    fun cacheExpirationAction(argument: suspend EndpointDeliveryRuleCacheExpirationActionArgsBuilder.() -> Unit) {
        val toBeMapped = EndpointDeliveryRuleCacheExpirationActionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.cacheExpirationAction = mapped
    }

    /**
     * @param value A `cache_key_query_string_action` block as defined above.
     */
    @JvmName("ewajqqqreujvonxs")
    public suspend
    fun cacheKeyQueryStringAction(`value`: EndpointDeliveryRuleCacheKeyQueryStringActionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cacheKeyQueryStringAction = mapped
    }

    /**
     * @param argument A `cache_key_query_string_action` block as defined above.
     */
    @JvmName("tillrdcmohwkhgqx")
    public suspend
    fun cacheKeyQueryStringAction(argument: suspend EndpointDeliveryRuleCacheKeyQueryStringActionArgsBuilder.() -> Unit) {
        val toBeMapped = EndpointDeliveryRuleCacheKeyQueryStringActionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.cacheKeyQueryStringAction = mapped
    }

    /**
     * @param value A `cookies_condition` block as defined above.
     */
    @JvmName("dymgrfqhgnayvljp")
    public suspend fun cookiesConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cookiesConditions = mapped
    }

    /**
     * @param argument A `cookies_condition` block as defined above.
     */
    @JvmName("ufsfkkwcogasrexm")
    public suspend
    fun cookiesConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleCookiesConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.cookiesConditions = mapped
    }

    /**
     * @param argument A `cookies_condition` block as defined above.
     */
    @JvmName("jagsiqtrdehgygrk")
    public suspend fun cookiesConditions(
        vararg
        argument: suspend EndpointDeliveryRuleCookiesConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleCookiesConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.cookiesConditions = mapped
    }

    /**
     * @param argument A `cookies_condition` block as defined above.
     */
    @JvmName("odjctmihtlyogsqg")
    public suspend
    fun cookiesConditions(argument: suspend EndpointDeliveryRuleCookiesConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleCookiesConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.cookiesConditions = mapped
    }

    /**
     * @param values A `cookies_condition` block as defined above.
     */
    @JvmName("soldgqummsfxaqnk")
    public suspend fun cookiesConditions(vararg values: EndpointDeliveryRuleCookiesConditionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.cookiesConditions = mapped
    }

    /**
     * @param value A `device_condition` block as defined below.
     */
    @JvmName("boxhaolfjmfycuas")
    public suspend fun deviceCondition(`value`: EndpointDeliveryRuleDeviceConditionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.deviceCondition = mapped
    }

    /**
     * @param argument A `device_condition` block as defined below.
     */
    @JvmName("pgbmuuxeoujyuddk")
    public suspend
    fun deviceCondition(argument: suspend EndpointDeliveryRuleDeviceConditionArgsBuilder.() -> Unit) {
        val toBeMapped = EndpointDeliveryRuleDeviceConditionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.deviceCondition = mapped
    }

    /**
     * @param value A `http_version_condition` block as defined below.
     */
    @JvmName("kkvqwqtqsfbgdktq")
    public suspend
    fun httpVersionConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpVersionConditions = mapped
    }

    /**
     * @param argument A `http_version_condition` block as defined below.
     */
    @JvmName("bhhujvninlxwlgco")
    public suspend
    fun httpVersionConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleHttpVersionConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.httpVersionConditions = mapped
    }

    /**
     * @param argument A `http_version_condition` block as defined below.
     */
    @JvmName("qvvujijprrgkxyqc")
    public suspend fun httpVersionConditions(
        vararg
        argument: suspend EndpointDeliveryRuleHttpVersionConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleHttpVersionConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.httpVersionConditions = mapped
    }

    /**
     * @param argument A `http_version_condition` block as defined below.
     */
    @JvmName("vcspwsmrdnkfrxqe")
    public suspend
    fun httpVersionConditions(argument: suspend EndpointDeliveryRuleHttpVersionConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleHttpVersionConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.httpVersionConditions = mapped
    }

    /**
     * @param values A `http_version_condition` block as defined below.
     */
    @JvmName("ewwkqsohvhvftmqt")
    public suspend fun httpVersionConditions(
        vararg
        values: EndpointDeliveryRuleHttpVersionConditionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.httpVersionConditions = mapped
    }

    /**
     * @param value A `modify_request_header_action` block as defined below.
     */
    @JvmName("fooqimggeggqofna")
    public suspend
    fun modifyRequestHeaderActions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.modifyRequestHeaderActions = mapped
    }

    /**
     * @param argument A `modify_request_header_action` block as defined below.
     */
    @JvmName("uxinrnywaltcmpdo")
    public suspend
    fun modifyRequestHeaderActions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleModifyRequestHeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.modifyRequestHeaderActions = mapped
    }

    /**
     * @param argument A `modify_request_header_action` block as defined below.
     */
    @JvmName("mpougvcwkpolprni")
    public suspend fun modifyRequestHeaderActions(
        vararg
        argument: suspend EndpointDeliveryRuleModifyRequestHeaderActionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleModifyRequestHeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.modifyRequestHeaderActions = mapped
    }

    /**
     * @param argument A `modify_request_header_action` block as defined below.
     */
    @JvmName("ckuikvfkxjbvtcwr")
    public suspend
    fun modifyRequestHeaderActions(argument: suspend EndpointDeliveryRuleModifyRequestHeaderActionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleModifyRequestHeaderActionArgsBuilder().applySuspend
                { argument() }.build(),
        )
        val mapped = of(toBeMapped)
        this.modifyRequestHeaderActions = mapped
    }

    /**
     * @param values A `modify_request_header_action` block as defined below.
     */
    @JvmName("gaaewhbrokekabow")
    public suspend fun modifyRequestHeaderActions(
        vararg
        values: EndpointDeliveryRuleModifyRequestHeaderActionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.modifyRequestHeaderActions = mapped
    }

    /**
     * @param value A `modify_response_header_action` block as defined below.
     */
    @JvmName("nmuavpqafvklbtkk")
    public suspend
    fun modifyResponseHeaderActions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.modifyResponseHeaderActions = mapped
    }

    /**
     * @param argument A `modify_response_header_action` block as defined below.
     */
    @JvmName("sbkywlicefaeyxup")
    public suspend
    fun modifyResponseHeaderActions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleModifyResponseHeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.modifyResponseHeaderActions = mapped
    }

    /**
     * @param argument A `modify_response_header_action` block as defined below.
     */
    @JvmName("xgipoepnpqjkwaun")
    public suspend fun modifyResponseHeaderActions(
        vararg
        argument: suspend EndpointDeliveryRuleModifyResponseHeaderActionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleModifyResponseHeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.modifyResponseHeaderActions = mapped
    }

    /**
     * @param argument A `modify_response_header_action` block as defined below.
     */
    @JvmName("jiirvkfsdgldyucj")
    public suspend
    fun modifyResponseHeaderActions(argument: suspend EndpointDeliveryRuleModifyResponseHeaderActionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleModifyResponseHeaderActionArgsBuilder().applySuspend
                { argument() }.build(),
        )
        val mapped = of(toBeMapped)
        this.modifyResponseHeaderActions = mapped
    }

    /**
     * @param values A `modify_response_header_action` block as defined below.
     */
    @JvmName("rtlrxvceohmkgshv")
    public suspend fun modifyResponseHeaderActions(
        vararg
        values: EndpointDeliveryRuleModifyResponseHeaderActionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.modifyResponseHeaderActions = mapped
    }

    /**
     * @param value The Name which should be used for this Delivery Rule.
     */
    @JvmName("qwaqqcsegxmhwlwg")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value The order used for this rule. The order values should be sequential and begin at `1`.
     */
    @JvmName("qieanccvhksdtjmh")
    public suspend fun order(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.order = mapped
    }

    /**
     * @param value A `post_arg_condition` block as defined below.
     */
    @JvmName("coqdrvimpeuvxlbf")
    public suspend fun postArgConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.postArgConditions = mapped
    }

    /**
     * @param argument A `post_arg_condition` block as defined below.
     */
    @JvmName("mhonjhscwgheitbg")
    public suspend
    fun postArgConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRulePostArgConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.postArgConditions = mapped
    }

    /**
     * @param argument A `post_arg_condition` block as defined below.
     */
    @JvmName("wavoedbsofhcuvuy")
    public suspend fun postArgConditions(
        vararg
        argument: suspend EndpointDeliveryRulePostArgConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRulePostArgConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.postArgConditions = mapped
    }

    /**
     * @param argument A `post_arg_condition` block as defined below.
     */
    @JvmName("wrbgskkqqvydvlxm")
    public suspend
    fun postArgConditions(argument: suspend EndpointDeliveryRulePostArgConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRulePostArgConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.postArgConditions = mapped
    }

    /**
     * @param values A `post_arg_condition` block as defined below.
     */
    @JvmName("ochmhvvsictpqcpi")
    public suspend fun postArgConditions(vararg values: EndpointDeliveryRulePostArgConditionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.postArgConditions = mapped
    }

    /**
     * @param value A `query_string_condition` block as defined below.
     */
    @JvmName("lueamjxcmiqsftru")
    public suspend
    fun queryStringConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.queryStringConditions = mapped
    }

    /**
     * @param argument A `query_string_condition` block as defined below.
     */
    @JvmName("cqjrvfnmfwgeonun")
    public suspend
    fun queryStringConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleQueryStringConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.queryStringConditions = mapped
    }

    /**
     * @param argument A `query_string_condition` block as defined below.
     */
    @JvmName("xuuleeaqppxcluut")
    public suspend fun queryStringConditions(
        vararg
        argument: suspend EndpointDeliveryRuleQueryStringConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleQueryStringConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.queryStringConditions = mapped
    }

    /**
     * @param argument A `query_string_condition` block as defined below.
     */
    @JvmName("oqddkmlfofdpqapt")
    public suspend
    fun queryStringConditions(argument: suspend EndpointDeliveryRuleQueryStringConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleQueryStringConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.queryStringConditions = mapped
    }

    /**
     * @param values A `query_string_condition` block as defined below.
     */
    @JvmName("wfidugbuyoxrmqkb")
    public suspend fun queryStringConditions(
        vararg
        values: EndpointDeliveryRuleQueryStringConditionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.queryStringConditions = mapped
    }

    /**
     * @param value A `remote_address_condition` block as defined below.
     */
    @JvmName("ahicigyxklluwgdw")
    public suspend
    fun remoteAddressConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.remoteAddressConditions = mapped
    }

    /**
     * @param argument A `remote_address_condition` block as defined below.
     */
    @JvmName("aogdnhabgpqeccbb")
    public suspend
    fun remoteAddressConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleRemoteAddressConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.remoteAddressConditions = mapped
    }

    /**
     * @param argument A `remote_address_condition` block as defined below.
     */
    @JvmName("meouckacvoacinxo")
    public suspend fun remoteAddressConditions(
        vararg
        argument: suspend EndpointDeliveryRuleRemoteAddressConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleRemoteAddressConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.remoteAddressConditions = mapped
    }

    /**
     * @param argument A `remote_address_condition` block as defined below.
     */
    @JvmName("knqgadavwmuyklwn")
    public suspend
    fun remoteAddressConditions(argument: suspend EndpointDeliveryRuleRemoteAddressConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleRemoteAddressConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.remoteAddressConditions = mapped
    }

    /**
     * @param values A `remote_address_condition` block as defined below.
     */
    @JvmName("fsjxvggeluhvoduw")
    public suspend fun remoteAddressConditions(
        vararg
        values: EndpointDeliveryRuleRemoteAddressConditionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.remoteAddressConditions = mapped
    }

    /**
     * @param value A `request_body_condition` block as defined below.
     */
    @JvmName("eqjgkaahjbstcgyj")
    public suspend
    fun requestBodyConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestBodyConditions = mapped
    }

    /**
     * @param argument A `request_body_condition` block as defined below.
     */
    @JvmName("fvbsxxrgokaufswe")
    public suspend
    fun requestBodyConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleRequestBodyConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestBodyConditions = mapped
    }

    /**
     * @param argument A `request_body_condition` block as defined below.
     */
    @JvmName("rpbcffqqjbsqiygs")
    public suspend fun requestBodyConditions(
        vararg
        argument: suspend EndpointDeliveryRuleRequestBodyConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleRequestBodyConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestBodyConditions = mapped
    }

    /**
     * @param argument A `request_body_condition` block as defined below.
     */
    @JvmName("kjvnnbssmlvhdcjw")
    public suspend
    fun requestBodyConditions(argument: suspend EndpointDeliveryRuleRequestBodyConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleRequestBodyConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.requestBodyConditions = mapped
    }

    /**
     * @param values A `request_body_condition` block as defined below.
     */
    @JvmName("orcekarmmssxrglm")
    public suspend fun requestBodyConditions(
        vararg
        values: EndpointDeliveryRuleRequestBodyConditionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestBodyConditions = mapped
    }

    /**
     * @param value A `request_header_condition` block as defined below.
     */
    @JvmName("lvgmicqqctwontbo")
    public suspend
    fun requestHeaderConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestHeaderConditions = mapped
    }

    /**
     * @param argument A `request_header_condition` block as defined below.
     */
    @JvmName("jevmjckpaggbeclf")
    public suspend
    fun requestHeaderConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleRequestHeaderConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderConditions = mapped
    }

    /**
     * @param argument A `request_header_condition` block as defined below.
     */
    @JvmName("arfmeaclttsyapho")
    public suspend fun requestHeaderConditions(
        vararg
        argument: suspend EndpointDeliveryRuleRequestHeaderConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleRequestHeaderConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderConditions = mapped
    }

    /**
     * @param argument A `request_header_condition` block as defined below.
     */
    @JvmName("hkjqbjlpqltofcyf")
    public suspend
    fun requestHeaderConditions(argument: suspend EndpointDeliveryRuleRequestHeaderConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleRequestHeaderConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.requestHeaderConditions = mapped
    }

    /**
     * @param values A `request_header_condition` block as defined below.
     */
    @JvmName("iuglikkavguctlij")
    public suspend fun requestHeaderConditions(
        vararg
        values: EndpointDeliveryRuleRequestHeaderConditionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestHeaderConditions = mapped
    }

    /**
     * @param value A `request_method_condition` block as defined below.
     */
    @JvmName("wnbdvylovhshwwho")
    public suspend
    fun requestMethodCondition(`value`: EndpointDeliveryRuleRequestMethodConditionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestMethodCondition = mapped
    }

    /**
     * @param argument A `request_method_condition` block as defined below.
     */
    @JvmName("ngrudbbycnnupory")
    public suspend
    fun requestMethodCondition(argument: suspend EndpointDeliveryRuleRequestMethodConditionArgsBuilder.() -> Unit) {
        val toBeMapped = EndpointDeliveryRuleRequestMethodConditionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.requestMethodCondition = mapped
    }

    /**
     * @param value A `request_scheme_condition` block as defined below.
     */
    @JvmName("nkmedfwnfllgvoge")
    public suspend
    fun requestSchemeCondition(`value`: EndpointDeliveryRuleRequestSchemeConditionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestSchemeCondition = mapped
    }

    /**
     * @param argument A `request_scheme_condition` block as defined below.
     */
    @JvmName("ugvagfvfkkdvjyaj")
    public suspend
    fun requestSchemeCondition(argument: suspend EndpointDeliveryRuleRequestSchemeConditionArgsBuilder.() -> Unit) {
        val toBeMapped = EndpointDeliveryRuleRequestSchemeConditionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.requestSchemeCondition = mapped
    }

    /**
     * @param value A `request_uri_condition` block as defined below.
     */
    @JvmName("wwliqhujvprldecs")
    public suspend
    fun requestUriConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestUriConditions = mapped
    }

    /**
     * @param argument A `request_uri_condition` block as defined below.
     */
    @JvmName("ttopmidduyaugtly")
    public suspend
    fun requestUriConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleRequestUriConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestUriConditions = mapped
    }

    /**
     * @param argument A `request_uri_condition` block as defined below.
     */
    @JvmName("ackpylcjtncjvfsr")
    public suspend fun requestUriConditions(
        vararg
        argument: suspend EndpointDeliveryRuleRequestUriConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleRequestUriConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestUriConditions = mapped
    }

    /**
     * @param argument A `request_uri_condition` block as defined below.
     */
    @JvmName("exhdvusxvfeahlkg")
    public suspend
    fun requestUriConditions(argument: suspend EndpointDeliveryRuleRequestUriConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleRequestUriConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.requestUriConditions = mapped
    }

    /**
     * @param values A `request_uri_condition` block as defined below.
     */
    @JvmName("kcbikndpyvfjdxlt")
    public suspend fun requestUriConditions(
        vararg
        values: EndpointDeliveryRuleRequestUriConditionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestUriConditions = mapped
    }

    /**
     * @param value A `url_file_extension_condition` block as defined below.
     */
    @JvmName("yabojnpmtjtkbksb")
    public suspend
    fun urlFileExtensionConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlFileExtensionConditions = mapped
    }

    /**
     * @param argument A `url_file_extension_condition` block as defined below.
     */
    @JvmName("pckgkdmnfwwfpfls")
    public suspend
    fun urlFileExtensionConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleUrlFileExtensionConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.urlFileExtensionConditions = mapped
    }

    /**
     * @param argument A `url_file_extension_condition` block as defined below.
     */
    @JvmName("svxklxbssbiwnknj")
    public suspend fun urlFileExtensionConditions(
        vararg
        argument: suspend EndpointDeliveryRuleUrlFileExtensionConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleUrlFileExtensionConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.urlFileExtensionConditions = mapped
    }

    /**
     * @param argument A `url_file_extension_condition` block as defined below.
     */
    @JvmName("eatdkwtqepqoadyw")
    public suspend
    fun urlFileExtensionConditions(argument: suspend EndpointDeliveryRuleUrlFileExtensionConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleUrlFileExtensionConditionArgsBuilder().applySuspend
                { argument() }.build(),
        )
        val mapped = of(toBeMapped)
        this.urlFileExtensionConditions = mapped
    }

    /**
     * @param values A `url_file_extension_condition` block as defined below.
     */
    @JvmName("kqdwnjisjdhrrbbm")
    public suspend fun urlFileExtensionConditions(
        vararg
        values: EndpointDeliveryRuleUrlFileExtensionConditionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.urlFileExtensionConditions = mapped
    }

    /**
     * @param value A `url_file_name_condition` block as defined below.
     */
    @JvmName("lmpjfrlfjqcaljma")
    public suspend
    fun urlFileNameConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlFileNameConditions = mapped
    }

    /**
     * @param argument A `url_file_name_condition` block as defined below.
     */
    @JvmName("iqbpojdlckymnepj")
    public suspend
    fun urlFileNameConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleUrlFileNameConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.urlFileNameConditions = mapped
    }

    /**
     * @param argument A `url_file_name_condition` block as defined below.
     */
    @JvmName("uuqrloqhqiojajll")
    public suspend fun urlFileNameConditions(
        vararg
        argument: suspend EndpointDeliveryRuleUrlFileNameConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleUrlFileNameConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.urlFileNameConditions = mapped
    }

    /**
     * @param argument A `url_file_name_condition` block as defined below.
     */
    @JvmName("wqgfxrljkgkrqqha")
    public suspend
    fun urlFileNameConditions(argument: suspend EndpointDeliveryRuleUrlFileNameConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleUrlFileNameConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.urlFileNameConditions = mapped
    }

    /**
     * @param values A `url_file_name_condition` block as defined below.
     */
    @JvmName("jcforcdyfyxnjiqf")
    public suspend fun urlFileNameConditions(
        vararg
        values: EndpointDeliveryRuleUrlFileNameConditionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.urlFileNameConditions = mapped
    }

    /**
     * @param value A `url_path_condition` block as defined below.
     */
    @JvmName("ufhbpbblipwaayda")
    public suspend fun urlPathConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlPathConditions = mapped
    }

    /**
     * @param argument A `url_path_condition` block as defined below.
     */
    @JvmName("drmvtyfgyhcsykwm")
    public suspend
    fun urlPathConditions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleUrlPathConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.urlPathConditions = mapped
    }

    /**
     * @param argument A `url_path_condition` block as defined below.
     */
    @JvmName("dkrnnthwfoanmlpf")
    public suspend fun urlPathConditions(
        vararg
        argument: suspend EndpointDeliveryRuleUrlPathConditionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            EndpointDeliveryRuleUrlPathConditionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.urlPathConditions = mapped
    }

    /**
     * @param argument A `url_path_condition` block as defined below.
     */
    @JvmName("njnchcuyaewaankd")
    public suspend
    fun urlPathConditions(argument: suspend EndpointDeliveryRuleUrlPathConditionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EndpointDeliveryRuleUrlPathConditionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.urlPathConditions = mapped
    }

    /**
     * @param values A `url_path_condition` block as defined below.
     */
    @JvmName("eylcmniygxaogyca")
    public suspend fun urlPathConditions(vararg values: EndpointDeliveryRuleUrlPathConditionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.urlPathConditions = mapped
    }

    /**
     * @param value A `url_redirect_action` block as defined below.
     */
    @JvmName("lnqmpogxiigcybgw")
    public suspend fun urlRedirectAction(`value`: EndpointDeliveryRuleUrlRedirectActionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlRedirectAction = mapped
    }

    /**
     * @param argument A `url_redirect_action` block as defined below.
     */
    @JvmName("scjreldwabaaxfvi")
    public suspend
    fun urlRedirectAction(argument: suspend EndpointDeliveryRuleUrlRedirectActionArgsBuilder.() -> Unit) {
        val toBeMapped = EndpointDeliveryRuleUrlRedirectActionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.urlRedirectAction = mapped
    }

    /**
     * @param value A `url_rewrite_action` block as defined below.
     */
    @JvmName("srpmyrtypiitucba")
    public suspend fun urlRewriteAction(`value`: EndpointDeliveryRuleUrlRewriteActionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlRewriteAction = mapped
    }

    /**
     * @param argument A `url_rewrite_action` block as defined below.
     */
    @JvmName("xjrkrjhthhfigeyq")
    public suspend
    fun urlRewriteAction(argument: suspend EndpointDeliveryRuleUrlRewriteActionArgsBuilder.() -> Unit) {
        val toBeMapped = EndpointDeliveryRuleUrlRewriteActionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.urlRewriteAction = mapped
    }

    internal fun build(): EndpointDeliveryRuleArgs = EndpointDeliveryRuleArgs(
        cacheExpirationAction = cacheExpirationAction,
        cacheKeyQueryStringAction = cacheKeyQueryStringAction,
        cookiesConditions = cookiesConditions,
        deviceCondition = deviceCondition,
        httpVersionConditions = httpVersionConditions,
        modifyRequestHeaderActions = modifyRequestHeaderActions,
        modifyResponseHeaderActions = modifyResponseHeaderActions,
        name = name ?: throw PulumiNullFieldException("name"),
        order = order ?: throw PulumiNullFieldException("order"),
        postArgConditions = postArgConditions,
        queryStringConditions = queryStringConditions,
        remoteAddressConditions = remoteAddressConditions,
        requestBodyConditions = requestBodyConditions,
        requestHeaderConditions = requestHeaderConditions,
        requestMethodCondition = requestMethodCondition,
        requestSchemeCondition = requestSchemeCondition,
        requestUriConditions = requestUriConditions,
        urlFileExtensionConditions = urlFileExtensionConditions,
        urlFileNameConditions = urlFileNameConditions,
        urlPathConditions = urlPathConditions,
        urlRedirectAction = urlRedirectAction,
        urlRewriteAction = urlRewriteAction,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy