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

com.pulumi.azurenative.cdn.outputs.GetOriginResult 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.azurenative.cdn.outputs.SystemDataResponse;
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 GetOriginResult {
    /**
     * @return Origin is enabled for load balancing or not
     * 
     */
    private @Nullable Boolean enabled;
    /**
     * @return The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.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 Resource ID.
     * 
     */
    private String id;
    /**
     * @return Resource name.
     * 
     */
    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. This overrides the host header defined at Endpoint
     * 
     */
    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 Provisioning status of the origin.
     * 
     */
    private String provisioningState;
    /**
     * @return Resource status of the origin.
     * 
     */
    private String resourceState;
    /**
     * @return Read only system data
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return Resource type.
     * 
     */
    private String type;
    /**
     * @return Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
     * 
     */
    private @Nullable Integer weight;

    private GetOriginResult() {}
    /**
     * @return Origin is enabled for load balancing or not
     * 
     */
    public Optional enabled() {
        return Optional.ofNullable(this.enabled);
    }
    /**
     * @return The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.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 Resource ID.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Resource name.
     * 
     */
    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. This overrides the host header defined at Endpoint
     * 
     */
    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 Provisioning status of the origin.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Resource status of the origin.
     * 
     */
    public String resourceState() {
        return this.resourceState;
    }
    /**
     * @return Read only system data
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return Resource type.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @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(GetOriginResult 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 id;
        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 String provisioningState;
        private String resourceState;
        private SystemDataResponse systemData;
        private String type;
        private @Nullable Integer weight;
        public Builder() {}
        public Builder(GetOriginResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.enabled = defaults.enabled;
    	      this.hostName = defaults.hostName;
    	      this.httpPort = defaults.httpPort;
    	      this.httpsPort = defaults.httpsPort;
    	      this.id = defaults.id;
    	      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.provisioningState = defaults.provisioningState;
    	      this.resourceState = defaults.resourceState;
    	      this.systemData = defaults.systemData;
    	      this.type = defaults.type;
    	      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("GetOriginResult", "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 id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetOriginResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetOriginResult", "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("GetOriginResult", "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 provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetOriginResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder resourceState(String resourceState) {
            if (resourceState == null) {
              throw new MissingRequiredPropertyException("GetOriginResult", "resourceState");
            }
            this.resourceState = resourceState;
            return this;
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetOriginResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetOriginResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder weight(@Nullable Integer weight) {

            this.weight = weight;
            return this;
        }
        public GetOriginResult build() {
            final var _resultValue = new GetOriginResult();
            _resultValue.enabled = enabled;
            _resultValue.hostName = hostName;
            _resultValue.httpPort = httpPort;
            _resultValue.httpsPort = httpsPort;
            _resultValue.id = id;
            _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.provisioningState = provisioningState;
            _resultValue.resourceState = resourceState;
            _resultValue.systemData = systemData;
            _resultValue.type = type;
            _resultValue.weight = weight;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy