import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Uses Azure REST API version 2025-02-01. In version 2.x of the Azure Native provider, it used API version 2023-10-01-preview.
 *
 * Other available API versions: 2024-07-01, 2024-10-01-preview, 2025-07-01-preview, 2025-09-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native networkcloud [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class L3Network extends pulumi.CustomResource {
    /**
     * Get an existing L3Network resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): L3Network;
    /**
     * Returns true if the given object is an instance of L3Network.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is L3Network;
    /**
     * The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.
     */
    readonly associatedResourceIds: pulumi.Output<string[]>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * The resource ID of the Network Cloud cluster this L3 network is associated with.
     */
    readonly clusterId: pulumi.Output<string>;
    /**
     * The more detailed status of the L3 network.
     */
    readonly detailedStatus: pulumi.Output<string>;
    /**
     * The descriptive message about the current detailed status.
     */
    readonly detailedStatusMessage: pulumi.Output<string>;
    /**
     * Resource ETag.
     */
    readonly etag: pulumi.Output<string>;
    /**
     * The extended location of the cluster associated with the resource.
     */
    readonly extendedLocation: pulumi.Output<outputs.networkcloud.ExtendedLocationResponse>;
    /**
     * Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource IDs that are associated with this L3 network.
     */
    readonly hybridAksClustersAssociatedIds: pulumi.Output<string[]>;
    /**
     * Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The indicator of whether or not to disable IPAM allocation on the network attachment definition injected into the Hybrid AKS Cluster.
     */
    readonly hybridAksIpamEnabled: pulumi.Output<string | undefined>;
    /**
     * Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The network plugin type for Hybrid AKS.
     */
    readonly hybridAksPluginType: pulumi.Output<string | undefined>;
    /**
     * The default interface name for this L3 network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine.
     */
    readonly interfaceName: pulumi.Output<string | undefined>;
    /**
     * The type of the IP address allocation, defaulted to "DualStack".
     */
    readonly ipAllocationType: pulumi.Output<string | undefined>;
    /**
     * The IPV4 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type
     * is IPV4 or DualStack.
     */
    readonly ipv4ConnectedPrefix: pulumi.Output<string | undefined>;
    /**
     * The IPV6 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type
     * is IPV6 or DualStack.
     */
    readonly ipv6ConnectedPrefix: pulumi.Output<string | undefined>;
    /**
     * The resource ID of the Network Fabric l3IsolationDomain.
     */
    readonly l3IsolationDomainId: pulumi.Output<string>;
    /**
     * The geo-location where the resource lives
     */
    readonly location: pulumi.Output<string>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * The provisioning state of the L3 network.
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.networkcloud.SystemDataResponse>;
    /**
     * Resource tags.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are currently using this L3 network.
     */
    readonly virtualMachinesAssociatedIds: pulumi.Output<string[]>;
    /**
     * The VLAN from the l3IsolationDomain that is used for this network.
     */
    readonly vlan: pulumi.Output<number>;
    /**
     * Create a L3Network resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: L3NetworkArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a L3Network resource.
 */
export interface L3NetworkArgs {
    /**
     * The extended location of the cluster associated with the resource.
     */
    extendedLocation: pulumi.Input<inputs.networkcloud.ExtendedLocationArgs>;
    /**
     * Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The indicator of whether or not to disable IPAM allocation on the network attachment definition injected into the Hybrid AKS Cluster.
     */
    hybridAksIpamEnabled?: pulumi.Input<string | enums.networkcloud.HybridAksIpamEnabled>;
    /**
     * Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The network plugin type for Hybrid AKS.
     */
    hybridAksPluginType?: pulumi.Input<string | enums.networkcloud.HybridAksPluginType>;
    /**
     * The default interface name for this L3 network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine.
     */
    interfaceName?: pulumi.Input<string>;
    /**
     * The type of the IP address allocation, defaulted to "DualStack".
     */
    ipAllocationType?: pulumi.Input<string | enums.networkcloud.IpAllocationType>;
    /**
     * The IPV4 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type
     * is IPV4 or DualStack.
     */
    ipv4ConnectedPrefix?: pulumi.Input<string>;
    /**
     * The IPV6 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type
     * is IPV6 or DualStack.
     */
    ipv6ConnectedPrefix?: pulumi.Input<string>;
    /**
     * The resource ID of the Network Fabric l3IsolationDomain.
     */
    l3IsolationDomainId: pulumi.Input<string>;
    /**
     * The name of the L3 network.
     */
    l3NetworkName?: pulumi.Input<string>;
    /**
     * The geo-location where the resource lives
     */
    location?: pulumi.Input<string>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Resource tags.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * The VLAN from the l3IsolationDomain that is used for this network.
     */
    vlan: pulumi.Input<number>;
}
