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

com.pulumi.aws.lightsail.inputs.DistributionState 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.66.3
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.lightsail.inputs;

import com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorArgs;
import com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsArgs;
import com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;
import com.pulumi.aws.lightsail.inputs.DistributionLocationArgs;
import com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final DistributionState Empty = new DistributionState();

    /**
     * The alternate domain names of the distribution.
     * 
     */
    @Import(name="alternativeDomainNames")
    private @Nullable Output> alternativeDomainNames;

    /**
     * @return The alternate domain names of the distribution.
     * 
     */
    public Optional>> alternativeDomainNames() {
        return Optional.ofNullable(this.alternativeDomainNames);
    }

    /**
     * The Amazon Resource Name (ARN) of the distribution.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The Amazon Resource Name (ARN) of the distribution.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * Bundle ID to use for the distribution.
     * 
     */
    @Import(name="bundleId")
    private @Nullable Output bundleId;

    /**
     * @return Bundle ID to use for the distribution.
     * 
     */
    public Optional> bundleId() {
        return Optional.ofNullable(this.bundleId);
    }

    /**
     * An object that describes the cache behavior settings of the distribution. Detailed below
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="cacheBehaviorSettings")
    private @Nullable Output cacheBehaviorSettings;

    /**
     * @return An object that describes the cache behavior settings of the distribution. Detailed below
     * 
     * The following arguments are optional:
     * 
     */
    public Optional> cacheBehaviorSettings() {
        return Optional.ofNullable(this.cacheBehaviorSettings);
    }

    /**
     * A set of configuration blocks that describe the per-path cache behavior of the distribution. Detailed below
     * 
     */
    @Import(name="cacheBehaviors")
    private @Nullable Output> cacheBehaviors;

    /**
     * @return A set of configuration blocks that describe the per-path cache behavior of the distribution. Detailed below
     * 
     */
    public Optional>> cacheBehaviors() {
        return Optional.ofNullable(this.cacheBehaviors);
    }

    /**
     * The name of the SSL/TLS certificate attached to the distribution, if any.
     * 
     */
    @Import(name="certificateName")
    private @Nullable Output certificateName;

    /**
     * @return The name of the SSL/TLS certificate attached to the distribution, if any.
     * 
     */
    public Optional> certificateName() {
        return Optional.ofNullable(this.certificateName);
    }

    /**
     * The timestamp when the distribution was created.
     * 
     */
    @Import(name="createdAt")
    private @Nullable Output createdAt;

    /**
     * @return The timestamp when the distribution was created.
     * 
     */
    public Optional> createdAt() {
        return Optional.ofNullable(this.createdAt);
    }

    /**
     * Object that describes the default cache behavior of the distribution. Detailed below
     * 
     */
    @Import(name="defaultCacheBehavior")
    private @Nullable Output defaultCacheBehavior;

    /**
     * @return Object that describes the default cache behavior of the distribution. Detailed below
     * 
     */
    public Optional> defaultCacheBehavior() {
        return Optional.ofNullable(this.defaultCacheBehavior);
    }

    /**
     * The domain name of the distribution.
     * 
     */
    @Import(name="domainName")
    private @Nullable Output domainName;

    /**
     * @return The domain name of the distribution.
     * 
     */
    public Optional> domainName() {
        return Optional.ofNullable(this.domainName);
    }

    /**
     * The IP address type of the distribution. Default: `dualstack`.
     * 
     */
    @Import(name="ipAddressType")
    private @Nullable Output ipAddressType;

    /**
     * @return The IP address type of the distribution. Default: `dualstack`.
     * 
     */
    public Optional> ipAddressType() {
        return Optional.ofNullable(this.ipAddressType);
    }

    /**
     * Indicates whether the distribution is enabled. Default: `true`.
     * 
     */
    @Import(name="isEnabled")
    private @Nullable Output isEnabled;

    /**
     * @return Indicates whether the distribution is enabled. Default: `true`.
     * 
     */
    public Optional> isEnabled() {
        return Optional.ofNullable(this.isEnabled);
    }

    /**
     * An object that describes the location of the distribution, such as the AWS Region and Availability Zone. Detailed below
     * 
     */
    @Import(name="locations")
    private @Nullable Output> locations;

    /**
     * @return An object that describes the location of the distribution, such as the AWS Region and Availability Zone. Detailed below
     * 
     */
    public Optional>> locations() {
        return Optional.ofNullable(this.locations);
    }

    /**
     * Name of the distribution.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name of the distribution.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer. Detailed below
     * 
     */
    @Import(name="origin")
    private @Nullable Output origin;

    /**
     * @return Object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer. Detailed below
     * 
     */
    public Optional> origin() {
        return Optional.ofNullable(this.origin);
    }

    /**
     * The public DNS of the origin.
     * 
     */
    @Import(name="originPublicDns")
    private @Nullable Output originPublicDns;

    /**
     * @return The public DNS of the origin.
     * 
     */
    public Optional> originPublicDns() {
        return Optional.ofNullable(this.originPublicDns);
    }

    /**
     * The Lightsail resource type (e.g., Distribution).
     * 
     */
    @Import(name="resourceType")
    private @Nullable Output resourceType;

    /**
     * @return The Lightsail resource type (e.g., Distribution).
     * 
     */
    public Optional> resourceType() {
        return Optional.ofNullable(this.resourceType);
    }

    /**
     * The status of the distribution.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the distribution.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The support code. Include this code in your email to support when you have questions about your Lightsail distribution. This code enables our support team to look up your Lightsail information more easily.
     * 
     */
    @Import(name="supportCode")
    private @Nullable Output supportCode;

    /**
     * @return The support code. Include this code in your email to support when you have questions about your Lightsail distribution. This code enables our support team to look up your Lightsail information more easily.
     * 
     */
    public Optional> supportCode() {
        return Optional.ofNullable(this.supportCode);
    }

    /**
     * Map of tags for the Lightsail Distribution. If
     * configured with a provider
     * `default_tags` configuration block
     * present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Map of tags for the Lightsail Distribution. If
     * configured with a provider
     * `default_tags` configuration block
     * present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    private DistributionState() {}

    private DistributionState(DistributionState $) {
        this.alternativeDomainNames = $.alternativeDomainNames;
        this.arn = $.arn;
        this.bundleId = $.bundleId;
        this.cacheBehaviorSettings = $.cacheBehaviorSettings;
        this.cacheBehaviors = $.cacheBehaviors;
        this.certificateName = $.certificateName;
        this.createdAt = $.createdAt;
        this.defaultCacheBehavior = $.defaultCacheBehavior;
        this.domainName = $.domainName;
        this.ipAddressType = $.ipAddressType;
        this.isEnabled = $.isEnabled;
        this.locations = $.locations;
        this.name = $.name;
        this.origin = $.origin;
        this.originPublicDns = $.originPublicDns;
        this.resourceType = $.resourceType;
        this.status = $.status;
        this.supportCode = $.supportCode;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
    }

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

    public static final class Builder {
        private DistributionState $;

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

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

        /**
         * @param alternativeDomainNames The alternate domain names of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder alternativeDomainNames(@Nullable Output> alternativeDomainNames) {
            $.alternativeDomainNames = alternativeDomainNames;
            return this;
        }

        /**
         * @param alternativeDomainNames The alternate domain names of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder alternativeDomainNames(List alternativeDomainNames) {
            return alternativeDomainNames(Output.of(alternativeDomainNames));
        }

        /**
         * @param alternativeDomainNames The alternate domain names of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder alternativeDomainNames(String... alternativeDomainNames) {
            return alternativeDomainNames(List.of(alternativeDomainNames));
        }

        /**
         * @param arn The Amazon Resource Name (ARN) of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The Amazon Resource Name (ARN) of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param bundleId Bundle ID to use for the distribution.
         * 
         * @return builder
         * 
         */
        public Builder bundleId(@Nullable Output bundleId) {
            $.bundleId = bundleId;
            return this;
        }

        /**
         * @param bundleId Bundle ID to use for the distribution.
         * 
         * @return builder
         * 
         */
        public Builder bundleId(String bundleId) {
            return bundleId(Output.of(bundleId));
        }

        /**
         * @param cacheBehaviorSettings An object that describes the cache behavior settings of the distribution. Detailed below
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder cacheBehaviorSettings(@Nullable Output cacheBehaviorSettings) {
            $.cacheBehaviorSettings = cacheBehaviorSettings;
            return this;
        }

        /**
         * @param cacheBehaviorSettings An object that describes the cache behavior settings of the distribution. Detailed below
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder cacheBehaviorSettings(DistributionCacheBehaviorSettingsArgs cacheBehaviorSettings) {
            return cacheBehaviorSettings(Output.of(cacheBehaviorSettings));
        }

        /**
         * @param cacheBehaviors A set of configuration blocks that describe the per-path cache behavior of the distribution. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder cacheBehaviors(@Nullable Output> cacheBehaviors) {
            $.cacheBehaviors = cacheBehaviors;
            return this;
        }

        /**
         * @param cacheBehaviors A set of configuration blocks that describe the per-path cache behavior of the distribution. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder cacheBehaviors(List cacheBehaviors) {
            return cacheBehaviors(Output.of(cacheBehaviors));
        }

        /**
         * @param cacheBehaviors A set of configuration blocks that describe the per-path cache behavior of the distribution. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder cacheBehaviors(DistributionCacheBehaviorArgs... cacheBehaviors) {
            return cacheBehaviors(List.of(cacheBehaviors));
        }

        /**
         * @param certificateName The name of the SSL/TLS certificate attached to the distribution, if any.
         * 
         * @return builder
         * 
         */
        public Builder certificateName(@Nullable Output certificateName) {
            $.certificateName = certificateName;
            return this;
        }

        /**
         * @param certificateName The name of the SSL/TLS certificate attached to the distribution, if any.
         * 
         * @return builder
         * 
         */
        public Builder certificateName(String certificateName) {
            return certificateName(Output.of(certificateName));
        }

        /**
         * @param createdAt The timestamp when the distribution was created.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(@Nullable Output createdAt) {
            $.createdAt = createdAt;
            return this;
        }

        /**
         * @param createdAt The timestamp when the distribution was created.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(String createdAt) {
            return createdAt(Output.of(createdAt));
        }

        /**
         * @param defaultCacheBehavior Object that describes the default cache behavior of the distribution. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder defaultCacheBehavior(@Nullable Output defaultCacheBehavior) {
            $.defaultCacheBehavior = defaultCacheBehavior;
            return this;
        }

        /**
         * @param defaultCacheBehavior Object that describes the default cache behavior of the distribution. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs defaultCacheBehavior) {
            return defaultCacheBehavior(Output.of(defaultCacheBehavior));
        }

        /**
         * @param domainName The domain name of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder domainName(@Nullable Output domainName) {
            $.domainName = domainName;
            return this;
        }

        /**
         * @param domainName The domain name of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder domainName(String domainName) {
            return domainName(Output.of(domainName));
        }

        /**
         * @param ipAddressType The IP address type of the distribution. Default: `dualstack`.
         * 
         * @return builder
         * 
         */
        public Builder ipAddressType(@Nullable Output ipAddressType) {
            $.ipAddressType = ipAddressType;
            return this;
        }

        /**
         * @param ipAddressType The IP address type of the distribution. Default: `dualstack`.
         * 
         * @return builder
         * 
         */
        public Builder ipAddressType(String ipAddressType) {
            return ipAddressType(Output.of(ipAddressType));
        }

        /**
         * @param isEnabled Indicates whether the distribution is enabled. Default: `true`.
         * 
         * @return builder
         * 
         */
        public Builder isEnabled(@Nullable Output isEnabled) {
            $.isEnabled = isEnabled;
            return this;
        }

        /**
         * @param isEnabled Indicates whether the distribution is enabled. Default: `true`.
         * 
         * @return builder
         * 
         */
        public Builder isEnabled(Boolean isEnabled) {
            return isEnabled(Output.of(isEnabled));
        }

        /**
         * @param locations An object that describes the location of the distribution, such as the AWS Region and Availability Zone. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder locations(@Nullable Output> locations) {
            $.locations = locations;
            return this;
        }

        /**
         * @param locations An object that describes the location of the distribution, such as the AWS Region and Availability Zone. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder locations(List locations) {
            return locations(Output.of(locations));
        }

        /**
         * @param locations An object that describes the location of the distribution, such as the AWS Region and Availability Zone. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder locations(DistributionLocationArgs... locations) {
            return locations(List.of(locations));
        }

        /**
         * @param name Name of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param origin Object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder origin(@Nullable Output origin) {
            $.origin = origin;
            return this;
        }

        /**
         * @param origin Object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer. Detailed below
         * 
         * @return builder
         * 
         */
        public Builder origin(DistributionOriginArgs origin) {
            return origin(Output.of(origin));
        }

        /**
         * @param originPublicDns The public DNS of the origin.
         * 
         * @return builder
         * 
         */
        public Builder originPublicDns(@Nullable Output originPublicDns) {
            $.originPublicDns = originPublicDns;
            return this;
        }

        /**
         * @param originPublicDns The public DNS of the origin.
         * 
         * @return builder
         * 
         */
        public Builder originPublicDns(String originPublicDns) {
            return originPublicDns(Output.of(originPublicDns));
        }

        /**
         * @param resourceType The Lightsail resource type (e.g., Distribution).
         * 
         * @return builder
         * 
         */
        public Builder resourceType(@Nullable Output resourceType) {
            $.resourceType = resourceType;
            return this;
        }

        /**
         * @param resourceType The Lightsail resource type (e.g., Distribution).
         * 
         * @return builder
         * 
         */
        public Builder resourceType(String resourceType) {
            return resourceType(Output.of(resourceType));
        }

        /**
         * @param status The status of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the distribution.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param supportCode The support code. Include this code in your email to support when you have questions about your Lightsail distribution. This code enables our support team to look up your Lightsail information more easily.
         * 
         * @return builder
         * 
         */
        public Builder supportCode(@Nullable Output supportCode) {
            $.supportCode = supportCode;
            return this;
        }

        /**
         * @param supportCode The support code. Include this code in your email to support when you have questions about your Lightsail distribution. This code enables our support team to look up your Lightsail information more easily.
         * 
         * @return builder
         * 
         */
        public Builder supportCode(String supportCode) {
            return supportCode(Output.of(supportCode));
        }

        /**
         * @param tags Map of tags for the Lightsail Distribution. If
         * configured with a provider
         * `default_tags` configuration block
         * present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Map of tags for the Lightsail Distribution. If
         * configured with a provider
         * `default_tags` configuration block
         * present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        public DistributionState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy