/** Parse /collector/host */ int conf_host (const char *id, var *v, updatetype tp) { if (tp == UPDATE_REMOVE) exit (0); APP.hostid = mkuuid (var_get_str (v)); if (! uuidvalid (APP.hostid)) { log_error ("Invalid host uuid: %s", var_get_str (v)); return 0; } return 1; }
/** The tenant-create command */ int cmd_tenant_create (int argc, const char *argv[]) { uuid tenant; /* Avoid using the default tenant in this case */ disregard_default_tenant(); if (OPTIONS.tenant[0] == 0) { tenant = uuidgen(); OPTIONS.tenant = (const char *) malloc (40); uuid2str (tenant, (char *) OPTIONS.tenant); } else { tenant = mkuuid (OPTIONS.tenant); } var *req = var_alloc(); var *req_tenant = var_get_dict_forkey (req, "tenant"); if (OPTIONS.key[0]) { var_set_str_forkey (req_tenant, "key", OPTIONS.key); } if (OPTIONS.name[0]) { var_set_str_forkey (req_tenant, "name", OPTIONS.name); } var *apires = api_call ("POST", req, "/%s", OPTIONS.tenant); if (apires) { var *r = var_get_dict_forkey (apires, "tenant"); printf ("Tenant created:\n" "---------------------------------------------" "-----------------------------------\n" " Name: %s\n" " UUID: %s\n" " AES Key: %s\n" "---------------------------------------------" "-----------------------------------\n", var_get_str_forkey (r, "name"), OPTIONS.tenant, var_get_str_forkey (r, "key")); } var_free (req); var_free (apires); return 0; }
/** Parse the string value of a var object as a uuid */ uuid var_get_uuid (var *self) { return mkuuid (var_get_str (self)); }
/** Parse /collector/tenant */ int conf_tenant (const char *id, var *v, updatetype tp) { if (tp == UPDATE_REMOVE) exit (0); APP.tenantid = mkuuid (var_get_str (v)); return 1; }
/** Get a uuid value out of a dict var. UUIDs are encoded as strings, not a * proper var type. * \param self The dictionary * \param key The key for the alleged UUID. * \return The uuid, or uuidnil() if it couldn't be found or parsed. */ uuid var_get_uuid_forkey (var *self, const char *key) { return mkuuid (var_get_str_forkey (self, key)); }