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

com.pulumi.azurenative.cdn.inputs.DeepCreatedOriginArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
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.azurenative.cdn.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The main origin of CDN content which is added when creating a CDN endpoint.
 * 
 */
public final class DeepCreatedOriginArgs extends com.pulumi.resources.ResourceArgs {

    public static final DeepCreatedOriginArgs Empty = new DeepCreatedOriginArgs();

    /**
     * Origin is enabled for load balancing or not. By default, origin is always enabled.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Origin is enabled for load balancing or not. By default, origin is always enabled.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.
     * 
     */
    @Import(name="hostName", required=true)
    private Output hostName;

    /**
     * @return The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.
     * 
     */
    public Output hostName() {
        return this.hostName;
    }

    /**
     * The value of the HTTP port. Must be between 1 and 65535.
     * 
     */
    @Import(name="httpPort")
    private @Nullable Output httpPort;

    /**
     * @return The value of the HTTP port. Must be between 1 and 65535.
     * 
     */
    public Optional> httpPort() {
        return Optional.ofNullable(this.httpPort);
    }

    /**
     * The value of the HTTPS port. Must be between 1 and 65535.
     * 
     */
    @Import(name="httpsPort")
    private @Nullable Output httpsPort;

    /**
     * @return The value of the HTTPS port. Must be between 1 and 65535.
     * 
     */
    public Optional> httpsPort() {
        return Optional.ofNullable(this.httpsPort);
    }

    /**
     * Origin name which must be unique within the endpoint.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return Origin name which must be unique within the endpoint.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
     * 
     */
    @Import(name="originHostHeader")
    private @Nullable Output originHostHeader;

    /**
     * @return The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
     * 
     */
    public Optional> originHostHeader() {
        return Optional.ofNullable(this.originHostHeader);
    }

    /**
     * Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
     * 
     */
    @Import(name="priority")
    private @Nullable Output priority;

    /**
     * @return Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
     * 
     */
    public Optional> priority() {
        return Optional.ofNullable(this.priority);
    }

    /**
     * The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'
     * 
     */
    @Import(name="privateLinkAlias")
    private @Nullable Output privateLinkAlias;

    /**
     * @return The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'
     * 
     */
    public Optional> privateLinkAlias() {
        return Optional.ofNullable(this.privateLinkAlias);
    }

    /**
     * A custom message to be included in the approval request to connect to the Private Link.
     * 
     */
    @Import(name="privateLinkApprovalMessage")
    private @Nullable Output privateLinkApprovalMessage;

    /**
     * @return A custom message to be included in the approval request to connect to the Private Link.
     * 
     */
    public Optional> privateLinkApprovalMessage() {
        return Optional.ofNullable(this.privateLinkApprovalMessage);
    }

    /**
     * The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
     * 
     */
    @Import(name="privateLinkLocation")
    private @Nullable Output privateLinkLocation;

    /**
     * @return The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
     * 
     */
    public Optional> privateLinkLocation() {
        return Optional.ofNullable(this.privateLinkLocation);
    }

    /**
     * The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'
     * 
     */
    @Import(name="privateLinkResourceId")
    private @Nullable Output privateLinkResourceId;

    /**
     * @return The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'
     * 
     */
    public Optional> privateLinkResourceId() {
        return Optional.ofNullable(this.privateLinkResourceId);
    }

    /**
     * Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
     * 
     */
    @Import(name="weight")
    private @Nullable Output weight;

    /**
     * @return Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
     * 
     */
    public Optional> weight() {
        return Optional.ofNullable(this.weight);
    }

    private DeepCreatedOriginArgs() {}

    private DeepCreatedOriginArgs(DeepCreatedOriginArgs $) {
        this.enabled = $.enabled;
        this.hostName = $.hostName;
        this.httpPort = $.httpPort;
        this.httpsPort = $.httpsPort;
        this.name = $.name;
        this.originHostHeader = $.originHostHeader;
        this.priority = $.priority;
        this.privateLinkAlias = $.privateLinkAlias;
        this.privateLinkApprovalMessage = $.privateLinkApprovalMessage;
        this.privateLinkLocation = $.privateLinkLocation;
        this.privateLinkResourceId = $.privateLinkResourceId;
        this.weight = $.weight;
    }

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

    public static final class Builder {
        private DeepCreatedOriginArgs $;

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

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

        /**
         * @param enabled Origin is enabled for load balancing or not. By default, origin is always enabled.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Origin is enabled for load balancing or not. By default, origin is always enabled.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param hostName The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.
         * 
         * @return builder
         * 
         */
        public Builder hostName(Output hostName) {
            $.hostName = hostName;
            return this;
        }

        /**
         * @param hostName The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.
         * 
         * @return builder
         * 
         */
        public Builder hostName(String hostName) {
            return hostName(Output.of(hostName));
        }

        /**
         * @param httpPort The value of the HTTP port. Must be between 1 and 65535.
         * 
         * @return builder
         * 
         */
        public Builder httpPort(@Nullable Output httpPort) {
            $.httpPort = httpPort;
            return this;
        }

        /**
         * @param httpPort The value of the HTTP port. Must be between 1 and 65535.
         * 
         * @return builder
         * 
         */
        public Builder httpPort(Integer httpPort) {
            return httpPort(Output.of(httpPort));
        }

        /**
         * @param httpsPort The value of the HTTPS port. Must be between 1 and 65535.
         * 
         * @return builder
         * 
         */
        public Builder httpsPort(@Nullable Output httpsPort) {
            $.httpsPort = httpsPort;
            return this;
        }

        /**
         * @param httpsPort The value of the HTTPS port. Must be between 1 and 65535.
         * 
         * @return builder
         * 
         */
        public Builder httpsPort(Integer httpsPort) {
            return httpsPort(Output.of(httpsPort));
        }

        /**
         * @param name Origin name which must be unique within the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Origin name which must be unique within the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param originHostHeader The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
         * 
         * @return builder
         * 
         */
        public Builder originHostHeader(@Nullable Output originHostHeader) {
            $.originHostHeader = originHostHeader;
            return this;
        }

        /**
         * @param originHostHeader The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
         * 
         * @return builder
         * 
         */
        public Builder originHostHeader(String originHostHeader) {
            return originHostHeader(Output.of(originHostHeader));
        }

        /**
         * @param priority Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
         * 
         * @return builder
         * 
         */
        public Builder priority(@Nullable Output priority) {
            $.priority = priority;
            return this;
        }

        /**
         * @param priority Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
         * 
         * @return builder
         * 
         */
        public Builder priority(Integer priority) {
            return priority(Output.of(priority));
        }

        /**
         * @param privateLinkAlias The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'
         * 
         * @return builder
         * 
         */
        public Builder privateLinkAlias(@Nullable Output privateLinkAlias) {
            $.privateLinkAlias = privateLinkAlias;
            return this;
        }

        /**
         * @param privateLinkAlias The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'
         * 
         * @return builder
         * 
         */
        public Builder privateLinkAlias(String privateLinkAlias) {
            return privateLinkAlias(Output.of(privateLinkAlias));
        }

        /**
         * @param privateLinkApprovalMessage A custom message to be included in the approval request to connect to the Private Link.
         * 
         * @return builder
         * 
         */
        public Builder privateLinkApprovalMessage(@Nullable Output privateLinkApprovalMessage) {
            $.privateLinkApprovalMessage = privateLinkApprovalMessage;
            return this;
        }

        /**
         * @param privateLinkApprovalMessage A custom message to be included in the approval request to connect to the Private Link.
         * 
         * @return builder
         * 
         */
        public Builder privateLinkApprovalMessage(String privateLinkApprovalMessage) {
            return privateLinkApprovalMessage(Output.of(privateLinkApprovalMessage));
        }

        /**
         * @param privateLinkLocation The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
         * 
         * @return builder
         * 
         */
        public Builder privateLinkLocation(@Nullable Output privateLinkLocation) {
            $.privateLinkLocation = privateLinkLocation;
            return this;
        }

        /**
         * @param privateLinkLocation The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
         * 
         * @return builder
         * 
         */
        public Builder privateLinkLocation(String privateLinkLocation) {
            return privateLinkLocation(Output.of(privateLinkLocation));
        }

        /**
         * @param privateLinkResourceId The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'
         * 
         * @return builder
         * 
         */
        public Builder privateLinkResourceId(@Nullable Output privateLinkResourceId) {
            $.privateLinkResourceId = privateLinkResourceId;
            return this;
        }

        /**
         * @param privateLinkResourceId The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'
         * 
         * @return builder
         * 
         */
        public Builder privateLinkResourceId(String privateLinkResourceId) {
            return privateLinkResourceId(Output.of(privateLinkResourceId));
        }

        /**
         * @param weight Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
         * 
         * @return builder
         * 
         */
        public Builder weight(@Nullable Output weight) {
            $.weight = weight;
            return this;
        }

        /**
         * @param weight Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
         * 
         * @return builder
         * 
         */
        public Builder weight(Integer weight) {
            return weight(Output.of(weight));
        }

        public DeepCreatedOriginArgs build() {
            if ($.hostName == null) {
                throw new MissingRequiredPropertyException("DeepCreatedOriginArgs", "hostName");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("DeepCreatedOriginArgs", "name");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy