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

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