
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