public interface Inventory
The resources are organized by tenant (your company) and environments (i.e. testing, development, staging, production, ...).
Despite their name, tenants are not completely separated and one can easily create relationships between them or between entities underneath different tenants. This is because there are situations where such relationships might make sense but more importantly because at the API level, inventory does not mandate any security model. It is assumed that the true multi-tenancy in the common sense of the word is implemented by a layer on top of the inventory API that also understands some security model to separate the tenants.
Resources are hierarchical - meaning that one can be a parent of others, recursively. One can also say that a resource can contain other resources. Resources can have other kinds of relationships that are not necessarily tree-like.
Resources can have a "resource type" (but they don't have to) which prescribes what kind of data a resource contains. Most prominently a resource can have a list of metrics and a resource type can define what those metrics should be by specifying the set of "metric types".
This interface offers a fluent API to compose a "traversal" over the graph of entities stored in the inventory in a strongly typed fashion.
The inventory implementations are not required to be thread-safe. Instances should therefore be accessed only by a single thread or serially.
| Modifier and Type | Interface and Description |
|---|---|
static class |
Inventory.ElementTypes<E extends AbstractElement,B extends Blueprint> |
static class |
Inventory.Types
A registry of various types used with entities.
|
| Modifier and Type | Method and Description |
|---|---|
static Inventory.Types |
types() |
static Inventory.Types types()
Copyright © 2014–2017 Red Hat, Inc.. All rights reserved.