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

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

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

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

import com.pulumi.awsnative.cloudfront.inputs.DistributionS3OriginConfigArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin or an S3 bucket that is configured as a website endpoint, use the ``CustomOriginConfig`` element instead.
 * @property originAccessIdentity The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:
 *  origin-access-identity/cloudfront/*ID-of-origin-access-identity*
 *  where ``ID-of-origin-access-identity`` is the value that CloudFront returned in the ``ID`` element when you created the origin access identity.
 *  If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty ``OriginAccessIdentity`` element.
 *  To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty ``OriginAccessIdentity`` element.
 *  To replace the origin access identity, update the distribution configuration and specify the new origin access identity.
 *  For more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.
 * */
 */
public data class DistributionS3OriginConfigArgs(
    public val originAccessIdentity: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.cloudfront.inputs.DistributionS3OriginConfigArgs =
        com.pulumi.awsnative.cloudfront.inputs.DistributionS3OriginConfigArgs.builder()
            .originAccessIdentity(originAccessIdentity?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DistributionS3OriginConfigArgs].
 */
@PulumiTagMarker
public class DistributionS3OriginConfigArgsBuilder internal constructor() {
    private var originAccessIdentity: Output? = null

    /**
     * @param value The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:
     *  origin-access-identity/cloudfront/*ID-of-origin-access-identity*
     *  where ``ID-of-origin-access-identity`` is the value that CloudFront returned in the ``ID`` element when you created the origin access identity.
     *  If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty ``OriginAccessIdentity`` element.
     *  To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty ``OriginAccessIdentity`` element.
     *  To replace the origin access identity, update the distribution configuration and specify the new origin access identity.
     *  For more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.
     * */
     */
    @JvmName("gpbeobgyinxvmjik")
    public suspend fun originAccessIdentity(`value`: Output) {
        this.originAccessIdentity = value
    }

    /**
     * @param value The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:
     *  origin-access-identity/cloudfront/*ID-of-origin-access-identity*
     *  where ``ID-of-origin-access-identity`` is the value that CloudFront returned in the ``ID`` element when you created the origin access identity.
     *  If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty ``OriginAccessIdentity`` element.
     *  To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty ``OriginAccessIdentity`` element.
     *  To replace the origin access identity, update the distribution configuration and specify the new origin access identity.
     *  For more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.
     * */
     */
    @JvmName("fbietnhriidwlahq")
    public suspend fun originAccessIdentity(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.originAccessIdentity = mapped
    }

    internal fun build(): DistributionS3OriginConfigArgs = DistributionS3OriginConfigArgs(
        originAccessIdentity = originAccessIdentity,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy