コード例 #1
0
ファイル: main.c プロジェクト: CloudVPS/opticon
/** 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;
}
コード例 #2
0
ファイル: cmd.c プロジェクト: colomonkey/opticon
/** 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;
}
コード例 #3
0
ファイル: var.c プロジェクト: colomonkey/opticon
/** Parse the string value of a var object as a uuid */
uuid var_get_uuid (var *self) {
    return mkuuid (var_get_str (self));
}
コード例 #4
0
ファイル: main.c プロジェクト: CloudVPS/opticon
/** 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;
}
コード例 #5
0
ファイル: var.c プロジェクト: colomonkey/opticon
/** 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));
}