Lenses Resource Names (LRNs)
LRNs uniquely identify all resources that Lenses understands. Examples are a Lenses User, a Kafka topic or a Kafka-Connect connector.
Use an LRN to specify a resource across all of Lenses, unambiguously:
To add topic permissions for a team in IAM permissions.
To share a consumer-group reference with a colleague.
LRN format
The top-level format has 3 parts called segments. A semi-colon :
separates them:
service
service
is the namespace of the Lenses service that manages a set of resource types.
e.g. kafka
for things like topics and consumer groups.
resource-type
resource-type
is the type of resources that are served by a service.
e.g. topic
for a Kafka topic, consumer-group
for a Kafka consumer group. They both belong to the kafka
service.
resource-path
resource-path
is the unique path that identifies a resource. The resource path is specific to a service and resource type. The resource path can be:
a single resource name, e.g. :
lucy.clearview@lenses.io
for a user resource name.The full LRN would be
iam:user:lucy.clearview@lenses.io
a nested path that contains slashes
/
e.g. :dev-environment/kafka/my-topic
for a kafka topicThe full LRN would be
kafka:topic:dev-environment/kafka/my-topic
Examples
IAM user
Kafka topic
Kafka consumer group
Schema Registry schema
Kafka Connect connector
Allowed characters
LRNs separate top-level segments with a colon :
and resource path segments with a slash /
.
A segment may have:
Alphanumeric characters:
a-z, A-Z, 0-9
Allowed symbols:
-
Using wildcards
Use the wildcard asterisk *
to express catch-all LRNs.
Good examples
Use these examples to express multiple resources easily.
Wildcard pattern | LRN Example | Definition | Example means… |
---|---|---|---|
|
| Global wildcard. Capture all the resources that Lenses manages. | "Everything" |
|
| Service-specific wildcard. Capture all the resources for a service. | "All Kafka resources in all environments, i.e. topics, consumer groups, acls and quotas" |
|
| Resource-type-specific wildcard. Capture all the resources for a type of resources of a service. | "All Kafka topics in all environments" |
|
| Path segment wildcard. Capture a part of the resource path. | "All connectors named 'my-s3-sink' in all Connect clusters under the environment 'dev-environment' " |
|
| Trailing wildcard. This wildcard is at the end of an LRN. It acts as a 'globstar' ( Capture the resources that start with the given path prefix. | "All Kafka topics in the environment 'dev-environment' whose name starts with 'red-' " |
|
| Path suffix wildcard. Capture resources where different path segments start with certain prefixes. | "All connectors in all environments that start with 'dev', within any Connect cluster that starts with 'sinks' and where the connector name starts with 's3' " |
Bad examples
Avoid these examples because they are ambiguous. Lenses does not allow them.
Wildcard pattern | LRN Example | Restriction | Better alternative |
---|---|---|---|
|
or
| No wildcards allowed at the service level. A service must be its full string. | Global wildcard |
|
| No wilcards allowed at the resource-type level. A resource type must be its full string. | Service-specific wildcard |
Last updated