summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2009-10-09 12:00:46 -0400
committerMichael DeHaan <mdehaan@redhat.com>2009-10-09 12:00:46 -0400
commit6190735c975ce3616b758d2713701fc8c9f04880 (patch)
treeb977daa148a5dec5d3316331e911429edba18009
parent0d1cb9883b1867a2ff6d936253f97f131850710f (diff)
downloadcobbler-6190735c975ce3616b758d2713701fc8c9f04880.tar.gz
cobbler-6190735c975ce3616b758d2713701fc8c9f04880.tar.xz
cobbler-6190735c975ce3616b758d2713701fc8c9f04880.zip
Further work on Java code generator.
-rw-r--r--cobbler/item_distro.py45
-rw-r--r--cobbler/item_image.py44
-rw-r--r--cobbler/item_profile.py60
-rw-r--r--cobbler/item_repo.py36
-rw-r--r--cobbler/item_system.py98
-rw-r--r--cobbler4j/build.py2
-rw-r--r--cobbler4j/header.tmpl26
-rw-r--r--cobbler4j/object_base.tmpl155
8 files changed, 231 insertions, 235 deletions
diff --git a/cobbler/item_distro.py b/cobbler/item_distro.py
index 7386b03d..371ec9ae 100644
--- a/cobbler/item_distro.py
+++ b/cobbler/item_distro.py
@@ -37,7 +37,7 @@ import codes
# entry to the list following some conventions to be described later. You must also add a method called
# set_$fieldname. Do not write a method called get_$fieldname, that will not be called.
#
-# name | default | subobject default | hidden | tooltip | editable? | values ?
+# name | default | subobject default | hidden | tooltip | editable? | values ? | type
#
# name -- what the filed should be called. For the command line, underscores will be replaced with
# a hyphen programatically, so use underscores to seperate things that are seperate words
@@ -93,28 +93,27 @@ import codes
# must operate as normal with the default value for all fields and not choke on the default values.
FIELDS = [
- [ "name","",0,"Name",True,"Ex: Fedora-11-i386",0],
- ["ctime",0,0,"",False,"",0],
- ["mtime",0,0,"",False,"",0],
- [ "uid","",0,"",False,"",0],
- [ "owners","SETTINGS:default_ownership",0,"Owners",True,"Owners list for authz_ownership (space delimited)",0],
- [ "kernel",None,0,"Kernel",True,"Absolute path to kernel on filesystem",0],
- [ "initrd",None,0,"Initrd",True,"Absolute path to kernel on filesystem",0],
- [ "kernel_options",{},0,"Kernel Options",True,"Ex: selinux=permissive",0],
- [ "kernel_options_post",{},0,"Kernel Options (Post Install)",True,"Ex: clocksource=pit noapic",0],
- [ "ks_meta",{},0,"Kickstart Metadata",True,"Ex: dog=fang agent=86", 0],
- [ "arch",'i386',0,"Architecture",True,"", ['i386','x86_64','ia64','ppc','s390']],
- [ "breed",'redhat',0,"Breed",True,"What is the type of distribution?",codes.VALID_OS_BREEDS],
- [ "os_version","generic26",0,"OS Version",True,"Needed for some virtualization optimizations",codes.get_all_os_versions()],
- [ "source_repos",[],0,"Source Repos", False,"",0],
- [ "depth",0,0,"Depth",False,"",0],
- [ "comment","",0,"Comment",True,"Free form text description",0],
- [ "tree_build_time",0,0,"Tree Build Time",False,"",0],
- [ "mgmt_classes",[],0,"Management Classes",True,"Management classes for external config management",0],
- [ "template_files",{},0,"Template Files",True,"File mappings for built-in config management",0],
- [ "redhat_management_key","<<inherit>>",0,"Red Hat Management Key",True,"Registration key for RHN, Spacewalk, or Satellite",0],
- [ "redhat_management_server", "<<inherit>>",0,"Red Hat Management Server",True,"Address of Spacewalk or Satellite Server"
-,0]
+ [ "name","",0,"Name",True,"Ex: Fedora-11-i386",0,"str"],
+ ["ctime",0,0,"",False,"",0,"float"],
+ ["mtime",0,0,"",False,"",0,"float"],
+ [ "uid","",0,"",False,"",0,"str"],
+ [ "owners","SETTINGS:default_ownership",0,"Owners",True,"Owners list for authz_ownership (space delimited)",0,"list"],
+ [ "kernel",None,0,"Kernel",True,"Absolute path to kernel on filesystem",0,"str"],
+ [ "initrd",None,0,"Initrd",True,"Absolute path to kernel on filesystem",0,"str"],
+ [ "kernel_options",{},0,"Kernel Options",True,"Ex: selinux=permissive",0,"dict"],
+ [ "kernel_options_post",{},0,"Kernel Options (Post Install)",True,"Ex: clocksource=pit noapic",0,"dict"],
+ [ "ks_meta",{},0,"Kickstart Metadata",True,"Ex: dog=fang agent=86", 0,"dict"],
+ [ "arch",'i386',0,"Architecture",True,"", ['i386','x86_64','ia64','ppc','s390'],"str"],
+ [ "breed",'redhat',0,"Breed",True,"What is the type of distribution?",codes.VALID_OS_BREEDS,"str"],
+ [ "os_version","generic26",0,"OS Version",True,"Needed for some virtualization optimizations",codes.get_all_os_versions(),"str"],
+ [ "source_repos",[],0,"Source Repos", False,"",0,"list"],
+ [ "depth",0,0,"Depth",False,"",0,"int"],
+ [ "comment","",0,"Comment",True,"Free form text description",0,"str"],
+ [ "tree_build_time",0,0,"Tree Build Time",False,"",0,"str"],
+ [ "mgmt_classes",[],0,"Management Classes",True,"Management classes for external config management",0,"list"],
+ [ "template_files",{},0,"Template Files",True,"File mappings for built-in config management",0,"list"],
+ [ "redhat_management_key","<<inherit>>",0,"Red Hat Management Key",True,"Registration key for RHN, Spacewalk, or Satellite",0,"str"],
+ [ "redhat_management_server", "<<inherit>>",0,"Red Hat Management Server",True,"Address of Spacewalk or Satellite Server",0,"str"]
]
class Distro(item.Item):
diff --git a/cobbler/item_image.py b/cobbler/item_image.py
index 013527a8..3be5d43a 100644
--- a/cobbler/item_image.py
+++ b/cobbler/item_image.py
@@ -31,28 +31,28 @@ from utils import _
# this datastructure is described in great detail in item_distro.py -- read the comments there.
FIELDS = [
- ['name','',0,"Name",True,"",0],
- ['arch','i386',0,"Architecture",True,"",["i386","x86_64","ia64","s390","ppc"]],
- ['breed','redhat',0,"Breed",True,"",codes.VALID_OS_BREEDS],
- ['comment','',0,"Comment",True,"Free form text description",0],
- ['ctime',0,0,"",False,"",0],
- ['mtime',0,0,"",False,"",0],
- ['file','',0,"File",True,"Path to local file or nfs://user@host:path",0],
- ['depth',0,0,"",False,"",0],
- ['image_type',"iso",0,"Image Type",True,"", ["iso","direct","virt-image"]], #FIXME:complete?
- ['network_count',1,0,"Virt NICs",True,"",0],
- ['os_version','',0,"OS Version",True,"ex: rhel4",codes.get_all_os_versions()],
- ['owners',"SETTINGS:default_ownership",0,"Owners",True,"Owners list for authz_ownership (space delimited)",[]],
- ['parent','',0,"",False,"",0],
- ['kickstart','',0,"Kickstart",True,"Path to kickstart/answer file template",0],
- ['virt_auto_boot',"SETTINGS:virt_auto_boot",0,"Virt Auto Boot",True,"Auto boot this VM?",0],
- ['virt_bridge',"SETTINGS:default_virt_bridge",0,"Virt Bridge",True,"",0],
- ['virt_cpus',1,0,"Virt CPUs",True,"",0],
- ['virt_file_size',"SETTINGS:default_virt_file_size",0,"Virt File Size (GB)",True,"",0],
- ['virt_path','',0,"Virt Path",True,"Ex: /directory or VolGroup00",0],
- ['virt_ram',"SETTINGS:default_virt_ram",0,"Virt RAM (MB)",True,"",0],
- ['virt_type',"SETTINGS:default_virt_type",0,"Virt Type",True,"",["xenpv","xenfv","qemu","vmware"]],
- ['uid',"",0,"",False,"",0]
+ ['name','',0,"Name",True,"",0,"str"],
+ ['arch','i386',0,"Architecture",True,"",["i386","x86_64","ia64","s390","ppc"],"str"],
+ ['breed','redhat',0,"Breed",True,"",codes.VALID_OS_BREEDS,"str"],
+ ['comment','',0,"Comment",True,"Free form text description",0,"str"],
+ ['ctime',0,0,"",False,"",0,"float"],
+ ['mtime',0,0,"",False,"",0,"float"],
+ ['file','',0,"File",True,"Path to local file or nfs://user@host:path",0,"str"],
+ ['depth',0,0,"",False,"",0,"int"],
+ ['image_type',"iso",0,"Image Type",True,"", ["iso","direct","virt-image"],"str"], #FIXME:complete?
+ ['network_count',1,0,"Virt NICs",True,"",0,"int"],
+ ['os_version','',0,"OS Version",True,"ex: rhel4",codes.get_all_os_versions(),"str"],
+ ['owners',"SETTINGS:default_ownership",0,"Owners",True,"Owners list for authz_ownership (space delimited)",[],"list"],
+ ['parent','',0,"",False,"",0,"str"],
+ ['kickstart','',0,"Kickstart",True,"Path to kickstart/answer file template",0,"str"],
+ ['virt_auto_boot',"SETTINGS:virt_auto_boot",0,"Virt Auto Boot",True,"Auto boot this VM?",0,"bool"],
+ ['virt_bridge',"SETTINGS:default_virt_bridge",0,"Virt Bridge",True,"",0,"str"],
+ ['virt_cpus',1,0,"Virt CPUs",True,"",0,"int"],
+ ['virt_file_size',"SETTINGS:default_virt_file_size",0,"Virt File Size (GB)",True,"",0,"float"],
+ ['virt_path','',0,"Virt Path",True,"Ex: /directory or VolGroup00",0,"str"],
+ ['virt_ram',"SETTINGS:default_virt_ram",0,"Virt RAM (MB)",True,"",0,"int"],
+ ['virt_type',"SETTINGS:default_virt_type",0,"Virt Type",True,"",["xenpv","xenfv","qemu","vmware"],"str"],
+ ['uid',"",0,"",False,"",0,"str"]
]
class Image(item.Item):
diff --git a/cobbler/item_profile.py b/cobbler/item_profile.py
index 0d595119..5083d10d 100644
--- a/cobbler/item_profile.py
+++ b/cobbler/item_profile.py
@@ -30,36 +30,36 @@ from utils import _
# this datastructure is described in great detail in item_distro.py -- read the comments there.
FIELDS = [
- ["name","",None,"Name",True,"Ex: F10-i386-webserver",0],
- ["uid","","","",False,"",0],
- ["owners","SETTINGS:default_ownership","SETTINGS:self.settings.default_ownership","Owners",True,"Owners list for authz_ownership (space delimited)",0],
- ["distro",None,'<<inherit>>',"Distribution",True,"Parent distribution",[]],
- ["enable_menu","SETTINGS:enable_menu",'<<inherit>>',"Enable PXE Menu?",True,"Show this profile in the PXE menu?",0],
- ["kickstart","SETTINGS:default_kickstart",'<<inherit>>',"Kickstart",True,"Path to kickstart template",0],
- ["kernel_options",{},'<<inherit>>',"Kernel Options",True,"Ex: selinux=permissive",0],
- ["kernel_options_post",{},'<<inherit>>',"Kernel Options (Post Install)",True,"Ex: clocksource=pit noapic",0],
- ["ks_meta",{},'<<inherit>>',"Kickstart Metadata",True,"Ex: dog=fang agent=86",0],
- ["repos",[],'<<inherit>>',"Repos",True,"Repos to auto-assign to this profile",[]],
- ["comment","","","Comment",True,"Free form text description",0],
- ["virt_auto_boot","SETTINGS:virt_auto_boot",'<<inherit>>',"Virt Auto Boot",True,"Auto boot this VM?",0],
- ["virt_cpus",1,'<<inherit>>',"Virt CPUs",True,"integer",0],
- ["virt_file_size","SETTINGS:default_virt_file_size",'<<inherit>>',"Virt File Size(GB)",True,"",0],
- ["virt_ram","SETTINGS:default_virt_ram",'<<inherit>>',"Virt RAM (MB)",True,"",0],
- ["depth",1,1,"",False,"",0],
- ["virt_type","SETTINGS:default_virt_type",'<<inherit>>',"Virt Type",True,"Virtualization technology to use",["xenpv","xenfv","qemu", "vmware"]],
- ["virt_path","",'<<inherit>>',"Virt Path",True,"Ex: /directory OR VolGroup00",0],
- ["virt_bridge","SETTINGS:default_virt_bridge",'<<inherit>>',"Virt Bridge",True,"",0],
- ["dhcp_tag","default",'<<inherit>>',"DHCP Tag",True,"See manpage or leave blank",0],
- ["parent",'','',"",False,"",0],
- ["server","<<inherit>>",'<<inherit>>',"Server Override",True,"See manpage or leave blank",0],
- ["ctime",0,0,"",False,"",0],
- ["mtime",0,0,"",False,"",0],
- ["name_servers","SETTINGS:default_name_servers",[],"Name Servers",True,"space delimited",0],
- ["name_servers_search","SETTINGS:default_name_servers_search",[],"Name Servers Search Path",True,"space delimited",0],
- ["mgmt_classes",[],'<<inherit>>',"Management Classes",True,"For external configuration management",0],
- ["template_files",{},'<<inherit>>',"Template Files",True,"File mappings for built-in config management",0],
- ["redhat_management_key","<<inherit>>","<<inherit>>","Red Hat Management Key",True,"Registration key for RHN, Spacewalk, or Satellite",0],
- ["redhat_management_server","<<inherit>>","<<inherit>>","Red Hat Management Server",True,"Address of Spacewalk or Satellite Server",0]
+ ["name","",None,"Name",True,"Ex: F10-i386-webserver",0,"str"],
+ ["uid","","","",False,"",0,"str"],
+ ["owners","SETTINGS:default_ownership","SETTINGS:self.settings.default_ownership","Owners",True,"Owners list for authz_ownership (space delimited)",0,"list"],
+ ["distro",None,'<<inherit>>',"Distribution",True,"Parent distribution",[],"str"],
+ ["enable_menu","SETTINGS:enable_menu",'<<inherit>>',"Enable PXE Menu?",True,"Show this profile in the PXE menu?",0,"bool"],
+ ["kickstart","SETTINGS:default_kickstart",'<<inherit>>',"Kickstart",True,"Path to kickstart template",0,"str"],
+ ["kernel_options",{},'<<inherit>>',"Kernel Options",True,"Ex: selinux=permissive",0,"dict"],
+ ["kernel_options_post",{},'<<inherit>>',"Kernel Options (Post Install)",True,"Ex: clocksource=pit noapic",0,"dict"],
+ ["ks_meta",{},'<<inherit>>',"Kickstart Metadata",True,"Ex: dog=fang agent=86",0,"dict"],
+ ["repos",[],'<<inherit>>',"Repos",True,"Repos to auto-assign to this profile",[],"list"],
+ ["comment","","","Comment",True,"Free form text description",0,"str"],
+ ["virt_auto_boot","SETTINGS:virt_auto_boot",'<<inherit>>',"Virt Auto Boot",True,"Auto boot this VM?",0,"bool"],
+ ["virt_cpus",1,'<<inherit>>',"Virt CPUs",True,"integer",0,"int"],
+ ["virt_file_size","SETTINGS:default_virt_file_size",'<<inherit>>',"Virt File Size(GB)",True,"",0,"float"],
+ ["virt_ram","SETTINGS:default_virt_ram",'<<inherit>>',"Virt RAM (MB)",True,"",0,"int"],
+ ["depth",1,1,"",False,"",0,"int"],
+ ["virt_type","SETTINGS:default_virt_type",'<<inherit>>',"Virt Type",True,"Virtualization technology to use",["xenpv","xenfv","qemu", "vmware"],"str"],
+ ["virt_path","",'<<inherit>>',"Virt Path",True,"Ex: /directory OR VolGroup00",0,"str"],
+ ["virt_bridge","SETTINGS:default_virt_bridge",'<<inherit>>',"Virt Bridge",True,"",0,"str"],
+ ["dhcp_tag","default",'<<inherit>>',"DHCP Tag",True,"See manpage or leave blank",0,"str"],
+ ["parent",'','',"",False,"",0,"str"],
+ ["server","<<inherit>>",'<<inherit>>',"Server Override",True,"See manpage or leave blank",0,"str"],
+ ["ctime",0,0,"",False,"",0,"int"],
+ ["mtime",0,0,"",False,"",0,"int"],
+ ["name_servers","SETTINGS:default_name_servers",[],"Name Servers",True,"space delimited",0,"list"],
+ ["name_servers_search","SETTINGS:default_name_servers_search",[],"Name Servers Search Path",True,"space delimited",0,"list"],
+ ["mgmt_classes",[],'<<inherit>>',"Management Classes",True,"For external configuration management",0,"list"],
+ ["template_files",{},'<<inherit>>',"Template Files",True,"File mappings for built-in config management",0,"dict"],
+ ["redhat_management_key","<<inherit>>","<<inherit>>","Red Hat Management Key",True,"Registration key for RHN, Spacewalk, or Satellite",0,"str"],
+ ["redhat_management_server","<<inherit>>","<<inherit>>","Red Hat Management Server",True,"Address of Spacewalk or Satellite Server",0,"str"]
]
class Profile(item.Item):
diff --git a/cobbler/item_repo.py b/cobbler/item_repo.py
index 79d6459d..b8fe63ce 100644
--- a/cobbler/item_repo.py
+++ b/cobbler/item_repo.py
@@ -30,25 +30,25 @@ import codes
# this datastructure is described in great detail in item_distro.py -- read the comments there.
FIELDS = [
- ["arch","",0,"Arch",True,"ex: i386, x86_64",['i386','x86_64','ia64','ppc','s390']],
- ["breed","",0,"Breed",True,"",codes.VALID_REPO_BREEDS],
- ["comment","",0,"Comment",True,"Free form text description",0],
- ["ctime",0,0,"",False,"",0],
- ["depth",2,0,"",False,"",0],
- ["keep_updated",True,0,"Keep Updated",True,"Update this repo on next 'cobbler reposync'?",0],
- ["mirror",None,0,"Mirror",True,"Address of yum or rsync repo to mirror",0],
- ["mtime",0,0,"",False,"",0],
- ["name","",0,"Name",True,"Ex: f10-i386-updates",0],
- ["owners","SETTINGS:default_ownership",0,"Owners",True,"Owners list for authz_ownership (space delimited)",[]],
- ["parent",None,0,"",False,"",0],
- ["rpm_list",[],0,"RPM List",True,"Mirror just these RPMs (yum only)",0],
+ ["arch","",0,"Arch",True,"ex: i386, x86_64",['i386','x86_64','ia64','ppc','s390'],"str"],
+ ["breed","",0,"Breed",True,"",codes.VALID_REPO_BREEDS,"str"],
+ ["comment","",0,"Comment",True,"Free form text description",0,"str"],
+ ["ctime",0,0,"",False,"",0,"float"],
+ ["depth",2,0,"",False,"",0,"float"],
+ ["keep_updated",True,0,"Keep Updated",True,"Update this repo on next 'cobbler reposync'?",0,"bool"],
+ ["mirror",None,0,"Mirror",True,"Address of yum or rsync repo to mirror",0,"str"],
+ ["mtime",0,0,"",False,"",0,"float"],
+ ["name","",0,"Name",True,"Ex: f10-i386-updates",0,"str"],
+ ["owners","SETTINGS:default_ownership",0,"Owners",True,"Owners list for authz_ownership (space delimited)",[],"list"],
+ ["parent",None,0,"",False,"",0,"str"],
+ ["rpm_list",[],0,"RPM List",True,"Mirror just these RPMs (yum only)",0,"list"],
# ["os_version","",0,"OS Version",True,"ex: rhel4"],
- ["uid",None,0,"",False,"",0],
- ["createrepo_flags",'<<inherit>>',0,"Createrepo Flags",True,"Flags to use with createrepo",0],
- ["environment",{},0,"Environment Variables",True,"Use these environment variables during commands (key=value, space delimited)",0],
- ["mirror_locally",True,0,"Mirror locally",True,"Copy files or just reference the repo externally?",0],
- ["priority",99,0,"Priority",True,"Value for yum priorities plugin, if installed",0],
- ["yumopts",{},0,"Yum Options",True,"Options to write to yum config file",0]
+ ["uid",None,0,"",False,"",0,"str"],
+ ["createrepo_flags",'<<inherit>>',0,"Createrepo Flags",True,"Flags to use with createrepo",0,"dict"],
+ ["environment",{},0,"Environment Variables",True,"Use these environment variables during commands (key=value, space delimited)",0,"dict"],
+ ["mirror_locally",True,0,"Mirror locally",True,"Copy files or just reference the repo externally?",0,"bool"],
+ ["priority",99,0,"Priority",True,"Value for yum priorities plugin, if installed",0,"int"],
+ ["yumopts",{},0,"Yum Options",True,"Options to write to yum config file",0,"dict"]
]
class Repo(item.Item):
diff --git a/cobbler/item_system.py b/cobbler/item_system.py
index 33f3d850..419399af 100644
--- a/cobbler/item_system.py
+++ b/cobbler/item_system.py
@@ -29,57 +29,53 @@ from utils import _
# this datastructure is described in great detail in item_distro.py -- read the comments there.
FIELDS = [
- ["name","",0,"Name",True,"Ex: vanhalen.example.org",0],
- ["uid","",0,"",False,"",0],
- ["owners","SETTINGS:default_ownership",0,"Owners",True,"Owners list for authz_ownership (space delimited)",0],
- ["profile",None,0,"Profile",True,"Parent profile",[]],
- ["image",None,0,"Image",True,"Parent image (if not a profile)",0],
- ["kernel_options",{},0,"Kernel Options",True,"Ex: selinux=permissive",0],
- ["kernel_options_post",{},0,"Kernel Options (Post Install)",True,"Ex: clocksource=pit noapic",0],
- ["ks_meta",{},0,"Kickstart Metadata",True,"Ex: dog=fang agent=86",0],
- ["netboot_enabled",True,0,"Netboot Enabled",True,"PXE (re)install this machine at next boot?",0],
- ["kickstart","<<inherit>>",0,"Kickstart",True,"Path to kickstart template",0],
- ["comment","",0,"Comment",True,"Free form text description",0],
- ["depth",2,0,"",False,"",0],
- ["server","<<inherit>>",0,"Server Override",True,"See manpage or leave blank",0],
- ["virt_path","<<inherit>>",0,"Virt Path",True,"Ex: /directory or VolGroup00",0],
- ["virt_type","<<inherit>>",0,"Virt Type",True,"Virtualization technology to use",["xenpv","xenfv","qemu","vmware"]],
- ["virt_cpus","<<inherit>>",0,"Virt CPUs",True,"",0],
- ["virt_file_size","<<inherit>>",0,"Virt File Size(GB)",True,"",0],
- ["virt_ram","<<inherit>>",0,"Virt RAM (MB)",True,"",0],
- ["virt_auto_boot","<<inherit>>",0,"Virt Auto Boot",True,"Auto boot this VM?",0],
-# from the deployment feature, no longer in the 2.0 release
-# ["virt_host","",0,"Virt Host",True,"What physical host was this VM installed on?",0],
-# ["virt_group","",0,"Virt Group",True,"To what physical group does this host belong?",0],
-# ["virt_guests",[],0,"Virt Guests",True,"What virtual guests does this host host?",0],
- ["ctime",0,0,"",False,"",0],
- ["mtime",0,0,"",False,"",0],
- ["power_type","SETTINGS:power_management_default_type",0,"Power Management Type",True,"",utils.get_power_types()],
- ["power_address","",0,"Power Management Address",True,"Ex: power-device.example.org",0],
- ["power_user","",0,"Power Username ",True,"",0],
- ["power_pass","",0,"Power Password",True,"",0],
- ["power_id","",0,"Power ID",True,"Usually a plug number or blade name, if power type requires it",0],
- ["hostname","",0,"Hostname",True,"",0],
- ["gateway","",0,"Gateway",True,"",0],
- ["name_servers",[],0,"Name Servers",True,"space delimited",0],
- ["name_servers_search",[],0,"Name Servers Search Path",True,"space delimited",0],
- ["network_widget_a","",0,"Add Interface",True,"",0], # not a real field, a marker for the web app
- ["network_widget_b","",0,"Edit Interface",True,"",0], # not a real field, a marker for the web app
- ["*mac_address","",0,"MAC Address",True,"",0],
- ["*ip_address","",0,"IP Address",True,"",0],
- ["*bonding","na",0,"Bonding Mode",True,"",["na","master","slave"]],
- ["*bonding_master","",0,"Bonding Master",True,"",0],
- ["*bonding_opts","",0,"Bonding Opts",True,"",0],
- ["*static",False,0,"Static",True,"Is this interface static?",0],
- ["*subnet","",0,"Subnet",True,"",0],
- ["*dhcp_tag","",0,"DHCP Tag",True,"",0],
- ["*dns_name","",0,"DNS Name",True,"",0],
- ["*static_routes",[],0,"Static Routes",True,"",0],
- ["*virt_bridge","",0,"Virt Bridge",True,"",0],
- ["mgmt_classes",[],0,"Management Classes",True,"For external config management",0],
- ["template_files",{},0,"Template Files",True,"File mappings for built-in configuration management",0],
- ["redhat_management_key","<<inherit>>",0,"Red Hat Management Key",True,"Registration key for RHN, Satellite, or Spacewalk",0],
- ["redhat_management_server","<<inherit>>",0,"Red Hat Management Server",True,"Address of Satellite or Spacewalk Server",0],
+ ["name","",0,"Name",True,"Ex: vanhalen.example.org",0,"str"],
+ ["uid","",0,"",False,"",0,"str"],
+ ["owners","SETTINGS:default_ownership",0,"Owners",True,"Owners list for authz_ownership (space delimited)",0,"list"],
+ ["profile",None,0,"Profile",True,"Parent profile",[],"str"],
+ ["image",None,0,"Image",True,"Parent image (if not a profile)",0,"str"],
+ ["kernel_options",{},0,"Kernel Options",True,"Ex: selinux=permissive",0,"dict"],
+ ["kernel_options_post",{},0,"Kernel Options (Post Install)",True,"Ex: clocksource=pit noapic",0,"dict"],
+ ["ks_meta",{},0,"Kickstart Metadata",True,"Ex: dog=fang agent=86",0,"dict"],
+ ["netboot_enabled",True,0,"Netboot Enabled",True,"PXE (re)install this machine at next boot?",0,"bool"],
+ ["kickstart","<<inherit>>",0,"Kickstart",True,"Path to kickstart template",0,"str"],
+ ["comment","",0,"Comment",True,"Free form text description",0,"str"],
+ ["depth",2,0,"",False,"",0,"int"],
+ ["server","<<inherit>>",0,"Server Override",True,"See manpage or leave blank",0,"str"],
+ ["virt_path","<<inherit>>",0,"Virt Path",True,"Ex: /directory or VolGroup00",0,"str"],
+ ["virt_type","<<inherit>>",0,"Virt Type",True,"Virtualization technology to use",["xenpv","xenfv","qemu","vmware"],"str"],
+ ["virt_cpus","<<inherit>>",0,"Virt CPUs",True,"",0,"int"],
+ ["virt_file_size","<<inherit>>",0,"Virt File Size(GB)",True,"",0,"float"],
+ ["virt_ram","<<inherit>>",0,"Virt RAM (MB)",True,"",0,"int"],
+ ["virt_auto_boot","<<inherit>>",0,"Virt Auto Boot",True,"Auto boot this VM?",0,"bool"],
+ ["ctime",0,0,"",False,"",0,"float"],
+ ["mtime",0,0,"",False,"",0,"float"],
+ ["power_type","SETTINGS:power_management_default_type",0,"Power Management Type",True,"",utils.get_power_types(),"str"],
+ ["power_address","",0,"Power Management Address",True,"Ex: power-device.example.org",0,"str"],
+ ["power_user","",0,"Power Username ",True,"",0,"str"],
+ ["power_pass","",0,"Power Password",True,"",0,"str"],
+ ["power_id","",0,"Power ID",True,"Usually a plug number or blade name, if power type requires it",0,"str"],
+ ["hostname","",0,"Hostname",True,"",0,"str"],
+ ["gateway","",0,"Gateway",True,"",0,"str"],
+ ["name_servers",[],0,"Name Servers",True,"space delimited",0,"list"],
+ ["name_servers_search",[],0,"Name Servers Search Path",True,"space delimited",0,"list"],
+ ["network_widget_a","",0,"Add Interface",True,"",0,"str"], # not a real field, a marker for the web app
+ ["network_widget_b","",0,"Edit Interface",True,"",0,"str"], # not a real field, a marker for the web app
+ ["*mac_address","",0,"MAC Address",True,"",0,"str"],
+ ["*ip_address","",0,"IP Address",True,"",0,"str"],
+ ["*bonding","na",0,"Bonding Mode",True,"",["na","master","slave"],"str"],
+ ["*bonding_master","",0,"Bonding Master",True,"",0,"str"],
+ ["*bonding_opts","",0,"Bonding Opts",True,"",0,"str"],
+ ["*static",False,0,"Static",True,"Is this interface static?",0,"bool"],
+ ["*subnet","",0,"Subnet",True,"",0,"str"],
+ ["*dhcp_tag","",0,"DHCP Tag",True,"",0,"str"],
+ ["*dns_name","",0,"DNS Name",True,"",0,"str"],
+ ["*static_routes",[],0,"Static Routes",True,"",0,"list"],
+ ["*virt_bridge","",0,"Virt Bridge",True,"",0,"str"],
+ ["mgmt_classes",[],0,"Management Classes",True,"For external config management",0,"list"],
+ ["template_files",{},0,"Template Files",True,"File mappings for built-in configuration management",0,"dict"],
+ ["redhat_management_key","<<inherit>>",0,"Red Hat Management Key",True,"Registration key for RHN, Satellite, or Spacewalk",0,"str"],
+ ["redhat_management_server","<<inherit>>",0,"Red Hat Management Server",True,"Address of Satellite or Spacewalk Server",0,"str"],
]
class System(item.Item):
diff --git a/cobbler4j/build.py b/cobbler4j/build.py
index 40292aef..c010f44a 100644
--- a/cobbler4j/build.py
+++ b/cobbler4j/build.py
@@ -81,7 +81,7 @@ def template_to_disk(infile, vars, outfile):
errorCatcher="Echo",
searchList=[vars]
)
- out_data = str(template)
+ out_data = template.respond()
fd = open(outfile, "w+")
fd.write(out_data)
fd.close()
diff --git a/cobbler4j/header.tmpl b/cobbler4j/header.tmpl
deleted file mode 100644
index 21b50ced..00000000
--- a/cobbler4j/header.tmpl
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Copyright (c) 2009 Red Hat, Inc.
- *
- * This software is licensed to you under the GNU General Public License,
- * version 2 (GPLv2). There is NO WARRANTY for this software, express or
- * implied, including the implied warranties of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
- * along with this software; if not, see
- * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
- *
- * Red Hat trademarks are not licensed under GPLv2. No permission is
- * granted to use or replicate Red Hat trademarks that are incorporated
- * in this software or its documentation.
- */
-
-package org.fedorahosted.cobbler;
-
-import org.apache.commons.lang.StringUtils;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-
diff --git a/cobbler4j/object_base.tmpl b/cobbler4j/object_base.tmpl
index 389e3766..1e5a9c98 100644
--- a/cobbler4j/object_base.tmpl
+++ b/cobbler4j/object_base.tmpl
@@ -1,4 +1,28 @@
-#include header.tmpl
+/**
+ * Copyright (c) 2009 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+
+package org.fedorahosted.cobbler;
+
+import org.apache.commons.lang.StringUtils;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author paji (original for spacewalk)
@@ -15,56 +39,65 @@ public class $ObjectType extends CobblerObject {
#set $field_name = $val[0]
#set $field_default = $val[1]
#set $field_default_sub = $val[2]
- #set $field_hidden = $val[3]
- #set $field_tooltip = $val[4]
- #set $field_editable = $val[5]
- #set $values = $val[6]
+ #set $field_display_name = $val[3]
+ #set $field_hidden = $val[4]
+ #set $field_tooltip = $val[5]
+ #set $field_choices = $val[6]
+ #set $field_type = $val[7]
#set $field_tokens = $field_name.split("_")
#set $up_var_name = ""
- #set $ft_ctr = 0
#for $ft in $field_tokens
- #if $ft_ctr == 0
- #set $up_var_name = $up_var_name + $ft
- #else
- #set $up_var_name = $up_var_name + $ft.upper()
- #endif
- #set $ft_ctr = $ft_ctr + 1
+ #set $up_var_name = $up_var_name + $ft.title()
#end for
## // FIXME: need to infer the types and template stuff out
## // magically
#set $var_type = "String"
- #if $editable == True and $hidden == False
+ #if $field_type == "str"
+ #set $var_type = "String"
+ #elif $field_type == "int"
+ #set $var_type = "Integer"
+ #elif $field_type == "float"
+ #set $var_type = "Double"
+ #elif $field_type == "list"
+ #set $var_type = "List <String>"
+ #elif $field_type == "dict"
+ #set $var_type = "Map <String, String>"
+ #elif $field_type == "bool"
+ #set $var_type = "Boolean"
+ #end if
+
+ #if $field_hidden != "True"
+
/**
- * %{tooltip}s
+ * Set the value for field: $field_name
+ * ${field_tooltip}s
* @param input input value
*/
public void set${up_var_name}(${var_type} input) {
// FIXME: type mangling
- modify($field_name, input);
+ modify("${field_name}", input);
}
-
#end if
-
- #if $hidden == False
- public void get$up_var_name() {
+
+ /**
+ * Retrieve the value for field: $field_name
+ #if $field_tooltip != ""
+ * comments: ${field_tooltip}
+ #end if
+ * @param input input value
+ * @return the value of the field
+ */
+ public void get${up_var_name}() {
// FIXME: type mangling
// FIXME: implement
- access($field_name);
+ return (${var_type})access("${field_name}");
}
- #end if
-
#end for
- // FIXME: superclass this stuff
-
- public static String getGetFunctionName() {
- return "get_$ObjectTypeLower"
- }
-
- public static String getFindFunctionName() {
- return "find_$ObjectTypeLower"
+ public static String getObjectType() {
+ return "$ObjectTypeLower"
}
//public static $ObjectType lookupById(CobblerConnection client, String id) {
@@ -72,14 +105,14 @@ public class $ObjectType extends CobblerObject {
// id, "find_$ObjectTypeLower"));
//}
- private static $ObjectType handleLookup(CobblerConnection client, Map map) {
- if (map != null) {
- $ObjectType obj = new ${ObjectType}(client);
- obj.dataMap = map;
- return obj;
- }
- return null;
- }
+ //private static $ObjectType handleLookup(CobblerConnection client, Map map) {
+ // if (map != null) {
+ // $ObjectType obj = new ${ObjectType}(client);
+ // obj.dataMap = map;
+ // return obj;
+ // }
+ // return null;
+ //}
/**
* Returns a list of available $ObjectType objects
@@ -92,54 +125,48 @@ public class $ObjectType extends CobblerObject {
connection.invokeMethod("get_${ObjectTypeLower}s");
for (Map<String, Object> map : rawList) {
- $ObjectType obj = new $ObjectType(connection);
+ $ObjectType obj = new ${ObjectType}(connection);
obj.dataMap = obj;
list.add(obj);
}
return list;
}
- @Override
- protected String invokeGetHandle() {
- return (String)client.invokeTokenMethod("get_${ObjectTypeLower}_handle", this.getName());
- }
+ //protected String invokeGetHandle() {
+ // return (String)client.invokeTokenMethod("get_${ObjectTypeLower}_handle", this.getName());
+ //}
- @Override
- protected void invokeModify(String key, Object value) {
- client.invokeTokenMethod("modify_${ObjectTypeLower}", getHandle(), key, value);
- }
+ //protected void invokeModify(String key, Object value) {
+ // client.invokeTokenMethod("modify_${ObjectTypeLower}", getHandle(), key, value);
+ //}
/**
* Save the $ObjectType
*/
- @Override
- protected void invokeSave() {
- client.invokeTokenMethod("save_${ObjectTypeLower}", getHandle());
- }
+ //protected void invokeSave() {
+ // client.invokeTokenMethod("save_${ObjectTypeLower}", getHandle());
+ //}
/**
* Remove the $ObjectType
*/
- @Override
- protected boolean invokeRemove() {
- return (Boolean) client.invokeTokenMethod("remove_${ObjectTypeLower}", getName());
- }
+ //protected boolean invokeRemove() {
+ // return (Boolean) client.invokeTokenMethod("remove_${ObjectTypeLower}", getName());
+ //}
/**
* Rename the $ObjectType
*/
- @Override
- protected void invokeRename(String newName) {
- client.invokeTokenMethod("rename_${ObjectTypeLower}", getHandle(), newName);
- }
+ //protected void invokeRename(String newName) {
+ // client.invokeTokenMethod("rename_${ObjectTypeLower}", getHandle(), newName);
+ //}
/**
* Reloads the $ObjectType
*/
- @Override
- public void reload() {
- $ObjectType obj = lookupById(client, getId());
- map = obj.dataMap;
- }
+ //public void reload() {
+ // $ObjectType obj = lookupById(client, getId());
+ // map = obj.dataMap;
+ //}
}