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

com.pulumi.azure.cdn.kotlin.inputs.FrontdoorRouteCacheArgs.kt Maven / Gradle / Ivy

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

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

import com.pulumi.azure.cdn.inputs.FrontdoorRouteCacheArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property compressionEnabled Is content compression enabled? Possible values are `true` or `false`. Defaults to `false`.
 * > **NOTE:** Content won't be compressed when the requested content is smaller than `1 KB` or larger than `8 MB`(inclusive).
 * @property contentTypesToCompresses A list of one or more `Content types` (formerly known as `MIME types`) to compress. Possible values include `application/eot`, `application/font`, `application/font-sfnt`, `application/javascript`, `application/json`, `application/opentype`, `application/otf`, `application/pkcs7-mime`, `application/truetype`, `application/ttf`, `application/vnd.ms-fontobject`, `application/xhtml+xml`, `application/xml`, `application/xml+rss`, `application/x-font-opentype`, `application/x-font-truetype`, `application/x-font-ttf`, `application/x-httpd-cgi`, `application/x-mpegurl`, `application/x-opentype`, `application/x-otf`, `application/x-perl`, `application/x-ttf`, `application/x-javascript`, `font/eot`, `font/ttf`, `font/otf`, `font/opentype`, `image/svg+xml`, `text/css`, `text/csv`, `text/html`, `text/javascript`, `text/js`, `text/plain`, `text/richtext`, `text/tab-separated-values`, `text/xml`, `text/x-script`, `text/x-component` or `text/x-java-source`.
 * @property queryStringCachingBehavior Defines how the Front Door Route will cache requests that include query strings. Possible values include `IgnoreQueryString`, `IgnoreSpecifiedQueryStrings`, `IncludeSpecifiedQueryStrings` or `UseQueryString`. Defaults to `IgnoreQueryString`.
 * > **NOTE:** The value of the `query_string_caching_behavior` determines if the `query_strings` field will be used as an include list or an ignore list.
 * @property queryStrings Query strings to include or ignore.
 */
public data class FrontdoorRouteCacheArgs(
    public val compressionEnabled: Output? = null,
    public val contentTypesToCompresses: Output>? = null,
    public val queryStringCachingBehavior: Output? = null,
    public val queryStrings: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.cdn.inputs.FrontdoorRouteCacheArgs =
        com.pulumi.azure.cdn.inputs.FrontdoorRouteCacheArgs.builder()
            .compressionEnabled(compressionEnabled?.applyValue({ args0 -> args0 }))
            .contentTypesToCompresses(
                contentTypesToCompresses?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .queryStringCachingBehavior(queryStringCachingBehavior?.applyValue({ args0 -> args0 }))
            .queryStrings(queryStrings?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

/**
 * Builder for [FrontdoorRouteCacheArgs].
 */
@PulumiTagMarker
public class FrontdoorRouteCacheArgsBuilder internal constructor() {
    private var compressionEnabled: Output? = null

    private var contentTypesToCompresses: Output>? = null

    private var queryStringCachingBehavior: Output? = null

    private var queryStrings: Output>? = null

    /**
     * @param value Is content compression enabled? Possible values are `true` or `false`. Defaults to `false`.
     * > **NOTE:** Content won't be compressed when the requested content is smaller than `1 KB` or larger than `8 MB`(inclusive).
     */
    @JvmName("wmlueeeacbjynnqt")
    public suspend fun compressionEnabled(`value`: Output) {
        this.compressionEnabled = value
    }

    /**
     * @param value A list of one or more `Content types` (formerly known as `MIME types`) to compress. Possible values include `application/eot`, `application/font`, `application/font-sfnt`, `application/javascript`, `application/json`, `application/opentype`, `application/otf`, `application/pkcs7-mime`, `application/truetype`, `application/ttf`, `application/vnd.ms-fontobject`, `application/xhtml+xml`, `application/xml`, `application/xml+rss`, `application/x-font-opentype`, `application/x-font-truetype`, `application/x-font-ttf`, `application/x-httpd-cgi`, `application/x-mpegurl`, `application/x-opentype`, `application/x-otf`, `application/x-perl`, `application/x-ttf`, `application/x-javascript`, `font/eot`, `font/ttf`, `font/otf`, `font/opentype`, `image/svg+xml`, `text/css`, `text/csv`, `text/html`, `text/javascript`, `text/js`, `text/plain`, `text/richtext`, `text/tab-separated-values`, `text/xml`, `text/x-script`, `text/x-component` or `text/x-java-source`.
     */
    @JvmName("ocmpuikwcipfdwwr")
    public suspend fun contentTypesToCompresses(`value`: Output>) {
        this.contentTypesToCompresses = value
    }

    @JvmName("jhmfnnmtdkhdktmj")
    public suspend fun contentTypesToCompresses(vararg values: Output) {
        this.contentTypesToCompresses = Output.all(values.asList())
    }

    /**
     * @param values A list of one or more `Content types` (formerly known as `MIME types`) to compress. Possible values include `application/eot`, `application/font`, `application/font-sfnt`, `application/javascript`, `application/json`, `application/opentype`, `application/otf`, `application/pkcs7-mime`, `application/truetype`, `application/ttf`, `application/vnd.ms-fontobject`, `application/xhtml+xml`, `application/xml`, `application/xml+rss`, `application/x-font-opentype`, `application/x-font-truetype`, `application/x-font-ttf`, `application/x-httpd-cgi`, `application/x-mpegurl`, `application/x-opentype`, `application/x-otf`, `application/x-perl`, `application/x-ttf`, `application/x-javascript`, `font/eot`, `font/ttf`, `font/otf`, `font/opentype`, `image/svg+xml`, `text/css`, `text/csv`, `text/html`, `text/javascript`, `text/js`, `text/plain`, `text/richtext`, `text/tab-separated-values`, `text/xml`, `text/x-script`, `text/x-component` or `text/x-java-source`.
     */
    @JvmName("ctklidcdxdjrvrvb")
    public suspend fun contentTypesToCompresses(values: List>) {
        this.contentTypesToCompresses = Output.all(values)
    }

    /**
     * @param value Defines how the Front Door Route will cache requests that include query strings. Possible values include `IgnoreQueryString`, `IgnoreSpecifiedQueryStrings`, `IncludeSpecifiedQueryStrings` or `UseQueryString`. Defaults to `IgnoreQueryString`.
     * > **NOTE:** The value of the `query_string_caching_behavior` determines if the `query_strings` field will be used as an include list or an ignore list.
     */
    @JvmName("bdyupdorpndhffnn")
    public suspend fun queryStringCachingBehavior(`value`: Output) {
        this.queryStringCachingBehavior = value
    }

    /**
     * @param value Query strings to include or ignore.
     */
    @JvmName("nhxjmnvadtfnytsb")
    public suspend fun queryStrings(`value`: Output>) {
        this.queryStrings = value
    }

    @JvmName("vyoaqhrdjsujenor")
    public suspend fun queryStrings(vararg values: Output) {
        this.queryStrings = Output.all(values.asList())
    }

    /**
     * @param values Query strings to include or ignore.
     */
    @JvmName("urlbyjusdifapxau")
    public suspend fun queryStrings(values: List>) {
        this.queryStrings = Output.all(values)
    }

    /**
     * @param value Is content compression enabled? Possible values are `true` or `false`. Defaults to `false`.
     * > **NOTE:** Content won't be compressed when the requested content is smaller than `1 KB` or larger than `8 MB`(inclusive).
     */
    @JvmName("jqqcotcfavfufrbq")
    public suspend fun compressionEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.compressionEnabled = mapped
    }

    /**
     * @param value A list of one or more `Content types` (formerly known as `MIME types`) to compress. Possible values include `application/eot`, `application/font`, `application/font-sfnt`, `application/javascript`, `application/json`, `application/opentype`, `application/otf`, `application/pkcs7-mime`, `application/truetype`, `application/ttf`, `application/vnd.ms-fontobject`, `application/xhtml+xml`, `application/xml`, `application/xml+rss`, `application/x-font-opentype`, `application/x-font-truetype`, `application/x-font-ttf`, `application/x-httpd-cgi`, `application/x-mpegurl`, `application/x-opentype`, `application/x-otf`, `application/x-perl`, `application/x-ttf`, `application/x-javascript`, `font/eot`, `font/ttf`, `font/otf`, `font/opentype`, `image/svg+xml`, `text/css`, `text/csv`, `text/html`, `text/javascript`, `text/js`, `text/plain`, `text/richtext`, `text/tab-separated-values`, `text/xml`, `text/x-script`, `text/x-component` or `text/x-java-source`.
     */
    @JvmName("bgfkcchakjbanwwr")
    public suspend fun contentTypesToCompresses(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contentTypesToCompresses = mapped
    }

    /**
     * @param values A list of one or more `Content types` (formerly known as `MIME types`) to compress. Possible values include `application/eot`, `application/font`, `application/font-sfnt`, `application/javascript`, `application/json`, `application/opentype`, `application/otf`, `application/pkcs7-mime`, `application/truetype`, `application/ttf`, `application/vnd.ms-fontobject`, `application/xhtml+xml`, `application/xml`, `application/xml+rss`, `application/x-font-opentype`, `application/x-font-truetype`, `application/x-font-ttf`, `application/x-httpd-cgi`, `application/x-mpegurl`, `application/x-opentype`, `application/x-otf`, `application/x-perl`, `application/x-ttf`, `application/x-javascript`, `font/eot`, `font/ttf`, `font/otf`, `font/opentype`, `image/svg+xml`, `text/css`, `text/csv`, `text/html`, `text/javascript`, `text/js`, `text/plain`, `text/richtext`, `text/tab-separated-values`, `text/xml`, `text/x-script`, `text/x-component` or `text/x-java-source`.
     */
    @JvmName("nwrmeuqrkrssfguo")
    public suspend fun contentTypesToCompresses(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.contentTypesToCompresses = mapped
    }

    /**
     * @param value Defines how the Front Door Route will cache requests that include query strings. Possible values include `IgnoreQueryString`, `IgnoreSpecifiedQueryStrings`, `IncludeSpecifiedQueryStrings` or `UseQueryString`. Defaults to `IgnoreQueryString`.
     * > **NOTE:** The value of the `query_string_caching_behavior` determines if the `query_strings` field will be used as an include list or an ignore list.
     */
    @JvmName("lpeskutswwwuaqdg")
    public suspend fun queryStringCachingBehavior(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.queryStringCachingBehavior = mapped
    }

    /**
     * @param value Query strings to include or ignore.
     */
    @JvmName("qwftdkqfckpayfwf")
    public suspend fun queryStrings(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.queryStrings = mapped
    }

    /**
     * @param values Query strings to include or ignore.
     */
    @JvmName("vcgbhmbdrxdqwals")
    public suspend fun queryStrings(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.queryStrings = mapped
    }

    internal fun build(): FrontdoorRouteCacheArgs = FrontdoorRouteCacheArgs(
        compressionEnabled = compressionEnabled,
        contentTypesToCompresses = contentTypesToCompresses,
        queryStringCachingBehavior = queryStringCachingBehavior,
        queryStrings = queryStrings,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy