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

com.pulumi.aws.cloudfront.inputs.CachePolicyState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.cloudfront.inputs;

import com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class CachePolicyState extends com.pulumi.resources.ResourceArgs {

    public static final CachePolicyState Empty = new CachePolicyState();

    /**
     * Description for the cache policy.
     * 
     */
    @Import(name="comment")
    private @Nullable Output comment;

    /**
     * @return Description for the cache policy.
     * 
     */
    public Optional> comment() {
        return Optional.ofNullable(this.comment);
    }

    /**
     * Amount of time, in seconds, that objects are allowed to remain in the CloudFront cache before CloudFront sends a new request to the origin server to check if the object has been updated.
     * 
     */
    @Import(name="defaultTtl")
    private @Nullable Output defaultTtl;

    /**
     * @return Amount of time, in seconds, that objects are allowed to remain in the CloudFront cache before CloudFront sends a new request to the origin server to check if the object has been updated.
     * 
     */
    public Optional> defaultTtl() {
        return Optional.ofNullable(this.defaultTtl);
    }

    /**
     * Current version of the cache policy.
     * 
     */
    @Import(name="etag")
    private @Nullable Output etag;

    /**
     * @return Current version of the cache policy.
     * 
     */
    public Optional> etag() {
        return Optional.ofNullable(this.etag);
    }

    /**
     * Maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated.
     * 
     */
    @Import(name="maxTtl")
    private @Nullable Output maxTtl;

    /**
     * @return Maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated.
     * 
     */
    public Optional> maxTtl() {
        return Optional.ofNullable(this.maxTtl);
    }

    /**
     * Minimum amount of time, in seconds, that objects should remain in the CloudFront cache before a new request is sent to the origin to check for updates.
     * 
     */
    @Import(name="minTtl")
    private @Nullable Output minTtl;

    /**
     * @return Minimum amount of time, in seconds, that objects should remain in the CloudFront cache before a new request is sent to the origin to check for updates.
     * 
     */
    public Optional> minTtl() {
        return Optional.ofNullable(this.minTtl);
    }

    /**
     * Unique name used to identify the cache policy.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Unique name used to identify the cache policy.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Configuration for including HTTP headers, cookies, and URL query strings in the cache key. For more information, refer to the Parameters In Cache Key And Forwarded To Origin section.
     * 
     */
    @Import(name="parametersInCacheKeyAndForwardedToOrigin")
    private @Nullable Output parametersInCacheKeyAndForwardedToOrigin;

    /**
     * @return Configuration for including HTTP headers, cookies, and URL query strings in the cache key. For more information, refer to the Parameters In Cache Key And Forwarded To Origin section.
     * 
     */
    public Optional> parametersInCacheKeyAndForwardedToOrigin() {
        return Optional.ofNullable(this.parametersInCacheKeyAndForwardedToOrigin);
    }

    private CachePolicyState() {}

    private CachePolicyState(CachePolicyState $) {
        this.comment = $.comment;
        this.defaultTtl = $.defaultTtl;
        this.etag = $.etag;
        this.maxTtl = $.maxTtl;
        this.minTtl = $.minTtl;
        this.name = $.name;
        this.parametersInCacheKeyAndForwardedToOrigin = $.parametersInCacheKeyAndForwardedToOrigin;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(CachePolicyState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private CachePolicyState $;

        public Builder() {
            $ = new CachePolicyState();
        }

        public Builder(CachePolicyState defaults) {
            $ = new CachePolicyState(Objects.requireNonNull(defaults));
        }

        /**
         * @param comment Description for the cache policy.
         * 
         * @return builder
         * 
         */
        public Builder comment(@Nullable Output comment) {
            $.comment = comment;
            return this;
        }

        /**
         * @param comment Description for the cache policy.
         * 
         * @return builder
         * 
         */
        public Builder comment(String comment) {
            return comment(Output.of(comment));
        }

        /**
         * @param defaultTtl Amount of time, in seconds, that objects are allowed to remain in the CloudFront cache before CloudFront sends a new request to the origin server to check if the object has been updated.
         * 
         * @return builder
         * 
         */
        public Builder defaultTtl(@Nullable Output defaultTtl) {
            $.defaultTtl = defaultTtl;
            return this;
        }

        /**
         * @param defaultTtl Amount of time, in seconds, that objects are allowed to remain in the CloudFront cache before CloudFront sends a new request to the origin server to check if the object has been updated.
         * 
         * @return builder
         * 
         */
        public Builder defaultTtl(Integer defaultTtl) {
            return defaultTtl(Output.of(defaultTtl));
        }

        /**
         * @param etag Current version of the cache policy.
         * 
         * @return builder
         * 
         */
        public Builder etag(@Nullable Output etag) {
            $.etag = etag;
            return this;
        }

        /**
         * @param etag Current version of the cache policy.
         * 
         * @return builder
         * 
         */
        public Builder etag(String etag) {
            return etag(Output.of(etag));
        }

        /**
         * @param maxTtl Maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated.
         * 
         * @return builder
         * 
         */
        public Builder maxTtl(@Nullable Output maxTtl) {
            $.maxTtl = maxTtl;
            return this;
        }

        /**
         * @param maxTtl Maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated.
         * 
         * @return builder
         * 
         */
        public Builder maxTtl(Integer maxTtl) {
            return maxTtl(Output.of(maxTtl));
        }

        /**
         * @param minTtl Minimum amount of time, in seconds, that objects should remain in the CloudFront cache before a new request is sent to the origin to check for updates.
         * 
         * @return builder
         * 
         */
        public Builder minTtl(@Nullable Output minTtl) {
            $.minTtl = minTtl;
            return this;
        }

        /**
         * @param minTtl Minimum amount of time, in seconds, that objects should remain in the CloudFront cache before a new request is sent to the origin to check for updates.
         * 
         * @return builder
         * 
         */
        public Builder minTtl(Integer minTtl) {
            return minTtl(Output.of(minTtl));
        }

        /**
         * @param name Unique name used to identify the cache policy.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Unique name used to identify the cache policy.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param parametersInCacheKeyAndForwardedToOrigin Configuration for including HTTP headers, cookies, and URL query strings in the cache key. For more information, refer to the Parameters In Cache Key And Forwarded To Origin section.
         * 
         * @return builder
         * 
         */
        public Builder parametersInCacheKeyAndForwardedToOrigin(@Nullable Output parametersInCacheKeyAndForwardedToOrigin) {
            $.parametersInCacheKeyAndForwardedToOrigin = parametersInCacheKeyAndForwardedToOrigin;
            return this;
        }

        /**
         * @param parametersInCacheKeyAndForwardedToOrigin Configuration for including HTTP headers, cookies, and URL query strings in the cache key. For more information, refer to the Parameters In Cache Key And Forwarded To Origin section.
         * 
         * @return builder
         * 
         */
        public Builder parametersInCacheKeyAndForwardedToOrigin(CachePolicyParametersInCacheKeyAndForwardedToOriginArgs parametersInCacheKeyAndForwardedToOrigin) {
            return parametersInCacheKeyAndForwardedToOrigin(Output.of(parametersInCacheKeyAndForwardedToOrigin));
        }

        public CachePolicyState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy