| 195 | == CPU Class == |
| 196 | |
| 197 | This represents a CPU on a computer. It has the following members: |
| 198 | |
| 199 | {{{type}}}:: |
| 200 | A string indicating the type of CPU. These are not yet standardized, but common formats like "i686" or "amd64" are used. |
| 201 | {{{attribute}}}:: |
| 202 | A list of [TopdlLibrary#AttributeClass Attribute objects] that are attached to the substrate. The list may be empty. |
| 203 | |
| 204 | The constructor takes the member names as named parameters. |
| 205 | |
| 206 | == !OperatingSystem Class == |
| 207 | |
| 208 | This class captures the operating system requirements of a computer. It has the following members: |
| 209 | |
| 210 | {{{name}}}:: |
| 211 | A string naming the operating system required. This is usually the operating system itself, e.g., Linux, FreeBSD, Windows XP. This may be None, indicating no preference or information. |
| 212 | {{{version}}}:: |
| 213 | A string identifying the version of the OS. For integrates systems like FreeBSD this is the system version. For distribution-based systems like Linux, this is the kernel version. See below for distribution versioning. This may be None, indicating no version information or preference. |
| 214 | {{{distribution}}}:: |
| 215 | A string that for operating systems that characterize OS distribution independently of kernel or base system, names the distribution in use, e.g., Ubuntu. This may be None, indicating no information or preference. |
| 216 | {{{distributionversion}}}:: |
| 217 | A string that for operating systems that characterize OS distribution independently of kernel or base system, names the version of the distribution in use, e.g., 12.04 for Ubuntu. This may be None, indicating no information or preference. |
| 218 | |
| 219 | The constructor takes the member names as parameters. Note that all the members may be None, but an empty {{{!OperatingSystem}}} object is not very useful. The flexibility is there to allow specifying an operating system version without a distribution or a distribution without a base version. |
| 220 | |
| 221 | == Storage Class == |
| 222 | |
| 223 | The storage requirements or information for a system. This class characterizes memory or permanent storage. Its members are: |
| 224 | |
| 225 | {{{amount}}}:: |
| 226 | A floating point value indicating the number of megabytes of storage being considered. Values less than 0.000001 are treated as 0. |
| 227 | {{{persistence}}:: |
| 228 | A boolean value indicating whether this is persistent storage, such as a disk or SSD, or volitile such as memory. |
| 229 | {{{attribute}}}:: |
| 230 | A list of [TopdlLibrary#AttributeClass Attribute objects] that are attached to the machine. The list may be empty. |
| 231 | |
| 232 | Currently there is no field for media type. Use attributes. |
| 233 | |
| 234 | The constructor takes the member names as named parameters. |
| 235 | |
| 236 | == Software Class == |
| 237 | |
| 238 | This indicates what software must be installed on a system. Its members are: |
| 239 | |
| 240 | {{{location}}}:: |
| 241 | A string containing a URI from which to install the software, e.g., a file: URI pointing to a tarfile. |
| 242 | {{{install}}}:: |
| 243 | A string containing location in the local file system to base the software install. This may be None, indicating that the software distribution format includes this information, e.g., an rpm or debian software file. |
| 244 | |
| 245 | The constructor takes the member names as named parameters. |
| 246 | |
| 247 | |