@cuemby/equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
954 lines (953 loc) • 29.4 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { input as inputs } from "../types";
export interface ECXL2ConnectionAction {
message?: pulumi.Input<string>;
operationId?: pulumi.Input<string>;
requiredDatas?: pulumi.Input<pulumi.Input<inputs.ECXL2ConnectionActionRequiredData>[]>;
type?: pulumi.Input<string>;
}
export interface ECXL2ConnectionActionRequiredData {
editable?: pulumi.Input<boolean>;
key?: pulumi.Input<string>;
label?: pulumi.Input<string>;
validationPattern?: pulumi.Input<string>;
/**
* additional information value
*/
value?: pulumi.Input<string>;
}
export interface ECXL2ConnectionAdditionalInfo {
/**
* additional information key
*/
name: pulumi.Input<string>;
/**
* additional information value
*/
value: pulumi.Input<string>;
}
export interface ECXL2ConnectionSecondaryConnection {
/**
* One or more pending actions to complete connection provisioning.
*/
actions?: pulumi.Input<pulumi.Input<inputs.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?: pulumi.Input<string>;
/**
* Applicable with `deviceUuid`, identifier of network interface
* on a given device. If not specified then first available interface will be selected.
*/
deviceInterfaceId?: pulumi.Input<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?: pulumi.Input<string>;
/**
* secondary connection name
*/
name: pulumi.Input<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?: pulumi.Input<string>;
/**
* Unique identifier of the service provider's profile.
*/
profileUuid?: pulumi.Input<string>;
/**
* Connection provisioning status on service provider's side.
*/
providerStatus?: pulumi.Input<string>;
/**
* Unique identifier of group containing a primary and secondary connection.
*/
redundancyGroup?: pulumi.Input<string>;
/**
* Connection redundancy type, applicable for HA connections. Valid values are
* `PRIMARY`, `SECONDARY`.
*/
redundancyType?: pulumi.Input<string>;
/**
* Unique identifier of the redundant connection, applicable for HA connections.
*
* @deprecated SecondaryConnection.0.RedundantUUID will not be returned. Use UUID instead
*/
redundantUuid?: pulumi.Input<string>;
/**
* The metro code that denotes the secondary connection’s
* destination (Z side). .
*/
sellerMetroCode?: pulumi.Input<string>;
/**
* The region in which the seller port resides. If not specified
* primary `sellerRegion` will be used.
*/
sellerRegion?: pulumi.Input<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?: pulumi.Input<string>;
/**
* Speed/Bandwidth to be allocated to the secondary connection. If not
* specified primary `speed` will be used.
*/
speed?: pulumi.Input<number>;
/**
* Unit of the speed/bandwidth to be allocated to the secondary
* connection. If not specified primary `speedUnit` will be used.
*/
speedUnit?: pulumi.Input<string>;
/**
* Connection provisioning status on Equinix Fabric side.
*/
status?: pulumi.Input<string>;
/**
* Unique identifier of the connection.
*/
uuid?: pulumi.Input<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?: pulumi.Input<string>;
/**
* Applicable with `portUuid`. C-Tag/Inner-Tag of the secondary
* connection, a numeric character ranging from 2 - 4094.
*/
vlanCtag?: pulumi.Input<number>;
/**
* S-Tag/Outer-Tag of the secondary connection, a
* numeric character ranging from 2 - 4094.
*/
vlanStag?: pulumi.Input<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?: pulumi.Input<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?: pulumi.Input<number>;
/**
* S-Tag/Outer-Tag of the connection on the remote/destination
* side (z-side) - a numeric character ranging from 2 - 4094.
*/
zsideVlanStag?: pulumi.Input<number>;
}
export interface ECXL2ConnectionSecondaryConnectionAction {
message?: pulumi.Input<string>;
operationId?: pulumi.Input<string>;
requiredDatas?: pulumi.Input<pulumi.Input<inputs.ECXL2ConnectionSecondaryConnectionActionRequiredData>[]>;
type?: pulumi.Input<string>;
}
export interface ECXL2ConnectionSecondaryConnectionActionRequiredData {
editable?: pulumi.Input<boolean>;
key?: pulumi.Input<string>;
label?: pulumi.Input<string>;
validationPattern?: pulumi.Input<string>;
/**
* additional information value
*/
value?: pulumi.Input<string>;
}
export interface ECXL2ServiceprofileFeatures {
/**
* Indicates whether or not connections to this profile
* can be created from remote metro locations.
*/
allowRemoteConnections: pulumi.Input<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?: pulumi.Input<boolean>;
}
export interface ECXL2ServiceprofilePort {
/**
* The metro code of location where the port resides.
*/
metroCode: pulumi.Input<string>;
/**
* Unique identifier of the port.
*/
uuid: pulumi.Input<string>;
}
export interface ECXL2ServiceprofileSpeedBand {
/**
* Speed/bandwidth supported by this service profile.
*/
speed: pulumi.Input<number>;
/**
* Unit of the speed/bandwidth supported by this service profile. One of
* `MB`, `GB`.
*/
speedUnit: pulumi.Input<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 GetMetalFacilityCapacityArgs {
/**
* Device plan that must be available in selected location.
*/
plan: pulumi.Input<string>;
/**
* Minimun number of devices that must be available in selected location.
* Default is `1`.
*/
quantity?: pulumi.Input<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 GetMetalMetroCapacityArgs {
/**
* Device plan that must be available in selected location.
*/
plan: pulumi.Input<string>;
/**
* Minimun number of devices that must be available in selected location.
* Default is `1`.
*/
quantity?: pulumi.Input<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 GetMetalOrganizationAddressArgs {
/**
* Postal address.
*/
address?: pulumi.Input<string>;
/**
* City name.
*/
city?: pulumi.Input<string>;
/**
* Two letter country code (ISO 3166-1 alpha-2), e.g. US.
*/
country?: pulumi.Input<string>;
/**
* State name.
*/
state?: pulumi.Input<string>;
/**
* Zip Code.
*/
zipCode?: pulumi.Input<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 GetMetalPlansFilterArgs {
/**
* 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?: pulumi.Input<boolean>;
/**
* The attribute used to filter. Filter attributes are case-sensitive
*/
attribute: pulumi.Input<string>;
/**
* The type of comparison to apply. One of: `in` , `re`, `substring`, `lessThan`, `lessThanOrEqual`, `greaterThan`, `greaterThanOrEqual`. Default is `in`.
*/
matchBy?: pulumi.Input<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: pulumi.Input<pulumi.Input<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 GetMetalPlansSortArgs {
/**
* The attribute used to filter. Filter attributes are case-sensitive
*/
attribute: pulumi.Input<string>;
/**
* Sort results in ascending or descending order. Strings are sorted in alphabetical order. One of: asc, desc
*/
direction?: pulumi.Input<string>;
}
export interface MetalConnectionPort {
id?: pulumi.Input<string>;
linkStatus?: pulumi.Input<string>;
/**
* Name of the connection resource
*/
name?: pulumi.Input<string>;
role?: pulumi.Input<string>;
/**
* Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps.
*/
speed?: pulumi.Input<number>;
/**
* Status of the connection resource.
*/
status?: pulumi.Input<string>;
virtualCircuitIds?: pulumi.Input<any[]>;
}
export interface MetalConnectionServiceToken {
expiresAt?: pulumi.Input<string>;
id?: pulumi.Input<string>;
maxAllowedSpeed?: pulumi.Input<string>;
role?: pulumi.Input<string>;
state?: pulumi.Input<string>;
/**
* Connection type - dedicated or shared.
*/
type?: pulumi.Input<string>;
}
export interface MetalDeviceIpAddress {
/**
* CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
*/
cidr?: pulumi.Input<number>;
/**
* List of UUIDs of IP block reservations
* from which the public IPv4 address should be taken.
*/
reservationIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* One of `privateIpv4`, `publicIpv4`, `publicIpv6`.
*/
type: pulumi.Input<string>;
}
export interface MetalDeviceNetwork {
/**
* IPv4 or IPv6 address string.
*/
address?: pulumi.Input<string>;
/**
* CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
*/
cidr?: pulumi.Input<number>;
/**
* IP version. One of `4`, `6`.
*/
family?: pulumi.Input<number>;
/**
* Address of router.
*/
gateway?: pulumi.Input<string>;
/**
* Whether the address is routable from the Internet.
*/
public?: pulumi.Input<boolean>;
}
export interface MetalDevicePort {
/**
* Whether this port is part of a bond in bonded network setup.
*/
bonded?: pulumi.Input<boolean>;
/**
* ID of the port.
*/
id?: pulumi.Input<string>;
/**
* MAC address assigned to the port.
*/
mac?: pulumi.Input<string>;
/**
* Name of the port (e.g. `eth0`, or `bond0`).
*/
name?: pulumi.Input<string>;
/**
* One of `privateIpv4`, `publicIpv4`, `publicIpv6`.
*/
type?: pulumi.Input<string>;
}
export interface MetalDeviceReinstall {
/**
* Whether the OS disk should be filled with `00h` bytes before reinstall.
* Defaults to `false`.
*/
deprovisionFast?: pulumi.Input<boolean>;
/**
* Whether the provider should favour reinstall over destroy and create. Defaults to
* `false`.
*/
enabled?: pulumi.Input<boolean>;
/**
* Whether the non-OS disks should be kept or wiped during reinstall.
* Defaults to `false`.
*/
preserveData?: pulumi.Input<boolean>;
}
export interface MetalOrganizationAddress {
/**
* Postal address.
*/
address: pulumi.Input<string>;
/**
* City name.
*/
city: pulumi.Input<string>;
/**
* Two letter country code (ISO 3166-1 alpha-2), e.g. US.
*/
country: pulumi.Input<string>;
/**
* State name.
*/
state?: pulumi.Input<string>;
/**
* Zip Code.
*/
zipCode: pulumi.Input<string>;
}
export interface MetalProjectBgpConfig {
/**
* Autonomous System Number for local BGP deployment.
*/
asn: pulumi.Input<number>;
/**
* `private` or `public`, the `private` is likely to be usable immediately, the
* `public` will need to be reviewed by Equinix Metal engineers.
*/
deploymentType: pulumi.Input<string>;
/**
* The maximum number of route filters allowed per server.
*/
maxPrefix?: pulumi.Input<number>;
/**
* Password for BGP session in plaintext (not a checksum).
*/
md5?: pulumi.Input<string>;
/**
* status of BGP configuration in the project.
*/
status?: pulumi.Input<string>;
}
export interface MetalSpotMarketRequestInstanceParameters {
alwaysPxe?: pulumi.Input<boolean>;
billingCycle: pulumi.Input<string>;
customdata?: pulumi.Input<string>;
description?: pulumi.Input<string>;
features?: pulumi.Input<pulumi.Input<string>[]>;
hostname: pulumi.Input<string>;
ipxeScriptUrl?: pulumi.Input<string>;
/**
* Blocks deletion of the SpotMarketRequest device until the lock is disabled.
*/
locked?: pulumi.Input<boolean>;
operatingSystem: pulumi.Input<string>;
plan: pulumi.Input<string>;
projectSshKeys?: pulumi.Input<pulumi.Input<string>[]>;
tags?: pulumi.Input<pulumi.Input<string>[]>;
termintationTime?: pulumi.Input<string>;
userSshKeys?: pulumi.Input<pulumi.Input<string>[]>;
userdata?: pulumi.Input<string>;
}
export interface NetworkACLTemplateDeviceDetail {
/**
* Device ACL provisioning status where template was applied. One of `PROVISIONING`,
* `PROVISIONED`.
*/
aclStatus?: pulumi.Input<string>;
/**
* ACL template name.
*/
name?: pulumi.Input<string>;
/**
* Device uuid.
*/
uuid?: pulumi.Input<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: pulumi.Input<string>;
/**
* Inbound traffic protocol. One of `IP`, `TCP`, `UDP`.
*/
protocol: pulumi.Input<string>;
sequenceNumber?: pulumi.Input<number>;
/**
* @deprecated Source Type will not be returned
*/
sourceType?: pulumi.Input<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: pulumi.Input<string>;
/**
* Inbound traffic source IP subnet in CIDR format.
*/
subnet?: pulumi.Input<string>;
/**
* Inbound traffic source IP subnets in CIDR format.
*
* @deprecated Use Subnet instead
*/
subnets?: pulumi.Input<pulumi.Input<string>[]>;
}
export interface NetworkDeviceClusterDetails {
/**
* The ID of the cluster.
*/
clusterId?: pulumi.Input<string>;
/**
* The name of the cluster device
*/
clusterName: pulumi.Input<string>;
/**
* An object that has `node0` configuration.
* See Cluster Details - Nodes below for more details.
*/
node0: pulumi.Input<inputs.NetworkDeviceClusterDetailsNode0>;
/**
* An object that has `node1` configuration.
* See Cluster Details - Nodes below for more details.
*/
node1: pulumi.Input<inputs.NetworkDeviceClusterDetailsNode1>;
/**
* The number of nodes in the cluster.
*/
numOfNodes?: pulumi.Input<number>;
}
export interface NetworkDeviceClusterDetailsNode0 {
/**
* License file id. This is necessary for Fortinet and Juniper clusters.
*/
licenseFileId?: pulumi.Input<string>;
/**
* License token. This is necessary for Palo Alto clusters.
*/
licenseToken?: pulumi.Input<string>;
/**
* Device name.
*/
name?: pulumi.Input<string>;
/**
* Device unique identifier.
*/
uuid?: pulumi.Input<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?: pulumi.Input<inputs.NetworkDeviceClusterDetailsNode0VendorConfiguration>;
}
export interface NetworkDeviceClusterDetailsNode0VendorConfiguration {
/**
* Activation key. This is required for Velocloud clusters.
*/
activationKey?: pulumi.Input<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?: pulumi.Input<string>;
/**
* System IP Address. Mandatory for the Fortinet SDWAN cluster device.
*/
controller1?: pulumi.Input<string>;
/**
* Controller fqdn. This is required for Velocloud clusters.
*/
controllerFqdn?: pulumi.Input<string>;
/**
* Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
*/
hostname?: pulumi.Input<string>;
/**
* The CLI password of the device. This field is relevant only for the
* Velocloud SDWAN cluster.
*/
rootPassword?: pulumi.Input<string>;
}
export interface NetworkDeviceClusterDetailsNode1 {
/**
* License file id. This is necessary for Fortinet and Juniper clusters.
*/
licenseFileId?: pulumi.Input<string>;
/**
* License token. This is necessary for Palo Alto clusters.
*/
licenseToken?: pulumi.Input<string>;
/**
* Device name.
*/
name?: pulumi.Input<string>;
/**
* Device unique identifier.
*/
uuid?: pulumi.Input<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?: pulumi.Input<inputs.NetworkDeviceClusterDetailsNode1VendorConfiguration>;
}
export interface NetworkDeviceClusterDetailsNode1VendorConfiguration {
/**
* Activation key. This is required for Velocloud clusters.
*/
activationKey?: pulumi.Input<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?: pulumi.Input<string>;
/**
* System IP Address. Mandatory for the Fortinet SDWAN cluster device.
*/
controller1?: pulumi.Input<string>;
/**
* Controller fqdn. This is required for Velocloud clusters.
*/
controllerFqdn?: pulumi.Input<string>;
/**
* Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
*/
hostname?: pulumi.Input<string>;
/**
* The CLI password of the device. This field is relevant only for the
* Velocloud SDWAN cluster.
*/
rootPassword?: pulumi.Input<string>;
}
export interface NetworkDeviceInterface {
/**
* interface management type (Equinix Managed or empty).
*/
assignedType?: pulumi.Input<string>;
/**
* interface identifier.
*/
id?: pulumi.Input<number>;
/**
* interface IP address.
*/
ipAddress?: pulumi.Input<string>;
/**
* interface MAC address.
*/
macAddress?: pulumi.Input<string>;
/**
* Device name.
*/
name?: pulumi.Input<string>;
/**
* interface operational status. One of `up`, `down`.
*/
operationalStatus?: pulumi.Input<string>;
/**
* interface status. One of `AVAILABLE`, `RESERVED`, `ASSIGNED`.
*/
status?: pulumi.Input<string>;
/**
* interface type.
*/
type?: pulumi.Input<string>;
}
export interface NetworkDeviceLinkDevice {
/**
* Device ASN number. Not required for self configured devices.
*/
asn?: pulumi.Input<number>;
/**
* Device identifier.
*/
id: pulumi.Input<string>;
/**
* Device network interface identifier to use for device link
* connection.
*/
interfaceId?: pulumi.Input<number>;
/**
* IP address from device link subnet that was assigned to the device
*/
ipAddress?: pulumi.Input<string>;
/**
* device link provisioning status on a given device. One of `PROVISIONING`,
* `PROVISIONED`, `DEPROVISIONING`, `DEPROVISIONED`, `FAILED`.
*/
status?: pulumi.Input<string>;
}
export interface NetworkDeviceLinkLink {
/**
* billing account number to be used for
* connection charges
*/
accountNumber: pulumi.Input<string>;
/**
* connection destination metro code.
*/
dstMetroCode: pulumi.Input<string>;
/**
* connection destination zone code is not required.
*
* @deprecated DestinationZoneCode is not required
*/
dstZoneCode?: pulumi.Input<string>;
/**
* connection source metro code.
*/
srcMetroCode: pulumi.Input<string>;
/**
* connection source zone code is not required.
*
* @deprecated SourceZoneCode is not required
*/
srcZoneCode?: pulumi.Input<string>;
/**
* connection throughput.
*/
throughput: pulumi.Input<string>;
/**
* connection throughput unit (Mbps or Gbps).
*/
throughputUnit: pulumi.Input<string>;
}
export interface NetworkDeviceSecondaryDevice {
/**
* Billing account number for secondary device.
*/
accountNumber: pulumi.Input<string>;
/**
* Identifier of a WAN interface ACL template that will be applied
* on a secondary device.
*/
aclTemplateId?: pulumi.Input<string>;
/**
* Additional Internet bandwidth, in Mbps, for a secondary
* device.
*/
additionalBandwidth?: pulumi.Input<number>;
/**
* (Autonomous System Number) Unique identifier for a network on the internet.
*/
asn?: pulumi.Input<number>;
/**
* Secondary device hostname.
*/
hostname?: pulumi.Input<string>;
/**
* Device location Equinix Business Exchange name.
*/
ibx?: pulumi.Input<string>;
/**
* List of device interfaces. See Interface Attribute below
* for more details.
*/
interfaces?: pulumi.Input<pulumi.Input<inputs.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?: pulumi.Input<string>;
/**
* License file id. This is necessary for Fortinet and Juniper clusters.
*/
licenseFileId?: pulumi.Input<string>;
/**
* Device license registration status. Possible values are `APPLYING_LICENSE`,
* `REGISTERED`, `APPLIED`, `WAITING_FOR_CLUSTER_SETUP`, `REGISTRATION_FAILED`.
*/
licenseStatus?: pulumi.Input<string>;
/**
* License Token can be provided for some device types o the device.
*/
licenseToken?: pulumi.Input<string>;
/**
* Metro location of a secondary device.
*/
metroCode: pulumi.Input<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?: pulumi.Input<string>;
/**
* Secondary device name.
*/
name: pulumi.Input<string>;
/**
* List of email addresses that will receive notifications about
* secondary device.
*/
notifications: pulumi.Input<pulumi.Input<string>[]>;
/**
* Device redundancy type applicable for HA devices, either
* primary or secondary.
*/
redundancyType?: pulumi.Input<string>;
/**
* Unique identifier for a redundant device applicable for HA devices.
*/
redundantId?: pulumi.Input<string>;
/**
* Device location region.
*/
region?: pulumi.Input<string>;
/**
* IP address of SSH enabled interface on the device.
*/
sshIpAddress?: pulumi.Input<string>;
/**
* FQDN of SSH enabled interface on the device.
*/
sshIpFqdn?: pulumi.Input<string>;
sshKey?: pulumi.Input<inputs.NetworkDeviceSecondaryDeviceSshKey>;
/**
* interface status. One of `AVAILABLE`, `RESERVED`, `ASSIGNED`.
*/
status?: pulumi.Input<string>;
/**
* Device unique identifier.
*/
uuid?: pulumi.Input<string>;
/**
* Key/Value pairs of vendor specific configuration parameters
* for a secondary device. Key values are `controller1`, `activationKey`, `managementType`, `siteId`,
* `systemIpAddress`.
*/
vendorConfiguration?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
wanInterfaceId?: pulumi.Input<string>;
/**
* Device location zone code.
*/
zoneCode?: pulumi.Input<string>;
}
export interface NetworkDeviceSecondaryDeviceInterface {
/**
* interface management type (Equinix Managed or empty).
*/
assignedType?: pulumi.Input<string>;
/**
* interface identifier.
*/
id?: pulumi.Input<number>;
/**
* interface IP address.
*/
ipAddress?: pulumi.Input<string>;
/**
* interface MAC address.
*/
macAddress?: pulumi.Input<string>;
/**
* Device name.
*/
name?: pulumi.Input<string>;
/**
* interface operational status. One of `up`, `down`.
*/
operationalStatus?: pulumi.Input<string>;
/**
* interface status. One of `AVAILABLE`, `RESERVED`, `ASSIGNED`.
*/
status?: pulumi.Input<string>;
/**
* interface type.
*/
type?: pulumi.Input<string>;
}
export interface NetworkDeviceSecondaryDeviceSshKey {
keyName: pulumi.Input<string>;
/**
* username associated with given key.
*/
username: pulumi.Input<string>;
}
export interface NetworkDeviceSshKey {
keyName: pulumi.Input<string>;
/**
* username associated with given key.
*/
username: pulumi.Input<string>;
}