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 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 Packet.ReservedIpBlock("reservedIpBlockResource", new()
{
ProjectId = "string",
Quantity = 0,
Description = "string",
Facility = "string",
Type = "string",
});
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"),
})
var reservedIpBlockResource = new ReservedIpBlock("reservedIpBlockResource", ReservedIpBlockArgs.builder()
.projectId("string")
.quantity(0)
.description("string")
.facility("string")
.type("string")
.build());
reserved_ip_block_resource = packet.ReservedIpBlock("reservedIpBlockResource",
project_id="string",
quantity=0,
description="string",
facility="string",
type="string")
const reservedIpBlockResource = new packet.ReservedIpBlock("reservedIpBlockResource", {
projectId: "string",
quantity: 0,
description: "string",
facility: "string",
type: "string",
});
type: packet:ReservedIpBlock
properties:
description: string
facility: string
projectId: string
quantity: 0
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:
- Project
Id string - The packet 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 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
- Project
Id string - The packet 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 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
- project
Id String - The packet 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 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
- project
Id string - The packet 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 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
Ip
Block Type - Either "global_ipv4" or "public_ipv4", defaults to "public_ipv4" for backward compatibility
- project_
id str - The packet 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 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
- project
Id String - The packet 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
- 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
- Address
Family int - Address family as integer (4 or 6)
- Cidr int
- length of CIDR prefix of the block as integer
- Cidr
Notation 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
- Address
Family int - Address family as integer (4 or 6)
- Cidr int
- length of CIDR prefix of the block as integer
- Cidr
Notation 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
- address
Family Integer - Address family as integer (4 or 6)
- cidr Integer
- length of CIDR prefix of the block as integer
- cidr
Notation 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
- address
Family number - Address family as integer (4 or 6)
- cidr number
- length of CIDR prefix of the block as integer
- cidr
Notation 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
- address
Family Number - Address family as integer (4 or 6)
- cidr Number
- length of CIDR prefix of the block as integer
- cidr
Notation 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)
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.
- Address string
- Address
Family int - Address family as integer (4 or 6)
- Cidr int
- length of CIDR prefix of the block as integer
- Cidr
Notation 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
- Project
Id 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
- Address
Family int - Address family as integer (4 or 6)
- Cidr int
- length of CIDR prefix of the block as integer
- Cidr
Notation 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
- Project
Id 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
- address
Family Integer - Address family as integer (4 or 6)
- cidr Integer
- length of CIDR prefix of the block as integer
- cidr
Notation 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
- project
Id 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
- address
Family number - Address family as integer (4 or 6)
- cidr number
- length of CIDR prefix of the block as integer
- cidr
Notation 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
- project
Id 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
Ip
Block Type - 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
- address
Family Number - Address family as integer (4 or 6)
- cidr Number
- length of CIDR prefix of the block as integer
- cidr
Notation 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
- project
Id 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.