diff options
author | Michael DeHaan <mdehaan@redhat.com> | 2009-10-09 12:00:46 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@redhat.com> | 2009-10-09 12:00:46 -0400 |
commit | 6190735c975ce3616b758d2713701fc8c9f04880 (patch) | |
tree | b977daa148a5dec5d3316331e911429edba18009 | |
parent | 0d1cb9883b1867a2ff6d936253f97f131850710f (diff) | |
download | cobbler-6190735c975ce3616b758d2713701fc8c9f04880.tar.gz cobbler-6190735c975ce3616b758d2713701fc8c9f04880.tar.xz cobbler-6190735c975ce3616b758d2713701fc8c9f04880.zip |
Further work on Java code generator.
-rw-r--r-- | cobbler/item_distro.py | 45 | ||||
-rw-r--r-- | cobbler/item_image.py | 44 | ||||
-rw-r--r-- | cobbler/item_profile.py | 60 | ||||
-rw-r--r-- | cobbler/item_repo.py | 36 | ||||
-rw-r--r-- | cobbler/item_system.py | 98 | ||||
-rw-r--r-- | cobbler4j/build.py | 2 | ||||
-rw-r--r-- | cobbler4j/header.tmpl | 26 | ||||
-rw-r--r-- | cobbler4j/object_base.tmpl | 155 |
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; + //} } |