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

package com.azure.resourcemanager.apimanagement.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;

/** Configuration of a virtual network to which API Management service is deployed. */
@Fluent
public final class VirtualNetworkConfiguration {
    /*
     * The virtual network ID. This is typically a GUID. Expect a null GUID by
     * default.
     */
    @JsonProperty(value = "vnetid", access = JsonProperty.Access.WRITE_ONLY)
    private String vnetid;

    /*
     * The name of the subnet.
     */
    @JsonProperty(value = "subnetname", access = JsonProperty.Access.WRITE_ONLY)
    private String subnetname;

    /*
     * The full resource ID of a subnet in a virtual network to deploy the API
     * Management service in.
     */
    @JsonProperty(value = "subnetResourceId")
    private String subnetResourceId;

    /**
     * Get the vnetid property: The virtual network ID. This is typically a GUID. Expect a null GUID by default.
     *
     * @return the vnetid value.
     */
    public String vnetid() {
        return this.vnetid;
    }

    /**
     * Get the subnetname property: The name of the subnet.
     *
     * @return the subnetname value.
     */
    public String subnetname() {
        return this.subnetname;
    }

    /**
     * Get the subnetResourceId property: The full resource ID of a subnet in a virtual network to deploy the API
     * Management service in.
     *
     * @return the subnetResourceId value.
     */
    public String subnetResourceId() {
        return this.subnetResourceId;
    }

    /**
     * Set the subnetResourceId property: The full resource ID of a subnet in a virtual network to deploy the API
     * Management service in.
     *
     * @param subnetResourceId the subnetResourceId value to set.
     * @return the VirtualNetworkConfiguration object itself.
     */
    public VirtualNetworkConfiguration withSubnetResourceId(String subnetResourceId) {
        this.subnetResourceId = subnetResourceId;
        return this;
    }

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