import * as outputs from "../types/output";
export declare namespace fabric {
    interface CloudRouterAccount {
        /**
         * Account Number
         */
        accountNumber: number;
    }
    interface CloudRouterChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface CloudRouterLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface CloudRouterMarketplaceSubscription {
        /**
         * Marketplace Subscription type like; AWS*MARKETPLACE*SUBSCRIPTION
         */
        type: string;
        /**
         * Equinix-assigned Marketplace Subscription identifier
         */
        uuid: string;
    }
    interface CloudRouterNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION*APPROVAL,SALES*REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface CloudRouterOrder {
        /**
         * Billing tier for connection bandwidth
         */
        billingTier: string;
        /**
         * Order Identification
         */
        orderId: string;
        /**
         * Order Reference Number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
        /**
         * Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case)
         */
        termLength?: number;
    }
    interface CloudRouterPackage {
        /**
         * Fabric Cloud Router package code
         */
        code: string;
    }
    interface CloudRouterProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface ConnectionASide {
        /**
         * Point of access details
         */
        accessPoint?: outputs.fabric.ConnectionASideAccessPoint;
        /**
         * Connection side additional information
         */
        additionalInfo?: outputs.fabric.ConnectionASideAdditionalInfo[];
        /**
         * For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets
         */
        serviceToken?: outputs.fabric.ConnectionASideServiceToken;
    }
    interface ConnectionASideAccessPoint {
        /**
         * Account
         */
        account: outputs.fabric.ConnectionASideAccessPointAccount;
        /**
         * Authentication key for provider based connections or Metal-Fabric Integration connections
         */
        authenticationKey?: string;
        /**
         * **Deprecated** `gateway` Use `router` attribute instead
         *
         * @deprecated use router attribute instead; gateway is no longer a part of the supported backend
         */
        gateway?: outputs.fabric.ConnectionASideAccessPointGateway;
        /**
         * Virtual device interface
         */
        interface?: outputs.fabric.ConnectionASideAccessPointInterface;
        /**
         * Connection link protocol
         */
        linkProtocol?: outputs.fabric.ConnectionASideAccessPointLinkProtocol;
        /**
         * Access point location
         */
        location: outputs.fabric.ConnectionASideAccessPointLocation;
        /**
         * network access point information
         */
        network?: outputs.fabric.ConnectionASideAccessPointNetwork;
        /**
         * Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL
         */
        peeringType?: string;
        /**
         * Port access point information
         */
        port?: outputs.fabric.ConnectionASideAccessPointPort;
        /**
         * Service Profile
         */
        profile?: outputs.fabric.ConnectionASideAccessPointProfile;
        /**
         * Provider assigned Connection Id
         */
        providerConnectionId: string;
        /**
         * Cloud Router access point information that replaces `gateway`
         */
        router?: outputs.fabric.ConnectionASideAccessPointRouter;
        /**
         * Access point seller region
         */
        sellerRegion?: string;
        /**
         * Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD*ROUTER, NETWORK, METAL*NETWORK
         */
        type?: string;
        /**
         * Virtual device
         */
        virtualDevice?: outputs.fabric.ConnectionASideAccessPointVirtualDevice;
    }
    interface ConnectionASideAccessPointAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface ConnectionASideAccessPointGateway {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface ConnectionASideAccessPointInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type?: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid?: string;
    }
    interface ConnectionASideAccessPointLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type?: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface ConnectionASideAccessPointLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface ConnectionASideAccessPointNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid?: string;
    }
    interface ConnectionASideAccessPointPort {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port name
         */
        name: string;
        /**
         * Redundancy Information
         */
        redundancy: outputs.fabric.ConnectionASideAccessPointPortRedundancy;
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface ConnectionASideAccessPointPortRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface ConnectionASideAccessPointProfile {
        /**
         * Access point config information
         */
        accessPointTypeConfigs: outputs.fabric.ConnectionASideAccessPointProfileAccessPointTypeConfig[];
        /**
         * User-provided service description
         */
        description: string;
        /**
         * Service Profile URI response attribute
         */
        href: string;
        /**
         * Customer-assigned service profile name
         */
        name: string;
        /**
         * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE
         */
        type: string;
        /**
         * Equinix assigned service profile identifier
         */
        uuid: string;
    }
    interface ConnectionASideAccessPointProfileAccessPointTypeConfig {
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Equinix-assigned access point type config identifier
         */
        uuid: string;
    }
    interface ConnectionASideAccessPointRouter {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface ConnectionASideAccessPointVirtualDevice {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name?: string;
        /**
         * Virtual Device type
         */
        type?: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid?: string;
    }
    interface ConnectionASideAdditionalInfo {
        /**
         * Additional information key
         */
        key?: string;
        /**
         * Additional information value
         */
        value?: string;
    }
    interface ConnectionASideServiceToken {
        /**
         * Service token description
         */
        description: string;
        /**
         * An absolute URL that is the subject of the link's context
         */
        href: string;
        /**
         * Token type - VC_TOKEN
         */
        type?: string;
        /**
         * Equinix-assigned service token identifier
         */
        uuid?: string;
    }
    interface ConnectionAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface ConnectionChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface ConnectionNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION*APPROVAL,SALES*REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface ConnectionOperation {
        /**
         * Connection status
         */
        equinixStatus: string;
        /**
         * Errors occurred
         */
        errors: outputs.fabric.ConnectionOperationError[];
        /**
         * Connection provider readiness status
         */
        providerStatus: string;
    }
    interface ConnectionOperationError {
        /**
         * Pricing error additional Info
         */
        additionalInfo: outputs.fabric.ConnectionOperationErrorAdditionalInfo[];
        /**
         * CorrelationId
         */
        correlationId: string;
        /**
         * Details
         */
        details: string;
        /**
         * Error  code
         */
        errorCode: string;
        /**
         * Error Message
         */
        errorMessage: string;
        /**
         * Help
         */
        help: string;
    }
    interface ConnectionOperationErrorAdditionalInfo {
        /**
         * Property at which the error potentially occurred
         */
        property: string;
        /**
         * Reason for the error
         */
        reason: string;
    }
    interface ConnectionOrder {
        /**
         * Billing tier for connection bandwidth
         */
        billingTier: string;
        /**
         * Order Identification
         */
        orderId: string;
        /**
         * Order Reference Number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
        /**
         * Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case)
         */
        termLength?: number;
    }
    interface ConnectionProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface ConnectionRedundancy {
        /**
         * Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix*fabric*connection.primary*port*connection.redundancy).group or equinix*fabric*connection.primary*port*connection.redundancy.0.group)
         */
        group: string;
        /**
         * Connection priority in redundancy group - PRIMARY, SECONDARY
         */
        priority: string;
    }
    interface ConnectionRouteAggregationTimeouts {
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        create?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
         */
        delete?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
         */
        read?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        update?: string;
    }
    interface ConnectionZSide {
        /**
         * Point of access details
         */
        accessPoint?: outputs.fabric.ConnectionZSideAccessPoint;
        /**
         * Connection side additional information
         */
        additionalInfo?: outputs.fabric.ConnectionZSideAdditionalInfo[];
        /**
         * For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets
         */
        serviceToken?: outputs.fabric.ConnectionZSideServiceToken;
    }
    interface ConnectionZSideAccessPoint {
        /**
         * Account
         */
        account: outputs.fabric.ConnectionZSideAccessPointAccount;
        /**
         * Authentication key for provider based connections or Metal-Fabric Integration connections
         */
        authenticationKey?: string;
        /**
         * **Deprecated** `gateway` Use `router` attribute instead
         *
         * @deprecated use router attribute instead; gateway is no longer a part of the supported backend
         */
        gateway?: outputs.fabric.ConnectionZSideAccessPointGateway;
        /**
         * Virtual device interface
         */
        interface?: outputs.fabric.ConnectionZSideAccessPointInterface;
        /**
         * Connection link protocol
         */
        linkProtocol?: outputs.fabric.ConnectionZSideAccessPointLinkProtocol;
        /**
         * Access point location
         */
        location: outputs.fabric.ConnectionZSideAccessPointLocation;
        /**
         * network access point information
         */
        network?: outputs.fabric.ConnectionZSideAccessPointNetwork;
        /**
         * Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL
         */
        peeringType?: string;
        /**
         * Port access point information
         */
        port?: outputs.fabric.ConnectionZSideAccessPointPort;
        /**
         * Service Profile
         */
        profile?: outputs.fabric.ConnectionZSideAccessPointProfile;
        /**
         * Provider assigned Connection Id
         */
        providerConnectionId: string;
        /**
         * Cloud Router access point information that replaces `gateway`
         */
        router?: outputs.fabric.ConnectionZSideAccessPointRouter;
        /**
         * Access point seller region
         */
        sellerRegion?: string;
        /**
         * Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD*ROUTER, NETWORK, METAL*NETWORK
         */
        type?: string;
        /**
         * Virtual device
         */
        virtualDevice?: outputs.fabric.ConnectionZSideAccessPointVirtualDevice;
    }
    interface ConnectionZSideAccessPointAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface ConnectionZSideAccessPointGateway {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface ConnectionZSideAccessPointInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type?: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid?: string;
    }
    interface ConnectionZSideAccessPointLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type?: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface ConnectionZSideAccessPointLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface ConnectionZSideAccessPointNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid?: string;
    }
    interface ConnectionZSideAccessPointPort {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port name
         */
        name: string;
        /**
         * Redundancy Information
         */
        redundancy: outputs.fabric.ConnectionZSideAccessPointPortRedundancy;
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface ConnectionZSideAccessPointPortRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface ConnectionZSideAccessPointProfile {
        /**
         * Access point config information
         */
        accessPointTypeConfigs: outputs.fabric.ConnectionZSideAccessPointProfileAccessPointTypeConfig[];
        /**
         * User-provided service description
         */
        description: string;
        /**
         * Service Profile URI response attribute
         */
        href: string;
        /**
         * Customer-assigned service profile name
         */
        name: string;
        /**
         * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE
         */
        type: string;
        /**
         * Equinix assigned service profile identifier
         */
        uuid: string;
    }
    interface ConnectionZSideAccessPointProfileAccessPointTypeConfig {
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Equinix-assigned access point type config identifier
         */
        uuid: string;
    }
    interface ConnectionZSideAccessPointRouter {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface ConnectionZSideAccessPointVirtualDevice {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name?: string;
        /**
         * Virtual Device type
         */
        type?: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid?: string;
    }
    interface ConnectionZSideAdditionalInfo {
        /**
         * Additional information key
         */
        key?: string;
        /**
         * Additional information value
         */
        value?: string;
    }
    interface ConnectionZSideServiceToken {
        /**
         * Service token description
         */
        description: string;
        /**
         * An absolute URL that is the subject of the link's context
         */
        href: string;
        /**
         * Token type - VC_TOKEN
         */
        type?: string;
        /**
         * Equinix-assigned service token identifier
         */
        uuid?: string;
    }
    interface GetCloudRouterAccount {
        /**
         * Account Number
         */
        accountNumber: number;
    }
    interface GetCloudRouterChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetCloudRouterLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetCloudRouterMarketplaceSubscription {
        /**
         * Marketplace Subscription type like; AWS_MARKETPLACE_SUBSCRIPTION
         */
        type: string;
        /**
         * Equinix-assigned Marketplace Subscription identifier
         */
        uuid: string;
    }
    interface GetCloudRouterNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetCloudRouterOrder {
        /**
         * Billing tier for connection bandwidth
         */
        billingTier: string;
        /**
         * Order Identification
         */
        orderId: string;
        /**
         * Order Reference Number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
        /**
         * Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case)
         */
        termLength?: number;
    }
    interface GetCloudRouterPackage {
        /**
         * Fabric Cloud Router package code
         */
        code: string;
    }
    interface GetCloudRouterProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface GetCloudRoutersData {
        /**
         * Customer account information that is associated with this Fabric Cloud Router
         */
        accounts: outputs.fabric.GetCloudRoutersDataAccount[];
        /**
         * Captures Fabric Cloud Router lifecycle change information
         */
        changeLogs: outputs.fabric.GetCloudRoutersDataChangeLog[];
        /**
         * Number of connections associated with this Fabric Cloud Router instance
         */
        connectionsCount: number;
        /**
         * Customer-provided Fabric Cloud Router description
         */
        description: string;
        /**
         * Equinix ASN
         */
        equinixAsn: number;
        /**
         * Fabric Cloud Router URI information
         */
        href: string;
        /**
         * Fabric Cloud Router location
         */
        locations: outputs.fabric.GetCloudRoutersDataLocation[];
        /**
         * Equinix Fabric Entity for Marketplace Subscription
         */
        marketplaceSubscriptions: outputs.fabric.GetCloudRoutersDataMarketplaceSubscription[];
        /**
         * Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores
         */
        name: string;
        /**
         * Preferences for notifications on Fabric Cloud Router configuration or status changes
         */
        notifications: outputs.fabric.GetCloudRoutersDataNotification[];
        /**
         * Order information related to this Fabric Cloud Router
         */
        orders: outputs.fabric.GetCloudRoutersDataOrder[];
        /**
         * Fabric Cloud Router Package Type
         */
        packages: outputs.fabric.GetCloudRoutersDataPackage[];
        /**
         * Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects
         */
        projects: outputs.fabric.GetCloudRoutersDataProject[];
        /**
         * Fabric Cloud Router overall state
         */
        state: string;
        /**
         * Defines the FCR type like; XF_ROUTER
         */
        type: string;
        /**
         * Equinix-assigned Fabric Cloud Router identifier
         */
        uuid: string;
    }
    interface GetCloudRoutersDataAccount {
        /**
         * Account Number
         */
        accountNumber: number;
    }
    interface GetCloudRoutersDataChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetCloudRoutersDataLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetCloudRoutersDataMarketplaceSubscription {
        /**
         * Marketplace Subscription type like; AWS_MARKETPLACE_SUBSCRIPTION
         */
        type: string;
        /**
         * Equinix-assigned Marketplace Subscription identifier
         */
        uuid: string;
    }
    interface GetCloudRoutersDataNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetCloudRoutersDataOrder {
        /**
         * Billing tier for connection bandwidth
         */
        billingTier: string;
        /**
         * Order Identification
         */
        orderId: string;
        /**
         * Order Reference Number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
        /**
         * Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case)
         */
        termLength?: number;
    }
    interface GetCloudRoutersDataPackage {
        /**
         * Fabric Cloud Router package code
         */
        code: string;
    }
    interface GetCloudRoutersDataProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface GetCloudRoutersFilter {
        /**
         * Possible operators to use on the filter property. Can be one of the following: [= - equal, != - not equal, > - greater than, >= - greater than or equal to, < - less than, <= - less than or equal to, [NOT] BETWEEN - (not) between, [NOT] LIKE - (not) like, [NOT] IN - (not) in
         */
        operator: string;
        /**
         * Boolean flag indicating whether this filter is included in the OR group. There can only be one OR group and it can have a maximum of 3 filters. The OR group only counts as 1 of the 8 possible filters
         */
        or?: boolean;
        /**
         * The API response property which you want to filter your request on. Can be one of the following: "/project/projectId", "/name", "/uuid", "/state", "/location/metroCode", "/location/metroName", "/package/code", "/*"
         */
        property: string;
        /**
         * The values that you want to apply the property+operator combination to in order to filter your data search
         */
        values: string[];
    }
    interface GetCloudRoutersPagination {
        /**
         * Number of elements to be requested per page. Number must be between 1 and 100. Default is 20
         */
        limit?: number;
        /**
         * The page offset for the pagination request. Index of the first element. Default is 0.
         */
        offset?: number;
    }
    interface GetCloudRoutersSort {
        /**
         * The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC
         */
        direction?: string;
        /**
         * The property name to use in sorting. Can be one of the following: [/name, /uuid, /state, /location/metroCode, /location/metroName, /package/code, /changeLog/createdDateTime, /changeLog/updatedDateTime], Defaults to /changeLog/updatedDateTime
         */
        property?: string;
    }
    interface GetConnectionASide {
        /**
         * Point of access details
         */
        accessPoint?: outputs.fabric.GetConnectionASideAccessPoint;
        /**
         * Connection side additional information
         */
        additionalInfos?: outputs.fabric.GetConnectionASideAdditionalInfo[];
        /**
         * For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets
         */
        serviceToken?: outputs.fabric.GetConnectionASideServiceToken;
    }
    interface GetConnectionASideAccessPoint {
        /**
         * Account
         */
        accounts: outputs.fabric.GetConnectionASideAccessPointAccount[];
        /**
         * Authentication key for provider based connections or Metal-Fabric Integration connections
         */
        authenticationKey?: string;
        /**
         * **Deprecated** `gateway` Use `router` attribute instead
         *
         * @deprecated use router attribute instead; gateway is no longer a part of the supported backend
         */
        gateway?: outputs.fabric.GetConnectionASideAccessPointGateway;
        /**
         * Virtual device interface
         */
        interface?: outputs.fabric.GetConnectionASideAccessPointInterface;
        /**
         * Connection link protocol
         */
        linkProtocol?: outputs.fabric.GetConnectionASideAccessPointLinkProtocol;
        /**
         * Access point location
         */
        location: outputs.fabric.GetConnectionASideAccessPointLocation;
        /**
         * network access point information
         */
        network?: outputs.fabric.GetConnectionASideAccessPointNetwork;
        /**
         * Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL
         */
        peeringType?: string;
        /**
         * Port access point information
         */
        port?: outputs.fabric.GetConnectionASideAccessPointPort;
        /**
         * Service Profile
         */
        profile?: outputs.fabric.GetConnectionASideAccessPointProfile;
        /**
         * Provider assigned Connection Id
         */
        providerConnectionId: string;
        /**
         * Cloud Router access point information that replaces `gateway`
         */
        router?: outputs.fabric.GetConnectionASideAccessPointRouter;
        /**
         * Access point seller region
         */
        sellerRegion?: string;
        /**
         * Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK
         */
        type?: string;
        /**
         * Virtual device
         */
        virtualDevice?: outputs.fabric.GetConnectionASideAccessPointVirtualDevice;
    }
    interface GetConnectionASideAccessPointAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetConnectionASideAccessPointGateway {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface GetConnectionASideAccessPointInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type?: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid?: string;
    }
    interface GetConnectionASideAccessPointLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type?: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface GetConnectionASideAccessPointLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetConnectionASideAccessPointNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid?: string;
    }
    interface GetConnectionASideAccessPointPort {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port name
         */
        name: string;
        /**
         * Redundancy Information
         */
        redundancies: outputs.fabric.GetConnectionASideAccessPointPortRedundancy[];
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface GetConnectionASideAccessPointPortRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface GetConnectionASideAccessPointProfile {
        /**
         * Access point config information
         */
        accessPointTypeConfigs: outputs.fabric.GetConnectionASideAccessPointProfileAccessPointTypeConfig[];
        /**
         * User-provided service description
         */
        description: string;
        /**
         * Service Profile URI response attribute
         */
        href: string;
        /**
         * Customer-assigned service profile name
         */
        name: string;
        /**
         * Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE
         */
        type: string;
        /**
         * Equinix assigned service profile identifier
         */
        uuid: string;
    }
    interface GetConnectionASideAccessPointProfileAccessPointTypeConfig {
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Equinix-assigned access point type config identifier
         */
        uuid: string;
    }
    interface GetConnectionASideAccessPointRouter {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface GetConnectionASideAccessPointVirtualDevice {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name?: string;
        /**
         * Virtual Device type
         */
        type?: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid?: string;
    }
    interface GetConnectionASideAdditionalInfo {
        /**
         * Additional information key
         */
        key?: string;
        /**
         * Additional information value
         */
        value?: string;
    }
    interface GetConnectionASideServiceToken {
        /**
         * Service token description
         */
        description: string;
        /**
         * An absolute URL that is the subject of the link's context
         */
        href: string;
        /**
         * Token type - VC_TOKEN
         */
        type?: string;
        /**
         * Equinix-assigned service token identifier
         */
        uuid?: string;
    }
    interface GetConnectionAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetConnectionChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetConnectionNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetConnectionOperation {
        /**
         * Connection status
         */
        equinixStatus: string;
        /**
         * Errors occurred
         */
        errors: outputs.fabric.GetConnectionOperationError[];
        /**
         * Connection provider readiness status
         */
        providerStatus: string;
    }
    interface GetConnectionOperationError {
        /**
         * Pricing error additional Info
         */
        additionalInfos: outputs.fabric.GetConnectionOperationErrorAdditionalInfo[];
        /**
         * CorrelationId
         */
        correlationId: string;
        /**
         * Details
         */
        details: string;
        /**
         * Error  code
         */
        errorCode: string;
        /**
         * Error Message
         */
        errorMessage: string;
        /**
         * Help
         */
        help: string;
    }
    interface GetConnectionOperationErrorAdditionalInfo {
        /**
         * Property at which the error potentially occurred
         */
        property: string;
        /**
         * Reason for the error
         */
        reason: string;
    }
    interface GetConnectionOrder {
        /**
         * Billing tier for connection bandwidth
         */
        billingTier: string;
        /**
         * Order Identification
         */
        orderId: string;
        /**
         * Order Reference Number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
        /**
         * Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case)
         */
        termLength?: number;
    }
    interface GetConnectionProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface GetConnectionRedundancy {
        /**
         * Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group)
         */
        group: string;
        /**
         * Connection priority in redundancy group - PRIMARY, SECONDARY
         */
        priority: string;
    }
    interface GetConnectionRouteAggregationsData {
        /**
         * Status of the Route Aggregation Policy attachment lifecycle
         */
        attachmentStatus: string;
        /**
         * UUID of the Connection to attach this Route Aggregation to
         */
        connectionId: string;
        /**
         * URI to the attached Route Aggregation Policy on the Connection
         */
        href: string;
        /**
         * UUID of the Route Aggregation to attach this Connection to
         */
        routeAggregationId: string;
        /**
         * Route Aggregation Type. One of ["BGP*IPv4*PREFIX_AGGREGATION"]
         */
        type: string;
        /**
         * Equinix Assigned ID for Route Aggregation Policy
         */
        uuid: string;
    }
    interface GetConnectionRouteAggregationsPagination {
        /**
         * Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20
         */
        limit: number;
        /**
         * The URL relative to the next item in the response
         */
        next: string;
        /**
         * Index of the first item returned in the response. The default is 0
         */
        offset: number;
        /**
         * The URL relative to the previous item in the response
         */
        previous: string;
        /**
         * The total number of connection route aggregations available to the user making the request
         */
        total: number;
    }
    interface GetConnectionRouteFiltersData {
        /**
         * Status of the Route Filter Policy attachment lifecycle
         */
        attachmentStatus: string;
        /**
         * Direction of the filtering of the attached Route Filter Policy
         */
        direction: string;
        /**
         * URI to the attached Route Filter Policy on the Connection
         */
        href: string;
        /**
         * Route Filter Type. One of [ "BGP_IPv4_PREFIX_FILTER", "BGP_IPv6_PREFIX_FILTER" ]
         */
        type: string;
        /**
         * Equinix Assigned ID for Route Filter Policy
         */
        uuid: string;
    }
    interface GetConnectionRouteFiltersPagination {
        /**
         * Number of elements to be requested per page. Number must be between 1 and 100. Default is 20
         */
        limit: number;
        /**
         * URL relative to the last item in the response.
         */
        next: string;
        /**
         * The page offset for the pagination request. Index of the first element. Default is 0.
         */
        offset: number;
        /**
         * URL relative to the first item in the response.
         */
        previous: string;
        /**
         * Total number of elements returned.
         */
        total: number;
    }
    interface GetConnectionZSide {
        /**
         * Point of access details
         */
        accessPoint?: outputs.fabric.GetConnectionZSideAccessPoint;
        /**
         * Connection side additional information
         */
        additionalInfos?: outputs.fabric.GetConnectionZSideAdditionalInfo[];
        /**
         * For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets
         */
        serviceToken?: outputs.fabric.GetConnectionZSideServiceToken;
    }
    interface GetConnectionZSideAccessPoint {
        /**
         * Account
         */
        accounts: outputs.fabric.GetConnectionZSideAccessPointAccount[];
        /**
         * Authentication key for provider based connections or Metal-Fabric Integration connections
         */
        authenticationKey?: string;
        /**
         * **Deprecated** `gateway` Use `router` attribute instead
         *
         * @deprecated use router attribute instead; gateway is no longer a part of the supported backend
         */
        gateway?: outputs.fabric.GetConnectionZSideAccessPointGateway;
        /**
         * Virtual device interface
         */
        interface?: outputs.fabric.GetConnectionZSideAccessPointInterface;
        /**
         * Connection link protocol
         */
        linkProtocol?: outputs.fabric.GetConnectionZSideAccessPointLinkProtocol;
        /**
         * Access point location
         */
        location: outputs.fabric.GetConnectionZSideAccessPointLocation;
        /**
         * network access point information
         */
        network?: outputs.fabric.GetConnectionZSideAccessPointNetwork;
        /**
         * Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL
         */
        peeringType?: string;
        /**
         * Port access point information
         */
        port?: outputs.fabric.GetConnectionZSideAccessPointPort;
        /**
         * Service Profile
         */
        profile?: outputs.fabric.GetConnectionZSideAccessPointProfile;
        /**
         * Provider assigned Connection Id
         */
        providerConnectionId: string;
        /**
         * Cloud Router access point information that replaces `gateway`
         */
        router?: outputs.fabric.GetConnectionZSideAccessPointRouter;
        /**
         * Access point seller region
         */
        sellerRegion?: string;
        /**
         * Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK
         */
        type?: string;
        /**
         * Virtual device
         */
        virtualDevice?: outputs.fabric.GetConnectionZSideAccessPointVirtualDevice;
    }
    interface GetConnectionZSideAccessPointAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetConnectionZSideAccessPointGateway {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface GetConnectionZSideAccessPointInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type?: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid?: string;
    }
    interface GetConnectionZSideAccessPointLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type?: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface GetConnectionZSideAccessPointLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetConnectionZSideAccessPointNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid?: string;
    }
    interface GetConnectionZSideAccessPointPort {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port name
         */
        name: string;
        /**
         * Redundancy Information
         */
        redundancies: outputs.fabric.GetConnectionZSideAccessPointPortRedundancy[];
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface GetConnectionZSideAccessPointPortRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface GetConnectionZSideAccessPointProfile {
        /**
         * Access point config information
         */
        accessPointTypeConfigs: outputs.fabric.GetConnectionZSideAccessPointProfileAccessPointTypeConfig[];
        /**
         * User-provided service description
         */
        description: string;
        /**
         * Service Profile URI response attribute
         */
        href: string;
        /**
         * Customer-assigned service profile name
         */
        name: string;
        /**
         * Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE
         */
        type: string;
        /**
         * Equinix assigned service profile identifier
         */
        uuid: string;
    }
    interface GetConnectionZSideAccessPointProfileAccessPointTypeConfig {
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Equinix-assigned access point type config identifier
         */
        uuid: string;
    }
    interface GetConnectionZSideAccessPointRouter {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface GetConnectionZSideAccessPointVirtualDevice {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name?: string;
        /**
         * Virtual Device type
         */
        type?: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid?: string;
    }
    interface GetConnectionZSideAdditionalInfo {
        /**
         * Additional information key
         */
        key?: string;
        /**
         * Additional information value
         */
        value?: string;
    }
    interface GetConnectionZSideServiceToken {
        /**
         * Service token description
         */
        description: string;
        /**
         * An absolute URL that is the subject of the link's context
         */
        href: string;
        /**
         * Token type - VC_TOKEN
         */
        type?: string;
        /**
         * Equinix-assigned service token identifier
         */
        uuid?: string;
    }
    interface GetConnectionsData {
        /**
         * Requester or Customer side connection configuration object of the multi-segment connection
         */
        aSides: outputs.fabric.GetConnectionsDataASide[];
        /**
         * Customer account information that is associated with this connection
         */
        accounts: outputs.fabric.GetConnectionsDataAccount[];
        /**
         * Connection additional information
         */
        additionalInfos: {
            [key: string]: string;
        }[];
        /**
         * Connection bandwidth in Mbps
         */
        bandwidth: number;
        /**
         * Captures connection lifecycle change information
         */
        changeLogs: outputs.fabric.GetConnectionsDataChangeLog[];
        /**
         * Customer-provided connection description
         */
        description: string;
        /**
         * Connection directionality from the requester point of view
         */
        direction: string;
        /**
         * Connection URI information
         */
        href: string;
        /**
         * Connection property derived from access point locations
         */
        isRemote: boolean;
        /**
         * Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores
         */
        name: string;
        /**
         * Preferences for notifications on connection configuration or status changes
         */
        notifications: outputs.fabric.GetConnectionsDataNotification[];
        /**
         * Connection type-specific operational data
         */
        operations: outputs.fabric.GetConnectionsDataOperation[];
        /**
         * Order details
         */
        orders: outputs.fabric.GetConnectionsDataOrder[];
        /**
         * Project information
         */
        projects: outputs.fabric.GetConnectionsDataProject[];
        /**
         * Connection Redundancy Configuration
         */
        redundancies: outputs.fabric.GetConnectionsDataRedundancy[];
        /**
         * Connection overall state
         */
        state: string;
        /**
         * Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, IA_VC, EC_VC
         */
        type: string;
        /**
         * Equinix-assigned connection identifier
         */
        uuid: string;
        /**
         * Destination or Provider side connection configuration object of the multi-segment connection
         */
        zSides: outputs.fabric.GetConnectionsDataZSide[];
    }
    interface GetConnectionsDataASide {
        /**
         * Point of access details
         */
        accessPoint?: outputs.fabric.GetConnectionsDataASideAccessPoint;
        /**
         * Connection side additional information
         */
        additionalInfos?: outputs.fabric.GetConnectionsDataASideAdditionalInfo[];
        /**
         * For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets
         */
        serviceToken?: outputs.fabric.GetConnectionsDataASideServiceToken;
    }
    interface GetConnectionsDataASideAccessPoint {
        /**
         * Account
         */
        accounts: outputs.fabric.GetConnectionsDataASideAccessPointAccount[];
        /**
         * Authentication key for provider based connections or Metal-Fabric Integration connections
         */
        authenticationKey?: string;
        /**
         * **Deprecated** `gateway` Use `router` attribute instead
         *
         * @deprecated use router attribute instead; gateway is no longer a part of the supported backend
         */
        gateway?: outputs.fabric.GetConnectionsDataASideAccessPointGateway;
        /**
         * Virtual device interface
         */
        interface?: outputs.fabric.GetConnectionsDataASideAccessPointInterface;
        /**
         * Connection link protocol
         */
        linkProtocol?: outputs.fabric.GetConnectionsDataASideAccessPointLinkProtocol;
        /**
         * Access point location
         */
        location: outputs.fabric.GetConnectionsDataASideAccessPointLocation;
        /**
         * network access point information
         */
        network?: outputs.fabric.GetConnectionsDataASideAccessPointNetwork;
        /**
         * Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL
         */
        peeringType?: string;
        /**
         * Port access point information
         */
        port?: outputs.fabric.GetConnectionsDataASideAccessPointPort;
        /**
         * Service Profile
         */
        profile?: outputs.fabric.GetConnectionsDataASideAccessPointProfile;
        /**
         * Provider assigned Connection Id
         */
        providerConnectionId: string;
        /**
         * Cloud Router access point information that replaces `gateway`
         */
        router?: outputs.fabric.GetConnectionsDataASideAccessPointRouter;
        /**
         * Access point seller region
         */
        sellerRegion?: string;
        /**
         * Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK
         */
        type?: string;
        /**
         * Virtual device
         */
        virtualDevice?: outputs.fabric.GetConnectionsDataASideAccessPointVirtualDevice;
    }
    interface GetConnectionsDataASideAccessPointAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetConnectionsDataASideAccessPointGateway {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataASideAccessPointInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type?: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataASideAccessPointLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type?: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface GetConnectionsDataASideAccessPointLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetConnectionsDataASideAccessPointNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataASideAccessPointPort {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port name
         */
        name: string;
        /**
         * Redundancy Information
         */
        redundancies: outputs.fabric.GetConnectionsDataASideAccessPointPortRedundancy[];
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface GetConnectionsDataASideAccessPointPortRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface GetConnectionsDataASideAccessPointProfile {
        /**
         * Access point config information
         */
        accessPointTypeConfigs: outputs.fabric.GetConnectionsDataASideAccessPointProfileAccessPointTypeConfig[];
        /**
         * User-provided service description
         */
        description: string;
        /**
         * Service Profile URI response attribute
         */
        href: string;
        /**
         * Customer-assigned service profile name
         */
        name: string;
        /**
         * Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE
         */
        type: string;
        /**
         * Equinix assigned service profile identifier
         */
        uuid: string;
    }
    interface GetConnectionsDataASideAccessPointProfileAccessPointTypeConfig {
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Equinix-assigned access point type config identifier
         */
        uuid: string;
    }
    interface GetConnectionsDataASideAccessPointRouter {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataASideAccessPointVirtualDevice {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name?: string;
        /**
         * Virtual Device type
         */
        type?: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataASideAdditionalInfo {
        /**
         * Additional information key
         */
        key?: string;
        /**
         * Additional information value
         */
        value?: string;
    }
    interface GetConnectionsDataASideServiceToken {
        /**
         * Service token description
         */
        description: string;
        /**
         * An absolute URL that is the subject of the link's context
         */
        href: string;
        /**
         * Token type - VC_TOKEN
         */
        type?: string;
        /**
         * Equinix-assigned service token identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetConnectionsDataChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetConnectionsDataNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetConnectionsDataOperation {
        /**
         * Connection status
         */
        equinixStatus: string;
        /**
         * Errors occurred
         */
        errors: outputs.fabric.GetConnectionsDataOperationError[];
        /**
         * Connection provider readiness status
         */
        providerStatus: string;
    }
    interface GetConnectionsDataOperationError {
        /**
         * Pricing error additional Info
         */
        additionalInfos: outputs.fabric.GetConnectionsDataOperationErrorAdditionalInfo[];
        /**
         * CorrelationId
         */
        correlationId: string;
        /**
         * Details
         */
        details: string;
        /**
         * Error  code
         */
        errorCode: string;
        /**
         * Error Message
         */
        errorMessage: string;
        /**
         * Help
         */
        help: string;
    }
    interface GetConnectionsDataOperationErrorAdditionalInfo {
        /**
         * Property at which the error potentially occurred
         */
        property: string;
        /**
         * Reason for the error
         */
        reason: string;
    }
    interface GetConnectionsDataOrder {
        /**
         * Billing tier for connection bandwidth
         */
        billingTier: string;
        /**
         * Order Identification
         */
        orderId: string;
        /**
         * Order Reference Number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
        /**
         * Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case)
         */
        termLength?: number;
    }
    interface GetConnectionsDataProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface GetConnectionsDataRedundancy {
        /**
         * Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group)
         */
        group: string;
        /**
         * Connection priority in redundancy group - PRIMARY, SECONDARY
         */
        priority: string;
    }
    interface GetConnectionsDataZSide {
        /**
         * Point of access details
         */
        accessPoint?: outputs.fabric.GetConnectionsDataZSideAccessPoint;
        /**
         * Connection side additional information
         */
        additionalInfos?: outputs.fabric.GetConnectionsDataZSideAdditionalInfo[];
        /**
         * For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets
         */
        serviceToken?: outputs.fabric.GetConnectionsDataZSideServiceToken;
    }
    interface GetConnectionsDataZSideAccessPoint {
        /**
         * Account
         */
        accounts: outputs.fabric.GetConnectionsDataZSideAccessPointAccount[];
        /**
         * Authentication key for provider based connections or Metal-Fabric Integration connections
         */
        authenticationKey?: string;
        /**
         * **Deprecated** `gateway` Use `router` attribute instead
         *
         * @deprecated use router attribute instead; gateway is no longer a part of the supported backend
         */
        gateway?: outputs.fabric.GetConnectionsDataZSideAccessPointGateway;
        /**
         * Virtual device interface
         */
        interface?: outputs.fabric.GetConnectionsDataZSideAccessPointInterface;
        /**
         * Connection link protocol
         */
        linkProtocol?: outputs.fabric.GetConnectionsDataZSideAccessPointLinkProtocol;
        /**
         * Access point location
         */
        location: outputs.fabric.GetConnectionsDataZSideAccessPointLocation;
        /**
         * network access point information
         */
        network?: outputs.fabric.GetConnectionsDataZSideAccessPointNetwork;
        /**
         * Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL
         */
        peeringType?: string;
        /**
         * Port access point information
         */
        port?: outputs.fabric.GetConnectionsDataZSideAccessPointPort;
        /**
         * Service Profile
         */
        profile?: outputs.fabric.GetConnectionsDataZSideAccessPointProfile;
        /**
         * Provider assigned Connection Id
         */
        providerConnectionId: string;
        /**
         * Cloud Router access point information that replaces `gateway`
         */
        router?: outputs.fabric.GetConnectionsDataZSideAccessPointRouter;
        /**
         * Access point seller region
         */
        sellerRegion?: string;
        /**
         * Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK
         */
        type?: string;
        /**
         * Virtual device
         */
        virtualDevice?: outputs.fabric.GetConnectionsDataZSideAccessPointVirtualDevice;
    }
    interface GetConnectionsDataZSideAccessPointAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetConnectionsDataZSideAccessPointGateway {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataZSideAccessPointInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type?: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataZSideAccessPointLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type?: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface GetConnectionsDataZSideAccessPointLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetConnectionsDataZSideAccessPointNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataZSideAccessPointPort {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port name
         */
        name: string;
        /**
         * Redundancy Information
         */
        redundancies: outputs.fabric.GetConnectionsDataZSideAccessPointPortRedundancy[];
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface GetConnectionsDataZSideAccessPointPortRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface GetConnectionsDataZSideAccessPointProfile {
        /**
         * Access point config information
         */
        accessPointTypeConfigs: outputs.fabric.GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfig[];
        /**
         * User-provided service description
         */
        description: string;
        /**
         * Service Profile URI response attribute
         */
        href: string;
        /**
         * Customer-assigned service profile name
         */
        name: string;
        /**
         * Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE
         */
        type: string;
        /**
         * Equinix assigned service profile identifier
         */
        uuid: string;
    }
    interface GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfig {
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Equinix-assigned access point type config identifier
         */
        uuid: string;
    }
    interface GetConnectionsDataZSideAccessPointRouter {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Equinix-assigned virtual gateway identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataZSideAccessPointVirtualDevice {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name?: string;
        /**
         * Virtual Device type
         */
        type?: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid?: string;
    }
    interface GetConnectionsDataZSideAdditionalInfo {
        /**
         * Additional information key
         */
        key?: string;
        /**
         * Additional information value
         */
        value?: string;
    }
    interface GetConnectionsDataZSideServiceToken {
        /**
         * Service token description
         */
        description: string;
        /**
         * An absolute URL that is the subject of the link's context
         */
        href: string;
        /**
         * Token type - VC_TOKEN
         */
        type?: string;
        /**
         * Equinix-assigned service token identifier
         */
        uuid?: string;
    }
    interface GetConnectionsFilter {
        /**
         * Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves.
         */
        group?: string;
        /**
         * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL]
         */
        operator: string;
        /**
         * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *]
         */
        property: string;
        /**
         * The values that you want to apply the property+operator combination to in order to filter your data search
         */
        values: string[];
    }
    interface GetConnectionsPagination {
        /**
         * Number of elements to be requested per page. Number must be between 1 and 100. Default is 20
         */
        limit?: number;
        /**
         * The page offset for the pagination request. Index of the first element. Default is 0.
         */
        offset?: number;
    }
    interface GetConnectionsSort {
        /**
         * The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC
         */
        direction?: string;
        /**
         * The property name to use in sorting. One of [/name /direction /aSide/accessPoint/name /aSide/accessPoint/type /aSide/accessPoint/account/accountName /aSide/accessPoint/location/metroName /aSide/accessPoint/location/metroCode /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/name /zSide/accessPoint/type /zSide/accessPoint/account/accountName /zSide/accessPoint/location/metroName /zSide/accessPoint/location/metroCode /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/authenticationKey /bandwidth /geoScope /uuid /changeLog/createdDateTime /changeLog/updatedDateTime /operation/equinixStatus /operation/providerStatus /redundancy/priority]. Defaults to /changeLog/updatedDateTime
         */
        property?: string;
    }
    interface GetMarketplaceSubscriptionEntitlement {
        /**
         * Asset information
         */
        assets: outputs.fabric.GetMarketplaceSubscriptionEntitlementAsset[];
        /**
         * Available Quantity
         */
        quantityAvailable: number;
        /**
         * Consumed Quantity
         */
        quantityConsumed: number;
        /**
         * Entitled Quantity
         */
        quantityEntitled: number;
        /**
         * Subscription Entitlement Id
         */
        uuid: string;
    }
    interface GetMarketplaceSubscriptionEntitlementAsset {
        /**
         * Fabric Cloud Router Package Type
         */
        packages: outputs.fabric.GetMarketplaceSubscriptionEntitlementAssetPackage[];
        /**
         * Defines the FCR type like; XF_ROUTER
         */
        type: string;
    }
    interface GetMarketplaceSubscriptionEntitlementAssetPackage {
        /**
         * Cloud Router package code
         */
        code: string;
    }
    interface GetMarketplaceSubscriptionTrial {
        /**
         * Marketplace Subscription Trial Enabled
         */
        enabled: boolean;
    }
    interface GetMetroConnectedMetro {
        avgLatency: number;
        code: string;
        href: string;
        remoteVcBandwidthMax: number;
    }
    interface GetMetroGeoCoordinates {
        /**
         * Latitude of the Metro
         */
        latitude: number;
        /**
         * Longitude of the Metro
         */
        longitude: number;
    }
    interface GetMetrosData {
        /**
         * Code assigned to an Equinix IBX data center in a specified metropolitan area
         */
        code: string;
        /**
         * Arrays of objects containing latency data for the specified metro
         */
        connectedMetros: outputs.fabric.GetMetrosDataConnectedMetro[];
        /**
         * Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol.
         */
        equinixAsn: number;
        /**
         * Geographic location data of Fabric Metro
         */
        geoCoordinates: outputs.fabric.GetMetrosDataGeoCoordinates;
        /**
         * List of supported geographic boundaries of a Fabric Metro. Example values: CANADA, CONUS.
         */
        geoScopes: string[];
        /**
         * The canonical URL at which the resource resides
         */
        href: string;
        /**
         * This field holds Max Connection speed within the metro.
         */
        localVcBandwidthMax: number;
        /**
         * Name of the region in which the data center is located
         */
        name: string;
        /**
         * Board geographical area in which the data center is located
         */
        region: string;
        /**
         * Indicator of a fabric metro
         */
        type: string;
    }
    interface GetMetrosDataConnectedMetro {
        avgLatency: number;
        code: string;
        href: string;
        remoteVcBandwidthMax: number;
    }
    interface GetMetrosDataGeoCoordinates {
        /**
         * Latitude of the Metro
         */
        latitude: number;
        /**
         * Longitude of the Metro
         */
        longitude: number;
    }
    interface GetMetrosPagination {
        /**
         * Maximum number of search results returned per page.
         */
        limit?: number;
        /**
         * URL relative to the next item in the response.
         */
        next: string;
        /**
         * Index of the first item returned in the response.
         */
        offset?: number;
        /**
         * URL relative to the previous item in the response.
         */
        previous: string;
        /**
         * The total number of metro returned
         */
        total: number;
    }
    interface GetNetworkChange {
        /**
         * Absolute URL that returns the details of the given change.
         * Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784
         */
        href: string;
        /**
         * Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION
         */
        type: string;
        /**
         * Asset change request identifier.
         */
        uuid: string;
    }
    interface GetNetworkChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetNetworkLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetNetworkNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetNetworkOperation {
        /**
         * Progress towards provisioning a given asset.
         */
        equinixStatus: string;
    }
    interface GetNetworkProject {
        /**
         * Customer project identifier
         */
        projectId: string;
    }
    interface GetNetworksData {
        /**
         * A permanent record of asset creation, modification, or deletion
         */
        changeLogs: outputs.fabric.GetNetworksDataChangeLog[];
        /**
         * Information on asset change operation
         */
        changes: outputs.fabric.GetNetworksDataChange[];
        /**
         * Number of connections associated with this network
         */
        connectionsCount: number;
        /**
         * Fabric Network URI information
         */
        href: string;
        /**
         * Fabric Network location
         */
        locations: outputs.fabric.GetNetworksDataLocation[];
        /**
         * Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores
         */
        name: string;
        /**
         * Preferences for notifications on Fabric Network configuration or status changes
         */
        notifications: outputs.fabric.GetNetworksDataNotification[];
        /**
         * Network operation information that is associated with this Fabric Network
         */
        operations: outputs.fabric.GetNetworksDataOperation[];
        /**
         * Fabric Network project
         */
        projects: outputs.fabric.GetNetworksDataProject[];
        /**
         * Fabric Network scope
         */
        scope: string;
        /**
         * Fabric Network overall state
         */
        state: string;
        /**
         * Supported Network types - EVPLAN, EPLAN, IPWAN
         */
        type: string;
        /**
         * Equinix-assigned network identifier
         */
        uuid: string;
    }
    interface GetNetworksDataChange {
        /**
         * Absolute URL that returns the details of the given change.
         * Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784
         */
        href: string;
        /**
         * Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION
         */
        type: string;
        /**
         * Asset change request identifier.
         */
        uuid: string;
    }
    interface GetNetworksDataChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetNetworksDataLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetNetworksDataNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetNetworksDataOperation {
        /**
         * Progress towards provisioning a given asset.
         */
        equinixStatus: string;
    }
    interface GetNetworksDataProject {
        /**
         * Customer project identifier
         */
        projectId: string;
    }
    interface GetNetworksFilter {
        /**
         * Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves.
         */
        group?: string;
        /**
         * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, ILIKE, NOT ILIKE, IN, NOT IN]
         */
        operator: string;
        /**
         * Possible field names to use on filters. One of [/name /uuid /scope /type /operation/equinixStatus /location/region /project/projectId /account/globalCustId /account/orgId /deletedDate /_*]
         */
        property: string;
        /**
         * The values that you want to apply the property+operator combination to in order to filter your data search
         */
        values: string[];
    }
    interface GetNetworksPagination {
        /**
         * Number of elements to be requested per page. Number must be between 1 and 100. Default is 20
         */
        limit?: number;
        /**
         * The page offset for the pagination request. Index of the first element. Default is 0.
         */
        offset?: number;
    }
    interface GetNetworksSort {
        /**
         * The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC
         */
        direction?: string;
        /**
         * The property name to use in sorting. One of [/name /uuid /scope /operation/equinixStatus /location/region /changeLog/createdDateTime /changeLog/updatedDateTime]. Defaults to /changeLog/updatedDateTime
         */
        property?: string;
    }
    interface GetPortAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetPortChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetPortDevice {
        /**
         * Port name
         */
        name: string;
        /**
         * Port device redundancy
         */
        redundancies: outputs.fabric.GetPortDeviceRedundancy[];
    }
    interface GetPortDeviceRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface GetPortEncapsulation {
        /**
         * Port encapsulation Tag Protocol Identifier
         */
        tagProtocolId: string;
        /**
         * Port encapsulation protocol type
         */
        type: string;
    }
    interface GetPortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetPortOperation {
        /**
         * Total number of current connections
         */
        connectionCount: number;
        /**
         * Date and time at which port availability changed
         */
        opStatusChangedAt: string;
        /**
         * Port operation status
         */
        operationalStatus: string;
    }
    interface GetPortRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface GetPortsDatum {
        /**
         * Customer account information that is associated with this port
         */
        accounts: outputs.fabric.GetPortsDatumAccount[];
        /**
         * Port available bandwidth in Mbps
         */
        availableBandwidth: number;
        /**
         * Port bandwidth in Mbps
         */
        bandwidth: number;
        /**
         * Captures port lifecycle change information
         */
        changeLogs: outputs.fabric.GetPortsDatumChangeLog[];
        /**
         * Port description
         */
        description: string;
        /**
         * Port device
         */
        devices: outputs.fabric.GetPortsDatumDevice[];
        /**
         * Port encapsulation protocol
         */
        encapsulations: outputs.fabric.GetPortsDatumEncapsulation[];
        /**
         * Port URI information
         */
        href: string;
        /**
         * Port Lag
         */
        lagEnabled: boolean;
        /**
         * Port location information
         */
        locations: outputs.fabric.GetPortsDatumLocation[];
        /**
         * Port name
         */
        name: string;
        /**
         * Port specific operational data
         */
        operations: outputs.fabric.GetPortsDatumOperation[];
        /**
         * Port redundancy information
         */
        redundancies: outputs.fabric.GetPortsDatumRedundancy[];
        /**
         * Port service type
         */
        serviceType: string;
        /**
         * Port state
         */
        state: string;
        /**
         * Port type
         */
        type: string;
        /**
         * Port used bandwidth in Mbps
         */
        usedBandwidth: number;
        /**
         * Equinix-assigned port identifier
         */
        uuid: string;
    }
    interface GetPortsDatumAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetPortsDatumChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetPortsDatumDevice {
        /**
         * Port name
         */
        name: string;
        /**
         * Port device redundancy
         */
        redundancies: outputs.fabric.GetPortsDatumDeviceRedundancy[];
    }
    interface GetPortsDatumDeviceRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface GetPortsDatumEncapsulation {
        /**
         * Port encapsulation Tag Protocol Identifier
         */
        tagProtocolId: string;
        /**
         * Port encapsulation protocol type
         */
        type: string;
    }
    interface GetPortsDatumLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetPortsDatumOperation {
        /**
         * Total number of current connections
         */
        connectionCount: number;
        /**
         * Date and time at which port availability changed
         */
        opStatusChangedAt: string;
        /**
         * Port operation status
         */
        operationalStatus: string;
    }
    interface GetPortsDatumRedundancy {
        /**
         * Access point redundancy
         */
        enabled: boolean;
        /**
         * Port redundancy group
         */
        group: string;
        /**
         * Priority type-Primary or Secondary
         */
        priority: string;
    }
    interface GetPortsFilter {
        /**
         * Query Parameter to Get Ports By Name
         */
        name: string;
    }
    interface GetPrecisionTimeServiceAccount {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Equinix Account Number
         */
        accountNumber: number;
        /**
         * Global Customer Id
         */
        globalCustId: string;
        /**
         * Customer organization naidentifierme
         */
        globalOrgId: string;
        /**
         * Global organization name
         */
        globalOrganizationName: string;
        /**
         * Customer organization identifier
         */
        orgId: number;
        /**
         * Customer organization name
         */
        organizationName: string;
        /**
         * Reseller account name
         */
        resellerAccountName: string;
        /**
         * Reseller account number
         */
        resellerAccountNumber: number;
        /**
         * Reseller customer organization identifier
         */
        resellerOrgId: number;
        /**
         * Reseller account ucmId
         */
        resellerUcmId: string;
        /**
         * Global organization name
         */
        ucmId: string;
    }
    interface GetPrecisionTimeServiceChangeLog {
        /**
         * User name of creator of the route aggregation resource
         */
        createdBy: string;
        /**
         * Email of creator of the route aggregation resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the route aggregation resource
         */
        createdByFullName: string;
        /**
         * Creation time of the route aggregation resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the route aggregation resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the route aggregation resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the route aggregation resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the route aggregation resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the route aggregation resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the route aggregation resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the route aggregation resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the route aggregation resource
         */
        updatedDateTime: string;
    }
    interface GetPrecisionTimeServiceConnection {
        /**
         * Link to the Equinix Fabric Connection associated with the Precision Time Service
         */
        href: string;
        /**
         * Type of the Equinix Fabric Connection associated with the Precision Time Service
         */
        type: string;
        /**
         * Equinix Fabric Connection UUID; Precision Time Service will be connected with it
         */
        uuid: string;
    }
    interface GetPrecisionTimeServiceIpv4 {
        /**
         * IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network.
         */
        defaultGateway: string;
        /**
         * IPv4 address that defines the range of consecutive subnets in the network.
         */
        networkMask: string;
        /**
         * IPv4 address for the Primary Timing Master Server.
         */
        primary: string;
        /**
         * IPv4 address for the Secondary Timing Master Server.
         */
        secondary: string;
    }
    interface GetPrecisionTimeServiceNtpAdvancedConfiguration {
        /**
         * The plaintext authentication key. For ASCII type, the key\
         * \ must contain printable ASCII characters, range 10-20 characters. For\
         * \ HEX type, range should be 10-40 characters
         */
        key?: string;
        /**
         * The authentication Key ID
         */
        keyNumber?: number;
        /**
         * md5 Authentication type
         */
        type?: string;
    }
    interface GetPrecisionTimeServiceOrder {
        /**
         * Customer reference number
         */
        customerReferenceNumber: string;
        /**
         * Order reference number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
    }
    interface GetPrecisionTimeServicePackage {
        /**
         * Time Precision Package Code for the desired billing package
         */
        code: string;
        /**
         * Time Precision Package HREF link to corresponding resource in Equinix Portal
         */
        href: string;
    }
    interface GetPrecisionTimeServicePrecisionTimePrice {
        /**
         * offering price charge
         */
        charges: outputs.fabric.GetPrecisionTimeServicePrecisionTimePriceCharge[];
        /**
         * Offering price currency
         */
        currency: string;
    }
    interface GetPrecisionTimeServicePrecisionTimePriceCharge {
        /**
         * Offering price
         */
        price: number;
        /**
         * Price charge type; MONTHLY*RECURRING, NON*RECURRING
         */
        type: string;
    }
    interface GetPrecisionTimeServiceProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface GetPrecisionTimeServicePtpAdvancedConfiguration {
        /**
         * The PTP domain value
         */
        domain?: number;
        /**
         * Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200
         */
        grantTime?: number;
        /**
         * Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second
         */
        logAnnounceInterval?: number;
        /**
         * Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second..
         */
        logDelayReqInterval?: number;
        /**
         * Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second..
         */
        logSyncInterval?: number;
        /**
         * The priority1 value determines the best primary clock, Lower value indicates higher priority
         */
        priority1?: number;
        /**
         * The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network
         */
        priority2?: number;
        /**
         * Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol
         */
        timeScale?: string;
        /**
         * ptp transport mode
         */
        transportMode?: string;
    }
    interface GetPrecisionTimeServicesData {
        /**
         * Equinix User Account associated with Precision Time Service
         */
        account: outputs.fabric.GetPrecisionTimeServicesDataAccount;
        /**
         * Details of the last change on the route aggregation resource
         */
        changeLog: outputs.fabric.GetPrecisionTimeServicesDataChangeLog;
        /**
         * An array of objects with unique identifiers of connections.
         */
        connections: outputs.fabric.GetPrecisionTimeServicesDataConnection[];
        /**
         * Equinix generated Portal link for the created Precision Time Service
         */
        href: string;
        /**
         * An object that has Network IP Configurations for Timing Master Servers.
         */
        ipv4: outputs.fabric.GetPrecisionTimeServicesDataIpv4;
        /**
         * Name of Precision Time Service. Applicable values: Maximum: 24 characters; Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_')
         */
        name: string;
        /**
         * NTP Advanced configuration
         */
        ntpAdvancedConfigurations?: outputs.fabric.GetPrecisionTimeServicesDataNtpAdvancedConfiguration[];
        /**
         * Precision Time Order
         */
        order: outputs.fabric.GetPrecisionTimeServicesDataOrder;
        /**
         * Precision Time Service Package Details
         */
        package: outputs.fabric.GetPrecisionTimeServicesDataPackage;
        /**
         * Precision Time Service Price
         */
        precisionTimePrice: outputs.fabric.GetPrecisionTimeServicesDataPrecisionTimePrice;
        /**
         * Equinix Project attribute object
         */
        project?: outputs.fabric.GetPrecisionTimeServicesDataProject;
        /**
         * PTP Advanced Configuration
         */
        ptpAdvancedConfiguration?: outputs.fabric.GetPrecisionTimeServicesDataPtpAdvancedConfiguration;
        /**
         * Indicator of the state of this Precision Time Service
         */
        state: string;
        /**
         * Choose type of Precision Time Service
         */
        type: string;
        /**
         * Equinix generated id for the Precision Time Service
         */
        uuid: string;
    }
    interface GetPrecisionTimeServicesDataAccount {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Equinix Account Number
         */
        accountNumber: number;
        /**
         * Global Customer Id
         */
        globalCustId: string;
        /**
         * Customer organization naidentifierme
         */
        globalOrgId: string;
        /**
         * Global organization name
         */
        globalOrganizationName: string;
        /**
         * Customer organization identifier
         */
        orgId: number;
        /**
         * Customer organization name
         */
        organizationName: string;
        /**
         * Reseller account name
         */
        resellerAccountName: string;
        /**
         * Reseller account number
         */
        resellerAccountNumber: number;
        /**
         * Reseller customer organization identifier
         */
        resellerOrgId: number;
        /**
         * Reseller account ucmId
         */
        resellerUcmId: string;
        /**
         * Global organization name
         */
        ucmId: string;
    }
    interface GetPrecisionTimeServicesDataChangeLog {
        /**
         * User name of creator of the route aggregation resource
         */
        createdBy: string;
        /**
         * Email of creator of the route aggregation resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the route aggregation resource
         */
        createdByFullName: string;
        /**
         * Creation time of the route aggregation resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the route aggregation resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the route aggregation resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the route aggregation resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the route aggregation resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the route aggregation resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the route aggregation resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the route aggregation resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the route aggregation resource
         */
        updatedDateTime: string;
    }
    interface GetPrecisionTimeServicesDataConnection {
        /**
         * Link to the Equinix Fabric Connection associated with the Precision Time Service
         */
        href: string;
        /**
         * Type of the Equinix Fabric Connection associated with the Precision Time Service
         */
        type: string;
        /**
         * Equinix Fabric Connection UUID; Precision Time Service will be connected with it
         */
        uuid: string;
    }
    interface GetPrecisionTimeServicesDataIpv4 {
        /**
         * IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network.
         */
        defaultGateway: string;
        /**
         * IPv4 address that defines the range of consecutive subnets in the network.
         */
        networkMask: string;
        /**
         * IPv4 address for the Primary Timing Master Server.
         */
        primary: string;
        /**
         * IPv4 address for the Secondary Timing Master Server.
         */
        secondary: string;
    }
    interface GetPrecisionTimeServicesDataNtpAdvancedConfiguration {
        /**
         * The plaintext authentication key. For ASCII type, the key\
         * \ must contain printable ASCII characters, range 10-20 characters. For\
         * \ HEX type, range should be 10-40 characters
         */
        key?: string;
        /**
         * The authentication Key ID
         */
        keyNumber?: number;
        /**
         * md5 Authentication type
         */
        type?: string;
    }
    interface GetPrecisionTimeServicesDataOrder {
        /**
         * Customer reference number
         */
        customerReferenceNumber: string;
        /**
         * Order reference number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
    }
    interface GetPrecisionTimeServicesDataPackage {
        /**
         * Time Precision Package Code for the desired billing package
         */
        code: string;
        /**
         * Time Precision Package HREF link to corresponding resource in Equinix Portal
         */
        href: string;
    }
    interface GetPrecisionTimeServicesDataPrecisionTimePrice {
        /**
         * offering price charge
         */
        charges: outputs.fabric.GetPrecisionTimeServicesDataPrecisionTimePriceCharge[];
        /**
         * Offering price currency
         */
        currency: string;
    }
    interface GetPrecisionTimeServicesDataPrecisionTimePriceCharge {
        /**
         * Offering price
         */
        price: number;
        /**
         * Price charge type; MONTHLY*RECURRING, NON*RECURRING
         */
        type: string;
    }
    interface GetPrecisionTimeServicesDataProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface GetPrecisionTimeServicesDataPtpAdvancedConfiguration {
        /**
         * The PTP domain value
         */
        domain?: number;
        /**
         * Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200
         */
        grantTime?: number;
        /**
         * Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second
         */
        logAnnounceInterval?: number;
        /**
         * Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second..
         */
        logDelayReqInterval?: number;
        /**
         * Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second..
         */
        logSyncInterval?: number;
        /**
         * The priority1 value determines the best primary clock, Lower value indicates higher priority
         */
        priority1?: number;
        /**
         * The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network
         */
        priority2?: number;
        /**
         * Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol
         */
        timeScale?: string;
        /**
         * ptp transport mode
         */
        transportMode?: string;
    }
    interface GetPrecisionTimeServicesFilter {
        /**
         * Operation applied to the values of the filter
         */
        operator: string;
        /**
         * Boolean value to specify if this filter is a part of the OR group. Has a maximum of 3 and only counts for 1 of the 8 possible filters
         */
        or?: boolean;
        /**
         * Property to apply the filter to
         */
        property: string;
        /**
         * List of values to apply the operation to for the specified property
         */
        values: string[];
    }
    interface GetPrecisionTimeServicesPagination {
        /**
         * Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20
         */
        limit: number;
        /**
         * Index of the first item returned in the response. The default is 0
         */
        offset: number;
    }
    interface GetPrecisionTimeServicesSort {
        /**
         * The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC
         */
        direction?: string;
        /**
         * The property name to use in sorting. One of [/name /uuid /state /type /package/code /changeLog/createdDateTime /changeLog/updatedDateTime] Defaults to /name
         */
        property?: string;
    }
    interface GetRouteAggregationChange {
        /**
         * Equinix auto generated URI to the route aggregation change
         */
        href: string;
        /**
         * Equinix defined Route Aggregation Change Type
         */
        type: string;
        /**
         * Equinix-assigned unique id for a change
         */
        uuid: string;
    }
    interface GetRouteAggregationChangeLog {
        /**
         * User name of creator of the route aggregation resource
         */
        createdBy: string;
        /**
         * Email of creator of the route aggregation resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the route aggregation resource
         */
        createdByFullName: string;
        /**
         * Creation time of the route aggregation resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the route aggregation resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the route aggregation resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the route aggregation resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the route aggregation resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the route aggregation resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the route aggregation resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the route aggregation resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the route aggregation resource
         */
        updatedDateTime: string;
    }
    interface GetRouteAggregationProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface GetRouteAggregationRuleChange {
        /**
         * Equinix auto generated URI to the route aggregation change
         */
        href: string;
        /**
         * Equinix defined Route Aggregation Change Type
         */
        type: string;
        /**
         * Equinix-assigned unique id for a change
         */
        uuid: string;
    }
    interface GetRouteAggregationRuleChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface GetRouteAggregationRulesData {
        /**
         * Current state of latest route aggregation rule change
         */
        change: outputs.fabric.GetRouteAggregationRulesDataChange;
        /**
         * Details of the last change on the stream resource
         */
        changeLog: outputs.fabric.GetRouteAggregationRulesDataChangeLog;
        /**
         * Customer-provided route aggregation rule description
         */
        description?: string;
        /**
         * Equinix auto generated URI to the route aggregation rule resource
         */
        href: string;
        /**
         * Customer provided name of the route aggregation rule
         */
        name: string;
        /**
         * Customer-provided route aggregation rule prefix
         */
        prefix: string;
        /**
         * UUID of the Route Aggregation to apply this Rule to
         */
        routeAggregationId: string;
        /**
         * Value representing provisioning status for the route aggregation rule resource
         */
        state: string;
        /**
         * Equinix defined Route Aggregation Type; BGP*IPv4*PREFIX*AGGREGATION, BGP*IPv6*PREFIX*AGGREGATION
         */
        type: string;
        /**
         * Equinix-assigned unique id for the route aggregation rule resource
         */
        uuid: string;
    }
    interface GetRouteAggregationRulesDataChange {
        /**
         * Equinix auto generated URI to the route aggregation change
         */
        href: string;
        /**
         * Equinix defined Route Aggregation Change Type
         */
        type: string;
        /**
         * Equinix-assigned unique id for a change
         */
        uuid: string;
    }
    interface GetRouteAggregationRulesDataChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface GetRouteAggregationRulesPagination {
        /**
         * Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20
         */
        limit: number;
        /**
         * The URL relative to the next item in the response
         */
        next: string;
        /**
         * Index of the first item returned in the response. The default is 0
         */
        offset: number;
        /**
         * The URL relative to the previous item in the response
         */
        previous: string;
        /**
         * The total number of route agrgegation rules available to the user making the request
         */
        total: number;
    }
    interface GetRouteAggregationsData {
        /**
         * Current state of latest Route Aggregation change
         */
        change: outputs.fabric.GetRouteAggregationsDataChange;
        /**
         * Details of the last change on the route aggregation resource
         */
        changeLog: outputs.fabric.GetRouteAggregationsDataChangeLog;
        /**
         * Number of Connections attached to route aggregation
         */
        connectionsCount: number;
        /**
         * Customer-provided route aggregation description
         */
        description: string;
        /**
         * Equinix auto generated URI to the route aggregation resource
         */
        href: string;
        /**
         * Customer provided name of the route aggregation
         */
        name: string;
        /**
         * Equinix Project attribute object
         */
        project: outputs.fabric.GetRouteAggregationsDataProject;
        /**
         * Number of Rules attached to route aggregation
         */
        rulesCount: number;
        /**
         * Value representing provisioning status for the route aggregation resource
         */
        state: string;
        /**
         * Equinix defined Route Aggregation Type; BGP*IPv4*PREFIX*AGGREGATION, BGP*IPv6*PREFIX*AGGREGATION
         */
        type: string;
        /**
         * Equinix-assigned unique id for the route aggregation resource
         */
        uuid: string;
    }
    interface GetRouteAggregationsDataChange {
        /**
         * Equinix auto generated URI to the route aggregation change
         */
        href: string;
        /**
         * Equinix defined Route Aggregation Change Type
         */
        type: string;
        /**
         * Equinix-assigned unique id for a change
         */
        uuid: string;
    }
    interface GetRouteAggregationsDataChangeLog {
        /**
         * User name of creator of the route aggregation resource
         */
        createdBy: string;
        /**
         * Email of creator of the route aggregation resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the route aggregation resource
         */
        createdByFullName: string;
        /**
         * Creation time of the route aggregation resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the route aggregation resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the route aggregation resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the route aggregation resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the route aggregation resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the route aggregation resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the route aggregation resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the route aggregation resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the route aggregation resource
         */
        updatedDateTime: string;
    }
    interface GetRouteAggregationsDataProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface GetRouteAggregationsFilter {
        /**
         * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL]
         */
        operator: string;
        /**
         * possible field names to use on filters. One of [/type /name /project/projectId /uuid /state]
         */
        property: string;
        /**
         * The values that you want to apply the property+operator combination to in order to filter your data search
         */
        values: string[];
    }
    interface GetRouteAggregationsPagination {
        /**
         * Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20
         */
        limit: number;
        /**
         * The URL relative to the next item in the response
         */
        next: string;
        /**
         * Index of the first item returned in the response. The default is 0
         */
        offset: number;
        /**
         * The URL relative to the previous item in the response
         */
        previous: string;
        /**
         * The total number of route aggregations available to the user making the request
         */
        total: number;
    }
    interface GetRouteAggregationsSort {
        /**
         * The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC
         */
        direction?: string;
        /**
         * The property name to use in sorting. One of [/type /name /project/projectId /uuid /state] Defaults to /name
         */
        property?: string;
    }
    interface GetRouteFilterChange {
        /**
         * The URI of the previous Route Filter Change
         */
        href: string;
        /**
         * Type of change. One of [ "BGP_IPv4_PREFIX_FILTER_UPDATE","BGP_IPv4_PREFIX_FILTER_CREATION","BGP_IPv4_PREFIX_FILTER_DELETION","BGP_IPv6_PREFIX_FILTER_UPDATE","BGP_IPv6_PREFIX_FILTER_CREATION","BGP_IPv6_PREFIX_FILTER_DELETION" ]
         */
        type: string;
        /**
         * Unique identifier for the previous change
         */
        uuid: string;
    }
    interface GetRouteFilterChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetRouteFilterProject {
        /**
         * URI of the Fabric Project
         */
        href: string;
        /**
         * Project id associated with Fabric Project
         */
        projectId: string;
    }
    interface GetRouteFilterRuleChange {
        /**
         * The URI of the previous Route Filter Rule Change
         */
        href: string;
        /**
         * Type of change. One of [ "BGP_IPv4_PREFIX_FILTER_RULE_UPDATE","BGP_IPv4_PREFIX_FILTER_RULE_CREATION","BGP_IPv4_PREFIX_FILTER_RULE_DELETION","BGP_IPv6_PREFIX_FILTER_RULE_UPDATE","BGP_IPv6_PREFIX_FILTER_RULE_CREATION","BGP_IPv6_PREFIX_FILTER_RULE_DELETION" ]
         */
        type: string;
        /**
         * Unique identifier for the previous change
         */
        uuid: string;
    }
    interface GetRouteFilterRuleChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetRouteFilterRulesData {
        /**
         * Action that will be taken on IP Addresses matching the rule
         */
        action: string;
        changeLogs: outputs.fabric.GetRouteFilterRulesDataChangeLog[];
        /**
         * An object with the details of the previous change applied on the Route Filter
         */
        changes: outputs.fabric.GetRouteFilterRulesDataChange[];
        /**
         * Optional description to add to the Route Filter you will be creating
         */
        description: string;
        /**
         * Route filter rules URI
         */
        href: string;
        /**
         * Name of the Route Filter
         */
        name: string;
        /**
         * IP Address Prefix to Filter on
         */
        prefix: string;
        /**
         * Prefix matching operator. One of [ orlonger, exact ] Default: "orlonger"
         */
        prefixMatch: string;
        /**
         * State of the Route Filter Rule in its lifecycle
         */
        state: string;
        /**
         * Route Filter Type. One of [ BGP_IPv4_PREFIX_FILTER_RULE, BGP_IPv6_PREFIX_FILTER_RULE ]
         */
        type: string;
        /**
         * Equinix Assigned ID for Route Filter Rule to retrieve data for
         */
        uuid: string;
    }
    interface GetRouteFilterRulesDataChange {
        /**
         * The URI of the previous Route Filter Rule Change
         */
        href: string;
        /**
         * Type of change. One of [ "BGP_IPv4_PREFIX_FILTER_RULE_UPDATE","BGP_IPv4_PREFIX_FILTER_RULE_CREATION","BGP_IPv4_PREFIX_FILTER_RULE_DELETION","BGP_IPv6_PREFIX_FILTER_RULE_UPDATE","BGP_IPv6_PREFIX_FILTER_RULE_CREATION","BGP_IPv6_PREFIX_FILTER_RULE_DELETION" ]
         */
        type: string;
        /**
         * Unique identifier for the previous change
         */
        uuid: string;
    }
    interface GetRouteFilterRulesDataChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetRouteFilterRulesPagination {
        /**
         * Number of elements to be requested per page. Number must be between 1 and 100. Default is 20
         */
        limit: number;
        /**
         * URL relative to the last item in the response.
         */
        next: string;
        /**
         * The page offset for the pagination request. Index of the first element. Default is 0.
         */
        offset: number;
        /**
         * URL relative to the first item in the response.
         */
        previous: string;
        /**
         * Total number of elements returned.
         */
        total: number;
    }
    interface GetRouteFiltersData {
        changeLogs: outputs.fabric.GetRouteFiltersDataChangeLog[];
        /**
         * An object with the details of the previous change applied on the Route Filter
         */
        changes: outputs.fabric.GetRouteFiltersDataChange[];
        /**
         * The number of Fabric Connections that this Route Filter is attached to
         */
        connectionsCount: number;
        /**
         * Optional description to add to the Route Filter you will be creating
         */
        description: string;
        /**
         * Route filter URI
         */
        href: string;
        /**
         * Name of the Route Filter
         */
        name: string;
        /**
         * The action that will be taken on ip ranges that don't match the rules present within the Route Filter
         */
        notMatchedRuleAction: string;
        /**
         * The Project object that contains projectId and href that is related to the Fabric Project containing connections the Route Filter can be attached to
         */
        projects: outputs.fabric.GetRouteFiltersDataProject[];
        /**
         * The number of Route Filter Rules attached to this Route Filter
         */
        rulesCount: number;
        /**
         * State of the Route Filter in its lifecycle
         */
        state: string;
        /**
         * Route Filter Type. One of [ "BGP_IPv4_PREFIX_FILTER", "BGP_IPv6_PREFIX_FILTER" ]
         */
        type: string;
        /**
         * Equinix Assigned ID for Route Filter
         */
        uuid: string;
    }
    interface GetRouteFiltersDataChange {
        /**
         * The URI of the previous Route Filter Change
         */
        href: string;
        /**
         * Type of change. One of [ "BGP_IPv4_PREFIX_FILTER_UPDATE","BGP_IPv4_PREFIX_FILTER_CREATION","BGP_IPv4_PREFIX_FILTER_DELETION","BGP_IPv6_PREFIX_FILTER_UPDATE","BGP_IPv6_PREFIX_FILTER_CREATION","BGP_IPv6_PREFIX_FILTER_DELETION" ]
         */
        type: string;
        /**
         * Unique identifier for the previous change
         */
        uuid: string;
    }
    interface GetRouteFiltersDataChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetRouteFiltersDataProject {
        /**
         * URI of the Fabric Project
         */
        href: string;
        /**
         * Project id associated with Fabric Project
         */
        projectId: string;
    }
    interface GetRouteFiltersFilter {
        /**
         * Possible operators to use on the filter property. Can be one of the following: [ "=", "!=", "[NOT] LIKE", "[NOT] IN", "ILIKE" ]
         */
        operator: string;
        /**
         * The API response property which you want to filter your request on. Can be one of the following: "/type", "/name", "/project/projectId", "/uuid", "/state"
         */
        property: string;
        /**
         * The values that you want to apply the property+operator combination to in order to filter your data search
         */
        values: string[];
    }
    interface GetRouteFiltersPagination {
        /**
         * Number of elements to be requested per page. Number must be between 1 and 100. Default is 20
         */
        limit: number;
        /**
         * URL relative to the last item in the response.
         */
        next: string;
        /**
         * The page offset for the pagination request. Index of the first element. Default is 0.
         */
        offset: number;
        /**
         * URL relative to the first item in the response.
         */
        previous: string;
        /**
         * Total number of elements returned.
         */
        total: number;
    }
    interface GetRouteFiltersSort {
        /**
         * The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC
         */
        direction?: string;
        /**
         * The property name to use in sorting. Can be one of the following: [/type, /uuid, /name, /project/projectId, /state, /notMatchedRuleAction, /connectionsCount, /changeLog/createdDateTime, /changeLog/updatedDateTime], Defaults to /changeLog/updatedDateTime
         */
        property?: string;
    }
    interface GetRoutingProtocolBfd {
        /**
         * Bidirectional Forwarding Detection enablement
         */
        enabled: boolean;
        /**
         * Interval range between the received BFD control packets
         */
        interval?: string;
    }
    interface GetRoutingProtocolBgpIpv4 {
        /**
         * Customer side peering ip
         */
        customerPeerIp: string;
        /**
         * Admin status for the BGP session
         */
        enabled?: boolean;
        /**
         * Equinix side peering ip
         */
        equinixPeerIp: string;
        /**
         * Inbound Multi Exit Discriminator attribute
         */
        inboundMed: number;
        /**
         * AS path prepend count. One of: 0, 1, 3, 5
         */
        outboundAsPrependCount: string;
        /**
         * Outbound Multi Exit Discriminator attribute
         */
        outboundMed: number;
    }
    interface GetRoutingProtocolBgpIpv6 {
        /**
         * Customer side peering ip
         */
        customerPeerIp: string;
        /**
         * Admin status for the BGP session
         */
        enabled?: boolean;
        /**
         * Equinix side peering ip
         */
        equinixPeerIp: string;
        /**
         * Inbound Multi Exit Discriminator attribute
         */
        inboundMed: number;
        /**
         * AS path prepend count. One of: 0, 1, 3, 5
         */
        outboundAsPrependCount: string;
        /**
         * Outbound Multi Exit Discriminator attribute
         */
        outboundMed: number;
    }
    interface GetRoutingProtocolChange {
        /**
         * Routing Protocol Change URI
         */
        href: string;
        /**
         * Type of change
         */
        type: string;
        /**
         * Uniquely identifies a change
         */
        uuid: string;
    }
    interface GetRoutingProtocolChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetRoutingProtocolDirectIpv4 {
        /**
         * Equinix side Interface IP address
         */
        equinixIfaceIp: string;
    }
    interface GetRoutingProtocolDirectIpv6 {
        /**
         * Equinix side Interface IP address
         */
        equinixIfaceIp?: string;
    }
    interface GetRoutingProtocolOperation {
        /**
         * Errors occurred
         */
        errors: outputs.fabric.GetRoutingProtocolOperationError[];
    }
    interface GetRoutingProtocolOperationError {
        /**
         * Pricing error additional Info
         */
        additionalInfos: outputs.fabric.GetRoutingProtocolOperationErrorAdditionalInfo[];
        /**
         * CorrelationId
         */
        correlationId: string;
        /**
         * Details
         */
        details: string;
        /**
         * Error  code
         */
        errorCode: string;
        /**
         * Error Message
         */
        errorMessage: string;
        /**
         * Help
         */
        help: string;
    }
    interface GetRoutingProtocolOperationErrorAdditionalInfo {
        /**
         * Property at which the error potentially occurred
         */
        property: string;
        /**
         * Reason for the error
         */
        reason: string;
    }
    interface GetServiceProfileAccessPointTypeConfig {
        /**
         * Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller
         */
        allowBandwidthAutoApproval?: boolean;
        /**
         * Availability of a bandwidth upgrade. The default is false
         */
        allowBandwidthUpgrade?: boolean;
        /**
         * Setting to enable or disable the ability of the buyer to customize the bandwidth
         */
        allowCustomBandwidth?: boolean;
        /**
         * Setting to allow or prohibit remote connections to the service profile
         */
        allowRemoteConnections?: boolean;
        /**
         * Api configuration details
         */
        apiConfig?: outputs.fabric.GetServiceProfileAccessPointTypeConfigApiConfig;
        /**
         * Authentication key details
         */
        authenticationKey?: outputs.fabric.GetServiceProfileAccessPointTypeConfigAuthenticationKey;
        /**
         * Percentage of port bandwidth at which an allocation alert is generated
         */
        bandwidthAlertThreshold?: number;
        /**
         * Custom name for Connection
         */
        connectionLabel?: string;
        /**
         * Mandate redundant connections
         */
        connectionRedundancyRequired?: boolean;
        /**
         * Enable auto generate service key
         */
        enableAutoGenerateServiceKey?: boolean;
        /**
         * Link protocol configuration details
         */
        linkProtocolConfig?: outputs.fabric.GetServiceProfileAccessPointTypeConfigLinkProtocolConfig;
        /**
         * Supported bandwidths
         */
        supportedBandwidths?: number[];
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Colo/Port Uuid
         */
        uuid: string;
    }
    interface GetServiceProfileAccessPointTypeConfigApiConfig {
        /**
         * Setting showing that oversubscription support is available (true) or not (false). The default is false
         */
        allowOverSubscription?: boolean;
        /**
         * Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API.
         */
        apiAvailable?: boolean;
        /**
         * Indicates if the connection bandwidth can be obtained directly from the cloud service provider.
         */
        bandwidthFromApi?: boolean;
        /**
         * Setting indicating that the port is managed by Equinix (true) or not (false)
         */
        equinixManagedPort?: boolean;
        /**
         * Setting indicating that the VLAN is managed by Equinix (true) or not (false)
         */
        equinixManagedVlan?: boolean;
        /**
         * A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API.
         */
        integrationId?: string;
        /**
         * Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps.
         */
        overSubscriptionLimit?: number;
    }
    interface GetServiceProfileAccessPointTypeConfigAuthenticationKey {
        /**
         * Description of authorization key
         */
        description?: string;
        /**
         * Name of the parameter that must be provided to authorize the connection.
         */
        label?: string;
        /**
         * Requirement to configure an authentication key.
         */
        required?: boolean;
    }
    interface GetServiceProfileAccessPointTypeConfigLinkProtocolConfig {
        /**
         * Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard.
         */
        encapsulation?: string;
        /**
         * Additional tagging information required by the seller profile.
         */
        encapsulationStrategy?: string;
        /**
         * Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection.
         */
        reuseVlanSTag?: boolean;
    }
    interface GetServiceProfileAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetServiceProfileChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetServiceProfileCustomField {
        /**
         * Required field
         */
        captureInEmail?: boolean;
        /**
         * Data type
         */
        dataType: string;
        /**
         * Description
         */
        description?: string;
        /**
         * Label
         */
        label: string;
        /**
         * Options
         */
        options?: string[];
        /**
         * Required field
         */
        required: boolean;
    }
    interface GetServiceProfileMarketingInfo {
        /**
         * Logo
         */
        logo?: string;
        /**
         * Process Step
         */
        processSteps?: outputs.fabric.GetServiceProfileMarketingInfoProcessStep[];
        /**
         * Promotion
         */
        promotion?: boolean;
    }
    interface GetServiceProfileMarketingInfoProcessStep {
        /**
         * Description
         */
        description?: string;
        /**
         * Sub Title
         */
        subTitle?: string;
        /**
         * Title
         */
        title?: string;
    }
    interface GetServiceProfileMetro {
        /**
         * Metro Code - Example SV
         */
        code?: string;
        /**
         * Display Name
         */
        displayName?: string;
        /**
         * IBX- Equinix International Business Exchange list
         */
        ibxs?: string[];
        /**
         * In Trail
         */
        inTrail?: boolean;
        /**
         * Metro Name
         */
        name?: string;
        /**
         * Seller Regions
         */
        sellerRegions?: {
            [key: string]: string;
        };
    }
    interface GetServiceProfileNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetServiceProfilePort {
        /**
         * Cross Connect Id
         */
        crossConnectId?: string;
        /**
         * Colo/Port Location
         */
        location?: outputs.fabric.GetServiceProfilePortLocation;
        /**
         * Seller Region
         */
        sellerRegion?: string;
        /**
         * Seller Region details
         */
        sellerRegionDescription?: string;
        /**
         * Colo/Port Type
         */
        type: string;
        /**
         * Colo/Port Uuid
         */
        uuid: string;
    }
    interface GetServiceProfilePortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceProfileProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface GetServiceProfileVirtualDevice {
        /**
         * Device Interface Uuid
         */
        interfaceUuid?: string;
        /**
         * Device Location
         */
        location?: outputs.fabric.GetServiceProfileVirtualDeviceLocation;
        /**
         * Virtual Device Type
         */
        type: string;
        /**
         * Virtual Device Uuid
         */
        uuid: string;
    }
    interface GetServiceProfileVirtualDeviceLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceProfilesDatum {
        /**
         * Access point config information
         */
        accessPointTypeConfigs: outputs.fabric.GetServiceProfilesDatumAccessPointTypeConfig[];
        /**
         * Service Profile Owner Account Information
         */
        accounts: outputs.fabric.GetServiceProfilesDatumAccount[];
        /**
         * Array of contact emails
         */
        allowedEmails: string[];
        /**
         * Captures connection lifecycle change information
         */
        changeLogs: outputs.fabric.GetServiceProfilesDatumChangeLog[];
        /**
         * Custom Fields
         */
        customFields: outputs.fabric.GetServiceProfilesDatumCustomField[];
        /**
         * User-provided service description
         */
        description: string;
        /**
         * Service Profile URI response attribute
         */
        href: string;
        /**
         * Marketing Info
         */
        marketingInfos: outputs.fabric.GetServiceProfilesDatumMarketingInfo[];
        /**
         * Access point config information
         */
        metros: outputs.fabric.GetServiceProfilesDatumMetro[];
        /**
         * Customer-assigned service profile name
         */
        name: string;
        /**
         * Preferences for notifications on connection configuration or status changes
         */
        notifications: outputs.fabric.GetServiceProfilesDatumNotification[];
        /**
         * Ports
         */
        ports: outputs.fabric.GetServiceProfilesDatumPort[];
        /**
         * Project information
         */
        projects: outputs.fabric.GetServiceProfilesDatumProject[];
        /**
         * Self Profile indicating if the profile is created for customer's  self use
         */
        selfProfile: boolean;
        /**
         * Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED
         */
        state: string;
        /**
         * Tags attached to the connection
         */
        tags: string[];
        /**
         * Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE
         */
        type: string;
        /**
         * Equinix assigned service profile identifier
         */
        uuid: string;
        /**
         * Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide
         */
        viewPoint: string;
        /**
         * Virtual Devices
         */
        virtualDevices: outputs.fabric.GetServiceProfilesDatumVirtualDevice[];
        /**
         * Service profile visibility - PUBLIC, PRIVATE
         */
        visibility: string;
    }
    interface GetServiceProfilesDatumAccessPointTypeConfig {
        /**
         * Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller
         */
        allowBandwidthAutoApproval?: boolean;
        /**
         * Availability of a bandwidth upgrade. The default is false
         */
        allowBandwidthUpgrade?: boolean;
        /**
         * Setting to enable or disable the ability of the buyer to customize the bandwidth
         */
        allowCustomBandwidth?: boolean;
        /**
         * Setting to allow or prohibit remote connections to the service profile
         */
        allowRemoteConnections?: boolean;
        /**
         * Api configuration details
         */
        apiConfig?: outputs.fabric.GetServiceProfilesDatumAccessPointTypeConfigApiConfig;
        /**
         * Authentication key details
         */
        authenticationKey?: outputs.fabric.GetServiceProfilesDatumAccessPointTypeConfigAuthenticationKey;
        /**
         * Percentage of port bandwidth at which an allocation alert is generated
         */
        bandwidthAlertThreshold?: number;
        /**
         * Custom name for Connection
         */
        connectionLabel?: string;
        /**
         * Mandate redundant connections
         */
        connectionRedundancyRequired?: boolean;
        /**
         * Enable auto generate service key
         */
        enableAutoGenerateServiceKey?: boolean;
        /**
         * Link protocol configuration details
         */
        linkProtocolConfig?: outputs.fabric.GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfig;
        /**
         * Supported bandwidths
         */
        supportedBandwidths?: number[];
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Colo/Port Uuid
         */
        uuid: string;
    }
    interface GetServiceProfilesDatumAccessPointTypeConfigApiConfig {
        /**
         * Setting showing that oversubscription support is available (true) or not (false). The default is false
         */
        allowOverSubscription?: boolean;
        /**
         * Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API.
         */
        apiAvailable?: boolean;
        /**
         * Indicates if the connection bandwidth can be obtained directly from the cloud service provider.
         */
        bandwidthFromApi?: boolean;
        /**
         * Setting indicating that the port is managed by Equinix (true) or not (false)
         */
        equinixManagedPort?: boolean;
        /**
         * Setting indicating that the VLAN is managed by Equinix (true) or not (false)
         */
        equinixManagedVlan?: boolean;
        /**
         * A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API.
         */
        integrationId?: string;
        /**
         * Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps.
         */
        overSubscriptionLimit?: number;
    }
    interface GetServiceProfilesDatumAccessPointTypeConfigAuthenticationKey {
        /**
         * Description of authorization key
         */
        description?: string;
        /**
         * Name of the parameter that must be provided to authorize the connection.
         */
        label?: string;
        /**
         * Requirement to configure an authentication key.
         */
        required?: boolean;
    }
    interface GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfig {
        /**
         * Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard.
         */
        encapsulation?: string;
        /**
         * Additional tagging information required by the seller profile.
         */
        encapsulationStrategy?: string;
        /**
         * Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection.
         */
        reuseVlanSTag?: boolean;
    }
    interface GetServiceProfilesDatumAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetServiceProfilesDatumChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetServiceProfilesDatumCustomField {
        /**
         * Required field
         */
        captureInEmail?: boolean;
        /**
         * Data type
         */
        dataType: string;
        /**
         * Description
         */
        description?: string;
        /**
         * Label
         */
        label: string;
        /**
         * Options
         */
        options?: string[];
        /**
         * Required field
         */
        required: boolean;
    }
    interface GetServiceProfilesDatumMarketingInfo {
        /**
         * Logo
         */
        logo?: string;
        /**
         * Process Step
         */
        processSteps?: outputs.fabric.GetServiceProfilesDatumMarketingInfoProcessStep[];
        /**
         * Promotion
         */
        promotion?: boolean;
    }
    interface GetServiceProfilesDatumMarketingInfoProcessStep {
        /**
         * Description
         */
        description?: string;
        /**
         * Sub Title
         */
        subTitle?: string;
        /**
         * Title
         */
        title?: string;
    }
    interface GetServiceProfilesDatumMetro {
        /**
         * Metro Code - Example SV
         */
        code?: string;
        /**
         * Display Name
         */
        displayName?: string;
        /**
         * IBX- Equinix International Business Exchange list
         */
        ibxs?: string[];
        /**
         * In Trail
         */
        inTrail?: boolean;
        /**
         * Metro Name
         */
        name?: string;
        /**
         * Seller Regions
         */
        sellerRegions?: {
            [key: string]: string;
        };
    }
    interface GetServiceProfilesDatumNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetServiceProfilesDatumPort {
        /**
         * Cross Connect Id
         */
        crossConnectId?: string;
        /**
         * Colo/Port Location
         */
        location?: outputs.fabric.GetServiceProfilesDatumPortLocation;
        /**
         * Seller Region
         */
        sellerRegion?: string;
        /**
         * Seller Region details
         */
        sellerRegionDescription?: string;
        /**
         * Colo/Port Type
         */
        type: string;
        /**
         * Colo/Port Uuid
         */
        uuid: string;
    }
    interface GetServiceProfilesDatumPortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceProfilesDatumProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface GetServiceProfilesDatumVirtualDevice {
        /**
         * Device Interface Uuid
         */
        interfaceUuid?: string;
        /**
         * Device Location
         */
        location?: outputs.fabric.GetServiceProfilesDatumVirtualDeviceLocation;
        /**
         * Virtual Device Type
         */
        type: string;
        /**
         * Virtual Device Uuid
         */
        uuid: string;
    }
    interface GetServiceProfilesDatumVirtualDeviceLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceProfilesFilter {
        /**
         * Operators to use on your filtered field with the values given. One of [=]
         */
        operator: string;
        /**
         * Property to apply operator and values to. One of [/name /uuid /state /metros/code /visibility /type /project/projectId]
         */
        property: string;
        /**
         * The values that you want to apply the property+operator combination to in order to filter your data search
         */
        values: string[];
    }
    interface GetServiceProfilesPagination {
        /**
         * Number of elements to be requested per page. Number must be between 1 and 100. Default is 20
         */
        limit?: number;
        /**
         * The page offset for the pagination request. Index of the first element. Default is 0.
         */
        offset?: number;
    }
    interface GetServiceProfilesSort {
        /**
         * The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC
         */
        direction?: string;
        /**
         * The property name to use in sorting. One of [/name /uuid /state /location/metroCode /location/metroName /package/code /changeLog/createdDateTime /changeLog/updatedDateTime]. Defaults to /changeLog/updatedDateTime
         */
        property?: string;
    }
    interface GetServiceTokenAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetServiceTokenChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetServiceTokenNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetServiceTokenProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface GetServiceTokenServiceTokenConnection {
        /**
         * A-Side Connection link protocol,virtual device or network configuration
         */
        aSides: outputs.fabric.GetServiceTokenServiceTokenConnectionASide[];
        /**
         * Allow custom bandwidth value
         */
        allowCustomBandwidth: boolean;
        /**
         * Authorization to connect remotely
         */
        allowRemoteConnection: boolean;
        /**
         * Connection bandwidth limit in Mbps
         */
        bandwidthLimit: number;
        /**
         * List of permitted bandwidths'; For Port-based Service Tokens, the maximum allowable bandwidth is 50 Gbps, while for Virtual Device-based Service Tokens, it is limited to 10 Gbps
         */
        supportedBandwidths: number[];
        /**
         * Type of Connection supported by Service Token you will create; EVPL_VC, EVPLAN_VC, EPLAN_VC, IPWAN_VC
         */
        type?: string;
        /**
         * Equinix-assigned connection identifier
         */
        uuid: string;
        /**
         * Z-Side Connection link protocol,virtual device or network configuration
         */
        zSides: outputs.fabric.GetServiceTokenServiceTokenConnectionZSide[];
    }
    interface GetServiceTokenServiceTokenConnectionASide {
        /**
         * List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability
         */
        accessPointSelectors: outputs.fabric.GetServiceTokenServiceTokenConnectionASideAccessPointSelector[];
    }
    interface GetServiceTokenServiceTokenConnectionASideAccessPointSelector {
        /**
         * Virtual Device Interface Configuration
         */
        interface?: outputs.fabric.GetServiceTokenServiceTokenConnectionASideAccessPointSelectorInterface;
        /**
         * Link protocol Configuration
         */
        linkProtocol?: outputs.fabric.GetServiceTokenServiceTokenConnectionASideAccessPointSelectorLinkProtocol;
        /**
         * Network Configuration
         */
        network: outputs.fabric.GetServiceTokenServiceTokenConnectionASideAccessPointSelectorNetwork;
        /**
         * Port Configuration
         */
        port?: outputs.fabric.GetServiceTokenServiceTokenConnectionASideAccessPointSelectorPort;
        /**
         * Type of Access point; COLO, VD, NETWORK
         */
        type: string;
        /**
         * Virtual Device Configuration
         */
        virtualDevice?: outputs.fabric.GetServiceTokenServiceTokenConnectionASideAccessPointSelectorVirtualDevice;
    }
    interface GetServiceTokenServiceTokenConnectionASideAccessPointSelectorInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid: string;
    }
    interface GetServiceTokenServiceTokenConnectionASideAccessPointSelectorLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface GetServiceTokenServiceTokenConnectionASideAccessPointSelectorNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Location
         */
        locations: outputs.fabric.GetServiceTokenServiceTokenConnectionASideAccessPointSelectorNetworkLocation[];
        /**
         * Network Name
         */
        name: string;
        /**
         * Scope of Network
         */
        scope: string;
        /**
         * Type of Network
         */
        type: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid: string;
    }
    interface GetServiceTokenServiceTokenConnectionASideAccessPointSelectorNetworkLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceTokenServiceTokenConnectionASideAccessPointSelectorPort {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Port Bandwidth
         */
        bandwidth: number;
        /**
         * Customer virtual port Id
         */
        cvpId: number;
        /**
         * Port Encapsulation
         */
        encapsulationProtocolType: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port Location
         */
        locations: outputs.fabric.GetServiceTokenServiceTokenConnectionASideAccessPointSelectorPortLocation[];
        /**
         * Port Name
         */
        portName: string;
        /**
         * Port Priority
         */
        priority: string;
        /**
         * Type of Port
         */
        type: string;
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface GetServiceTokenServiceTokenConnectionASideAccessPointSelectorPortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceTokenServiceTokenConnectionASideAccessPointSelectorVirtualDevice {
        /**
         * Virtual Device Cluster Information
         */
        cluster: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name: string;
        /**
         * Virtual Device type
         */
        type: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid: string;
    }
    interface GetServiceTokenServiceTokenConnectionZSide {
        /**
         * List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability
         */
        accessPointSelectors: outputs.fabric.GetServiceTokenServiceTokenConnectionZSideAccessPointSelector[];
    }
    interface GetServiceTokenServiceTokenConnectionZSideAccessPointSelector {
        /**
         * Virtual Device Interface Configuration
         */
        interface?: outputs.fabric.GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorInterface;
        /**
         * Link protocol Configuration
         */
        linkProtocol?: outputs.fabric.GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorLinkProtocol;
        /**
         * Network Configuration
         */
        network: outputs.fabric.GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorNetwork;
        /**
         * Port Configuration
         */
        port?: outputs.fabric.GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorPort;
        /**
         * Type of Access point; COLO, VD, NETWORK
         */
        type: string;
        /**
         * Virtual Device Configuration
         */
        virtualDevice?: outputs.fabric.GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorVirtualDevice;
    }
    interface GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid: string;
    }
    interface GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Location
         */
        locations: outputs.fabric.GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorNetworkLocation[];
        /**
         * Network Name
         */
        name: string;
        /**
         * Scope of Network
         */
        scope: string;
        /**
         * Type of Network
         */
        type: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid: string;
    }
    interface GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorNetworkLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorPort {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Port Bandwidth
         */
        bandwidth: number;
        /**
         * Customer virtual port Id
         */
        cvpId: number;
        /**
         * Port Encapsulation
         */
        encapsulationProtocolType: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port Location
         */
        locations: outputs.fabric.GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorPortLocation[];
        /**
         * Port Name
         */
        portName: string;
        /**
         * Port Priority
         */
        priority: string;
        /**
         * Type of Port
         */
        type: string;
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorPortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceTokenServiceTokenConnectionZSideAccessPointSelectorVirtualDevice {
        /**
         * Virtual Device Cluster Information
         */
        cluster: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name: string;
        /**
         * Virtual Device type
         */
        type: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid: string;
    }
    interface GetServiceTokensData {
        /**
         * Customer account information that is associated with this service token
         */
        accounts: outputs.fabric.GetServiceTokensDataAccount[];
        /**
         * Captures connection lifecycle change information
         */
        changeLogs: outputs.fabric.GetServiceTokensDataChangeLog[];
        /**
         * Optional Description to the Service Token you will be creating
         */
        description: string;
        /**
         * Expiration date and time of the service token; 2020-11-06T07:00:00Z
         */
        expirationDateTime: string;
        /**
         * An absolute URL that is the subject of the link's context.
         */
        href: string;
        /**
         * Information about token side; ASIDE, ZSIDE
         */
        issuerSide: string;
        /**
         * Name of the Service Token
         */
        name: string;
        /**
         * Preferences for notifications on Service Token configuration or status changes
         */
        notifications: outputs.fabric.GetServiceTokensDataNotification[];
        /**
         * Project information
         */
        projects: outputs.fabric.GetServiceTokensDataProject[];
        /**
         * Service Token Connection Type Information
         */
        serviceTokenConnections: outputs.fabric.GetServiceTokensDataServiceTokenConnection[];
        /**
         * Service token state; ACTIVE, INACTIVE, EXPIRED, DELETED
         */
        state: string;
        /**
         * Service Token Type; VC_TOKEN,EPL_TOKEN
         */
        type: string;
        /**
         * Equinix-assigned service token identifier
         */
        uuid: string;
    }
    interface GetServiceTokensDataAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface GetServiceTokensDataChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface GetServiceTokensDataNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface GetServiceTokensDataProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface GetServiceTokensDataServiceTokenConnection {
        /**
         * A-Side Connection link protocol,virtual device or network configuration
         */
        aSides: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASide[];
        /**
         * Allow custom bandwidth value
         */
        allowCustomBandwidth: boolean;
        /**
         * Authorization to connect remotely
         */
        allowRemoteConnection: boolean;
        /**
         * Connection bandwidth limit in Mbps
         */
        bandwidthLimit: number;
        /**
         * List of permitted bandwidths'; For Port-based Service Tokens, the maximum allowable bandwidth is 50 Gbps, while for Virtual Device-based Service Tokens, it is limited to 10 Gbps
         */
        supportedBandwidths: number[];
        /**
         * Type of Connection supported by Service Token you will create; EVPL_VC, EVPLAN_VC, EPLAN_VC, IPWAN_VC
         */
        type?: string;
        /**
         * Equinix-assigned connection identifier
         */
        uuid: string;
        /**
         * Z-Side Connection link protocol,virtual device or network configuration
         */
        zSides: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSide[];
    }
    interface GetServiceTokensDataServiceTokenConnectionASide {
        /**
         * List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability
         */
        accessPointSelectors: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASideAccessPointSelector[];
    }
    interface GetServiceTokensDataServiceTokenConnectionASideAccessPointSelector {
        /**
         * Virtual Device Interface Configuration
         */
        interface?: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorInterface;
        /**
         * Link protocol Configuration
         */
        linkProtocol?: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorLinkProtocol;
        /**
         * Network Configuration
         */
        network: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorNetwork;
        /**
         * Port Configuration
         */
        port?: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorPort;
        /**
         * Type of Access point; COLO, VD, NETWORK
         */
        type: string;
        /**
         * Virtual Device Configuration
         */
        virtualDevice?: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorVirtualDevice;
    }
    interface GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Location
         */
        locations: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorNetworkLocation[];
        /**
         * Network Name
         */
        name: string;
        /**
         * Scope of Network
         */
        scope: string;
        /**
         * Type of Network
         */
        type: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorNetworkLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorPort {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Port Bandwidth
         */
        bandwidth: number;
        /**
         * Customer virtual port Id
         */
        cvpId: number;
        /**
         * Port Encapsulation
         */
        encapsulationProtocolType: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port Location
         */
        locations: outputs.fabric.GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorPortLocation[];
        /**
         * Port Name
         */
        portName: string;
        /**
         * Port Priority
         */
        priority: string;
        /**
         * Type of Port
         */
        type: string;
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorPortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionASideAccessPointSelectorVirtualDevice {
        /**
         * Virtual Device Cluster Information
         */
        cluster: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name: string;
        /**
         * Virtual Device type
         */
        type: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionZSide {
        /**
         * List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability
         */
        accessPointSelectors: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelector[];
    }
    interface GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelector {
        /**
         * Virtual Device Interface Configuration
         */
        interface?: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorInterface;
        /**
         * Link protocol Configuration
         */
        linkProtocol?: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorLinkProtocol;
        /**
         * Network Configuration
         */
        network: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorNetwork;
        /**
         * Port Configuration
         */
        port?: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorPort;
        /**
         * Type of Access point; COLO, VD, NETWORK
         */
        type: string;
        /**
         * Virtual Device Configuration
         */
        virtualDevice?: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorVirtualDevice;
    }
    interface GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Location
         */
        locations: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorNetworkLocation[];
        /**
         * Network Name
         */
        name: string;
        /**
         * Scope of Network
         */
        scope: string;
        /**
         * Type of Network
         */
        type: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorNetworkLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorPort {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Port Bandwidth
         */
        bandwidth: number;
        /**
         * Customer virtual port Id
         */
        cvpId: number;
        /**
         * Port Encapsulation
         */
        encapsulationProtocolType: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port Location
         */
        locations: outputs.fabric.GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorPortLocation[];
        /**
         * Port Name
         */
        portName: string;
        /**
         * Port Priority
         */
        priority: string;
        /**
         * Type of Port
         */
        type: string;
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorPortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface GetServiceTokensDataServiceTokenConnectionZSideAccessPointSelectorVirtualDevice {
        /**
         * Virtual Device Cluster Information
         */
        cluster: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name: string;
        /**
         * Virtual Device type
         */
        type: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid: string;
    }
    interface GetServiceTokensFilter {
        /**
         * Possible operators to use on the filter property. Can be one of the following: [ "=", "!=", "[NOT] LIKE", "[NOT] IN", "ILIKE" ]
         */
        operator: string;
        /**
         * The API response property which you want to filter your request on. Can be one of the following: "/type", "/name", "/project/projectId", "/uuid", "/state"
         */
        property: string;
        /**
         * The values that you want to apply the property+operator combination to in order to filter your data search
         */
        values: string[];
    }
    interface GetServiceTokensPagination {
        /**
         * Number of elements to be requested per page. Number must be between 1 and 100. Default is 20
         */
        limit: number;
        /**
         * URL relative to the last item in the response.
         */
        next: string;
        /**
         * The page offset for the pagination request. Index of the first element. Default is 0.
         */
        offset: number;
        /**
         * URL relative to the first item in the response.
         */
        previous: string;
        /**
         * Total number of elements returned.
         */
        total: number;
    }
    interface GetStreamAttachmentsData {
        /**
         * Value representing status for the stream attachment
         */
        attachmentStatus: string;
        /**
         * Equinix auto generated URI to the stream attachment in Equinix Portal
         */
        href: string;
        /**
         * Boolean value indicating enablement of metrics for this asset stream attachment
         */
        metricsEnabled: boolean;
        /**
         * Equinix defined type for the asset stream attachment
         */
        type: string;
        /**
         * Equinix-assigned unique id for the stream attachment
         */
        uuid: string;
    }
    interface GetStreamAttachmentsFilter {
        /**
         * Operation applied to the values of the filter
         */
        operator: string;
        /**
         * Boolean value to specify if this filter is a part of the OR group. Has a maximum of 3 and only counts for 1 of the 8 possible filters
         */
        or?: boolean;
        /**
         * Property to apply the filter to
         */
        property: string;
        /**
         * List of values to apply the operation to for the specified property
         */
        values: string[];
    }
    interface GetStreamAttachmentsPagination {
        /**
         * Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20
         */
        limit: number;
        /**
         * The URL relative to the next item in the response
         */
        next: string;
        /**
         * Index of the first item returned in the response. The default is 0
         */
        offset: number;
        /**
         * The URL relative to the previous item in the response
         */
        previous: string;
        /**
         * The total number of streams available to the user making the request
         */
        total: number;
    }
    interface GetStreamAttachmentsSort {
        /**
         * The sorting direction of the property chosen. ASC or DESC
         */
        direction: string;
        /**
         * The field name the sorting is performed on
         */
        property: string;
    }
    interface GetStreamChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface GetStreamProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface GetStreamSubscriptionChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface GetStreamSubscriptionEventSelector {
        /**
         * List of events to exclude
         */
        excepts: string[];
        /**
         * List of events to include
         */
        includes: string[];
    }
    interface GetStreamSubscriptionMetricSelector {
        /**
         * List of metrics to exclude
         */
        excepts: string[];
        /**
         * List of metrics to include
         */
        includes: string[];
    }
    interface GetStreamSubscriptionSink {
        /**
         * Boolean switch enabling batch delivery of data
         */
        batchEnabled: boolean;
        /**
         * Maximum size of the batch delivery if enabled
         */
        batchSizeMax: number;
        /**
         * Maximum time to wait for batch delivery if enabled
         */
        batchWaitTimeMax: number;
        /**
         * Access details for the specified sink type
         */
        credential: outputs.fabric.GetStreamSubscriptionSinkCredential;
        /**
         * Known hostname of certain data stream subscription products. Not to be confused with a variable URI
         */
        host: string;
        /**
         * Stream subscription sink settings
         */
        settings: outputs.fabric.GetStreamSubscriptionSinkSettings;
        /**
         * Type of the subscriber
         */
        type: string;
        /**
         * Publicly reachable http endpoint destination for data stream
         */
        uri: string;
    }
    interface GetStreamSubscriptionSinkCredential {
        /**
         * Passed as Authorization header value
         */
        accessToken: string;
        /**
         * Passed as Authorization header value
         */
        apiKey: string;
        /**
         * Passed as Authorization header value
         */
        integrationKey: string;
        /**
         * Passed as Authorization header value
         */
        password: string;
        /**
         * Type of the credential being passed
         */
        type: string;
        /**
         * Passed as Authorization header value
         */
        username: string;
    }
    interface GetStreamSubscriptionSinkSettings {
        /**
         * Passed as Authorization header value
         */
        accessToken: string;
        /**
         * Passed as Authorization header value
         */
        apiKey: string;
        /**
         * Passed as Authorization header value
         */
        integrationKey: string;
        /**
         * Passed as Authorization header value
         */
        password: string;
        /**
         * Type of the stream subscription request
         */
        type: string;
        /**
         * Passed as Authorization header value
         */
        username: string;
    }
    interface GetStreamSubscriptionsData {
        /**
         * Details of the last change on the stream resource
         */
        changeLog: outputs.fabric.GetStreamSubscriptionsDataChangeLog;
        /**
         * Customer-provided stream subscription description
         */
        description: string;
        /**
         * Stream subscription enabled status
         */
        enabled: boolean;
        /**
         * Lists of events to be included/excluded on the stream subscription
         */
        eventSelector: outputs.fabric.GetStreamSubscriptionsDataEventSelector;
        /**
         * Equinix assigned URI of the stream subscription resource
         */
        href: string;
        /**
         * Lists of metrics to be included/excluded on the stream subscription
         */
        metricSelector: outputs.fabric.GetStreamSubscriptionsDataMetricSelector;
        /**
         * Customer-provided stream subscription name
         */
        name: string;
        /**
         * The details of the subscriber to the Equinix Stream
         */
        sink: outputs.fabric.GetStreamSubscriptionsDataSink;
        /**
         * Value representing provisioning status for the stream resource
         */
        state: string;
        /**
         * Type of the stream subscription request
         */
        type: string;
        /**
         * Equinix assigned unique identifier of the stream subscription resource
         */
        uuid: string;
    }
    interface GetStreamSubscriptionsDataChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface GetStreamSubscriptionsDataEventSelector {
        /**
         * List of events to exclude
         */
        excepts: string[];
        /**
         * List of events to include
         */
        includes: string[];
    }
    interface GetStreamSubscriptionsDataMetricSelector {
        /**
         * List of metrics to exclude
         */
        excepts: string[];
        /**
         * List of metrics to include
         */
        includes: string[];
    }
    interface GetStreamSubscriptionsDataSink {
        /**
         * Boolean switch enabling batch delivery of data
         */
        batchEnabled: boolean;
        /**
         * Maximum size of the batch delivery if enabled
         */
        batchSizeMax: number;
        /**
         * Maximum time to wait for batch delivery if enabled
         */
        batchWaitTimeMax: number;
        /**
         * Access details for the specified sink type
         */
        credential: outputs.fabric.GetStreamSubscriptionsDataSinkCredential;
        /**
         * Known hostname of certain data stream subscription products. Not to be confused with a variable URI
         */
        host: string;
        /**
         * Stream subscription sink settings
         */
        settings: outputs.fabric.GetStreamSubscriptionsDataSinkSettings;
        /**
         * Type of the subscriber
         */
        type: string;
        /**
         * Publicly reachable http endpoint destination for data stream
         */
        uri: string;
    }
    interface GetStreamSubscriptionsDataSinkCredential {
        /**
         * Passed as Authorization header value
         */
        accessToken: string;
        /**
         * Passed as Authorization header value
         */
        apiKey: string;
        /**
         * Passed as Authorization header value
         */
        integrationKey: string;
        /**
         * Passed as Authorization header value
         */
        password: string;
        /**
         * Type of the credential being passed
         */
        type: string;
        /**
         * Passed as Authorization header value
         */
        username: string;
    }
    interface GetStreamSubscriptionsDataSinkSettings {
        /**
         * Passed as Authorization header value
         */
        accessToken: string;
        /**
         * Passed as Authorization header value
         */
        apiKey: string;
        /**
         * Passed as Authorization header value
         */
        integrationKey: string;
        /**
         * Passed as Authorization header value
         */
        password: string;
        type: string;
        /**
         * Passed as Authorization header value
         */
        username: string;
    }
    interface GetStreamSubscriptionsPagination {
        /**
         * Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20
         */
        limit: number;
        /**
         * The URL relative to the next item in the response
         */
        next: string;
        /**
         * Index of the first item returned in the response. The default is 0
         */
        offset: number;
        /**
         * The URL relative to the previous item in the response
         */
        previous: string;
        /**
         * The total number of streams available to the user making the request
         */
        total: number;
    }
    interface GetStreamsData {
        /**
         * Count of the streaming assets attached to the stream resource
         */
        assetsCount: number;
        /**
         * Details of the last change on the stream resource
         */
        changeLog: outputs.fabric.GetStreamsDataChangeLog;
        /**
         * Customer-provided description of the stream resource
         */
        description: string;
        /**
         * Equinix auto generated URI to the stream resource in Equinix Portal
         */
        href: string;
        /**
         * Customer-provided name of the stream resource
         */
        name: string;
        /**
         * Equinix Project attribute object
         */
        project: outputs.fabric.GetStreamsDataProject;
        /**
         * Value representing provisioning status for the stream resource
         */
        state: string;
        /**
         * Count of the client subscriptions on the stream resource
         */
        streamSubscriptionsCount: number;
        /**
         * Equinix defined Streaming Type
         */
        type: string;
        /**
         * Equinix-assigned unique id for the stream resource
         */
        uuid: string;
    }
    interface GetStreamsDataChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface GetStreamsDataProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface GetStreamsPagination {
        /**
         * Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20
         */
        limit: number;
        /**
         * The URL relative to the next item in the response
         */
        next: string;
        /**
         * Index of the first item returned in the response. The default is 0
         */
        offset: number;
        /**
         * The URL relative to the previous item in the response
         */
        previous: string;
        /**
         * The total number of streams available to the user making the request
         */
        total: number;
    }
    interface NetworkChange {
        /**
         * Absolute URL that returns the details of the given change.
         * Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784
         */
        href: string;
        /**
         * Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION
         */
        type: string;
        /**
         * Asset change request identifier.
         */
        uuid: string;
    }
    interface NetworkChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface NetworkLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface NetworkNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION*APPROVAL,SALES*REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface NetworkOperation {
        /**
         * Progress towards provisioning a given asset.
         */
        equinixStatus: string;
    }
    interface NetworkProject {
        /**
         * Customer project identifier
         */
        projectId: string;
    }
    interface PrecisionTimeServiceAccount {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Equinix Account Number
         */
        accountNumber: number;
        /**
         * Global Customer Id
         */
        globalCustId: string;
        /**
         * Customer organization naidentifierme
         */
        globalOrgId: string;
        /**
         * Global organization name
         */
        globalOrganizationName: string;
        /**
         * Customer organization identifier
         */
        orgId: number;
        /**
         * Customer organization name
         */
        organizationName: string;
        /**
         * Reseller account name
         */
        resellerAccountName: string;
        /**
         * Reseller account number
         */
        resellerAccountNumber: number;
        /**
         * Reseller customer organization identifier
         */
        resellerOrgId: number;
        /**
         * Reseller account ucmId
         */
        resellerUcmId: string;
        /**
         * Global organization name
         */
        ucmId: string;
    }
    interface PrecisionTimeServiceChangeLog {
        /**
         * User name of creator of the route aggregation resource
         */
        createdBy: string;
        /**
         * Email of creator of the route aggregation resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the route aggregation resource
         */
        createdByFullName: string;
        /**
         * Creation time of the route aggregation resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the route aggregation resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the route aggregation resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the route aggregation resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the route aggregation resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the route aggregation resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the route aggregation resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the route aggregation resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the route aggregation resource
         */
        updatedDateTime: string;
    }
    interface PrecisionTimeServiceConnection {
        /**
         * Link to the Equinix Fabric Connection associated with the Precision Time Service
         */
        href: string;
        /**
         * Type of the Equinix Fabric Connection associated with the Precision Time Service
         */
        type: string;
        /**
         * Equinix Fabric Connection UUID; Precision Time Service will be connected with it
         */
        uuid: string;
    }
    interface PrecisionTimeServiceIpv4 {
        /**
         * IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network.
         */
        defaultGateway: string;
        /**
         * IPv4 address that defines the range of consecutive subnets in the network.
         */
        networkMask: string;
        /**
         * IPv4 address for the Primary Timing Master Server.
         */
        primary: string;
        /**
         * IPv4 address for the Secondary Timing Master Server.
         */
        secondary: string;
    }
    interface PrecisionTimeServiceNtpAdvancedConfiguration {
        /**
         * The plaintext authentication key. For ASCII type, the key\
         * \ must contain printable ASCII characters, range 10-20 characters. For\
         * \ HEX type, range should be 10-40 characters
         */
        key?: string;
        /**
         * The authentication Key ID
         */
        keyNumber?: number;
        /**
         * md5 Authentication type
         */
        type?: string;
    }
    interface PrecisionTimeServiceOrder {
        /**
         * Customer reference number
         */
        customerReferenceNumber: string;
        /**
         * Order reference number
         */
        orderNumber: string;
        /**
         * Purchase order number
         */
        purchaseOrderNumber: string;
    }
    interface PrecisionTimeServicePackage {
        /**
         * Time Precision Package Code for the desired billing package
         */
        code: string;
        /**
         * Time Precision Package HREF link to corresponding resource in Equinix Portal
         */
        href: string;
    }
    interface PrecisionTimeServicePrecisionTimePrice {
        /**
         * offering price charge
         */
        charges: outputs.fabric.PrecisionTimeServicePrecisionTimePriceCharge[];
        /**
         * Offering price currency
         */
        currency: string;
    }
    interface PrecisionTimeServicePrecisionTimePriceCharge {
        /**
         * Offering price
         */
        price: number;
        /**
         * Price charge type; MONTHLY*RECURRING, NON*RECURRING
         */
        type: string;
    }
    interface PrecisionTimeServiceProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface PrecisionTimeServicePtpAdvancedConfiguration {
        /**
         * The PTP domain value
         */
        domain?: number;
        /**
         * Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200
         */
        grantTime?: number;
        /**
         * Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second
         */
        logAnnounceInterval?: number;
        /**
         * Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second..
         */
        logDelayReqInterval?: number;
        /**
         * Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second..
         */
        logSyncInterval?: number;
        /**
         * The priority1 value determines the best primary clock, Lower value indicates higher priority
         */
        priority1?: number;
        /**
         * The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network
         */
        priority2?: number;
        /**
         * Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol
         */
        timeScale?: string;
        /**
         * ptp transport mode
         */
        transportMode?: string;
    }
    interface PrecisionTimeServiceTimeouts {
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        create?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
         */
        delete?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
         */
        read?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        update?: string;
    }
    interface RouteAggregationChange {
        /**
         * Equinix auto generated URI to the route aggregation change
         */
        href: string;
        /**
         * Equinix defined Route Aggregation Change Type
         */
        type: string;
        /**
         * Equinix-assigned unique id for a change
         */
        uuid: string;
    }
    interface RouteAggregationChangeLog {
        /**
         * User name of creator of the route aggregation resource
         */
        createdBy: string;
        /**
         * Email of creator of the route aggregation resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the route aggregation resource
         */
        createdByFullName: string;
        /**
         * Creation time of the route aggregation resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the route aggregation resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the route aggregation resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the route aggregation resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the route aggregation resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the route aggregation resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the route aggregation resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the route aggregation resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the route aggregation resource
         */
        updatedDateTime: string;
    }
    interface RouteAggregationProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface RouteAggregationRuleChange {
        /**
         * Equinix auto generated URI to the route aggregation change
         */
        href: string;
        /**
         * Equinix defined Route Aggregation Change Type
         */
        type: string;
        /**
         * Equinix-assigned unique id for a change
         */
        uuid: string;
    }
    interface RouteAggregationRuleChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface RouteAggregationRuleTimeouts {
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        create?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
         */
        delete?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
         */
        read?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        update?: string;
    }
    interface RouteAggregationTimeouts {
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        create?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
         */
        delete?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
         */
        read?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        update?: string;
    }
    interface RouteFilterChange {
        /**
         * The URI of the previous Route Filter Change
         */
        href: string;
        /**
         * Type of change. One of [ "BGP_IPv4_PREFIX_FILTER_UPDATE","BGP_IPv4_PREFIX_FILTER_CREATION","BGP_IPv4_PREFIX_FILTER_DELETION","BGP_IPv6_PREFIX_FILTER_UPDATE","BGP_IPv6_PREFIX_FILTER_CREATION","BGP_IPv6_PREFIX_FILTER_DELETION" ]
         */
        type: string;
        /**
         * Unique identifier for the previous change
         */
        uuid: string;
    }
    interface RouteFilterChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface RouteFilterProject {
        /**
         * URI of the Fabric Project
         */
        href: string;
        /**
         * Project id associated with Fabric Project
         */
        projectId: string;
    }
    interface RouteFilterRuleChange {
        /**
         * The URI of the previous Route Filter Rule Change
         */
        href: string;
        /**
         * Type of change. One of [ "BGP_IPv4_PREFIX_FILTER_RULE_UPDATE","BGP_IPv4_PREFIX_FILTER_RULE_CREATION","BGP_IPv4_PREFIX_FILTER_RULE_DELETION","BGP_IPv6_PREFIX_FILTER_RULE_UPDATE","BGP_IPv6_PREFIX_FILTER_RULE_CREATION","BGP_IPv6_PREFIX_FILTER_RULE_DELETION" ]
         */
        type: string;
        /**
         * Unique identifier for the previous change
         */
        uuid: string;
    }
    interface RouteFilterRuleChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface RoutingProtocolBfd {
        /**
         * Bidirectional Forwarding Detection enablement
         */
        enabled: boolean;
        /**
         * Interval range between the received BFD control packets
         */
        interval?: string;
    }
    interface RoutingProtocolBgpIpv4 {
        /**
         * Customer side peering ip
         */
        customerPeerIp: string;
        /**
         * Admin status for the BGP session
         */
        enabled?: boolean;
        /**
         * Equinix side peering ip
         */
        equinixPeerIp: string;
        /**
         * Inbound Multi Exit Discriminator attribute
         */
        inboundMed: number;
        /**
         * AS path prepend count. One of: 0, 1, 3, 5
         */
        outboundAsPrependCount: string;
        /**
         * Outbound Multi Exit Discriminator attribute
         */
        outboundMed: number;
    }
    interface RoutingProtocolBgpIpv6 {
        /**
         * Customer side peering ip
         */
        customerPeerIp: string;
        /**
         * Admin status for the BGP session
         */
        enabled?: boolean;
        /**
         * Equinix side peering ip
         */
        equinixPeerIp: string;
        /**
         * Inbound Multi Exit Discriminator attribute
         */
        inboundMed: number;
        /**
         * AS path prepend count. One of: 0, 1, 3, 5
         */
        outboundAsPrependCount: string;
        /**
         * Outbound Multi Exit Discriminator attribute
         */
        outboundMed: number;
    }
    interface RoutingProtocolChange {
        /**
         * Routing Protocol Change URI
         */
        href: string;
        /**
         * Type of change
         */
        type: string;
        /**
         * Uniquely identifies a change
         */
        uuid: string;
    }
    interface RoutingProtocolChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface RoutingProtocolDirectIpv4 {
        /**
         * Equinix side Interface IP address
         */
        equinixIfaceIp: string;
    }
    interface RoutingProtocolDirectIpv6 {
        /**
         * Equinix side Interface IP address
         */
        equinixIfaceIp?: string;
    }
    interface RoutingProtocolOperation {
        /**
         * Errors occurred
         */
        errors: outputs.fabric.RoutingProtocolOperationError[];
    }
    interface RoutingProtocolOperationError {
        /**
         * Pricing error additional Info
         */
        additionalInfos: outputs.fabric.RoutingProtocolOperationErrorAdditionalInfo[];
        /**
         * CorrelationId
         */
        correlationId: string;
        /**
         * Details
         */
        details: string;
        /**
         * Error  code
         */
        errorCode: string;
        /**
         * Error Message
         */
        errorMessage: string;
        /**
         * Help
         */
        help: string;
    }
    interface RoutingProtocolOperationErrorAdditionalInfo {
        /**
         * Property at which the error potentially occurred
         */
        property: string;
        /**
         * Reason for the error
         */
        reason: string;
    }
    interface ServiceProfileAccessPointTypeConfig {
        /**
         * Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller
         */
        allowBandwidthAutoApproval?: boolean;
        /**
         * Availability of a bandwidth upgrade. The default is false
         */
        allowBandwidthUpgrade?: boolean;
        /**
         * Setting to enable or disable the ability of the buyer to customize the bandwidth
         */
        allowCustomBandwidth?: boolean;
        /**
         * Setting to allow or prohibit remote connections to the service profile
         */
        allowRemoteConnections?: boolean;
        /**
         * Api configuration details
         */
        apiConfig?: outputs.fabric.ServiceProfileAccessPointTypeConfigApiConfig;
        /**
         * Authentication key details
         */
        authenticationKey?: outputs.fabric.ServiceProfileAccessPointTypeConfigAuthenticationKey;
        /**
         * Percentage of port bandwidth at which an allocation alert is generated
         */
        bandwidthAlertThreshold?: number;
        /**
         * Custom name for Connection
         */
        connectionLabel?: string;
        /**
         * Mandate redundant connections
         */
        connectionRedundancyRequired?: boolean;
        /**
         * Enable auto generate service key
         */
        enableAutoGenerateServiceKey?: boolean;
        /**
         * Link protocol configuration details
         */
        linkProtocolConfig?: outputs.fabric.ServiceProfileAccessPointTypeConfigLinkProtocolConfig;
        /**
         * Supported bandwidths
         */
        supportedBandwidths?: number[];
        /**
         * Type of access point type config - VD, COLO
         */
        type: string;
        /**
         * Colo/Port Uuid
         */
        uuid: string;
    }
    interface ServiceProfileAccessPointTypeConfigApiConfig {
        /**
         * Setting showing that oversubscription support is available (true) or not (false). The default is false
         */
        allowOverSubscription?: boolean;
        /**
         * Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API.
         */
        apiAvailable?: boolean;
        /**
         * Indicates if the connection bandwidth can be obtained directly from the cloud service provider.
         */
        bandwidthFromApi?: boolean;
        /**
         * Setting indicating that the port is managed by Equinix (true) or not (false)
         */
        equinixManagedPort?: boolean;
        /**
         * Setting indicating that the VLAN is managed by Equinix (true) or not (false)
         */
        equinixManagedVlan?: boolean;
        /**
         * A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API.
         */
        integrationId?: string;
        /**
         * Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps.
         */
        overSubscriptionLimit?: number;
    }
    interface ServiceProfileAccessPointTypeConfigAuthenticationKey {
        /**
         * Description of authorization key
         */
        description?: string;
        /**
         * Name of the parameter that must be provided to authorize the connection.
         */
        label?: string;
        /**
         * Requirement to configure an authentication key.
         */
        required?: boolean;
    }
    interface ServiceProfileAccessPointTypeConfigLinkProtocolConfig {
        /**
         * Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard.
         */
        encapsulation?: string;
        /**
         * Additional tagging information required by the seller profile.
         */
        encapsulationStrategy?: string;
        /**
         * Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection.
         */
        reuseVlanSTag?: boolean;
    }
    interface ServiceProfileAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface ServiceProfileChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface ServiceProfileCustomField {
        /**
         * Required field
         */
        captureInEmail?: boolean;
        /**
         * Data type
         */
        dataType: string;
        /**
         * Description
         */
        description?: string;
        /**
         * Label
         */
        label: string;
        /**
         * Options
         */
        options?: string[];
        /**
         * Required field
         */
        required: boolean;
    }
    interface ServiceProfileMarketingInfo {
        /**
         * Logo
         */
        logo?: string;
        /**
         * Process Step
         */
        processSteps?: outputs.fabric.ServiceProfileMarketingInfoProcessStep[];
        /**
         * Promotion
         */
        promotion?: boolean;
    }
    interface ServiceProfileMarketingInfoProcessStep {
        /**
         * Description
         */
        description?: string;
        /**
         * Sub Title
         */
        subTitle?: string;
        /**
         * Title
         */
        title?: string;
    }
    interface ServiceProfileMetro {
        /**
         * Metro Code - Example SV
         */
        code?: string;
        /**
         * Display Name
         */
        displayName?: string;
        /**
         * IBX- Equinix International Business Exchange list
         */
        ibxs?: string[];
        /**
         * In Trail
         */
        inTrail?: boolean;
        /**
         * Metro Name
         */
        name?: string;
        /**
         * Seller Regions
         */
        sellerRegions?: {
            [key: string]: string;
        };
    }
    interface ServiceProfileNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION*APPROVAL,SALES*REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface ServiceProfilePort {
        /**
         * Cross Connect Id
         */
        crossConnectId?: string;
        /**
         * Colo/Port Location
         */
        location?: outputs.fabric.ServiceProfilePortLocation;
        /**
         * Seller Region
         */
        sellerRegion?: string;
        /**
         * Seller Region details
         */
        sellerRegionDescription?: string;
        /**
         * Colo/Port Type
         */
        type: string;
        /**
         * Colo/Port Uuid
         */
        uuid: string;
    }
    interface ServiceProfilePortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface ServiceProfileProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface ServiceProfileVirtualDevice {
        /**
         * Device Interface Uuid
         */
        interfaceUuid?: string;
        /**
         * Device Location
         */
        location?: outputs.fabric.ServiceProfileVirtualDeviceLocation;
        /**
         * Virtual Device Type
         */
        type: string;
        /**
         * Virtual Device Uuid
         */
        uuid: string;
    }
    interface ServiceProfileVirtualDeviceLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface ServiceTokenAccount {
        /**
         * Legal name of the accountholder.
         */
        accountName: string;
        /**
         * Equinix-assigned account number.
         */
        accountNumber: number;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalCustId: string;
        /**
         * Equinix-assigned ID of the subscriber's parent organization.
         */
        globalOrgId: string;
        /**
         * Equinix-assigned name of the subscriber's parent organization.
         */
        globalOrganizationName: string;
        /**
         * Equinix-assigned ID of the subscriber's organization.
         */
        orgId: number;
        /**
         * Equinix-assigned name of the subscriber's organization.
         */
        organizationName: string;
        /**
         * Enterprise datastore id
         */
        ucmId: string;
    }
    interface ServiceTokenChangeLog {
        /**
         * Created by User Key
         */
        createdBy: string;
        /**
         * Created by User Email Address
         */
        createdByEmail: string;
        /**
         * Created by User Full Name
         */
        createdByFullName: string;
        /**
         * Created by Date and Time
         */
        createdDateTime: string;
        /**
         * Deleted by User Key
         */
        deletedBy: string;
        /**
         * Deleted by User Email Address
         */
        deletedByEmail: string;
        /**
         * Deleted by User Full Name
         */
        deletedByFullName: string;
        /**
         * Deleted by Date and Time
         */
        deletedDateTime: string;
        /**
         * Updated by User Key
         */
        updatedBy: string;
        /**
         * Updated by User Email Address
         */
        updatedByEmail: string;
        /**
         * Updated by User Full Name
         */
        updatedByFullName: string;
        /**
         * Updated by Date and Time
         */
        updatedDateTime: string;
    }
    interface ServiceTokenNotification {
        /**
         * Array of contact emails
         */
        emails: string[];
        /**
         * Send interval
         */
        sendInterval?: string;
        /**
         * Notification Type - ALL,CONNECTION*APPROVAL,SALES*REP_NOTIFICATIONS, NOTIFICATIONS
         */
        type: string;
    }
    interface ServiceTokenProject {
        /**
         * Unique Resource URL
         */
        href: string;
        /**
         * Project Id
         */
        projectId: string;
    }
    interface ServiceTokenServiceTokenConnection {
        /**
         * A-Side Connection link protocol,virtual device or network configuration
         */
        aSides: outputs.fabric.ServiceTokenServiceTokenConnectionASide[];
        /**
         * Allow custom bandwidth value
         */
        allowCustomBandwidth: boolean;
        /**
         * Authorization to connect remotely
         */
        allowRemoteConnection: boolean;
        /**
         * Connection bandwidth limit in Mbps
         */
        bandwidthLimit: number;
        /**
         * List of permitted bandwidths'; For Port-based Service Tokens, the maximum allowable bandwidth is 50 Gbps, while for Virtual Device-based Service Tokens, it is limited to 10 Gbps
         */
        supportedBandwidths: number[];
        /**
         * Type of Connection supported by Service Token you will create; EVPL*VC, EVPLAN*VC, EPLAN*VC, IPWAN*VC
         */
        type?: string;
        /**
         * Equinix-assigned connection identifier
         */
        uuid: string;
        /**
         * Z-Side Connection link protocol,virtual device or network configuration
         */
        zSides: outputs.fabric.ServiceTokenServiceTokenConnectionZSide[];
    }
    interface ServiceTokenServiceTokenConnectionASide {
        /**
         * List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability
         */
        accessPointSelectors: outputs.fabric.ServiceTokenServiceTokenConnectionASideAccessPointSelector[];
    }
    interface ServiceTokenServiceTokenConnectionASideAccessPointSelector {
        /**
         * Virtual Device Interface Configuration
         */
        interface?: outputs.fabric.ServiceTokenServiceTokenConnectionASideAccessPointSelectorInterface;
        /**
         * Link protocol Configuration
         */
        linkProtocol?: outputs.fabric.ServiceTokenServiceTokenConnectionASideAccessPointSelectorLinkProtocol;
        /**
         * Network Configuration
         */
        network: outputs.fabric.ServiceTokenServiceTokenConnectionASideAccessPointSelectorNetwork;
        /**
         * Port Configuration
         */
        port?: outputs.fabric.ServiceTokenServiceTokenConnectionASideAccessPointSelectorPort;
        /**
         * Type of Access point; COLO, VD, NETWORK
         */
        type: string;
        /**
         * Virtual Device Configuration
         */
        virtualDevice?: outputs.fabric.ServiceTokenServiceTokenConnectionASideAccessPointSelectorVirtualDevice;
    }
    interface ServiceTokenServiceTokenConnectionASideAccessPointSelectorInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid: string;
    }
    interface ServiceTokenServiceTokenConnectionASideAccessPointSelectorLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface ServiceTokenServiceTokenConnectionASideAccessPointSelectorNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Location
         */
        locations: outputs.fabric.ServiceTokenServiceTokenConnectionASideAccessPointSelectorNetworkLocation[];
        /**
         * Network Name
         */
        name: string;
        /**
         * Scope of Network
         */
        scope: string;
        /**
         * Type of Network
         */
        type: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid: string;
    }
    interface ServiceTokenServiceTokenConnectionASideAccessPointSelectorNetworkLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface ServiceTokenServiceTokenConnectionASideAccessPointSelectorPort {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Port Bandwidth
         */
        bandwidth: number;
        /**
         * Customer virtual port Id
         */
        cvpId: number;
        /**
         * Port Encapsulation
         */
        encapsulationProtocolType: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port Location
         */
        locations: outputs.fabric.ServiceTokenServiceTokenConnectionASideAccessPointSelectorPortLocation[];
        /**
         * Port Name
         */
        portName: string;
        /**
         * Port Priority
         */
        priority: string;
        /**
         * Type of Port
         */
        type: string;
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface ServiceTokenServiceTokenConnectionASideAccessPointSelectorPortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface ServiceTokenServiceTokenConnectionASideAccessPointSelectorVirtualDevice {
        /**
         * Virtual Device Cluster Information
         */
        cluster: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name: string;
        /**
         * Virtual Device type
         */
        type: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid: string;
    }
    interface ServiceTokenServiceTokenConnectionZSide {
        /**
         * List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability
         */
        accessPointSelectors: outputs.fabric.ServiceTokenServiceTokenConnectionZSideAccessPointSelector[];
    }
    interface ServiceTokenServiceTokenConnectionZSideAccessPointSelector {
        /**
         * Virtual Device Interface Configuration
         */
        interface?: outputs.fabric.ServiceTokenServiceTokenConnectionZSideAccessPointSelectorInterface;
        /**
         * Link protocol Configuration
         */
        linkProtocol?: outputs.fabric.ServiceTokenServiceTokenConnectionZSideAccessPointSelectorLinkProtocol;
        /**
         * Network Configuration
         */
        network: outputs.fabric.ServiceTokenServiceTokenConnectionZSideAccessPointSelectorNetwork;
        /**
         * Port Configuration
         */
        port?: outputs.fabric.ServiceTokenServiceTokenConnectionZSideAccessPointSelectorPort;
        /**
         * Type of Access point; COLO, VD, NETWORK
         */
        type: string;
        /**
         * Virtual Device Configuration
         */
        virtualDevice?: outputs.fabric.ServiceTokenServiceTokenConnectionZSideAccessPointSelectorVirtualDevice;
    }
    interface ServiceTokenServiceTokenConnectionZSideAccessPointSelectorInterface {
        /**
         * id
         */
        id: number;
        /**
         * Interface type
         */
        type: string;
        /**
         * Equinix-assigned interface identifier
         */
        uuid: string;
    }
    interface ServiceTokenServiceTokenConnectionZSideAccessPointSelectorLinkProtocol {
        /**
         * Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
         */
        type: string;
        /**
         * Vlan Customer Tag information, vlanCTag value specified for QINQ connections
         */
        vlanCTag: number;
        /**
         * Vlan Provider Tag information, vlanSTag value specified for QINQ connections
         */
        vlanSTag: number;
        /**
         * Vlan Tag information, vlanTag value specified for DOT1Q connections
         */
        vlanTag: number;
    }
    interface ServiceTokenServiceTokenConnectionZSideAccessPointSelectorNetwork {
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Location
         */
        locations: outputs.fabric.ServiceTokenServiceTokenConnectionZSideAccessPointSelectorNetworkLocation[];
        /**
         * Network Name
         */
        name: string;
        /**
         * Scope of Network
         */
        scope: string;
        /**
         * Type of Network
         */
        type: string;
        /**
         * Equinix-assigned Network identifier
         */
        uuid: string;
    }
    interface ServiceTokenServiceTokenConnectionZSideAccessPointSelectorNetworkLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface ServiceTokenServiceTokenConnectionZSideAccessPointSelectorPort {
        /**
         * Account Name
         */
        accountName: string;
        /**
         * Port Bandwidth
         */
        bandwidth: number;
        /**
         * Customer virtual port Id
         */
        cvpId: number;
        /**
         * Port Encapsulation
         */
        encapsulationProtocolType: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Port Location
         */
        locations: outputs.fabric.ServiceTokenServiceTokenConnectionZSideAccessPointSelectorPortLocation[];
        /**
         * Port Name
         */
        portName: string;
        /**
         * Port Priority
         */
        priority: string;
        /**
         * Type of Port
         */
        type: string;
        /**
         * Equinix-assigned Port identifier
         */
        uuid: string;
    }
    interface ServiceTokenServiceTokenConnectionZSideAccessPointSelectorPortLocation {
        /**
         * IBX Code
         */
        ibx: string;
        /**
         * Access point metro code
         */
        metroCode: string;
        /**
         * Access point metro name
         */
        metroName: string;
        /**
         * Access point region
         */
        region: string;
    }
    interface ServiceTokenServiceTokenConnectionZSideAccessPointSelectorVirtualDevice {
        /**
         * Virtual Device Cluster Information
         */
        cluster: string;
        /**
         * Unique Resource Identifier
         */
        href: string;
        /**
         * Customer-assigned Virtual Device Name
         */
        name: string;
        /**
         * Virtual Device type
         */
        type: string;
        /**
         * Equinix-assigned Virtual Device identifier
         */
        uuid: string;
    }
    interface StreamAttachmentTimeouts {
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        create?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
         */
        delete?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
         */
        read?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        update?: string;
    }
    interface StreamChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface StreamProject {
        /**
         * Equinix Subscriber-assigned project ID
         */
        projectId: string;
    }
    interface StreamSubscriptionChangeLog {
        /**
         * User name of creator of the stream resource
         */
        createdBy: string;
        /**
         * Email of creator of the stream resource
         */
        createdByEmail: string;
        /**
         * Legal name of creator of the stream resource
         */
        createdByFullName: string;
        /**
         * Creation time of the stream resource
         */
        createdDateTime: string;
        /**
         * User name of deleter of the stream resource
         */
        deletedBy: string;
        /**
         * Email of deleter of the stream resource
         */
        deletedByEmail: string;
        /**
         * Legal name of deleter of the stream resource
         */
        deletedByFullName: string;
        /**
         * Deletion time of the stream resource
         */
        deletedDateTime: string;
        /**
         * User name of last updater of the stream resource
         */
        updatedBy: string;
        /**
         * Email of last updater of the stream resource
         */
        updatedByEmail: string;
        /**
         * Legal name of last updater of the stream resource
         */
        updatedByFullName: string;
        /**
         * Last update time of the stream resource
         */
        updatedDateTime: string;
    }
    interface StreamSubscriptionEventSelector {
        /**
         * List of events to exclude
         */
        excepts: string[];
        /**
         * List of events to include
         */
        includes: string[];
    }
    interface StreamSubscriptionMetricSelector {
        /**
         * List of metrics to exclude
         */
        excepts: string[];
        /**
         * List of metrics to include
         */
        includes: string[];
    }
    interface StreamSubscriptionSink {
        /**
         * Boolean switch enabling batch delivery of data
         */
        batchEnabled: boolean;
        /**
         * Maximum size of the batch delivery if enabled
         */
        batchSizeMax: number;
        /**
         * Maximum time to wait for batch delivery if enabled
         */
        batchWaitTimeMax: number;
        /**
         * Access details for the specified sink type
         */
        credential: outputs.fabric.StreamSubscriptionSinkCredential;
        /**
         * Known hostname of certain data stream subscription products. Not to be confused with a variable URI
         */
        host: string;
        /**
         * Stream subscription sink settings
         */
        settings: outputs.fabric.StreamSubscriptionSinkSettings;
        /**
         * Type of the subscriber
         */
        type: string;
        /**
         * Publicly reachable http endpoint destination for data stream
         */
        uri: string;
    }
    interface StreamSubscriptionSinkCredential {
        /**
         * Passed as Authorization header value
         */
        accessToken: string;
        /**
         * Passed as Authorization header value
         */
        apiKey: string;
        /**
         * Passed as Authorization header value
         */
        integrationKey: string;
        /**
         * Passed as Authorization header value
         */
        password: string;
        /**
         * Type of the credential being passed
         */
        type: string;
        /**
         * Passed as Authorization header value
         */
        username: string;
    }
    interface StreamSubscriptionSinkSettings {
        applicationKey: string;
        eventIndex: string;
        eventUri: string;
        metricIndex: string;
        metricUri: string;
        source: string;
    }
    interface StreamSubscriptionTimeouts {
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        create?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
         */
        delete?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
         */
        read?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        update?: string;
    }
    interface StreamTimeouts {
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        create?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
         */
        delete?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
         */
        read?: string;
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
         */
        update?: string;
    }
}
export declare namespace metal {
    interface DeviceBehavior {
        /**
         * List of attributes that are allowed to change without recreating the instance. Supported attributes: `customData`, `userData`
         */
        allowChanges?: string[];
    }
    interface DeviceIpAddress {
        /**
         * CIDR suffix for IP block assigned to this device
         */
        cidr?: number;
        /**
         * IDs of reservations to pick the blocks from
         */
        reservationIds?: string[];
        /**
         * one of public*ipv4,private*ipv4,public_ipv6
         */
        type: string;
    }
    interface DeviceNetwork {
        /**
         * IPv4 or IPv6 address string
         */
        address: string;
        /**
         * CIDR suffix for IP address block to be assigned, i.e. amount of addresses
         */
        cidr: number;
        /**
         * IP version - "4" or "6"
         */
        family: number;
        /**
         * Address of router
         */
        gateway: string;
        /**
         * Whether the address is routable from the Internet
         */
        public: boolean;
    }
    interface DevicePort {
        /**
         * Whether this port is part of a bond in bonded network setup
         */
        bonded: boolean;
        /**
         * The ID of the device
         */
        id: string;
        /**
         * MAC address assigned to the port
         */
        mac: string;
        /**
         * Name of the port (e.g. eth0, or bond0)
         */
        name: string;
        /**
         * One of [private_ipv4, public_ipv4, publicIpv6]
         */
        type: string;
    }
    interface DeviceReinstall {
        /**
         * Whether the OS disk should be filled with `00h` bytes before reinstall
         */
        deprovisionFast?: boolean;
        /**
         * Whether the device should be reinstalled instead of destroyed
         */
        enabled?: boolean;
        /**
         * Whether the non-OS disks should be kept or wiped during reinstall
         */
        preserveData?: boolean;
    }
    interface GatewayTimeouts {
        /**
         * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
         */
        delete?: string;
    }
    interface GetDeviceBgpNeighborsBgpNeighbor {
        /**
         * IP address version, 4 or 6.
         */
        addressFamily: number;
        /**
         * Local autonomous system number.
         */
        customerAs: number;
        /**
         * Local used peer IP address.
         */
        customerIp: string;
        /**
         * Whether BGP session is password enabled.
         */
        md5Enabled: boolean;
        /**
         * BGP session password in plaintext (not a checksum).
         */
        md5Password: string;
        /**
         * Whether the neighbor is in EBGP multihop session.
         */
        multihop: boolean;
        /**
         * Peer AS number (different than customerAs for EBGP).
         */
        peerAs: number;
        /**
         * Array of IP addresses of this neighbor's peers.
         */
        peerIps?: string[];
        /**
         * Array of incoming routes.
         */
        routesIns: outputs.metal.GetDeviceBgpNeighborsBgpNeighborRoutesIn[];
        /**
         * Array of outgoing routes in the same format.
         */
        routesOuts: outputs.metal.GetDeviceBgpNeighborsBgpNeighborRoutesOut[];
    }
    interface GetDeviceBgpNeighborsBgpNeighborRoutesIn {
        /**
         * (bool) Whether the route is exact.
         */
        exact: boolean;
        /**
         * CIDR expression of route (IP/mask).
         */
        route: string;
    }
    interface GetDeviceBgpNeighborsBgpNeighborRoutesOut {
        /**
         * (bool) Whether the route is exact.
         */
        exact: boolean;
        /**
         * CIDR expression of route (IP/mask).
         */
        route: string;
    }
    interface GetDeviceNetwork {
        /**
         * IPv4 or IPv6 address string
         */
        address: string;
        /**
         * Bit length of the network mask of the address
         */
        cidr: number;
        /**
         * IP version - "4" or "6"
         */
        family: number;
        /**
         * Address of router
         */
        gateway: string;
        /**
         * Whether the address is routable from the Internet
         */
        public: boolean;
    }
    interface GetDevicePort {
        /**
         * Whether this port is part of a bond in bonded network setup
         */
        bonded: boolean;
        /**
         * The ID of the device
         */
        id: string;
        /**
         * MAC address assigned to the port
         */
        mac: string;
        /**
         * Name of the port (e.g. eth0, or bond0)
         */
        name: string;
        /**
         * Type of the port (e.g. NetworkPort or NetworkBondPort)
         */
        type: string;
    }
    interface GetDevicesDevice {
        /**
         * The ipv4 private IP assigned to the device
         */
        accessPrivateIpv4: string;
        /**
         * The ipv4 management IP assigned to the device
         */
        accessPublicIpv4: string;
        /**
         * The ipv6 management IP assigned to the device
         */
        accessPublicIpv6: string;
        alwaysPxe: boolean;
        /**
         * The billing cycle of the device (monthly or hourly)
         */
        billingCycle: string;
        /**
         * Description string for the device
         */
        description: string;
        /**
         * Device ID
         */
        deviceId: string;
        /**
         * The facility where the device is deployed
         *
         * @deprecated Use metro instead of facility.  For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
         */
        facility: string;
        /**
         * The id of hardware reservation which this device occupies
         */
        hardwareReservationId: string;
        /**
         * The device name
         */
        hostname: string;
        ipxeScriptUrl: string;
        /**
         * The metro where the device is deployed
         */
        metro: string;
        /**
         * L2 network type of the device, one oflayer3, hybrid, layer2-individual, layer2-bonded
         */
        networkType: string;
        /**
         * The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks: ublic IPv4 at equinix_metal_device.name.network.0, IPv6 at equinix_metal_device.name.network.1 and private IPv4 at equinix_metal_device.name.network.2. Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list).
         */
        networks: outputs.metal.GetDevicesDeviceNetwork[];
        /**
         * The operating system running on the device
         */
        operatingSystem: string;
        /**
         * The hardware config of the device
         */
        plan: string;
        /**
         * Ports assigned to the device
         */
        ports: outputs.metal.GetDevicesDevicePort[];
        /**
         * ID of project containing the devices. Exactly one of `projectId` and `organizationId` must be set.
         */
        projectId: string;
        /**
         * Root password to the server (if still available)
         */
        rootPassword: string;
        /**
         * The hostname to use for [Serial over SSH](https://deploy.equinix.com/developers/docs/metal/resilience-recovery/serial-over-ssh/) access to the device
         */
        sosHostname: string;
        /**
         * List of IDs of SSH keys deployed in the device, can be both user or project SSH keys
         */
        sshKeyIds: string[];
        /**
         * The state of the device
         */
        state: string;
        storage: string;
        /**
         * Tags attached to the device
         */
        tags: string[];
    }
    interface GetDevicesDeviceNetwork {
        /**
         * IPv4 or IPv6 address string
         */
        address: string;
        /**
         * Bit length of the network mask of the address
         */
        cidr: number;
        /**
         * IP version - "4" or "6"
         */
        family: number;
        /**
         * Address of router
         */
        gateway: string;
        /**
         * Whether the address is routable from the Internet
         */
        public: boolean;
    }
    interface GetDevicesDevicePort {
        /**
         * Whether this port is part of a bond in bonded network setup
         */
        bonded: boolean;
        /**
         * The ID of the device
         */
        id: string;
        /**
         * MAC address assigned to the port
         */
        mac: string;
        /**
         * Name of the port (e.g. eth0, or bond0)
         */
        name: string;
        /**
         * Type of the port (e.g. NetworkPort or NetworkBondPort)
         */
        type: string;
    }
    interface GetDevicesFilter {
        /**
         * If is set to true, the values are joined with an AND, and the requests returns only the results that match all specified values. Default is `false`.
         *
         * All fields in the `devices` block defined below can be used as attribute for both `sort` and `filter` blocks.
         */
        all?: boolean;
        /**
         * The attribute used to filter. Filter attributes are case-sensitive
         */
        attribute: string;
        /**
         * The type of comparison to apply. One of: `in` , `re`, `substring`, `lessThan`, `lessThanOrEqual`, `greaterThan`, `greaterThanOrEqual`. Default is `in`.
         */
        matchBy?: string;
        /**
         * The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR by default, and the request returns all results that match any of the specified values
         */
        values: string[];
    }
    interface GetDevicesSort {
        /**
         * The attribute used to sort the results. Sort attributes are case-sensitive
         */
        attribute: string;
        /**
         * Sort results in ascending or descending order. Strings are sorted in alphabetical order. One of: asc, desc
         */
        direction?: string;
    }
    interface GetFacilityCapacity {
        /**
         * Device plan that must be available in selected location.
         */
        plan: string;
        /**
         * Minimun number of devices that must be available in selected location. Default is `1`.
         */
        quantity?: number;
    }
    interface GetInterconnectionPort {
        /**
         * Port UUID.
         */
        id: string;
        /**
         * Port link status.
         */
        linkStatus: string;
        /**
         * Port name.
         */
        name: string;
        /**
         * Port role - primary or secondary.
         */
        role: string;
        /**
         * Port speed in bits per second.
         */
        speed: number;
        /**
         * Port status.
         */
        status: string;
        /**
         * List of IDs of virtual cicruits attached to this port.
         */
        virtualCircuitIds: string[];
    }
    interface GetInterconnectionServiceToken {
        /**
         * Expiration date of the service token.
         */
        expiresAt: string;
        /**
         * Port UUID.
         */
        id: string;
        /**
         * Maximum allowed speed for the service token, string like in the `speed` attribute.
         */
        maxAllowedSpeed: string;
        /**
         * Port role - primary or secondary.
         */
        role: string;
        state: string;
        /**
         * Token type, `aSide` or `zSide`.
         */
        type: string;
    }
    interface GetMetroCapacity {
        /**
         * Device plan that must be available in selected location.
         */
        plan: string;
        /**
         * Minimum number of devices that must be available in selected location. Default is `1`.
         */
        quantity?: number;
    }
    interface GetOrganizationAddress {
        /**
         * Postal address.
         */
        address: string;
        /**
         * City name.
         */
        city: string;
        /**
         * Two letter country code (ISO 3166-1 alpha-2), e.g. US.
         */
        country: string;
        /**
         * State name.
         */
        state: string;
        /**
         * Zip Code.
         */
        zipCode: string;
    }
    interface GetPlansFilter {
        /**
         * If is set to true, the values are joined with an AND, and the requests returns only the results that match all specified values. Default is `false`.
         *
         * All fields in the `plans` block defined below can be used as attribute for both `sort` and `filter` blocks.
         */
        all?: boolean;
        /**
         * The attribute used to filter. Filter attributes are case-sensitive
         */
        attribute: string;
        /**
         * The type of comparison to apply. One of: `in` , `re`, `substring`, `lessThan`, `lessThanOrEqual`, `greaterThan`, `greaterThanOrEqual`. Default is `in`.
         */
        matchBy?: string;
        /**
         * The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR by default, and the request returns all results that match any of the specified values
         */
        values: string[];
    }
    interface GetPlansPlan {
        /**
         * list of metros where the plan is available
         */
        availableInMetros: string[];
        /**
         * (**Deprecated**) list of facilities where the plan is available
         *
         * @deprecated Use availableInMetros instead.  For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
         */
        availableIns: string[];
        /**
         * plan class
         */
        class: string;
        /**
         * list of deployment types, e.g. on_demand, spot_market
         */
        deploymentTypes: string[];
        /**
         * description of the plan
         */
        description: string;
        /**
         * id of the plan
         */
        id: string;
        /**
         * flag showing if it's a legacy plan
         */
        legacy: boolean;
        /**
         * plan line, e.g. baremetal
         */
        line: string;
        /**
         * name of the plan
         */
        name: string;
        /**
         * plan hourly price
         */
        pricingHour: number;
        /**
         * plan monthly price
         */
        pricingMonth: number;
        /**
         * plan slug
         */
        slug: string;
    }
    interface GetPlansSort {
        /**
         * The attribute used to sort the results. Sort attributes are case-sensitive
         */
        attribute: string;
        /**
         * Sort results in ascending or descending order. Strings are sorted in alphabetical order. One of: asc, desc
         */
        direction?: string;
    }
    interface GetProjectBgpConfig {
        /**
         * Autonomous System Number for local BGP deployment.
         */
        asn: number;
        /**
         * One of `private`, `public`.
         */
        deploymentType: string;
        /**
         * The maximum number of route filters allowed per server.
         */
        maxPrefix: number;
        /**
         * Password for BGP session in plaintext (not a checksum).
         */
        md5: string;
        /**
         * Status of BGP configuration in the project.
         */
        status: string;
    }
    interface InterconnectionPort {
        id: string;
        linkStatus: string;
        name: string;
        role: string;
        speed: number;
        status: string;
        virtualCircuitIds: string[];
    }
    interface InterconnectionServiceToken {
        expiresAt: string;
        id: string;
        maxAllowedSpeed: string;
        role: string;
        state: string;
        type: string;
    }
    interface OrganizationAddress {
        /**
         * Postal address.
         */
        address: string;
        /**
         * City name.
         */
        city: string;
        /**
         * Two letter country code (ISO 3166-1 alpha-2), e.g. US.
         */
        country: string;
        /**
         * State name.
         */
        state: string;
        /**
         * Zip Code.
         */
        zipCode: string;
    }
    interface ProjectBgpConfig {
        /**
         * Autonomous System Number for local BGP deployment.
         */
        asn: number;
        /**
         * `local` or `global`, the `local` is likely to be usable immediately, the `global` will need to be reviewed by Equinix Metal engineers.
         */
        deploymentType: string;
        /**
         * The maximum number of route filters allowed per server.
         */
        maxPrefix: number;
        /**
         * Password for BGP session in plaintext (not a checksum).
         */
        md5?: string;
        /**
         * status of BGP configuration in the project.
         */
        status: string;
    }
    interface SpotMarketRequestInstanceParameters {
        alwaysPxe?: boolean;
        billingCycle: string;
        customdata?: string;
        description?: string;
        features?: string[];
        hostname: string;
        ipxeScriptUrl?: string;
        /**
         * Blocks deletion of the SpotMarketRequest device until the lock is disabled.
         */
        locked?: boolean;
        operatingSystem: string;
        plan: string;
        projectSshKeys?: string[];
        tags?: string[];
        terminationTime: string;
        /**
         * @deprecated Use instance_parameters.termination_time instead
         */
        termintationTime: string;
        userSshKeys?: string[];
        userdata?: string;
    }
}
export declare namespace networkedge {
    interface AclTemplateDeviceDetail {
        /**
         * Device ACL provisioning status where template was applied. One of `PROVISIONING`, `PROVISIONED`.
         */
        aclStatus: string;
        /**
         * ACL template name.
         */
        name: string;
        /**
         * Device uuid.
         */
        uuid: string;
    }
    interface AclTemplateInboundRule {
        /**
         * Inbound rule description, up to 200 characters.
         */
        description?: string;
        /**
         * Inbound traffic destination ports. Allowed values are a comma separated list of ports, e.g., `20,22,23`, port range, e.g., `1023-1040` or word `any`.
         */
        dstPort: string;
        /**
         * Inbound traffic protocol. One of `IP`, `TCP`, `UDP`.
         */
        protocol: string;
        /**
         * Inbound rule sequence number
         */
        sequenceNumber: number;
        /**
         * Type of traffic source used in a given inbound rule
         *
         * @deprecated Source Type will not be returned
         */
        sourceType: string;
        /**
         * Inbound traffic source ports. Allowed values are a comma separated list of ports, e.g., `20,22,23`, port range, e.g., `1023-1040` or word `any`.
         */
        srcPort: string;
        /**
         * Inbound traffic source IP subnet in CIDR format.
         */
        subnet?: string;
        /**
         * Inbound traffic source IP subnets in CIDR format.
         *
         * @deprecated Use Subnet instead
         */
        subnets?: string[];
    }
    interface DeviceClusterDetails {
        /**
         * The ID of the cluster.
         */
        clusterId: string;
        /**
         * The name of the cluster device
         */
        clusterName: string;
        /**
         * An object that has `node0` configuration. See Cluster Details - Nodes below for more details.
         */
        node0: outputs.networkedge.DeviceClusterDetailsNode0;
        /**
         * An object that has `node1` configuration. See Cluster Details - Nodes below for more details.
         */
        node1: outputs.networkedge.DeviceClusterDetailsNode1;
        /**
         * The number of nodes in the cluster.
         */
        numOfNodes: number;
    }
    interface DeviceClusterDetailsNode0 {
        /**
         * License file id. This is necessary for Fortinet and Juniper clusters.
         */
        licenseFileId?: string;
        /**
         * License token. This is necessary for Palo Alto clusters.
         */
        licenseToken?: string;
        /**
         * Device name.
         */
        name: string;
        /**
         * Device unique identifier.
         */
        uuid: string;
        /**
         * An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
         */
        vendorConfiguration?: outputs.networkedge.DeviceClusterDetailsNode0VendorConfiguration;
    }
    interface DeviceClusterDetailsNode0VendorConfiguration {
        /**
         * Activation key. This is required for Velocloud clusters.
         */
        activationKey?: string;
        /**
         * The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
         */
        adminPassword: string;
        /**
         * System IP Address. Mandatory for the Fortinet SDWAN cluster device.
         */
        controller1?: string;
        /**
         * Controller fqdn. This is required for Velocloud clusters.
         */
        controllerFqdn?: string;
        /**
         * Gateway IP. This field is relevant only for the Infoblox devices.
         */
        gatewayIp?: string;
        /**
         * Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
         */
        hostname?: string;
        /**
         * IP Address. This field is relevant only for the Infoblox devices.
         */
        ipAddress?: string;
        /**
         * License id. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        licenseId?: string;
        /**
         * License key. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        licenseKey?: string;
        /**
         * Management Type. This field is relevant only for Cisco FTD Firewall devices
         */
        managementType?: string;
        /**
         * Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
         */
        panoramaAuthKey?: string;
        /**
         * Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
         */
        panoramaIpAddress?: string;
        /**
         * Private address. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateAddress?: string;
        /**
         * Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateCidrMask?: string;
        /**
         * Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateGateway?: string;
        /**
         * The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
         */
        rootPassword?: string;
        /**
         * Subnet Mask IP. This field is relevant only for the Infoblox devices.
         */
        subnetMaskIp?: string;
    }
    interface DeviceClusterDetailsNode1 {
        /**
         * License file id. This is necessary for Fortinet and Juniper clusters.
         */
        licenseFileId?: string;
        /**
         * License token. This is necessary for Palo Alto clusters.
         */
        licenseToken?: string;
        /**
         * Device name.
         */
        name: string;
        /**
         * Device unique identifier.
         */
        uuid: string;
        /**
         * An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
         */
        vendorConfiguration?: outputs.networkedge.DeviceClusterDetailsNode1VendorConfiguration;
    }
    interface DeviceClusterDetailsNode1VendorConfiguration {
        /**
         * Activation key. This is required for Velocloud clusters.
         */
        activationKey?: string;
        /**
         * The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
         */
        adminPassword: string;
        /**
         * System IP Address. Mandatory for the Fortinet SDWAN cluster device.
         */
        controller1?: string;
        /**
         * Controller fqdn. This is required for Velocloud clusters.
         */
        controllerFqdn?: string;
        /**
         * Gateway IP. This field is relevant only for the Infoblox devices.
         */
        gatewayIp?: string;
        /**
         * Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
         */
        hostname?: string;
        /**
         * IP Address. This field is relevant only for the Infoblox devices.
         */
        ipAddress?: string;
        /**
         * License id. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        licenseId?: string;
        /**
         * License key. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        licenseKey?: string;
        /**
         * Management Type. This field is relevant only for Cisco FTD Firewall devices
         */
        managementType?: string;
        /**
         * Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
         */
        panoramaAuthKey?: string;
        /**
         * Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
         */
        panoramaIpAddress?: string;
        /**
         * Private address. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateAddress?: string;
        /**
         * Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateCidrMask?: string;
        /**
         * Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateGateway?: string;
        /**
         * The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
         */
        rootPassword?: string;
        /**
         * Subnet Mask IP. This field is relevant only for the Infoblox devices.
         */
        subnetMaskIp?: string;
    }
    interface DeviceInterface {
        /**
         * interface management type (Equinix Managed or empty).
         */
        assignedType: string;
        /**
         * interface identifier.
         */
        id: number;
        /**
         * interface IP address.
         */
        ipAddress: string;
        /**
         * interface MAC address.
         */
        macAddress: string;
        /**
         * Device name.
         */
        name: string;
        /**
         * interface operational status. One of `up`, `down`.
         */
        operationalStatus: string;
        /**
         * interface status. One of `AVAILABLE`, `RESERVED`, `ASSIGNED`.
         */
        status: string;
        /**
         * interface type.
         */
        type: string;
    }
    interface DeviceLinkDevice {
        /**
         * Device ASN number. Not required for self configured devices.
         */
        asn?: number;
        /**
         * Device identifier.
         */
        id: string;
        /**
         * Device network interface identifier to use for device link connection.
         */
        interfaceId?: number;
        /**
         * IP address from device link subnet that was assigned to the device
         */
        ipAddress: string;
        /**
         * device link provisioning status on a given device. One of `PROVISIONING`, `PROVISIONED`, `DEPROVISIONING`, `DEPROVISIONED`, `FAILED`.
         */
        status: string;
    }
    interface DeviceLinkLink {
        /**
         * billing account number to be used for connection charges
         */
        accountNumber: string;
        /**
         * connection destination metro code.
         */
        dstMetroCode: string;
        /**
         * connection destination zone code is not required.
         *
         * @deprecated DestinationZoneCode is not required
         */
        dstZoneCode?: string;
        /**
         * connection source metro code.
         */
        srcMetroCode: string;
        /**
         * connection source zone code is not required.
         *
         * @deprecated SourceZoneCode is not required
         */
        srcZoneCode?: string;
        /**
         * connection throughput.
         */
        throughput: string;
        /**
         * connection throughput unit (Mbps or Gbps).
         */
        throughputUnit: string;
    }
    interface DeviceLinkMetroLink {
        /**
         * billing account number to be used for connection charges
         */
        accountNumber: string;
        /**
         * connection metro code.
         */
        metroCode: string;
        /**
         * connection throughput.
         */
        throughput: string;
        /**
         * connection throughput unit (Mbps or Gbps).
         */
        throughputUnit: string;
    }
    interface DeviceSecondaryDevice {
        /**
         * Billing account number for secondary device.
         */
        accountNumber: string;
        /**
         * Identifier of a WAN interface ACL template that will be applied on a secondary device.
         */
        aclTemplateId?: string;
        /**
         * Additional Internet bandwidth, in Mbps, for a secondary device.
         */
        additionalBandwidth: number;
        /**
         * (Autonomous System Number) Unique identifier for a network on the internet.
         */
        asn: number;
        /**
         * Identifier of a cloud init file that will be applied on a secondary device.
         */
        cloudInitFileId?: string;
        /**
         * Secondary device hostname.
         */
        hostname?: string;
        /**
         * Device location Equinix Business Exchange name.
         */
        ibx: string;
        /**
         * List of device interfaces. See Interface Attribute below for more details.
         */
        interfaces: outputs.networkedge.DeviceSecondaryDeviceInterface[];
        /**
         * Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
         */
        licenseFile?: string;
        /**
         * Identifier of a license file that will be applied on a secondary device.
         */
        licenseFileId: string;
        /**
         * Device license registration status. Possible values are `APPLYING_LICENSE`, `REGISTERED`, `APPLIED`, `WAITING_FOR_CLUSTER_SETUP`, `REGISTRATION_FAILED`.
         */
        licenseStatus: string;
        /**
         * License Token can be provided for some device types o the device.
         */
        licenseToken?: string;
        /**
         * Metro location of a secondary device.
         */
        metroCode: string;
        /**
         * Identifier of an MGMT interface ACL template that will be applied on a secondary device.
         * * `ssh-key` - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
         */
        mgmtAclTemplateUuid?: string;
        /**
         * Secondary device name.
         */
        name: string;
        /**
         * List of email addresses that will receive notifications about secondary device.
         */
        notifications: string[];
        /**
         * Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
         */
        projectId: string;
        /**
         * Device redundancy type applicable for HA devices, either primary or secondary.
         */
        redundancyType: string;
        /**
         * Unique identifier for a redundant device applicable for HA devices.
         */
        redundantId: string;
        /**
         * Device location region.
         */
        region: string;
        /**
         * IP address of SSH enabled interface on the device.
         */
        sshIpAddress: string;
        /**
         * FQDN of SSH enabled interface on the device.
         */
        sshIpFqdn: string;
        /**
         * Definition of SSH key that will be provisioned on a device
         */
        sshKey?: outputs.networkedge.DeviceSecondaryDeviceSshKey;
        /**
         * interface status. One of `AVAILABLE`, `RESERVED`, `ASSIGNED`.
         */
        status: string;
        /**
         * Device unique identifier.
         */
        uuid: string;
        /**
         * Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are `controller1`, `activationKey`, `managementType`, `siteId`, `systemIpAddress`, `privateAddress`, `privateCidrMask`, `privateGateway`, `licenseKey`, `licenseId`, `panoramaAuthKey`, `panoramaIpAddress`, `ipAddress`, `subnetMaskIp`, `gatewayIp`.
         */
        vendorConfiguration: {
            [key: string]: string;
        };
        /**
         * device interface id picked for WAN
         */
        wanInterfaceId?: string;
        /**
         * Device location zone code.
         */
        zoneCode: string;
    }
    interface DeviceSecondaryDeviceInterface {
        /**
         * interface management type (Equinix Managed or empty).
         */
        assignedType: string;
        /**
         * interface identifier.
         */
        id: number;
        /**
         * interface IP address.
         */
        ipAddress: string;
        /**
         * interface MAC address.
         */
        macAddress: string;
        /**
         * Device name.
         */
        name: string;
        /**
         * interface operational status. One of `up`, `down`.
         */
        operationalStatus: string;
        /**
         * interface status. One of `AVAILABLE`, `RESERVED`, `ASSIGNED`.
         */
        status: string;
        /**
         * interface type.
         */
        type: string;
    }
    interface DeviceSecondaryDeviceSshKey {
        /**
         * Reference by name to previously provisioned public SSH key
         */
        keyName?: string;
        /**
         * username associated with given key.
         */
        username: string;
    }
    interface DeviceSshKey {
        /**
         * Reference by name to previously provisioned public SSH key
         */
        keyName?: string;
        /**
         * username associated with given key.
         */
        username: string;
    }
    interface GetDeviceClusterDetail {
        /**
         * The id of the cluster
         */
        clusterId: string;
        /**
         * The name of the cluster device
         */
        clusterName: string;
        /**
         * An object that has node0 details
         */
        node0s: outputs.networkedge.GetDeviceClusterDetailNode0[];
        /**
         * An object that has node1 details
         */
        node1s: outputs.networkedge.GetDeviceClusterDetailNode1[];
        /**
         * The number of nodes in the cluster
         */
        numOfNodes: number;
    }
    interface GetDeviceClusterDetailNode0 {
        /**
         * Unique identifier of applied license file
         */
        licenseFileId: string;
        /**
         * License token. This is necessary for Palo Alto clusters
         */
        licenseToken: string;
        /**
         * Name of an existing Equinix Network Edge device
         */
        name: string;
        /**
         * UUID of an existing Equinix Network Edge device
         */
        uuid: string;
        /**
         * An object that has fields relevant to the vendor of the cluster device
         */
        vendorConfigurations: outputs.networkedge.GetDeviceClusterDetailNode0VendorConfiguration[];
    }
    interface GetDeviceClusterDetailNode0VendorConfiguration {
        /**
         * Activation key. This is required for Velocloud clusters
         */
        activationKey: string;
        /**
         * The administrative password of the device. You can use it to log in to the console. This field is not available for all device types
         */
        adminPassword: string;
        /**
         * System IP Address. Mandatory for the Fortinet SDWAN cluster device
         */
        controller1: string;
        /**
         * Controller fqdn. This is required for Velocloud clusters
         */
        controllerFqdn: string;
        /**
         * Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters
         */
        hostname: string;
        /**
         * License id. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        licenseId: string;
        /**
         * License key. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        licenseKey: string;
        /**
         * Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices
         */
        panoramaAuthKey: string;
        /**
         * Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices
         */
        panoramaIpAddress: string;
        /**
         * Private address. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateAddress: string;
        /**
         * Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateCidrMask: string;
        /**
         * Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateGateway: string;
        /**
         * The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster
         */
        rootPassword: string;
    }
    interface GetDeviceClusterDetailNode1 {
        /**
         * Unique identifier of applied license file
         */
        licenseFileId: string;
        /**
         * License token. This is necessary for Palo Alto clusters
         */
        licenseToken: string;
        /**
         * Name of an existing Equinix Network Edge device
         */
        name: string;
        /**
         * UUID of an existing Equinix Network Edge device
         */
        uuid: string;
        /**
         * An object that has fields relevant to the vendor of the cluster device
         */
        vendorConfigurations: outputs.networkedge.GetDeviceClusterDetailNode1VendorConfiguration[];
    }
    interface GetDeviceClusterDetailNode1VendorConfiguration {
        /**
         * Activation key. This is required for Velocloud clusters
         */
        activationKey: string;
        /**
         * The administrative password of the device. You can use it to log in to the console. This field is not available for all device types
         */
        adminPassword: string;
        /**
         * System IP Address. Mandatory for the Fortinet SDWAN cluster device
         */
        controller1: string;
        /**
         * Controller fqdn. This is required for Velocloud clusters
         */
        controllerFqdn: string;
        /**
         * Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters
         */
        hostname: string;
        /**
         * License id. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        licenseId: string;
        /**
         * License key. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        licenseKey: string;
        /**
         * Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices
         */
        panoramaAuthKey: string;
        /**
         * Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices
         */
        panoramaIpAddress: string;
        /**
         * Private address. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateAddress: string;
        /**
         * Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateCidrMask: string;
        /**
         * Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
         */
        privateGateway: string;
        /**
         * The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster
         */
        rootPassword: string;
    }
    interface GetDeviceInterface {
        /**
         * Interface management type (Equinix Managed or empty)
         */
        assignedType: string;
        /**
         * Interface identifier
         */
        id: number;
        /**
         * interface IP address
         */
        ipAddress: string;
        /**
         * Interface MAC addres
         */
        macAddress: string;
        /**
         * Name of an existing Equinix Network Edge device
         */
        name: string;
        /**
         * Interface operational status (up or down)
         */
        operationalStatus: string;
        /**
         * Device provisioning status
         * * INITIALIZING
         * * PROVISIONING
         * * PROVISIONED (**NOTE: By default data source will only return devices in this state. To include other states see `validStateList`**)
         * * WAITING_FOR_PRIMARY
         * * WAITING_FOR_SECONDARY
         * * WAITING_FOR_REPLICA_CLUSTER_NODES
         * * CLUSTER_SETUP_IN_PROGRESS
         * * FAILED
         * * DEPROVISIONING
         * * DEPROVISIONED
         * * RESOURCE_UPGRADE_IN_PROGRESS
         * * RESOURCE_UPGRADE_FAILED
         */
        status: string;
        /**
         * Interface type
         */
        type: string;
    }
    interface GetDeviceSecondaryDevice {
        /**
         * Device billing account number
         */
        accountNumber: string;
        /**
         * Unique identifier of applied ACL template
         */
        aclTemplateId: string;
        /**
         * Additional Internet bandwidth, in Mbps, that will be allocated to the device
         */
        additionalBandwidth: number;
        /**
         * Autonomous system number
         */
        asn: number;
        /**
         * Unique identifier of applied cloud init file
         */
        cloudInitFileId: string;
        /**
         * Device hostname prefix
         */
        hostname: string;
        /**
         * Device location Equinix Business Exchange name
         */
        ibx: string;
        /**
         * List of device interfaces
         * * `interface.#.id` - interface identifier
         * * `interface.#.name` - interface name
         * * `interface.#.status` - interface status (AVAILABLE, RESERVED, ASSIGNED)
         * * `interface.#.operational_status` - interface operational status (up or down)
         * * `interface.#.mac_address` - interface MAC address
         * * `interface.#.ip_address` - interface IP address
         * * `interface.#.assigned_type` - interface management type (Equinix Managed or empty)
         * * `interface.#.type` - interface type
         */
        interfaces: outputs.networkedge.GetDeviceSecondaryDeviceInterface[];
        /**
         * Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode
         */
        licenseFile: string;
        /**
         * Unique identifier of applied license file
         */
        licenseFileId: string;
        /**
         * Device license registration status
         * * APPLYING_LICENSE
         * * REGISTERED
         * * APPLIED
         * * WAITING_FOR_CLUSTER_SETUP
         * * REGISTRATION_FAILED
         * * NA
         */
        licenseStatus: string;
        /**
         * License Token applicable for some device types in BYOL licensing mode
         */
        licenseToken: string;
        /**
         * Device location metro code
         */
        metroCode: string;
        /**
         * Unique identifier of applied MGMT ACL template
         */
        mgmtAclTemplateUuid: string;
        /**
         * Name of an existing Equinix Network Edge device
         */
        name: string;
        /**
         * List of email addresses that will receive device status notifications
         */
        notifications: string[];
        /**
         * The unique identifier of Project Resource to which device is scoped to
         */
        projectId: string;
        /**
         * Device redundancy type applicable for HA devices, either primary or secondary
         */
        redundancyType: string;
        /**
         * Unique identifier for a redundant device applicable for HA devices
         */
        redundantId: string;
        /**
         * Device location region
         */
        region: string;
        /**
         * IP address of SSH enabled interface on the device
         */
        sshIpAddress: string;
        /**
         * FQDN of SSH enabled interface on the device
         */
        sshIpFqdn: string;
        /**
         * Definition of SSH key that will be provisioned on a device
         */
        sshKeys: outputs.networkedge.GetDeviceSecondaryDeviceSshKey[];
        /**
         * Device provisioning status
         * * INITIALIZING
         * * PROVISIONING
         * * PROVISIONED (**NOTE: By default data source will only return devices in this state. To include other states see `validStateList`**)
         * * WAITING_FOR_PRIMARY
         * * WAITING_FOR_SECONDARY
         * * WAITING_FOR_REPLICA_CLUSTER_NODES
         * * CLUSTER_SETUP_IN_PROGRESS
         * * FAILED
         * * DEPROVISIONING
         * * DEPROVISIONED
         * * RESOURCE_UPGRADE_IN_PROGRESS
         * * RESOURCE_UPGRADE_FAILED
         */
        status: string;
        /**
         * UUID of an existing Equinix Network Edge device
         */
        uuid: string;
        /**
         * Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress)
         */
        vendorConfiguration: {
            [key: string]: string;
        };
        /**
         * device interface id picked for WAN
         */
        wanInterfaceId: string;
        /**
         * Device location zone code
         */
        zoneCode: string;
    }
    interface GetDeviceSecondaryDeviceInterface {
        /**
         * Interface management type (Equinix Managed or empty)
         */
        assignedType: string;
        /**
         * Interface identifier
         */
        id: number;
        /**
         * interface IP address
         */
        ipAddress: string;
        /**
         * Interface MAC addres
         */
        macAddress: string;
        /**
         * Name of an existing Equinix Network Edge device
         */
        name: string;
        /**
         * Interface operational status (up or down)
         */
        operationalStatus: string;
        /**
         * Device provisioning status
         * * INITIALIZING
         * * PROVISIONING
         * * PROVISIONED (**NOTE: By default data source will only return devices in this state. To include other states see `validStateList`**)
         * * WAITING_FOR_PRIMARY
         * * WAITING_FOR_SECONDARY
         * * WAITING_FOR_REPLICA_CLUSTER_NODES
         * * CLUSTER_SETUP_IN_PROGRESS
         * * FAILED
         * * DEPROVISIONING
         * * DEPROVISIONED
         * * RESOURCE_UPGRADE_IN_PROGRESS
         * * RESOURCE_UPGRADE_FAILED
         */
        status: string;
        /**
         * Interface type
         */
        type: string;
    }
    interface GetDeviceSecondaryDeviceSshKey {
        /**
         * Reference by name to previously provisioned public SSH key
         */
        keyName: string;
        /**
         * Username associated with given key
         */
        username: string;
    }
    interface GetDeviceSshKey {
        /**
         * Reference by name to previously provisioned public SSH key
         */
        keyName: string;
        /**
         * Username associated with given key
         */
        username: string;
    }
}
