Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt

This resource enables you to perform create, update, and delete operations on IP networks. Network resources support the next available network feature when you use the allocate_prefix_len parameter listed in the below table.

The following table describes the parameters you can define in a network resource block:

Parameter

Required/
Optional

Description

network_viewOptional

Specifies the network view in which to create the network.
If a value is not specified, default will be used as the network view name.

cidrRequired only if parent_cidr is not set

Specifies the network block to use for the network, in CIDR notation.
Do not use the IPv4 CIDR for an IPv6 network and IPv6 CIDR for an IPv4 network.
If you configure both cidr and parent_cidr, the value of parent_cidr will be ignored.

parent_cidrRequired only if cidr is not set

Specifies the network container from which the network must be dynamically allocated.
The network container must exist in the NIOS database, but not necessarily as a Terraform resource.

allocate_prefix_lenRequired only if parent_cidr  or filter_params is set

Defines the length of the network part of the address for a network that should be allocated from a network container, which in turn is determined by parent_cidr or filter_params.

gatewayOptional

Defines the IP address of the gateway within the network block.

  • If a value is not set, the first IP address of the allocated network will be assigned.
  • If the value is set to none, no value will be assigned.

For more information, see Limitations.

objectOptional

Specifies the type of object from which to allocate the network.
The values can be network or networkcontainer. The default value is networkcontainer.
Note:

  • The object parameter is applicable only if filter_params is configured.
  • If the object parameter is set to network, after the creation of the network object, the parent network object will be converted to a network container object.
filter_paramsOptional

Specifies the extensible attributes of the parent network or network container that must be used as filters to retrieve the next available network for creating the network object.

commentOptionalDescribes the network.
ext_attrsOptionalSpecifies the set of NIOS extensible attributes that will be attached to the network.


...

Parameter

Required/
Optional

Description

reserve_ip


Optional

Specifies the number of IPv4 addresses that you want to reserve in the IPv4 network.
The default value is 0.


Note
Note
title

Note

  • Either cidr, the combination of parent_cidr and allocate_prefix_len, or the combination of filter_params and allocate_prefix_len is required. The rest of the parameters are optional.
  • Once a network object is created, the reserve_ip and gateway fields cannot be edited gateway, and filter_params parameter values cannot be changed by performing an update operation..
  • IP addresses that are reserved by setting the reserve_ip field are used for network maintenance by the cloud providers. Therefore, Infoblox does not recommend using these IP addresses for other purposes.

...

//full set of parameters for a dynamically allocated IPv4 network
resource "infoblox_ipv4_network" "net3" {
    parent_cidr = infoblox_ipv4_network_container.v4net_c1.cidr // reference to the resource from another example
    allocate_prefix_len = 26 # 24 (existing network container) + 2 (new network), prefix
    network_view = "default" # optional parameter
    reserve_ip = 2
    gateway = "none" # no gateway defined for this network
    comment = "even smaller network for testing"
    ext_attrs = jsonencode({
      "Site" = "Nevada"
    })
}


//full set of parameters for dynamically allocated IPv4 network using next-available network based on extensible attributes tag
resource "infoblox_ipv4_network" "ipv4network1" {
  allocate_prefix_len = 28
  network_view = "nondefault_netview"
  comment = "IPV4 NW within a NW container"
  filter_params = jsonencode({

    "*Site": "Blr"
  })
  ext_attrs = jsonencode({
    "Site" = "UK"
  }) 
  object = "networkcontainer"

  })
}