net functions
The net namespace contains functions that can help deal with network-related
lookups and calculations. Some of these functions return specifically-typed
values that contain additional methods useful for formatting or further
calculations.
net.LookupIP
Resolve an IPv4 address for a given host name. When multiple IP addresses are resolved, the first one is returned.
Added in gomplate v1.9.0
Usage
Arguments
| name | description |
|---|---|
name |
(required) The hostname to look up. This can be a simple hostname, or a fully-qualified domain name. |
Examples
net.LookupIPs
Resolve all IPv4 addresses for a given host name. Returns an array of strings.
Added in gomplate v1.9.0
Usage
Arguments
| name | description |
|---|---|
name |
(required) The hostname to look up. This can be a simple hostname, or a fully-qualified domain name. |
Examples
net.LookupCNAME
Resolve the canonical name for a given host name. This does a DNS lookup for the
CNAME record type. If no CNAME is present, a canonical form of the given name
is returned – e.g. net.LookupCNAME "localhost" will return "localhost.".
Added in gomplate v1.9.0
Usage
Arguments
| name | description |
|---|---|
name |
(required) The hostname to look up. This can be a simple hostname, or a fully-qualified domain name. |
Examples
net.LookupSRV
Resolve a DNS SRV service record.
This implementation supports the canonical RFC2782
form (i.e. _Service._Proto.Name), but other forms are also supported, such as
those served by Consul’s DNS interface.
When multiple records are returned, this function returns the first.
A net.SRV data structure is returned. The
following properties are available:
Target- (string) the hostname where the service can be reachedPort- (uint16) the service’s portPriority,Weight- see RFC2782 for details
Added in gomplate v1.9.0
Usage
Arguments
| name | description |
|---|---|
name |
(required) The service name to look up |
Examples
net.LookupSRVs
Resolve a DNS SRV service record.
This implementation supports the canonical RFC2782
form (i.e. _Service._Proto.Name), but other forms are also supported, such as
those served by Consul’s DNS interface.
This function returns all available SRV records.
An array of net.SRV data structures is
returned. For each element, the following properties are available:
Target- (string) the hostname where the service can be reachedPort- (uint16) the service’s portPriority,Weight- see RFC2782 for details
Added in gomplate v1.9.0
Usage
Arguments
| name | description |
|---|---|
name |
(required) The hostname to look up. This can be a simple hostname, or a fully-qualified domain name. |
Examples
input.tmpl:
net.LookupTXT
Resolve a DNS TXT record.
This function returns all available TXT records as an array of strings.
Added in gomplate v1.9.0
Usage
Arguments
| name | description |
|---|---|
name |
(required) The host name to look up |
Examples
net.ParseAddr
Parse the given string as an IP address (a
netip.Addr).
Any of netip.Addr’s methods may be called on the resulting value. See
the docs for details.
Added in gomplate v4.0.0
Usage
Arguments
| name | description |
|---|---|
addr |
(required) The IP string to parse. It must be either an IPv4 or IPv6 address. |
Examples
net.ParsePrefix
Parse the given string as an IP address prefix (CIDR) representing an IP
network (a netip.Prefix).
The string can be in the form "192.168.1.0/24" or "2001::db8::/32",
the CIDR notations defined in RFC 4632 and RFC 4291.
Any of netip.Prefix’s methods may be called on the resulting value. See
the docs for details.
Added in gomplate v4.0.0
Usage
Arguments
| name | description |
|---|---|
prefix |
(required) The IP address prefix to parse. It must represent either an IPv4 or IPv6 prefix, containing a /. |
Examples
net.ParseRange
Parse the given string as an inclusive range of IP addresses from the same
address family (a netipx.IPRange
from the go4.org/netipx module).
The string must contain a hyphen (-).
Any of netipx.IPRange’s methods may be called on the resulting value.
See the docs for details.
Added in gomplate v4.0.0
Usage
Arguments
| name | description |
|---|---|
iprange |
(required) The IP address range to parse. It must represent either an IPv4 or IPv6 range, containing a -. |
Examples
net.CIDRHost (experimental)
Experimental: This function is experimental and may be enabled with the --experimental flag.
Calculates a full host IP address for a given host number within a given IP network address prefix.
The IP network can be in the form "192.168.1.0/24" or "2001::db8::/32",
the CIDR notations defined in RFC 4632 and RFC 4291.
Any of netip.Addr’s methods may be called on the resulting value. See
the docs for details.
Added in gomplate v3.11.0
Usage
Arguments
| name | description |
|---|---|
hostnum |
(required) Is a whole number that can be represented as a binary integer with no more than the number of digits remaining in the address after the given prefix. |
prefix |
(required) Must be given in CIDR notation. It must represent either an IPv4 or IPv6 prefix, containing a /. String or net.IPNet object returned from net.ParseIPPrefix can by used. |
Examples
net.CIDRNetmask (experimental)
Experimental: This function is experimental and may be enabled with the --experimental flag.
The result is a subnet address formatted in the conventional dotted-decimal IPv4 address syntax or hexadecimal IPv6 address syntax, as expected by some software.
Any of netip.Addr’s methods may be called on the resulting value. See
the docs for details.
Added in gomplate v3.11.0
Usage
Arguments
| name | description |
|---|---|
prefix |
(required) Must be given in CIDR notation. It must represent either an IPv4 or IPv6 prefix, containing a /. String or net.IPNet object returned from net.ParseIPPrefix can by used. |
Examples
net.CIDRSubnets (experimental)
Experimental: This function is experimental and may be enabled with the --experimental flag.
Calculates a subnet address within given IP network address prefix.
Any of netip.Prefix’s methods may be called on the resulting values. See
the docs for details.
Added in gomplate v3.11.0
Usage
Arguments
| name | description |
|---|---|
newbits |
(required) Is the number of additional bits with which to extend the prefix. For example, if given a prefix ending in /16 and a newbits value of 4, the resulting subnet address will have length /20. |
prefix |
(required) Must be given in CIDR notation. It must represent either an IPv4 or IPv6 prefix, containing a /. String or net.IPNet object returned from net.ParseIPPrefix can by used. |
Examples
net.CIDRSubnetSizes (experimental)
Experimental: This function is experimental and may be enabled with the --experimental flag.
Calculates a sequence of consecutive IP address ranges within a particular CIDR prefix.
Any of netip.Prefix’s methods may be called on the resulting values. See
the docs for details.
Added in gomplate v3.11.0
Usage
Arguments
| name | description |
|---|---|
newbits... |
(required) Numbers of additional network prefix bits for returned address range. |
prefix |
(required) Must be given in CIDR notation. It must represent either an IPv4 or IPv6 prefix, containing a /. String or net.IPNet object returned from net.ParseIPPrefix can by used. |