UNPKG

@cuemby/equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

1,402 lines (1,401 loc) 37.2 kB
import { output as outputs } from "../types"; export interface ECXL2ConnectionAction { message: string; operationId: string; requiredDatas: outputs.ECXL2ConnectionActionRequiredData[]; type: string; } export interface ECXL2ConnectionActionRequiredData { editable: boolean; key: string; label: string; validationPattern: string; /** * additional information value */ value: string; } export interface ECXL2ConnectionAdditionalInfo { /** * additional information key */ name: string; /** * additional information value */ value: string; } export interface ECXL2ConnectionSecondaryConnection { /** * One or more pending actions to complete connection provisioning. */ actions: outputs.ECXL2ConnectionSecondaryConnectionAction[]; /** * Unique identifier authorizing Equinix to provision a connection * towards a cloud service provider. If not specified primary `authorizationKey` will be used. However, * some service providers may require different keys for each connection. More information on * [Equinix Fabric how to guide](https://developer.equinix.com/docs/ecx-how-to-guide). */ authorizationKey: string; /** * Applicable with `deviceUuid`, identifier of network interface * on a given device. If not specified then first available interface will be selected. */ deviceInterfaceId: number; /** * Applicable with primary `deviceUuid`. Identifier of the Network Edge * virtual device from which the secondary connection would originate. If not specified primary * `deviceUuid` will be used. */ deviceUuid?: string; /** * secondary connection name */ name: string; /** * Applicable with primary `portUuid`. Identifier of the Equinix Fabric Port from * which the secondary connection would originate. If not specified primary `portUuid` will be used. */ portUuid: string; /** * Unique identifier of the service provider's profile. */ profileUuid: string; /** * Connection provisioning status on service provider's side. */ providerStatus: string; /** * Unique identifier of group containing a primary and secondary connection. */ redundancyGroup: string; /** * Connection redundancy type, applicable for HA connections. Valid values are * `PRIMARY`, `SECONDARY`. */ redundancyType: string; /** * Unique identifier of the redundant connection, applicable for HA connections. * * @deprecated SecondaryConnection.0.RedundantUUID will not be returned. Use UUID instead */ redundantUuid: string; /** * The metro code that denotes the secondary connection’s * destination (Z side). . */ sellerMetroCode: string; /** * The region in which the seller port resides. If not specified * primary `sellerRegion` will be used. */ sellerRegion: string; /** * Required with primary `serviceToken`. Unique Equinix Fabric key * given by a provider that grants you authorization to enable connectivity from an Equinix Fabric Port or * virtual device. Each connection (primary and secondary) requires a separate token. * More details in [Fabric Service Tokens](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm). */ serviceToken?: string; /** * Speed/Bandwidth to be allocated to the secondary connection. If not * specified primary `speed` will be used. */ speed: number; /** * Unit of the speed/bandwidth to be allocated to the secondary * connection. If not specified primary `speedUnit` will be used. */ speedUnit: string; /** * Connection provisioning status on Equinix Fabric side. */ status: string; /** * Unique identifier of the connection. */ uuid: string; /** * The Equinix Fabric Token the connection was created with. Applicable if the * connection was created with a `serviceToken` (a-side) or `zsideServiceToken` (z-side). * * `secondaryConnection`: * * `zsidePortUuid` * * `zsideVlanStag` * * `zsideVlanCtag` * * `redundancyType` * * `redundancyGroup` * * `vendorToken` */ vendorToken: string; /** * Applicable with `portUuid`. C-Tag/Inner-Tag of the secondary * connection, a numeric character ranging from 2 - 4094. */ vlanCtag?: number; /** * S-Tag/Outer-Tag of the secondary connection, a * numeric character ranging from 2 - 4094. */ vlanStag: number; /** * Unique identifier of the port on the remote/destination side * (z-side). Allows you to connect between your own ports or virtual devices across your company's * Equinix Fabric deployment, with no need for a private service profile. */ zsidePortUuid: string; /** * C-Tag/Inner-Tag of the connection on the remote/destination * side (z-side) - a numeric character ranging from 2 - 4094. * `secondaryConnection` is defined it will internally use same `zsideVlanCtag` for the secondary * connection. */ zsideVlanCtag: number; /** * S-Tag/Outer-Tag of the connection on the remote/destination * side (z-side) - a numeric character ranging from 2 - 4094. */ zsideVlanStag: number; } export interface ECXL2ConnectionSecondaryConnectionAction { message: string; operationId: string; requiredDatas: outputs.ECXL2ConnectionSecondaryConnectionActionRequiredData[]; type: string; } export interface ECXL2ConnectionSecondaryConnectionActionRequiredData { editable: boolean; key: string; label: string; validationPattern: string; /** * additional information value */ value: string; } export interface ECXL2ServiceprofileFeatures { /** * Indicates whether or not connections to this profile * can be created from remote metro locations. */ allowRemoteConnections: boolean; /** * Indicates whether or not this profile can be used for test * connections. * * @deprecated TestProfile is no longer required and will be removed in a future release */ testProfile?: boolean; } export interface ECXL2ServiceprofilePort { /** * The metro code of location where the port resides. */ metroCode: string; /** * Unique identifier of the port. */ uuid: string; } export interface ECXL2ServiceprofileSpeedBand { /** * Speed/bandwidth supported by this service profile. */ speed: number; /** * Unit of the speed/bandwidth supported by this service profile. One of * `MB`, `GB`. */ speedUnit: string; } export interface GetECXL2SellerprofileAdditionalInfo { capturedInEmail: boolean; /** * Data type of additional information attribute. One of `BOOLEAN`, `INTEGER` or * `STRING`. */ dataType: string; /** * Textual description of additional information attribute. */ description: string; /** * Specifies if additional information is mandatory to create * connection. */ mandatory: boolean; /** * Name of the seller profile. */ name: string; } export interface GetECXL2SellerprofileMetro { /** * Location metro code. */ code: string; /** * List of IBXes supported within given metro. */ ibxes: string[]; /** * Name of the seller profile. */ name: string; /** * List of regions supported within given. */ regions: { [key: string]: string; }; } export interface GetECXL2SellerprofileSpeedBand { /** * Speed/bandwidth supported by given service profile. */ speed: number; /** * Unit of the speed/bandwidth supported by given service profile. */ speedUnit: string; } export interface GetECXL2SellerprofilesProfile { additionalInfos: outputs.GetECXL2SellerprofilesProfileAdditionalInfo[]; description: string; encapsulation: string; metros: outputs.GetECXL2SellerprofilesProfileMetro[]; name: string; /** * Name of seller's global organization. */ organizationGlobalName: string; /** * Name of seller's organization. */ organizationName: string; redundancyRequired: boolean; speedBands: outputs.GetECXL2SellerprofilesProfileSpeedBand[]; speedCustomizationAllowed: boolean; speedFromApi: boolean; uuid: string; } export interface GetECXL2SellerprofilesProfileAdditionalInfo { capturedInEmail: boolean; dataType: string; description: string; mandatory: boolean; name: string; } export interface GetECXL2SellerprofilesProfileMetro { code: string; ibxes: string[]; name: string; regions: { [key: string]: string; }; } export interface GetECXL2SellerprofilesProfileSpeedBand { speed: number; speedUnit: string; } export interface GetMetalConnectionPort { /** * 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: any[]; } export interface GetMetalConnectionServiceToken { /** * 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; } export interface GetMetalDeviceBGPNeighborsBgpNeighbor { /** * 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.GetMetalDeviceBGPNeighborsBgpNeighborRoutesIn[]; /** * Array of outgoing routes in the same format. */ routesOuts: outputs.GetMetalDeviceBGPNeighborsBgpNeighborRoutesOut[]; } export interface GetMetalDeviceBGPNeighborsBgpNeighborRoutesIn { /** * (bool) Whether the route is exact. */ exact: boolean; /** * CIDR expression of route (IP/mask). */ route: string; } export interface GetMetalDeviceBGPNeighborsBgpNeighborRoutesOut { /** * (bool) Whether the route is exact. */ exact: boolean; /** * CIDR expression of route (IP/mask). */ route: string; } export interface GetMetalDeviceNetwork { /** * IPv4 or IPv6 address string. */ address: string; /** * Bit length of the network mask of the address. */ cidr: number; /** * IP version. One of `4`, `6`. */ family: number; /** * Address of router. */ gateway: string; /** * Whether the address is routable from the Internet. */ public: boolean; } export interface GetMetalDevicePort { /** * Whether this port is part of a bond in bonded network setup. */ bonded: boolean; /** * ID of the port. */ 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; } export interface GetMetalFacilityCapacity { /** * 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; } export interface GetMetalMetroCapacity { /** * 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; } export interface GetMetalOrganizationAddress { /** * 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; } export interface GetMetalPlansFilter { /** * 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?: 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[]; } export interface GetMetalPlansPlan { availableInMetros: string[]; availableIns: string[]; class: string; deploymentTypes: string[]; description: string; /** * id of the plan */ id: string; legacy: boolean; line: string; /** * name of the plan * - `slug`- plan slug * - `description`- description of the plan * - `line`- plan line, e.g. baremetal * - `legacy`- flag showing if it's a legacy plan * - `class`- plan class * - `pricingHour`- plan hourly price * - `pricingMonth`- plan monthly price * - `deploymentTypes`- list of deployment types, e.g. on_demand, spotMarket * - `availableIn`- list of facilities where the plan is available * - `availableInMetros`- list of facilities where the plan is available */ name: string; pricingHour: number; pricingMonth: number; slug: string; } export interface GetMetalPlansSort { /** * The attribute used to filter. Filter 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; } export interface GetMetalProjectBgpConfig { /** * 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; } export interface GetNetworkDeviceClusterDetail { /** * The id of the cluster */ clusterId: string; clusterName: string; node0s: outputs.GetNetworkDeviceClusterDetailNode0[]; node1s: outputs.GetNetworkDeviceClusterDetailNode1[]; /** * The number of nodes in the cluster */ numOfNodes: number; } export interface GetNetworkDeviceClusterDetailNode0 { /** * Unique identifier of applied license file */ licenseFileId: string; licenseToken: string; /** * Name of an existing Equinix Network Edge device */ name: string; /** * UUID of an existing Equinix Network Edge device */ uuid: string; vendorConfigurations: outputs.GetNetworkDeviceClusterDetailNode0VendorConfiguration[]; } export interface GetNetworkDeviceClusterDetailNode0VendorConfiguration { activationKey: string; adminPassword: string; controller1: string; controllerFqdn: string; hostname: string; rootPassword: string; } export interface GetNetworkDeviceClusterDetailNode1 { /** * Unique identifier of applied license file */ licenseFileId: string; licenseToken: string; /** * Name of an existing Equinix Network Edge device */ name: string; /** * UUID of an existing Equinix Network Edge device */ uuid: string; vendorConfigurations: outputs.GetNetworkDeviceClusterDetailNode1VendorConfiguration[]; } export interface GetNetworkDeviceClusterDetailNode1VendorConfiguration { activationKey: string; adminPassword: string; controller1: string; controllerFqdn: string; hostname: string; rootPassword: string; } export interface GetNetworkDeviceInterface { assignedType: string; id: number; ipAddress: string; macAddress: string; /** * Name of an existing Equinix Network Edge device */ name: string; 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 */ status: string; type: string; } export interface GetNetworkDeviceSecondaryDevice { accountNumber: string; /** * Unique identifier of applied ACL template */ aclTemplateId: string; additionalBandwidth: number; /** * Autonomous system number */ asn: number; 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.GetNetworkDeviceSecondaryDeviceInterface[]; licenseFile: string; /** * Unique identifier of applied license file */ licenseFileId: string; /** * Device license registration status * * APPLYING_LICENSE * * REGISTERED * * APPLIED * * WAITING_FOR_CLUSTER_SETUP * * REGISTRATION_FAILED */ licenseStatus: string; licenseToken: string; metroCode: string; mgmtAclTemplateUuid: string; /** * Name of an existing Equinix Network Edge device */ name: string; notifications: 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; sshKeys: outputs.GetNetworkDeviceSecondaryDeviceSshKey[]; /** * 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 */ status: string; /** * UUID of an existing Equinix Network Edge device */ uuid: string; vendorConfiguration: { [key: string]: string; }; wanInterfaceId: string; /** * Device location zone code */ zoneCode: string; } export interface GetNetworkDeviceSecondaryDeviceInterface { assignedType: string; id: number; ipAddress: string; macAddress: string; /** * Name of an existing Equinix Network Edge device */ name: string; 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 */ status: string; type: string; } export interface GetNetworkDeviceSecondaryDeviceSshKey { keyName: string; username: string; } export interface GetNetworkDeviceSshKey { keyName: string; username: string; } export interface MetalConnectionPort { id: string; linkStatus: string; /** * Name of the connection resource */ name: string; role: string; /** * Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps. */ speed: number; /** * Status of the connection resource. */ status: string; virtualCircuitIds: any[]; } export interface MetalConnectionServiceToken { expiresAt: string; id: string; maxAllowedSpeed: string; role: string; state: string; /** * Connection type - dedicated or shared. */ type: string; } export interface MetalDeviceIpAddress { /** * CIDR suffix for IP address block to be assigned, i.e. amount of addresses. */ cidr?: number; /** * List of UUIDs of IP block reservations * from which the public IPv4 address should be taken. */ reservationIds?: string[]; /** * One of `privateIpv4`, `publicIpv4`, `publicIpv6`. */ type: string; } export interface MetalDeviceNetwork { /** * 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. One of `4`, `6`. */ family: number; /** * Address of router. */ gateway: string; /** * Whether the address is routable from the Internet. */ public: boolean; } export interface MetalDevicePort { /** * Whether this port is part of a bond in bonded network setup. */ bonded: boolean; /** * ID of the port. */ id: string; /** * MAC address assigned to the port. */ mac: string; /** * Name of the port (e.g. `eth0`, or `bond0`). */ name: string; /** * One of `privateIpv4`, `publicIpv4`, `publicIpv6`. */ type: string; } export interface MetalDeviceReinstall { /** * Whether the OS disk should be filled with `00h` bytes before reinstall. * Defaults to `false`. */ deprovisionFast?: boolean; /** * Whether the provider should favour reinstall over destroy and create. Defaults to * `false`. */ enabled?: boolean; /** * Whether the non-OS disks should be kept or wiped during reinstall. * Defaults to `false`. */ preserveData?: boolean; } export interface MetalOrganizationAddress { /** * 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; } export interface MetalProjectBgpConfig { /** * Autonomous System Number for local BGP deployment. */ asn: number; /** * `private` or `public`, the `private` is likely to be usable immediately, the * `public` 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; } export interface MetalSpotMarketRequestInstanceParameters { 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[]; termintationTime: string; userSshKeys?: string[]; userdata?: string; } export interface NetworkACLTemplateDeviceDetail { /** * Device ACL provisioning status where template was applied. One of `PROVISIONING`, * `PROVISIONED`. */ aclStatus: string; /** * ACL template name. */ name: string; /** * Device uuid. */ uuid: string; } export interface NetworkACLTemplateInboundRule { /** * 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; sequenceNumber: number; /** * @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[]; } export interface NetworkDeviceClusterDetails { /** * 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.NetworkDeviceClusterDetailsNode0; /** * An object that has `node1` configuration. * See Cluster Details - Nodes below for more details. */ node1: outputs.NetworkDeviceClusterDetailsNode1; /** * The number of nodes in the cluster. */ numOfNodes: number; } export interface NetworkDeviceClusterDetailsNode0 { /** * 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.NetworkDeviceClusterDetailsNode0VendorConfiguration; } export interface NetworkDeviceClusterDetailsNode0VendorConfiguration { /** * 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; /** * The CLI password of the device. This field is relevant only for the * Velocloud SDWAN cluster. */ rootPassword?: string; } export interface NetworkDeviceClusterDetailsNode1 { /** * 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.NetworkDeviceClusterDetailsNode1VendorConfiguration; } export interface NetworkDeviceClusterDetailsNode1VendorConfiguration { /** * 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; /** * The CLI password of the device. This field is relevant only for the * Velocloud SDWAN cluster. */ rootPassword?: string; } export interface NetworkDeviceInterface { /** * 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; } export interface NetworkDeviceLinkDevice { /** * 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; } export interface NetworkDeviceLinkLink { /** * 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; } export interface NetworkDeviceSecondaryDevice { /** * 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; /** * 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.NetworkDeviceSecondaryDeviceInterface[]; /** * Path to the license file that will be uploaded and applied on a * secondary device. Applicable for some devices types in BYOL licensing mode. */ licenseFile?: string; /** * License file id. This is necessary for Fortinet and Juniper clusters. */ 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 the 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[]; /** * 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; sshKey?: outputs.NetworkDeviceSecondaryDeviceSshKey; /** * 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`. */ vendorConfiguration: { [key: string]: string; }; wanInterfaceId?: string; /** * Device location zone code. */ zoneCode: string; } export interface NetworkDeviceSecondaryDeviceInterface { /** * 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; } export interface NetworkDeviceSecondaryDeviceSshKey { keyName: string; /** * username associated with given key. */ username: string; } export interface NetworkDeviceSshKey { keyName: string; /** * username associated with given key. */ username: string; }