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

com.pulumi.awsnative.cloudfront.kotlin.inputs.ResponseHeadersPolicySecurityHeadersConfigArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.cloudfront.kotlin.inputs

import com.pulumi.awsnative.cloudfront.inputs.ResponseHeadersPolicySecurityHeadersConfigArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property contentSecurityPolicy The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.
 * For more information about the `Content-Security-Policy` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.
 * @property contentTypeOptions Determines whether CloudFront includes the `X-Content-Type-Options` HTTP response header with its value set to `nosniff` .
 * For more information about the `X-Content-Type-Options` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.
 * @property frameOptions Determines whether CloudFront includes the `X-Frame-Options` HTTP response header and the header's value.
 * For more information about the `X-Frame-Options` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.
 * @property referrerPolicy Determines whether CloudFront includes the `Referrer-Policy` HTTP response header and the header's value.
 * For more information about the `Referrer-Policy` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.
 * @property strictTransportSecurity Determines whether CloudFront includes the `Strict-Transport-Security` HTTP response header and the header's value.
 * For more information about the `Strict-Transport-Security` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.
 * @property xssProtection Determines whether CloudFront includes the `X-XSS-Protection` HTTP response header and the header's value.
 * For more information about the `X-XSS-Protection` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.
 */
public data class ResponseHeadersPolicySecurityHeadersConfigArgs(
    public val contentSecurityPolicy: Output? = null,
    public val contentTypeOptions: Output? = null,
    public val frameOptions: Output? = null,
    public val referrerPolicy: Output? = null,
    public val strictTransportSecurity: Output? =
        null,
    public val xssProtection: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.cloudfront.inputs.ResponseHeadersPolicySecurityHeadersConfigArgs =
        com.pulumi.awsnative.cloudfront.inputs.ResponseHeadersPolicySecurityHeadersConfigArgs.builder()
            .contentSecurityPolicy(
                contentSecurityPolicy?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .contentTypeOptions(
                contentTypeOptions?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .frameOptions(frameOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .referrerPolicy(referrerPolicy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .strictTransportSecurity(
                strictTransportSecurity?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .xssProtection(xssProtection?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [ResponseHeadersPolicySecurityHeadersConfigArgs].
 */
@PulumiTagMarker
public class ResponseHeadersPolicySecurityHeadersConfigArgsBuilder internal constructor() {
    private var contentSecurityPolicy: Output? = null

    private var contentTypeOptions: Output? = null

    private var frameOptions: Output? = null

    private var referrerPolicy: Output? = null

    private var strictTransportSecurity: Output? =
        null

    private var xssProtection: Output? = null

    /**
     * @param value The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.
     * For more information about the `Content-Security-Policy` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.
     */
    @JvmName("ydutltcxhxdigbax")
    public suspend fun contentSecurityPolicy(`value`: Output) {
        this.contentSecurityPolicy = value
    }

    /**
     * @param value Determines whether CloudFront includes the `X-Content-Type-Options` HTTP response header with its value set to `nosniff` .
     * For more information about the `X-Content-Type-Options` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.
     */
    @JvmName("aisfauxfkqnhevue")
    public suspend fun contentTypeOptions(`value`: Output) {
        this.contentTypeOptions = value
    }

    /**
     * @param value Determines whether CloudFront includes the `X-Frame-Options` HTTP response header and the header's value.
     * For more information about the `X-Frame-Options` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.
     */
    @JvmName("icvlafelvdxlaeva")
    public suspend fun frameOptions(`value`: Output) {
        this.frameOptions = value
    }

    /**
     * @param value Determines whether CloudFront includes the `Referrer-Policy` HTTP response header and the header's value.
     * For more information about the `Referrer-Policy` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.
     */
    @JvmName("xgfcpqolhocpldfx")
    public suspend fun referrerPolicy(`value`: Output) {
        this.referrerPolicy = value
    }

    /**
     * @param value Determines whether CloudFront includes the `Strict-Transport-Security` HTTP response header and the header's value.
     * For more information about the `Strict-Transport-Security` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.
     */
    @JvmName("rvktyqedmjnswoxf")
    public suspend fun strictTransportSecurity(`value`: Output) {
        this.strictTransportSecurity = value
    }

    /**
     * @param value Determines whether CloudFront includes the `X-XSS-Protection` HTTP response header and the header's value.
     * For more information about the `X-XSS-Protection` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.
     */
    @JvmName("nqclblioolnatyfk")
    public suspend fun xssProtection(`value`: Output) {
        this.xssProtection = value
    }

    /**
     * @param value The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.
     * For more information about the `Content-Security-Policy` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.
     */
    @JvmName("ronlqlcsjajqxbmn")
    public suspend fun contentSecurityPolicy(`value`: ResponseHeadersPolicyContentSecurityPolicyArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contentSecurityPolicy = mapped
    }

    /**
     * @param argument The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.
     * For more information about the `Content-Security-Policy` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.
     */
    @JvmName("haaikmwytjdevbnq")
    public suspend fun contentSecurityPolicy(argument: suspend ResponseHeadersPolicyContentSecurityPolicyArgsBuilder.() -> Unit) {
        val toBeMapped = ResponseHeadersPolicyContentSecurityPolicyArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.contentSecurityPolicy = mapped
    }

    /**
     * @param value Determines whether CloudFront includes the `X-Content-Type-Options` HTTP response header with its value set to `nosniff` .
     * For more information about the `X-Content-Type-Options` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.
     */
    @JvmName("nvbddvwptewvchab")
    public suspend fun contentTypeOptions(`value`: ResponseHeadersPolicyContentTypeOptionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contentTypeOptions = mapped
    }

    /**
     * @param argument Determines whether CloudFront includes the `X-Content-Type-Options` HTTP response header with its value set to `nosniff` .
     * For more information about the `X-Content-Type-Options` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.
     */
    @JvmName("ouscdjcgjyxyafya")
    public suspend fun contentTypeOptions(argument: suspend ResponseHeadersPolicyContentTypeOptionsArgsBuilder.() -> Unit) {
        val toBeMapped = ResponseHeadersPolicyContentTypeOptionsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.contentTypeOptions = mapped
    }

    /**
     * @param value Determines whether CloudFront includes the `X-Frame-Options` HTTP response header and the header's value.
     * For more information about the `X-Frame-Options` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.
     */
    @JvmName("sfkxkhmyqjjxtrfd")
    public suspend fun frameOptions(`value`: ResponseHeadersPolicyFrameOptionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.frameOptions = mapped
    }

    /**
     * @param argument Determines whether CloudFront includes the `X-Frame-Options` HTTP response header and the header's value.
     * For more information about the `X-Frame-Options` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.
     */
    @JvmName("movtptbrfctbjclf")
    public suspend fun frameOptions(argument: suspend ResponseHeadersPolicyFrameOptionsArgsBuilder.() -> Unit) {
        val toBeMapped = ResponseHeadersPolicyFrameOptionsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.frameOptions = mapped
    }

    /**
     * @param value Determines whether CloudFront includes the `Referrer-Policy` HTTP response header and the header's value.
     * For more information about the `Referrer-Policy` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.
     */
    @JvmName("joewgjebbqarmeiy")
    public suspend fun referrerPolicy(`value`: ResponseHeadersPolicyReferrerPolicyArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.referrerPolicy = mapped
    }

    /**
     * @param argument Determines whether CloudFront includes the `Referrer-Policy` HTTP response header and the header's value.
     * For more information about the `Referrer-Policy` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.
     */
    @JvmName("fvbualsaolapkqju")
    public suspend fun referrerPolicy(argument: suspend ResponseHeadersPolicyReferrerPolicyArgsBuilder.() -> Unit) {
        val toBeMapped = ResponseHeadersPolicyReferrerPolicyArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.referrerPolicy = mapped
    }

    /**
     * @param value Determines whether CloudFront includes the `Strict-Transport-Security` HTTP response header and the header's value.
     * For more information about the `Strict-Transport-Security` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.
     */
    @JvmName("cqituikxfiaeaiay")
    public suspend fun strictTransportSecurity(`value`: ResponseHeadersPolicyStrictTransportSecurityArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.strictTransportSecurity = mapped
    }

    /**
     * @param argument Determines whether CloudFront includes the `Strict-Transport-Security` HTTP response header and the header's value.
     * For more information about the `Strict-Transport-Security` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.
     */
    @JvmName("hhmqudkvhjdlidtr")
    public suspend fun strictTransportSecurity(argument: suspend ResponseHeadersPolicyStrictTransportSecurityArgsBuilder.() -> Unit) {
        val toBeMapped = ResponseHeadersPolicyStrictTransportSecurityArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.strictTransportSecurity = mapped
    }

    /**
     * @param value Determines whether CloudFront includes the `X-XSS-Protection` HTTP response header and the header's value.
     * For more information about the `X-XSS-Protection` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.
     */
    @JvmName("jtfxdbufgjpnxukq")
    public suspend fun xssProtection(`value`: ResponseHeadersPolicyXssProtectionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.xssProtection = mapped
    }

    /**
     * @param argument Determines whether CloudFront includes the `X-XSS-Protection` HTTP response header and the header's value.
     * For more information about the `X-XSS-Protection` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.
     */
    @JvmName("xgtbkjudnwssokwy")
    public suspend fun xssProtection(argument: suspend ResponseHeadersPolicyXssProtectionArgsBuilder.() -> Unit) {
        val toBeMapped = ResponseHeadersPolicyXssProtectionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.xssProtection = mapped
    }

    internal fun build(): ResponseHeadersPolicySecurityHeadersConfigArgs =
        ResponseHeadersPolicySecurityHeadersConfigArgs(
            contentSecurityPolicy = contentSecurityPolicy,
            contentTypeOptions = contentTypeOptions,
            frameOptions = frameOptions,
            referrerPolicy = referrerPolicy,
            strictTransportSecurity = strictTransportSecurity,
            xssProtection = xssProtection,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy