uuid functions
Functions for generating, parsing, and manipulating UUIDs.
A UUID is a 128 bit (16 byte) Universal Unique IDentifier as defined in RFC 4122. Only RFC 4112-variant UUIDs can be generated, but all variants (even invalid ones) can be parsed and manipulated. Also, gomplate only supports generating version 1 and 4 UUIDs (with 4 being the most commonly-used variety these days). Versions 2, 3, and 5 are able to be supported: log an issue if this is required for your use-case.
uuid.V1
Create a version 1 UUID (based on the current MAC address and the current date/time).
Use uuid.V4
instead in most cases.
Usage
uuid.V1
Examples
$ gomplate -i '{{ uuid.V1 }}'
4d757e54-446d-11e9-a8fa-72000877c7b0
uuid.V4
Create a version 4 UUID (randomly generated).
This function consumes entropy.
Usage
uuid.V4
Examples
$ gomplate -i '{{ uuid.V4 }}'
40b3c2d2-e491-4b19-94cd-461e6fa35a60
uuid.Nil
Returns the nil UUID, that is, 00000000-0000-0000-0000-000000000000
,
mostly for testing scenarios.
Usage
uuid.Nil
Examples
$ gomplate -i '{{ uuid.Nil }}'
00000000-0000-0000-0000-000000000000
uuid.IsValid
Checks that the given UUID is in the correct format. It does not validate whether the version or variant are correct.
Usage
uuid.IsValid uuid
uuid | uuid.IsValid
Arguments
name | description |
---|---|
uuid |
(required) The uuid to check |
Examples
$ gomplate -i '{{ if uuid.IsValid "totally invalid" }}valid{{ else }}invalid{{ end }}'
invalid
$ gomplate -i '{{ uuid.IsValid "urn:uuid:12345678-90ab-cdef-fedc-ba9876543210" }}'
true
uuid.Parse
Parse a UUID for further manipulation or inspection.
This function returns a UUID
struct, as defined in the github.com/google/uuid package. See the docs for examples of functions or fields you can call.
Both the standard UUID forms of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
and
urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
are decoded as well as the
Microsoft encoding {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
and the raw hex
encoding (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
).
Usage
uuid.Parse uuid
uuid | uuid.Parse
Arguments
name | description |
---|---|
uuid |
(required) The uuid to parse |
Examples
$ gomplate -i '{{ $u := uuid.Parse uuid.V4 }}{{ $u.Version }}, {{ $u.Variant}}'
VERSION_4, RFC4122
$ gomplate -i '{{ (uuid.Parse "000001f5-4470-21e9-9b00-72000877c7b0").Domain }}'
Person