// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.managednetworkfabric.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

/** Common properties for Layer2 Configuration. */
@Fluent
public final class Layer2Configuration {
    /*
     * MTU of the packets between PE & CE.
     */
    @JsonProperty(value = "mtu")
    private Integer mtu;

    /*
     * List of network device interfaces resource IDs.
     */
    @JsonProperty(value = "interfaces")
    private List<String> interfaces;

    /** Creates an instance of Layer2Configuration class. */
    public Layer2Configuration() {
    }

    /**
     * Get the mtu property: MTU of the packets between PE &amp; CE.
     *
     * @return the mtu value.
     */
    public Integer mtu() {
        return this.mtu;
    }

    /**
     * Set the mtu property: MTU of the packets between PE &amp; CE.
     *
     * @param mtu the mtu value to set.
     * @return the Layer2Configuration object itself.
     */
    public Layer2Configuration withMtu(Integer mtu) {
        this.mtu = mtu;
        return this;
    }

    /**
     * Get the interfaces property: List of network device interfaces resource IDs.
     *
     * @return the interfaces value.
     */
    public List<String> interfaces() {
        return this.interfaces;
    }

    /**
     * Set the interfaces property: List of network device interfaces resource IDs.
     *
     * @param interfaces the interfaces value to set.
     * @return the Layer2Configuration object itself.
     */
    public Layer2Configuration withInterfaces(List<String> interfaces) {
        this.interfaces = interfaces;
        return this;
    }

    /**
     * Validates the instance.
     *
     * @throws IllegalArgumentException thrown if the instance is not valid.
     */
    public void validate() {
    }
}
