![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.cloudfront.kotlin.outputs.OriginAccessControlConfig.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.cloudfront.kotlin.outputs
import kotlin.String
import kotlin.Suppress
/**
*
* @property description A description of the origin access control.
* @property name A name to identify the origin access control. You can specify up to 64 characters.
* @property originAccessControlOriginType The type of origin that this origin access control is for.
* @property signingBehavior Specifies which requests CloudFront signs (adds authentication information to). Specify `always` for the most common use case. For more information, see [origin access control advanced settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings) in the *Amazon CloudFront Developer Guide* .
* This field can have one of the following values:
* - `always` – CloudFront signs all origin requests, overwriting the `Authorization` header from the viewer request if one exists.
* - `never` – CloudFront doesn't sign any origin requests. This value turns off origin access control for all origins in all distributions that use this origin access control.
* - `no-override` – If the viewer request doesn't contain the `Authorization` header, then CloudFront signs the origin request. If the viewer request contains the `Authorization` header, then CloudFront doesn't sign the origin request and instead passes along the `Authorization` header from the viewer request. *WARNING: To pass along the `Authorization` header from the viewer request, you *must* add the `Authorization` header to a [cache policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html) for all cache behaviors that use origins associated with this origin access control.*
* @property signingProtocol The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests. The only valid value is `sigv4` .
*/
public data class OriginAccessControlConfig(
public val description: String? = null,
public val name: String,
public val originAccessControlOriginType: String,
public val signingBehavior: String,
public val signingProtocol: String,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.cloudfront.outputs.OriginAccessControlConfig): OriginAccessControlConfig = OriginAccessControlConfig(
description = javaType.description().map({ args0 -> args0 }).orElse(null),
name = javaType.name(),
originAccessControlOriginType = javaType.originAccessControlOriginType(),
signingBehavior = javaType.signingBehavior(),
signingProtocol = javaType.signingProtocol(),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy