Create universally unique identifiers (UUIDs) versions 1, 3, 4, 5, 6, 7 and 8 in transformations.
cmemc -c my-cmem admin workspace python install cmem-plugin-uuid
- Run task to see all major development tasks.
- Use pre-commit to avoid errors before commit.
- This repository was created with this copier template.
UUID1 version is generated from a host ID, sequence number, and the current time.
Node value in the form "01:23:45:67:89:AB", "01-23-45-67-89-AB", or "0123456789AB".
If not given, uuid.getnode()
is used to
attempt to obtain the hardware address. If this is unsuccessful a random 48-bit number is chosen.
Default value: None
ID: node
If clock sequence is given, it is used as the sequence number, otherwise a random 14-bit sequence number is chosen.
Default value: None
ID: clock_seq
UUID version 3 is a reproducible UUID based on the MD5 hash of a namespace identifier (which is a UUID) and a name (which is a string).
The namespace can be entered manually or selected from the namespace UUIDs defined in RFC 4122:
- Namespace DNS: 6ba7b810-9dad-11d1-80b4-00c04fd430c8 (namespace_dns)
- Namespace URL: 6ba7b811-9dad-11d1-80b4-00c04fd430c8 (namespace_url)
- Namespace OID: 6ba7b812-9dad-11d1-80b4-00c04fd430c8 (namespace_oid)
- Namespace X500: 6ba7b814-9dad-11d1-80b4-00c04fd430c8 (namespace_x500)
If none of the predefined namespace UUIDs is selected, the input namespace is either directly interpreted as a UUID, or used to derive a UUID (see parameter Namespace as UUID). If no namespace is given, the output is the same as that of the standard CMEM UUID operator with input value.
Default value: none
ID: namespace
If enabled, the input value is used for the namespace.
Default value: False
ID: input_as_namespace
Applies only if none of the pre-defined namespaces is selected. If enabled, the namespace string needs to be a valid UUID. Otherwise, the namespace UUID is a UUIDv1 derived from the MD5 hash of the namespace string.
Default value: False
ID: namespace_as_uuid
UUID version 4 specifies a random UUID. This plugin is equivalent to the standard CMEM UUID operator without input value.
UUID version 5 is a reproducible UUID based on the SHA1 hash of a namespace identifier (which is a UUID) and a name (which is a string).
The namespace can be entered manually or selected from the namespace UUIDs defined in RFC 4122:
- Namespace DNS: 6ba7b810-9dad-11d1-80b4-00c04fd430c8 (namespace_dns)
- Namespace URL: 6ba7b811-9dad-11d1-80b4-00c04fd430c8 (namespace_url)
- Namespace OID: 6ba7b812-9dad-11d1-80b4-00c04fd430c8 (namespace_oid)
- Namespace X500: 6ba7b814-9dad-11d1-80b4-00c04fd430c8 (namespace_x500)
If none of the predefined namespace UUIDs is selected, the input namespace is either directly interpreted as a UUID, or used to derive a UUID (see parameter Namespace as UUID).
Default value: none
ID: namespace
Applies only if none of the pre-defined namespaces is selected. If enabled, the namespace string needs to be a valid UUID. Otherwise, the namespace UUID is a UUIDv1 derived from the SHA1 hash of the namespace string.
Default value: False
ID: namespace_as_uuid
UUID6 version is generated from a host ID, sequence number, and the current time. UUID version 6 is a field-compatible version of UUIDv1, reordered for improved DB locality.
Node value in the form "01:23:45:67:89:AB", "01-23-45-67-89-AB", or "0123456789AB". If not given, a random 48-bit sequence number is chosen.
Default value: None
ID: node
If clock sequence is given, it is used as the sequence number, otherwise a random 14-bit number is chosen.
Default value: None
ID: clock_seq
UUID version 7 features a time-ordered value field derived from the widely implemented and well known Unix Epoch timestamp source, the number of milliseconds since midnight 1 Jan 1970 UTC, leap seconds excluded, as well as improved entropy characteristics over versions 1 or 6.
UUID version 8 features a time-ordered value field derived from the widely implemented and well known Unix Epoch timestamp source, the number of nanoseconds since midnight 1 Jan 1970 UTC, leap seconds excluded.
Generate a UUID version 6 from a UUID version 1. The input needs to be a valid UUIDv1 hexdecimal string.
Outputs the UUID version from a UUID input string.
Convert a UUID from one format to another. The plugin accepts strings in the correct format, however, the log will show a warning if the input does not comply with the standard specified in RFC 4122 and the proposed updates.
The input format
Options:
-
UUID/32-character hexadecimal string (uuid_hex):
A standard UUID or a UUID as a 32-character lowercase hexadecimal string.
-
128-bit integer (int):
The UUID as a 128-bit integer.
-
URN (urn):
The UUID as a URN.
Default value: UUID/32-character lowercase hexadecimal string
ID: from_format
The output format
Options:
-
UUID (uuid):
A standard UUID.
-
32-character lowercase hexadecimal string (hex):
The UUID as a 32-character lowercase hexadecimal string.
-
128-bit integer (int):
The UUID as a 128-bit integer.
-
URN (urn):
The UUID as a URN as specified in RFC 4122.
Default value: 32-character lowercase hexadecimal string
ID: to_format