/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 */

package com.microsoft.azure.batch.protocol.models;

import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * The endpoint configuration for a Pool.
 */
public class PoolEndpointConfiguration {
    /**
     * A list of inbound NAT Pools that can be used to address specific ports
     * on an individual Compute Node externally.
     * The maximum number of inbound NAT Pools per Batch Pool is 5. If the
     * maximum number of inbound NAT Pools is exceeded the request fails with
     * HTTP status code 400. This cannot be specified if the
     * IPAddressProvisioningType is NoPublicIPAddresses.
     */
    @JsonProperty(value = "inboundNATPools", required = true)
    private List<InboundNATPool> inboundNATPools;

    /**
     * Get the maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses.
     *
     * @return the inboundNATPools value
     */
    public List<InboundNATPool> inboundNATPools() {
        return this.inboundNATPools;
    }

    /**
     * Set the maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses.
     *
     * @param inboundNATPools the inboundNATPools value to set
     * @return the PoolEndpointConfiguration object itself.
     */
    public PoolEndpointConfiguration withInboundNATPools(List<InboundNATPool> inboundNATPools) {
        this.inboundNATPools = inboundNATPools;
        return this;
    }

}
