1. Packages
  2. Packet
  3. API Docs
  4. ReservedIpBlock
Packet v3.2.2 published on Thursday, Nov 12, 2020 by Pulumi

packet.ReservedIpBlock

Explore with Pulumi AI

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

When a user provisions first device in a facility, Packet 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 packet.IpAttachment resource.

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[str] = None,
                    type: Optional[str] = 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: packet:ReservedIpBlock
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ReservedIpBlockArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. ReservedIpBlockArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ReservedIpBlockArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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 Packet.ReservedIpBlock("reservedIpBlockResource", new()
{
    ProjectId = "string",
    Quantity = 0,
    Description = "string",
    Facility = "string",
    Type = "string",
});
Copy
example, err := packet.NewReservedIpBlock(ctx, "reservedIpBlockResource", &packet.ReservedIpBlockArgs{
	ProjectId:   pulumi.String("string"),
	Quantity:    pulumi.Int(0),
	Description: pulumi.String("string"),
	Facility:    pulumi.String("string"),
	Type:        pulumi.String("string"),
})
Copy
var reservedIpBlockResource = new ReservedIpBlock("reservedIpBlockResource", ReservedIpBlockArgs.builder()
    .projectId("string")
    .quantity(0)
    .description("string")
    .facility("string")
    .type("string")
    .build());
Copy
reserved_ip_block_resource = packet.ReservedIpBlock("reservedIpBlockResource",
    project_id="string",
    quantity=0,
    description="string",
    facility="string",
    type="string")
Copy
const reservedIpBlockResource = new packet.ReservedIpBlock("reservedIpBlockResource", {
    projectId: "string",
    quantity: 0,
    description: "string",
    facility: "string",
    type: "string",
});
Copy
type: packet:ReservedIpBlock
properties:
    description: string
    facility: string
    projectId: string
    quantity: 0
    type: string
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The ReservedIpBlock resource accepts the following input properties:

ProjectId This property is required. string
The packet project ID where to allocate the address block
Quantity This property is required. int
The number of allocated /32 addresses, a power of 2
Description string
Arbitrary description
Facility string
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
Type string
Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
ProjectId This property is required. string
The packet project ID where to allocate the address block
Quantity This property is required. int
The number of allocated /32 addresses, a power of 2
Description string
Arbitrary description
Facility string
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
Type string
Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
projectId This property is required. String
The packet project ID where to allocate the address block
quantity This property is required. Integer
The number of allocated /32 addresses, a power of 2
description String
Arbitrary description
facility String
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
type String
Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
projectId This property is required. string
The packet project ID where to allocate the address block
quantity This property is required. number
The number of allocated /32 addresses, a power of 2
description string
Arbitrary description
facility Facility
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
type IpBlockType
Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
project_id This property is required. str
The packet project ID where to allocate the address block
quantity This property is required. int
The number of allocated /32 addresses, a power of 2
description str
Arbitrary description
facility str
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
type str
Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
projectId This property is required. String
The packet project ID where to allocate the address block
quantity This property is required. Number
The number of allocated /32 addresses, a power of 2
description String
Arbitrary description
facility
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
type
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[str] = None,
        gateway: Optional[str] = None,
        global_: Optional[bool] = None,
        manageable: Optional[bool] = None,
        management: Optional[bool] = None,
        netmask: Optional[str] = None,
        network: Optional[str] = None,
        project_id: Optional[str] = None,
        public: Optional[bool] = None,
        quantity: Optional[int] = None,
        type: Optional[str] = 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)
resources:  _:    type: packet:ReservedIpBlock    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
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
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 packet 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
Type string
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 where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
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
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 packet 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
Type string
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 where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
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
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 packet 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
type String
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 Facility
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
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
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 packet 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
type 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 where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
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
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 packet 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
type str
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
Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
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
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 packet 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
type
Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility

Package Details

Repository
Packet pulumi/pulumi-packet
License
Apache-2.0
Notes
This Pulumi package is based on the packet Terraform Provider.