std::ostringstream tempobjectfp;
tempobjectfp << std::fixed;
+ String display_name = hg->GetDisplayName();
+ String notes = hg->GetNotes();
+ String notes_url = hg->GetNotesUrl();
+ String action_url = hg->GetActionUrl();
+
tempobjectfp << "define hostgroup {" "\n"
"\t" "hostgroup_name" "\t" << hg->GetName() << "\n";
+ if (!display_name.IsEmpty())
+ tempobjectfp << "\t" "alias" "\t" << display_name << "\n";
+ if (!notes.IsEmpty())
+ tempobjectfp << "\t" "notes" "\t" << notes << "\n";
+ if (!notes_url.IsEmpty())
+ tempobjectfp << "\t" "notes_url" "\t" << notes_url << "\n";
+ if (!action_url.IsEmpty())
+ tempobjectfp << "\t" "action_url" "\t" << action_url << "\n";
+
DumpCustomAttributes(tempobjectfp, hg);
tempobjectfp << "\t" "members" "\t";
std::ostringstream tempobjectfp;
tempobjectfp << std::fixed;
+ String display_name = sg->GetDisplayName();
+ String notes = sg->GetNotes();
+ String notes_url = sg->GetNotesUrl();
+ String action_url = sg->GetActionUrl();
+
tempobjectfp << "define servicegroup {" "\n"
"\t" "servicegroup_name" "\t" << sg->GetName() << "\n";
+ if (!display_name.IsEmpty())
+ tempobjectfp << "\t" "alias" "\t" << display_name << "\n";
+ if (!notes.IsEmpty())
+ tempobjectfp << "\t" "notes" "\t" << notes << "\n";
+ if (!notes_url.IsEmpty())
+ tempobjectfp << "\t" "notes_url" "\t" << notes_url << "\n";
+ if (!action_url.IsEmpty())
+ tempobjectfp << "\t" "action_url" "\t" << action_url << "\n";
+
DumpCustomAttributes(tempobjectfp, sg);
tempobjectfp << "\t" "members" "\t";
config_type smallint default 0,
hostgroup_object_id bigint unsigned default 0,
alias TEXT character set latin1 default '',
+ notes TEXT character set latin1 default NULL,
+ notes_url TEXT character set latin1 default NULL,
+ action_url TEXT character set latin1 default NULL,
PRIMARY KEY (hostgroup_id),
UNIQUE KEY instance_id (instance_id,hostgroup_object_id)
) ENGINE=InnoDB COMMENT='Hostgroup definitions';
config_type smallint default 0,
servicegroup_object_id bigint unsigned default 0,
alias TEXT character set latin1 default '',
+ notes TEXT character set latin1 default NULL,
+ notes_url TEXT character set latin1 default NULL,
+ action_url TEXT character set latin1 default NULL,
PRIMARY KEY (servicegroup_id),
UNIQUE KEY instance_id (instance_id,config_type,servicegroup_object_id)
) ENGINE=InnoDB COMMENT='Servicegroup definitions';
--- /dev/null
+
+
+ALTER TABLE icinga_hostgroups ADD COLUMN notes TEXT character set latin1 default NULL;
+ALTER TABLE icinga_hostgroups ADD COLUMN notes_url TEXT character set latin1 default NULL;
+ALTER TABLE icinga_hostgroups ADD COLUMN action_url TEXT character set latin1 default NULL;
+ALTER TABLE icinga_servicegroups ADD COLUMN notes TEXT character set latin1 default NULL;
+ALTER TABLE icinga_servicegroups ADD COLUMN notes_url TEXT character set latin1 default NULL;
+ALTER TABLE icinga_servicegroups ADD COLUMN action_url TEXT character set latin1 default NULL;
config_type INTEGER default 0,
hostgroup_object_id bigint default 0,
alias TEXT default '',
+ notes TEXT default NULL,
+ notes_url TEXT default NULL,
+ action_url TEXT default NULL,
CONSTRAINT PK_hostgroup_id PRIMARY KEY (hostgroup_id) ,
CONSTRAINT UQ_hostgroups UNIQUE (instance_id,hostgroup_object_id)
) ;
config_type INTEGER default 0,
servicegroup_object_id bigint default 0,
alias TEXT default '',
+ notes TEXT default NULL,
+ notes_url TEXT default NULL,
+ action_url TEXT default NULL,
CONSTRAINT PK_servicegroup_id PRIMARY KEY (servicegroup_id) ,
CONSTRAINT UQ_servicegroups UNIQUE (instance_id,config_type,servicegroup_object_id)
) ;
--- /dev/null
+
+
+ALTER TABLE icinga_hostgroups ADD COLUMN notes TEXT default NULL;
+ALTER TABLE icinga_hostgroups ADD COLUMN notes_url TEXT default NULL;
+ALTER TABLE icinga_hostgroups ADD COLUMN action_url TEXT default NULL;
+ALTER TABLE icinga_servicegroups ADD COLUMN notes TEXT default NULL;
+ALTER TABLE icinga_servicegroups ADD COLUMN notes_url TEXT default NULL;
+ALTER TABLE icinga_servicegroups ADD COLUMN action_url TEXT default NULL;
Value HostGroupsTable::NotesAccessor(const Value& row)
{
- Dictionary::Ptr vars = static_cast<HostGroup::Ptr>(row)->GetVars();
-
- if (!vars)
- return Empty;
-
- return vars->Get("notes");
+ return static_cast<HostGroup::Ptr>(row)->GetNotes();
}
Value HostGroupsTable::NotesUrlAccessor(const Value& row)
{
- Dictionary::Ptr vars = static_cast<HostGroup::Ptr>(row)->GetVars();
-
- if (!vars)
- return Empty;
-
- return vars->Get("notes_url");
+ return static_cast<HostGroup::Ptr>(row)->GetNotesUrl();
}
Value HostGroupsTable::ActionUrlAccessor(const Value& row)
{
- Dictionary::Ptr vars = static_cast<HostGroup::Ptr>(row)->GetVars();
-
- if (!vars)
- return Empty;
-
- return vars->Get("action_url");
+ return static_cast<HostGroup::Ptr>(row)->GetActionUrl();
}
Value HostGroupsTable::MembersAccessor(const Value& row)
Value ServiceGroupsTable::NotesAccessor(const Value& row)
{
- Dictionary::Ptr vars = static_cast<ServiceGroup::Ptr>(row)->GetVars();
-
- if (!vars)
- return Empty;
-
- return vars->Get("notes");
+ return static_cast<ServiceGroup::Ptr>(row)->GetNotes();
}
Value ServiceGroupsTable::NotesUrlAccessor(const Value& row)
{
- Dictionary::Ptr vars = static_cast<ServiceGroup::Ptr>(row)->GetVars();
-
- if (!vars)
- return Empty;
-
- return vars->Get("notes_url");
+ return static_cast<ServiceGroup::Ptr>(row)->GetNotesUrl();
}
Value ServiceGroupsTable::ActionUrlAccessor(const Value& row)
{
- Dictionary::Ptr vars = static_cast<ServiceGroup::Ptr>(row)->GetVars();
-
- if (!vars)
- return Empty;
-
- return vars->Get("action_url");
+ return static_cast<ServiceGroup::Ptr>(row)->GetActionUrl();
}
Value ServiceGroupsTable::MembersAccessor(const Value& row)
HostGroup::Ptr group = static_pointer_cast<HostGroup>(GetObject());
fields->Set("alias", group->GetDisplayName());
+ fields->Set("notes", group->GetNotes());
+ fields->Set("notes_url", group->GetNotesUrl());
+ fields->Set("action_url", group->GetActionUrl());
return fields;
}
ServiceGroup::Ptr group = static_pointer_cast<ServiceGroup>(GetObject());
fields->Set("alias", group->GetDisplayName());
+ fields->Set("notes", group->GetNotes());
+ fields->Set("notes_url", group->GetNotesUrl());
+ fields->Set("action_url", group->GetActionUrl());
return fields;
}
};
[config] Array::Ptr groups;
+ [config] String notes;
+ [config] String notes_url;
+ [config] String action_url;
};
}
%attribute %array "groups" {
%attribute %name(HostGroup) "*"
},
+
+ %attribute %string "notes",
+ %attribute %string "notes_url",
+ %attribute %string "action_url",
}
%type Service %inherits Checkable {
%attribute %array "groups" {
%attribute %name(ServiceGroup) "*"
},
+
+ %attribute %string "notes",
+ %attribute %string "notes_url",
+ %attribute %string "action_url",
}
%type Notification {
};
[config] Array::Ptr groups;
+ [config] String notes;
+ [config] String notes_url;
+ [config] String action_url;
};
}