1. Packages
  2. Equinix Metal (Deprecated)
  3. API Docs
  4. ReservedIpBlock

This package is deprecated. We recommend using the new Equinix package.

Equinix Metal v3.2.1 published on Thursday, Dec 30, 2021 by DEPRECATED

equinix-metal.ReservedIpBlock

Explore with Pulumi AI

equinix-metal logo

This package is deprecated. We recommend using the new Equinix package.

Equinix Metal v3.2.1 published on Thursday, Dec 30, 2021 by DEPRECATED

    Provides a resource to create and manage blocks of reserved IP addresses in a project.

    When a user provisions first device in a facility, Equinix Metal API automatically allocates IPv6/56 and private IPv4/25 blocks. The new device then gets IPv6 and private IPv4 addresses from those block. It also gets a public IPv4/31 address. Every new device in the project and facility will automatically get IPv6 and private IPv4 addresses from these pre-allocated blocks. The IPv6 and private IPv4 blocks can’t be created, only imported. With this resource, it’s possible to create either public IPv4 blocks or global IPv4 blocks.

    Public blocks are allocated in a facility. Addresses from public blocks can only be assigned to devices in the facility. Public blocks can have mask from /24 (256 addresses) to /32 (1 address). If you create public block with this resource, you must fill the facility argmument.

    Addresses from global blocks can be assigned in any facility. Global blocks can have mask from /30 (4 addresses), to /32 (1 address). If you create global block with this resource, you must specify type = “global_ipv4” and you must omit the facility argument.

    Once IP block is allocated or imported, an address from it can be assigned to device with the equinix-metal.IpAttachment resource.

    Example Usage

    Allocate reserved IP blocks

    using Pulumi;
    using EquinixMetal = Pulumi.EquinixMetal;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            // Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv15) facility for myproject
            var twoElasticAddresses = new EquinixMetal.ReservedIpBlock("twoElasticAddresses", new EquinixMetal.ReservedIpBlockArgs
            {
                ProjectId = local.Project_id,
                Facility = "sv15",
                Quantity = 2,
            });
            // Allocate 1 floating IP in Sillicon Valley (sv) metro
            var testReservedIpBlock = new EquinixMetal.ReservedIpBlock("testReservedIpBlock", new EquinixMetal.ReservedIpBlockArgs
            {
                ProjectId = local.Project_id,
                Type = "public_ipv4",
                Metro = "sv",
                Quantity = 1,
            });
            // Allocate 1 global floating IP, which can be assigned to device in any facility
            var testIndex_reservedIpBlockReservedIpBlock = new EquinixMetal.ReservedIpBlock("testIndex/reservedIpBlockReservedIpBlock", new EquinixMetal.ReservedIpBlockArgs
            {
                ProjectId = local.Project_id,
                Type = "global_ipv4",
                Quantity = 1,
            });
        }
    
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := equinix - metal.NewReservedIpBlock(ctx, "twoElasticAddresses", &equinix-metal.ReservedIpBlockArgs{
    			ProjectId: pulumi.Any(local.Project_id),
    			Facility:  pulumi.String("sv15"),
    			Quantity:  pulumi.Int(2),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = equinix - metal.NewReservedIpBlock(ctx, "testReservedIpBlock", &equinix-metal.ReservedIpBlockArgs{
    			ProjectId: pulumi.Any(local.Project_id),
    			Type:      pulumi.String("public_ipv4"),
    			Metro:     pulumi.String("sv"),
    			Quantity:  pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = equinix - metal.NewReservedIpBlock(ctx, "testIndex_reservedIpBlockReservedIpBlock", &equinix-metal.ReservedIpBlockArgs{
    			ProjectId: pulumi.Any(local.Project_id),
    			Type:      pulumi.String("global_ipv4"),
    			Quantity:  pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_equinix_metal as equinix_metal
    
    # Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv15) facility for myproject
    two_elastic_addresses = equinix_metal.ReservedIpBlock("twoElasticAddresses",
        project_id=local["project_id"],
        facility="sv15",
        quantity=2)
    # Allocate 1 floating IP in Sillicon Valley (sv) metro
    test_reserved_ip_block = equinix_metal.ReservedIpBlock("testReservedIpBlock",
        project_id=local["project_id"],
        type="public_ipv4",
        metro="sv",
        quantity=1)
    # Allocate 1 global floating IP, which can be assigned to device in any facility
    test_index_reserved_ip_block_reserved_ip_block = equinix_metal.ReservedIpBlock("testIndex/reservedIpBlockReservedIpBlock",
        project_id=local["project_id"],
        type="global_ipv4",
        quantity=1)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix_metal from "@pulumi/equinix-metal";
    
    // Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv15) facility for myproject
    const twoElasticAddresses = new equinix_metal.ReservedIpBlock("twoElasticAddresses", {
        projectId: local.project_id,
        facility: "sv15",
        quantity: 2,
    });
    // Allocate 1 floating IP in Sillicon Valley (sv) metro
    const testReservedIpBlock = new equinix_metal.ReservedIpBlock("testReservedIpBlock", {
        projectId: local.project_id,
        type: "public_ipv4",
        metro: "sv",
        quantity: 1,
    });
    // Allocate 1 global floating IP, which can be assigned to device in any facility
    const testIndex_reservedIpBlockReservedIpBlock = new equinix_metal.ReservedIpBlock("testIndex/reservedIpBlockReservedIpBlock", {
        projectId: local.project_id,
        type: "global_ipv4",
        quantity: 1,
    });
    

    Coming soon!

    Allocate a block and run a device with public IPv4 from the block

    using Pulumi;
    using EquinixMetal = Pulumi.EquinixMetal;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            // Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv15) facility
            var example = new EquinixMetal.ReservedIpBlock("example", new EquinixMetal.ReservedIpBlockArgs
            {
                ProjectId = local.Project_id,
                Facility = "sv15",
                Quantity = 2,
            });
            // Run a device with both public IPv4 from the block assigned
            var nodes = new EquinixMetal.Device("nodes", new EquinixMetal.DeviceArgs
            {
                ProjectId = local.Project_id,
                Facilities = 
                {
                    "sv15",
                },
                Plan = "c3.small.x86",
                OperatingSystem = "ubuntu_20_04",
                Hostname = "test",
                BillingCycle = "hourly",
                IpAddresses = 
                {
                    new EquinixMetal.Inputs.DeviceIpAddressArgs
                    {
                        Type = "public_ipv4",
                        Cidr = 31,
                        ReservationIds = 
                        {
                            example.Id,
                        },
                    },
                    new EquinixMetal.Inputs.DeviceIpAddressArgs
                    {
                        Type = "private_ipv4",
                    },
                },
            });
        }
    
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := equinix - metal.NewReservedIpBlock(ctx, "example", &equinix-metal.ReservedIpBlockArgs{
    			ProjectId: pulumi.Any(local.Project_id),
    			Facility:  pulumi.String("sv15"),
    			Quantity:  pulumi.Int(2),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = equinix - metal.NewDevice(ctx, "nodes", &equinix-metal.DeviceArgs{
    			ProjectId: pulumi.Any(local.Project_id),
    			Facilities: pulumi.StringArray{
    				pulumi.String("sv15"),
    			},
    			Plan:            pulumi.String("c3.small.x86"),
    			OperatingSystem: pulumi.String("ubuntu_20_04"),
    			Hostname:        pulumi.String("test"),
    			BillingCycle:    pulumi.String("hourly"),
    			IpAddresses: DeviceIpAddressArray{
    				&DeviceIpAddressArgs{
    					Type: pulumi.String("public_ipv4"),
    					Cidr: pulumi.Int(31),
    					ReservationIds: pulumi.StringArray{
    						example.ID(),
    					},
    				},
    				&DeviceIpAddressArgs{
    					Type: pulumi.String("private_ipv4"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_equinix_metal as equinix_metal
    
    # Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv15) facility
    example = equinix_metal.ReservedIpBlock("example",
        project_id=local["project_id"],
        facility="sv15",
        quantity=2)
    # Run a device with both public IPv4 from the block assigned
    nodes = equinix_metal.Device("nodes",
        project_id=local["project_id"],
        facilities=["sv15"],
        plan="c3.small.x86",
        operating_system="ubuntu_20_04",
        hostname="test",
        billing_cycle="hourly",
        ip_addresses=[
            equinix_metal.DeviceIpAddressArgs(
                type="public_ipv4",
                cidr=31,
                reservation_ids=[example.id],
            ),
            equinix_metal.DeviceIpAddressArgs(
                type="private_ipv4",
            ),
        ])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix_metal from "@pulumi/equinix-metal";
    
    // Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv15) facility
    const example = new equinix_metal.ReservedIpBlock("example", {
        projectId: local.project_id,
        facility: "sv15",
        quantity: 2,
    });
    // Run a device with both public IPv4 from the block assigned
    const nodes = new equinix_metal.Device("nodes", {
        projectId: local.project_id,
        facilities: ["sv15"],
        plan: "c3.small.x86",
        operatingSystem: "ubuntu_20_04",
        hostname: "test",
        billingCycle: "hourly",
        ipAddresses: [
            {
                type: "public_ipv4",
                cidr: 31,
                reservationIds: [example.id],
            },
            {
                type: "private_ipv4",
            },
        ],
    });
    

    Coming soon!

    Create ReservedIpBlock Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ReservedIpBlock(name: string, args: ReservedIpBlockArgs, opts?: CustomResourceOptions);
    @overload
    def ReservedIpBlock(resource_name: str,
                        args: ReservedIpBlockArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def ReservedIpBlock(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        project_id: Optional[str] = None,
                        quantity: Optional[int] = None,
                        description: Optional[str] = None,
                        facility: Optional[Union[str, Facility]] = None,
                        metro: Optional[str] = None,
                        tags: Optional[Sequence[str]] = None,
                        type: Optional[Union[str, IpBlockType]] = None)
    func NewReservedIpBlock(ctx *Context, name string, args ReservedIpBlockArgs, opts ...ResourceOption) (*ReservedIpBlock, error)
    public ReservedIpBlock(string name, ReservedIpBlockArgs args, CustomResourceOptions? opts = null)
    public ReservedIpBlock(String name, ReservedIpBlockArgs args)
    public ReservedIpBlock(String name, ReservedIpBlockArgs args, CustomResourceOptions options)
    
    type: equinix-metal:ReservedIpBlock
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ReservedIpBlockArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ReservedIpBlockArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ReservedIpBlockArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ReservedIpBlockArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ReservedIpBlockArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var reservedIpBlockResource = new EquinixMetal.ReservedIpBlock("reservedIpBlockResource", new()
    {
        ProjectId = "string",
        Quantity = 0,
        Description = "string",
        Facility = "string",
        Metro = "string",
        Tags = new[]
        {
            "string",
        },
        Type = "string",
    });
    
    example, err := equinixmetal.NewReservedIpBlock(ctx, "reservedIpBlockResource", &equinixmetal.ReservedIpBlockArgs{
    	ProjectId:   pulumi.String("string"),
    	Quantity:    pulumi.Int(0),
    	Description: pulumi.String("string"),
    	Facility:    pulumi.String("string"),
    	Metro:       pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Type: pulumi.String("string"),
    })
    
    var reservedIpBlockResource = new ReservedIpBlock("reservedIpBlockResource", ReservedIpBlockArgs.builder()
        .projectId("string")
        .quantity(0)
        .description("string")
        .facility("string")
        .metro("string")
        .tags("string")
        .type("string")
        .build());
    
    reserved_ip_block_resource = equinix_metal.ReservedIpBlock("reservedIpBlockResource",
        project_id="string",
        quantity=0,
        description="string",
        facility="string",
        metro="string",
        tags=["string"],
        type="string")
    
    const reservedIpBlockResource = new equinix_metal.ReservedIpBlock("reservedIpBlockResource", {
        projectId: "string",
        quantity: 0,
        description: "string",
        facility: "string",
        metro: "string",
        tags: ["string"],
        type: "string",
    });
    
    type: equinix-metal:ReservedIpBlock
    properties:
        description: string
        facility: string
        metro: string
        projectId: string
        quantity: 0
        tags:
            - string
        type: string
    

    ReservedIpBlock Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ReservedIpBlock resource accepts the following input properties:

    ProjectId string
    The metal project ID where to allocate the address block
    Quantity int
    The number of allocated /32 addresses, a power of 2
    Description string
    Arbitrary description
    Facility string | Pulumi.EquinixMetal.Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    Metro string
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    Tags List<string>
    String list of tags
    Type string | Pulumi.EquinixMetal.IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    ProjectId string
    The metal project ID where to allocate the address block
    Quantity int
    The number of allocated /32 addresses, a power of 2
    Description string
    Arbitrary description
    Facility string | Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    Metro string
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    Tags []string
    String list of tags
    Type string | IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    projectId String
    The metal project ID where to allocate the address block
    quantity Integer
    The number of allocated /32 addresses, a power of 2
    description String
    Arbitrary description
    facility String | Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    metro String
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    tags List<String>
    String list of tags
    type String | IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    projectId string
    The metal project ID where to allocate the address block
    quantity number
    The number of allocated /32 addresses, a power of 2
    description string
    Arbitrary description
    facility string | Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    metro string
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    tags string[]
    String list of tags
    type string | IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    project_id str
    The metal project ID where to allocate the address block
    quantity int
    The number of allocated /32 addresses, a power of 2
    description str
    Arbitrary description
    facility str | Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    metro str
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    tags Sequence[str]
    String list of tags
    type str | IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    projectId String
    The metal project ID where to allocate the address block
    quantity Number
    The number of allocated /32 addresses, a power of 2
    description String
    Arbitrary description
    facility String | "ewr1" | "sjc1" | "dfw1" | "dfw2" | "ams1" | "nrt1" | "sea1" | "lax1" | "ord1" | "atl1" | "iad1" | "sin1" | "hkg1" | "syd1" | "mrs1" | "yyz1" | "fra2" | "am6" | "dc13" | "ch3" | "da3" | "da11" | "la4" | "ny5" | "sg1" | "sv15"
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    metro String
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    tags List<String>
    String list of tags
    type String | "global_ipv4" | "public_ipv4"
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ReservedIpBlock resource produces the following output properties:

    Address string
    AddressFamily int
    Address family as integer (4 or 6)
    Cidr int
    length of CIDR prefix of the block as integer
    CidrNotation string
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    Gateway string
    Global bool
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    Id string
    The provider-assigned unique ID for this managed resource.
    Manageable bool
    Management bool
    Netmask string
    Mask in decimal notation, e.g. "255.255.255.0"
    Network string
    Network IP address portion of the block specification
    Public bool
    boolean flag whether addresses from a block are public
    Address string
    AddressFamily int
    Address family as integer (4 or 6)
    Cidr int
    length of CIDR prefix of the block as integer
    CidrNotation string
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    Gateway string
    Global bool
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    Id string
    The provider-assigned unique ID for this managed resource.
    Manageable bool
    Management bool
    Netmask string
    Mask in decimal notation, e.g. "255.255.255.0"
    Network string
    Network IP address portion of the block specification
    Public bool
    boolean flag whether addresses from a block are public
    address String
    addressFamily Integer
    Address family as integer (4 or 6)
    cidr Integer
    length of CIDR prefix of the block as integer
    cidrNotation String
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    gateway String
    global Boolean
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    id String
    The provider-assigned unique ID for this managed resource.
    manageable Boolean
    management Boolean
    netmask String
    Mask in decimal notation, e.g. "255.255.255.0"
    network String
    Network IP address portion of the block specification
    public_ Boolean
    boolean flag whether addresses from a block are public
    address string
    addressFamily number
    Address family as integer (4 or 6)
    cidr number
    length of CIDR prefix of the block as integer
    cidrNotation string
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    gateway string
    global boolean
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    id string
    The provider-assigned unique ID for this managed resource.
    manageable boolean
    management boolean
    netmask string
    Mask in decimal notation, e.g. "255.255.255.0"
    network string
    Network IP address portion of the block specification
    public boolean
    boolean flag whether addresses from a block are public
    address str
    address_family int
    Address family as integer (4 or 6)
    cidr int
    length of CIDR prefix of the block as integer
    cidr_notation str
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    gateway str
    global_ bool
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    id str
    The provider-assigned unique ID for this managed resource.
    manageable bool
    management bool
    netmask str
    Mask in decimal notation, e.g. "255.255.255.0"
    network str
    Network IP address portion of the block specification
    public bool
    boolean flag whether addresses from a block are public
    address String
    addressFamily Number
    Address family as integer (4 or 6)
    cidr Number
    length of CIDR prefix of the block as integer
    cidrNotation String
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    gateway String
    global Boolean
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    id String
    The provider-assigned unique ID for this managed resource.
    manageable Boolean
    management Boolean
    netmask String
    Mask in decimal notation, e.g. "255.255.255.0"
    network String
    Network IP address portion of the block specification
    public Boolean
    boolean flag whether addresses from a block are public

    Look up Existing ReservedIpBlock Resource

    Get an existing ReservedIpBlock resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ReservedIpBlockState, opts?: CustomResourceOptions): ReservedIpBlock
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            address: Optional[str] = None,
            address_family: Optional[int] = None,
            cidr: Optional[int] = None,
            cidr_notation: Optional[str] = None,
            description: Optional[str] = None,
            facility: Optional[Union[str, Facility]] = None,
            gateway: Optional[str] = None,
            global_: Optional[bool] = None,
            manageable: Optional[bool] = None,
            management: Optional[bool] = None,
            metro: Optional[str] = None,
            netmask: Optional[str] = None,
            network: Optional[str] = None,
            project_id: Optional[str] = None,
            public: Optional[bool] = None,
            quantity: Optional[int] = None,
            tags: Optional[Sequence[str]] = None,
            type: Optional[Union[str, IpBlockType]] = None) -> ReservedIpBlock
    func GetReservedIpBlock(ctx *Context, name string, id IDInput, state *ReservedIpBlockState, opts ...ResourceOption) (*ReservedIpBlock, error)
    public static ReservedIpBlock Get(string name, Input<string> id, ReservedIpBlockState? state, CustomResourceOptions? opts = null)
    public static ReservedIpBlock get(String name, Output<String> id, ReservedIpBlockState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Address string
    AddressFamily int
    Address family as integer (4 or 6)
    Cidr int
    length of CIDR prefix of the block as integer
    CidrNotation string
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    Description string
    Arbitrary description
    Facility string | Pulumi.EquinixMetal.Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    Gateway string
    Global bool
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    Manageable bool
    Management bool
    Metro string
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    Netmask string
    Mask in decimal notation, e.g. "255.255.255.0"
    Network string
    Network IP address portion of the block specification
    ProjectId string
    The metal project ID where to allocate the address block
    Public bool
    boolean flag whether addresses from a block are public
    Quantity int
    The number of allocated /32 addresses, a power of 2
    Tags List<string>
    String list of tags
    Type string | Pulumi.EquinixMetal.IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    Address string
    AddressFamily int
    Address family as integer (4 or 6)
    Cidr int
    length of CIDR prefix of the block as integer
    CidrNotation string
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    Description string
    Arbitrary description
    Facility string | Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    Gateway string
    Global bool
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    Manageable bool
    Management bool
    Metro string
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    Netmask string
    Mask in decimal notation, e.g. "255.255.255.0"
    Network string
    Network IP address portion of the block specification
    ProjectId string
    The metal project ID where to allocate the address block
    Public bool
    boolean flag whether addresses from a block are public
    Quantity int
    The number of allocated /32 addresses, a power of 2
    Tags []string
    String list of tags
    Type string | IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    address String
    addressFamily Integer
    Address family as integer (4 or 6)
    cidr Integer
    length of CIDR prefix of the block as integer
    cidrNotation String
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    description String
    Arbitrary description
    facility String | Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    gateway String
    global Boolean
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    manageable Boolean
    management Boolean
    metro String
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    netmask String
    Mask in decimal notation, e.g. "255.255.255.0"
    network String
    Network IP address portion of the block specification
    projectId String
    The metal project ID where to allocate the address block
    public_ Boolean
    boolean flag whether addresses from a block are public
    quantity Integer
    The number of allocated /32 addresses, a power of 2
    tags List<String>
    String list of tags
    type String | IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    address string
    addressFamily number
    Address family as integer (4 or 6)
    cidr number
    length of CIDR prefix of the block as integer
    cidrNotation string
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    description string
    Arbitrary description
    facility string | Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    gateway string
    global boolean
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    manageable boolean
    management boolean
    metro string
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    netmask string
    Mask in decimal notation, e.g. "255.255.255.0"
    network string
    Network IP address portion of the block specification
    projectId string
    The metal project ID where to allocate the address block
    public boolean
    boolean flag whether addresses from a block are public
    quantity number
    The number of allocated /32 addresses, a power of 2
    tags string[]
    String list of tags
    type string | IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    address str
    address_family int
    Address family as integer (4 or 6)
    cidr int
    length of CIDR prefix of the block as integer
    cidr_notation str
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    description str
    Arbitrary description
    facility str | Facility
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    gateway str
    global_ bool
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    manageable bool
    management bool
    metro str
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    netmask str
    Mask in decimal notation, e.g. "255.255.255.0"
    network str
    Network IP address portion of the block specification
    project_id str
    The metal project ID where to allocate the address block
    public bool
    boolean flag whether addresses from a block are public
    quantity int
    The number of allocated /32 addresses, a power of 2
    tags Sequence[str]
    String list of tags
    type str | IpBlockType
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
    address String
    addressFamily Number
    Address family as integer (4 or 6)
    cidr Number
    length of CIDR prefix of the block as integer
    cidrNotation String
    Address and mask in CIDR notation, e.g. "147.229.15.30/31"
    description String
    Arbitrary description
    facility String | "ewr1" | "sjc1" | "dfw1" | "dfw2" | "ams1" | "nrt1" | "sea1" | "lax1" | "ord1" | "atl1" | "iad1" | "sin1" | "hkg1" | "syd1" | "mrs1" | "yyz1" | "fra2" | "am6" | "dc13" | "ch3" | "da3" | "da11" | "la4" | "ny5" | "sg1" | "sv15"
    Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
    gateway String
    global Boolean
    boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
    manageable Boolean
    management Boolean
    metro String
    Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
    netmask String
    Mask in decimal notation, e.g. "255.255.255.0"
    network String
    Network IP address portion of the block specification
    projectId String
    The metal project ID where to allocate the address block
    public Boolean
    boolean flag whether addresses from a block are public
    quantity Number
    The number of allocated /32 addresses, a power of 2
    tags List<String>
    String list of tags
    type String | "global_ipv4" | "public_ipv4"
    Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility

    Supporting Types

    Facility, FacilityArgs

    EWR1
    ewr1
    SJC1
    sjc1
    DFW1
    dfw1
    DFW2
    dfw2
    AMS1
    ams1
    NRT1
    nrt1
    SEA1
    sea1
    LAX1
    lax1
    ORD1
    ord1
    ATL1
    atl1
    IAD1
    iad1
    SIN1
    sin1
    HKG1
    hkg1
    SYD1
    syd1
    MRS1
    mrs1
    YYZ1
    yyz1
    FRA2
    fra2
    AM6
    am6
    DC13
    dc13
    CH3
    ch3
    DA3
    da3
    DA11
    da11
    LA4
    la4
    NY5
    ny5
    SG1
    sg1
    SV15
    sv15
    FacilityEWR1
    ewr1
    FacilitySJC1
    sjc1
    FacilityDFW1
    dfw1
    FacilityDFW2
    dfw2
    FacilityAMS1
    ams1
    FacilityNRT1
    nrt1
    FacilitySEA1
    sea1
    FacilityLAX1
    lax1
    FacilityORD1
    ord1
    FacilityATL1
    atl1
    FacilityIAD1
    iad1
    FacilitySIN1
    sin1
    FacilityHKG1
    hkg1
    FacilitySYD1
    syd1
    FacilityMRS1
    mrs1
    FacilityYYZ1
    yyz1
    FacilityFRA2
    fra2
    FacilityAM6
    am6
    FacilityDC13
    dc13
    FacilityCH3
    ch3
    FacilityDA3
    da3
    FacilityDA11
    da11
    FacilityLA4
    la4
    FacilityNY5
    ny5
    FacilitySG1
    sg1
    FacilitySV15
    sv15
    EWR1
    ewr1
    SJC1
    sjc1
    DFW1
    dfw1
    DFW2
    dfw2
    AMS1
    ams1
    NRT1
    nrt1
    SEA1
    sea1
    LAX1
    lax1
    ORD1
    ord1
    ATL1
    atl1
    IAD1
    iad1
    SIN1
    sin1
    HKG1
    hkg1
    SYD1
    syd1
    MRS1
    mrs1
    YYZ1
    yyz1
    FRA2
    fra2
    AM6
    am6
    DC13
    dc13
    CH3
    ch3
    DA3
    da3
    DA11
    da11
    LA4
    la4
    NY5
    ny5
    SG1
    sg1
    SV15
    sv15
    EWR1
    ewr1
    SJC1
    sjc1
    DFW1
    dfw1
    DFW2
    dfw2
    AMS1
    ams1
    NRT1
    nrt1
    SEA1
    sea1
    LAX1
    lax1
    ORD1
    ord1
    ATL1
    atl1
    IAD1
    iad1
    SIN1
    sin1
    HKG1
    hkg1
    SYD1
    syd1
    MRS1
    mrs1
    YYZ1
    yyz1
    FRA2
    fra2
    AM6
    am6
    DC13
    dc13
    CH3
    ch3
    DA3
    da3
    DA11
    da11
    LA4
    la4
    NY5
    ny5
    SG1
    sg1
    SV15
    sv15
    EWR1
    ewr1
    SJC1
    sjc1
    DFW1
    dfw1
    DFW2
    dfw2
    AMS1
    ams1
    NRT1
    nrt1
    SEA1
    sea1
    LAX1
    lax1
    ORD1
    ord1
    ATL1
    atl1
    IAD1
    iad1
    SIN1
    sin1
    HKG1
    hkg1
    SYD1
    syd1
    MRS1
    mrs1
    YYZ1
    yyz1
    FRA2
    fra2
    AM6
    am6
    DC13
    dc13
    CH3
    ch3
    DA3
    da3
    DA11
    da11
    LA4
    la4
    NY5
    ny5
    SG1
    sg1
    SV15
    sv15
    "ewr1"
    ewr1
    "sjc1"
    sjc1
    "dfw1"
    dfw1
    "dfw2"
    dfw2
    "ams1"
    ams1
    "nrt1"
    nrt1
    "sea1"
    sea1
    "lax1"
    lax1
    "ord1"
    ord1
    "atl1"
    atl1
    "iad1"
    iad1
    "sin1"
    sin1
    "hkg1"
    hkg1
    "syd1"
    syd1
    "mrs1"
    mrs1
    "yyz1"
    yyz1
    "fra2"
    fra2
    "am6"
    am6
    "dc13"
    dc13
    "ch3"
    ch3
    "da3"
    da3
    "da11"
    da11
    "la4"
    la4
    "ny5"
    ny5
    "sg1"
    sg1
    "sv15"
    sv15

    IpBlockType, IpBlockTypeArgs

    GlobalIPv4
    global_ipv4
    PublicIPv4
    public_ipv4
    IpBlockTypeGlobalIPv4
    global_ipv4
    IpBlockTypePublicIPv4
    public_ipv4
    GlobalIPv4
    global_ipv4
    PublicIPv4
    public_ipv4
    GlobalIPv4
    global_ipv4
    PublicIPv4
    public_ipv4
    GLOBAL_I_PV4
    global_ipv4
    PUBLIC_I_PV4
    public_ipv4
    "global_ipv4"
    global_ipv4
    "public_ipv4"
    public_ipv4

    Import

    This resource can be imported using an existing IP reservation ID

     $ pulumi import equinix-metal:index/reservedIpBlock:ReservedIpBlock metal_reserved_ip_block {existing_ip_reservation_id}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Equinix Metal pulumi/pulumi-equinix-metal
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the metal Terraform Provider.
    equinix-metal logo

    This package is deprecated. We recommend using the new Equinix package.

    Equinix Metal v3.2.1 published on Thursday, Dec 30, 2021 by DEPRECATED