Resource
The term Resource refers to the fundamental structural unit of a configuration management system. Clarive is such a configuration management system, keeping track of all its configuration entities as Resources in its database.
In Clarive, examples of Resources can be Topics (i.e. releases, changesets, requirements, test cases etc.), servers, User IDs, agents, middleware (such as JBoss or Apache), cloud instances, mainframe nodes etc.
Clarive oversees the life of the Resources through a combination of processes and tools by implementing and enabling the fundamental elements of security, change management and audits.
Any activity over Resources (create, update and delete) is registered and is displayed in a Resources grid.
Every Resource has its unique Master ID (MID) in Clarive.
Versioning¶
Whenever a non-internal Resource is updated, Clarive automatically creates a version snapshot of the previous state. These versions can be browsed in the version grid within the Resource editor.
Each version record stores the following tracking fields:
- Version - the incremental version number.
- Timestamp - when the version was created.
- Modified By - the user who last modified the Resource before this version was saved (from the previous snapshot).
- Versioned By - the user who triggered the update that created this version (the current user at the time of the change).
- Created By - the user who originally created the Resource.
The Versioned By field allows accurate attribution of each version to the user who actually performed the edit,
as opposed to Modified By which reflects the previous modifier recorded in the snapshot.
HCL representation¶
A Resource is the resource family in Clarive HCL. Classes with a
block keyword of their own are written short; every other class, including any
class created in the UI, is written with the literal keyword resource and two
labels.
generic_server "web01" {
hostname = "web01.example.invalid"
description = "Front office box"
connect_timeout = 60
proxy = generic_server.bastion
}
resource "GitRepository" "foo-core" {
name = "Foo Core"
default_branch = "main"
}
A Resource's MID never appears in a file. Relationships are written as addresses, so the same files import into a different installation and the relationships still land on the right objects.
An attribute sitting at its class default is omitted, and an import puts it
back from the same table — absence means "the default", never "delete it".
Sensitive attributes are wrapped in b64(), and omitting one means "keep what
is there".
The Resource editor has an HCL tab. The attribute table for every shipped class is in Resources.