UNPKG

@cuemby/equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

153 lines (152 loc) 5.65 kB
import * as pulumi from "@pulumi/pulumi"; /** * Use this resource to create Metal Gateway resources in Equinix Metal. * * > VRF features are not generally available. The interfaces related to VRF resources may change ahead of general availability. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@cuemby/equinix"; * * // Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses * const testMetalVlan = new equinix.MetalVlan("testMetalVlan", { * description: "test VLAN in SV", * metro: "sv", * projectId: local.project_id, * }); * const testMetalGateway = new equinix.MetalGateway("testMetalGateway", { * projectId: local.project_id, * vlanId: testMetalVlan.id, * privateIpv4SubnetSize: 8, * }); * ``` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@cuemby/equinix"; * * // Create Metal Gateway for a VLAN and reserved IP address block * const testMetalVlan = new equinix.MetalVlan("testMetalVlan", { * description: "test VLAN in SV", * metro: "sv", * projectId: local.project_id, * }); * const testMetalReservedIPBlock = new equinix.MetalReservedIPBlock("testMetalReservedIPBlock", { * projectId: local.project_id, * metro: "sv", * quantity: 2, * }); * const testMetalGateway = new equinix.MetalGateway("testMetalGateway", { * projectId: local.project_id, * vlanId: testMetalVlan.id, * ipReservationId: testMetalReservedIPBlock.id, * }); * ``` */ export declare class MetalGateway extends pulumi.CustomResource { /** * Get an existing MetalGateway resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MetalGatewayState, opts?: pulumi.CustomResourceOptions): MetalGateway; /** * Returns true if the given object is an instance of MetalGateway. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is MetalGateway; /** * UUID of Public or VRF IP Reservation to associate with the gateway, the * reservation must be in the same metro as the VLAN, conflicts with `privateIpv4SubnetSize`. */ readonly ipReservationId: pulumi.Output<string | undefined>; /** * Size of the private IPv4 subnet to create for this metal * gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ipReservationId`. */ readonly privateIpv4SubnetSize: pulumi.Output<number>; /** * UUID of the project where the gateway is scoped to. */ readonly projectId: pulumi.Output<string>; /** * Status of the gateway resource. */ readonly state: pulumi.Output<string>; /** * UUID of the VLAN where the gateway is scoped to. */ readonly vlanId: pulumi.Output<string>; /** * UUID of the VRF associated with the IP Reservation */ readonly vrfId: pulumi.Output<string>; /** * Create a MetalGateway resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: MetalGatewayArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MetalGateway resources. */ export interface MetalGatewayState { /** * UUID of Public or VRF IP Reservation to associate with the gateway, the * reservation must be in the same metro as the VLAN, conflicts with `privateIpv4SubnetSize`. */ ipReservationId?: pulumi.Input<string>; /** * Size of the private IPv4 subnet to create for this metal * gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ipReservationId`. */ privateIpv4SubnetSize?: pulumi.Input<number>; /** * UUID of the project where the gateway is scoped to. */ projectId?: pulumi.Input<string>; /** * Status of the gateway resource. */ state?: pulumi.Input<string>; /** * UUID of the VLAN where the gateway is scoped to. */ vlanId?: pulumi.Input<string>; /** * UUID of the VRF associated with the IP Reservation */ vrfId?: pulumi.Input<string>; } /** * The set of arguments for constructing a MetalGateway resource. */ export interface MetalGatewayArgs { /** * UUID of Public or VRF IP Reservation to associate with the gateway, the * reservation must be in the same metro as the VLAN, conflicts with `privateIpv4SubnetSize`. */ ipReservationId?: pulumi.Input<string>; /** * Size of the private IPv4 subnet to create for this metal * gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ipReservationId`. */ privateIpv4SubnetSize?: pulumi.Input<number>; /** * UUID of the project where the gateway is scoped to. */ projectId: pulumi.Input<string>; /** * UUID of the VLAN where the gateway is scoped to. */ vlanId: pulumi.Input<string>; }