import { output as outputs } from "../types";
export interface GetInterfacesFilter {
    name: string;
    value: string;
}
export interface GetInterfacesInterface {
    description: string;
    enabled: boolean;
    macAddress: string;
    mode: {
        [key: string]: string;
    };
    mtu: number;
    name: string;
    tagIds: number[];
    taggedVlans: outputs.GetInterfacesInterfaceTaggedVlan[];
    untaggedVlans: outputs.GetInterfacesInterfaceUntaggedVlan[];
    vmId: number;
}
export interface GetInterfacesInterfaceTaggedVlan {
    /**
     * The ID of this resource.
     */
    id: number;
    name: string;
    vid: number;
}
export interface GetInterfacesInterfaceUntaggedVlan {
    /**
     * The ID of this resource.
     */
    id: number;
    name: string;
    vid: number;
}
export interface GetIpAddressesFilter {
    name: string;
    value: string;
}
export interface GetIpAddressesIpAddress {
    addressFamily: string;
    created: string;
    customFields: {
        [key: string]: any;
    };
    description: string;
    dnsName: string;
    /**
     * The ID of this resource.
     */
    id: number;
    ipAddress: string;
    lastUpdated: string;
    role: string;
    status: string;
    tenants: outputs.GetIpAddressesIpAddressTenant[];
}
export interface GetIpAddressesIpAddressTenant {
    /**
     * The ID of this resource.
     */
    id: number;
    name: string;
    slug: string;
}
export interface GetRegionFilter {
    /**
     * The ID of this resource.
     */
    id?: number;
    name?: string;
    slug?: string;
}
export interface GetTenantsFilter {
    name: string;
    value: string;
}
export interface GetTenantsTenant {
    circuitCount: number;
    clusterCount: number;
    comments: string;
    created: string;
    customFields: {
        [key: string]: any;
    };
    description: string;
    deviceCount: number;
    /**
     * The ID of this resource.
     */
    id: number;
    ipAddressCount: number;
    lastUpdated: string;
    name: string;
    prefixCount: number;
    rackCount: number;
    siteCount: number;
    slug: string;
    tenantGroups: outputs.GetTenantsTenantTenantGroup[];
    vlanCount: number;
    vmCount: number;
    vrfCount: number;
}
export interface GetTenantsTenantTenantGroup {
    /**
     * The ID of this resource.
     */
    id: number;
    name: string;
    slug: string;
    tenantCount: number;
}
export interface GetVirtualMachinesFilter {
    name: string;
    value: string;
}
export interface GetVirtualMachinesVm {
    clusterId: number;
    comments: string;
    configContext: string;
    customFields: {
        [key: string]: any;
    };
    diskSizeGb: number;
    localContextData: string;
    memoryMb: number;
    name: string;
    platformId: number;
    primaryIp: string;
    primaryIp4: string;
    primaryIp6: string;
    roleId: number;
    siteId: number;
    status: string;
    tagIds: number[];
    tenantId: number;
    vcpus: number;
    vmId: number;
}
