Skip to main content
Version: v2.0

CMDB Instance API overview

The CMDB Instance API performs CRUD operations on configuration items (CIs) by CMDB class, and manages relationships between CIs.

Basic usage​

Access it through the CMDB namespace:

instance := client.Now().Cmdb().Instance()

// Query CIs of a class
servers, err := instance.ByClass("cmdb_ci_linux_server").Get(context.Background(), nil)
if err != nil {
log.Fatal(err)
}

// Get / update a specific CI
ci, err := instance.ByClass("cmdb_ci_linux_server").ByID("{sysID}").Get(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
updated, err := instance.ByClass("cmdb_ci_linux_server").ByID("{sysID}").Patch(context.Background(), ciBody, nil)
if err != nil {
log.Fatal(err)
}

Available operations​

  • Query class instances — ByClass(className).Get(ctx, config).
  • Create instance — ByClass(className).Post(ctx, body, config).
  • Get instance — ByClass(className).ByID(sysID).Get(ctx, config).
  • Replace / update instance — ...ByID(sysID).Put(ctx, body, config) and ...Patch(ctx, body, config).
  • Create relation — ...ByID(sysID).Relation().Post(ctx, body, config).
  • Delete relation — ...Relation().ByID(relSysID).Delete(ctx, config).
Was this page helpful?