// 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;

/** Connected Subnet RoutePolicy. */
@Fluent
public final class L3IsolationDomainPatchPropertiesConnectedSubnetRoutePolicy {
    /*
     * exportRoutePolicyId value.
     */
    @JsonProperty(value = "exportRoutePolicyId")
    private String exportRoutePolicyId;

    /*
     * Enabled/Disabled connected subnet route policy. Ex: Enabled | Disabled.
     */
    @JsonProperty(value = "administrativeState", access = JsonProperty.Access.WRITE_ONLY)
    private EnabledDisabledState administrativeState;

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

    /**
     * Get the exportRoutePolicyId property: exportRoutePolicyId value.
     *
     * @return the exportRoutePolicyId value.
     */
    public String exportRoutePolicyId() {
        return this.exportRoutePolicyId;
    }

    /**
     * Set the exportRoutePolicyId property: exportRoutePolicyId value.
     *
     * @param exportRoutePolicyId the exportRoutePolicyId value to set.
     * @return the L3IsolationDomainPatchPropertiesConnectedSubnetRoutePolicy object itself.
     */
    public L3IsolationDomainPatchPropertiesConnectedSubnetRoutePolicy withExportRoutePolicyId(
        String exportRoutePolicyId) {
        this.exportRoutePolicyId = exportRoutePolicyId;
        return this;
    }

    /**
     * Get the administrativeState property: Enabled/Disabled connected subnet route policy. Ex: Enabled | Disabled.
     *
     * @return the administrativeState value.
     */
    public EnabledDisabledState administrativeState() {
        return this.administrativeState;
    }

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