// *** 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.gcp.compute.outputs;

import com.pulumi.core.annotations.CustomType;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class GetHealthCheckTcpHealthCheck {
    private Integer port;
    private String portName;
    private String portSpecification;
    private String proxyHeader;
    private String request;
    private String response;

    private GetHealthCheckTcpHealthCheck() {}
    public Integer port() {
        return this.port;
    }
    public String portName() {
        return this.portName;
    }
    public String portSpecification() {
        return this.portSpecification;
    }
    public String proxyHeader() {
        return this.proxyHeader;
    }
    public String request() {
        return this.request;
    }
    public String response() {
        return this.response;
    }

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

    public static Builder builder(GetHealthCheckTcpHealthCheck defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private Integer port;
        private String portName;
        private String portSpecification;
        private String proxyHeader;
        private String request;
        private String response;
        public Builder() {}
        public Builder(GetHealthCheckTcpHealthCheck defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.port = defaults.port;
    	      this.portName = defaults.portName;
    	      this.portSpecification = defaults.portSpecification;
    	      this.proxyHeader = defaults.proxyHeader;
    	      this.request = defaults.request;
    	      this.response = defaults.response;
        }

        @CustomType.Setter
        public Builder port(Integer port) {
            this.port = Objects.requireNonNull(port);
            return this;
        }
        @CustomType.Setter
        public Builder portName(String portName) {
            this.portName = Objects.requireNonNull(portName);
            return this;
        }
        @CustomType.Setter
        public Builder portSpecification(String portSpecification) {
            this.portSpecification = Objects.requireNonNull(portSpecification);
            return this;
        }
        @CustomType.Setter
        public Builder proxyHeader(String proxyHeader) {
            this.proxyHeader = Objects.requireNonNull(proxyHeader);
            return this;
        }
        @CustomType.Setter
        public Builder request(String request) {
            this.request = Objects.requireNonNull(request);
            return this;
        }
        @CustomType.Setter
        public Builder response(String response) {
            this.response = Objects.requireNonNull(response);
            return this;
        }
        public GetHealthCheckTcpHealthCheck build() {
            final var o = new GetHealthCheckTcpHealthCheck();
            o.port = port;
            o.portName = portName;
            o.portSpecification = portSpecification;
            o.proxyHeader = proxyHeader;
            o.request = request;
            o.response = response;
            return o;
        }
    }
}
