UNPKG

@cuemby/equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

954 lines (953 loc) 29.4 kB
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>; }