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

com.pulumi.azurenative.cdn.outputs.DeepCreatedOriginResponse 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.outputs;

import com.pulumi.core.annotations.CustomType;
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;

@CustomType
public final class DeepCreatedOriginResponse {
    /**
     * @return Origin is enabled for load balancing or not. By default, origin is always enabled.
     * 
     */
    private @Nullable Boolean enabled;
    /**
     * @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.
     * 
     */
    private String hostName;
    /**
     * @return The value of the HTTP port. Must be between 1 and 65535.
     * 
     */
    private @Nullable Integer httpPort;
    /**
     * @return The value of the HTTPS port. Must be between 1 and 65535.
     * 
     */
    private @Nullable Integer httpsPort;
    /**
     * @return Origin name which must be unique within the endpoint.
     * 
     */
    private String name;
    /**
     * @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.
     * 
     */
    private @Nullable String originHostHeader;
    /**
     * @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.
     * 
     */
    private @Nullable Integer priority;
    /**
     * @return The approval status for the connection to the Private Link
     * 
     */
    private String privateEndpointStatus;
    /**
     * @return The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'
     * 
     */
    private @Nullable String privateLinkAlias;
    /**
     * @return A custom message to be included in the approval request to connect to the Private Link.
     * 
     */
    private @Nullable String privateLinkApprovalMessage;
    /**
     * @return The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
     * 
     */
    private @Nullable String privateLinkLocation;
    /**
     * @return The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'
     * 
     */
    private @Nullable String privateLinkResourceId;
    /**
     * @return Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
     * 
     */
    private @Nullable Integer weight;

    private DeepCreatedOriginResponse() {}
    /**
     * @return Origin is enabled for load balancing or not. By default, origin is always enabled.
     * 
     */
    public Optional enabled() {
        return Optional.ofNullable(this.enabled);
    }
    /**
     * @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 String hostName() {
        return this.hostName;
    }
    /**
     * @return The value of the HTTP port. Must be between 1 and 65535.
     * 
     */
    public Optional httpPort() {
        return Optional.ofNullable(this.httpPort);
    }
    /**
     * @return The value of the HTTPS port. Must be between 1 and 65535.
     * 
     */
    public Optional httpsPort() {
        return Optional.ofNullable(this.httpsPort);
    }
    /**
     * @return Origin name which must be unique within the endpoint.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @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);
    }
    /**
     * @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);
    }
    /**
     * @return The approval status for the connection to the Private Link
     * 
     */
    public String privateEndpointStatus() {
        return this.privateEndpointStatus;
    }
    /**
     * @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);
    }
    /**
     * @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);
    }
    /**
     * @return The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
     * 
     */
    public Optional privateLinkLocation() {
        return Optional.ofNullable(this.privateLinkLocation);
    }
    /**
     * @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);
    }
    /**
     * @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);
    }

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

    public static Builder builder(DeepCreatedOriginResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Boolean enabled;
        private String hostName;
        private @Nullable Integer httpPort;
        private @Nullable Integer httpsPort;
        private String name;
        private @Nullable String originHostHeader;
        private @Nullable Integer priority;
        private String privateEndpointStatus;
        private @Nullable String privateLinkAlias;
        private @Nullable String privateLinkApprovalMessage;
        private @Nullable String privateLinkLocation;
        private @Nullable String privateLinkResourceId;
        private @Nullable Integer weight;
        public Builder() {}
        public Builder(DeepCreatedOriginResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.enabled = defaults.enabled;
    	      this.hostName = defaults.hostName;
    	      this.httpPort = defaults.httpPort;
    	      this.httpsPort = defaults.httpsPort;
    	      this.name = defaults.name;
    	      this.originHostHeader = defaults.originHostHeader;
    	      this.priority = defaults.priority;
    	      this.privateEndpointStatus = defaults.privateEndpointStatus;
    	      this.privateLinkAlias = defaults.privateLinkAlias;
    	      this.privateLinkApprovalMessage = defaults.privateLinkApprovalMessage;
    	      this.privateLinkLocation = defaults.privateLinkLocation;
    	      this.privateLinkResourceId = defaults.privateLinkResourceId;
    	      this.weight = defaults.weight;
        }

        @CustomType.Setter
        public Builder enabled(@Nullable Boolean enabled) {

            this.enabled = enabled;
            return this;
        }
        @CustomType.Setter
        public Builder hostName(String hostName) {
            if (hostName == null) {
              throw new MissingRequiredPropertyException("DeepCreatedOriginResponse", "hostName");
            }
            this.hostName = hostName;
            return this;
        }
        @CustomType.Setter
        public Builder httpPort(@Nullable Integer httpPort) {

            this.httpPort = httpPort;
            return this;
        }
        @CustomType.Setter
        public Builder httpsPort(@Nullable Integer httpsPort) {

            this.httpsPort = httpsPort;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("DeepCreatedOriginResponse", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder originHostHeader(@Nullable String originHostHeader) {

            this.originHostHeader = originHostHeader;
            return this;
        }
        @CustomType.Setter
        public Builder priority(@Nullable Integer priority) {

            this.priority = priority;
            return this;
        }
        @CustomType.Setter
        public Builder privateEndpointStatus(String privateEndpointStatus) {
            if (privateEndpointStatus == null) {
              throw new MissingRequiredPropertyException("DeepCreatedOriginResponse", "privateEndpointStatus");
            }
            this.privateEndpointStatus = privateEndpointStatus;
            return this;
        }
        @CustomType.Setter
        public Builder privateLinkAlias(@Nullable String privateLinkAlias) {

            this.privateLinkAlias = privateLinkAlias;
            return this;
        }
        @CustomType.Setter
        public Builder privateLinkApprovalMessage(@Nullable String privateLinkApprovalMessage) {

            this.privateLinkApprovalMessage = privateLinkApprovalMessage;
            return this;
        }
        @CustomType.Setter
        public Builder privateLinkLocation(@Nullable String privateLinkLocation) {

            this.privateLinkLocation = privateLinkLocation;
            return this;
        }
        @CustomType.Setter
        public Builder privateLinkResourceId(@Nullable String privateLinkResourceId) {

            this.privateLinkResourceId = privateLinkResourceId;
            return this;
        }
        @CustomType.Setter
        public Builder weight(@Nullable Integer weight) {

            this.weight = weight;
            return this;
        }
        public DeepCreatedOriginResponse build() {
            final var _resultValue = new DeepCreatedOriginResponse();
            _resultValue.enabled = enabled;
            _resultValue.hostName = hostName;
            _resultValue.httpPort = httpPort;
            _resultValue.httpsPort = httpsPort;
            _resultValue.name = name;
            _resultValue.originHostHeader = originHostHeader;
            _resultValue.priority = priority;
            _resultValue.privateEndpointStatus = privateEndpointStatus;
            _resultValue.privateLinkAlias = privateLinkAlias;
            _resultValue.privateLinkApprovalMessage = privateLinkApprovalMessage;
            _resultValue.privateLinkLocation = privateLinkLocation;
            _resultValue.privateLinkResourceId = privateLinkResourceId;
            _resultValue.weight = weight;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy