1/**
2 * Copyright 2016 IBM Corp.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *    http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18 * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
19 */
20
21package datatypes
22
23// The SoftLayer_Hardware data type contains general information relating to a single SoftLayer hardware.
24type Hardware struct {
25	Entity
26
27	// The account associated with a piece of hardware.
28	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
29
30	// A hardware's associated [[SoftLayer_Account|account]] id.
31	AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"`
32
33	// A count of a piece of hardware's active physical components.
34	ActiveComponentCount *uint `json:"activeComponentCount,omitempty" xmlrpc:"activeComponentCount,omitempty"`
35
36	// A piece of hardware's active physical components.
37	ActiveComponents []Hardware_Component `json:"activeComponents,omitempty" xmlrpc:"activeComponents,omitempty"`
38
39	// A piece of hardware's active network monitoring incidents.
40	ActiveNetworkMonitorIncident []Network_Monitor_Version1_Incident `json:"activeNetworkMonitorIncident,omitempty" xmlrpc:"activeNetworkMonitorIncident,omitempty"`
41
42	// A count of a piece of hardware's active network monitoring incidents.
43	ActiveNetworkMonitorIncidentCount *uint `json:"activeNetworkMonitorIncidentCount,omitempty" xmlrpc:"activeNetworkMonitorIncidentCount,omitempty"`
44
45	// A count of
46	AllPowerComponentCount *uint `json:"allPowerComponentCount,omitempty" xmlrpc:"allPowerComponentCount,omitempty"`
47
48	// no documentation yet
49	AllPowerComponents []Hardware_Power_Component `json:"allPowerComponents,omitempty" xmlrpc:"allPowerComponents,omitempty"`
50
51	// The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
52	AllowedHost *Network_Storage_Allowed_Host `json:"allowedHost,omitempty" xmlrpc:"allowedHost,omitempty"`
53
54	// The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
55	AllowedNetworkStorage []Network_Storage `json:"allowedNetworkStorage,omitempty" xmlrpc:"allowedNetworkStorage,omitempty"`
56
57	// A count of the SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
58	AllowedNetworkStorageCount *uint `json:"allowedNetworkStorageCount,omitempty" xmlrpc:"allowedNetworkStorageCount,omitempty"`
59
60	// A count of the SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
61	AllowedNetworkStorageReplicaCount *uint `json:"allowedNetworkStorageReplicaCount,omitempty" xmlrpc:"allowedNetworkStorageReplicaCount,omitempty"`
62
63	// The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
64	AllowedNetworkStorageReplicas []Network_Storage `json:"allowedNetworkStorageReplicas,omitempty" xmlrpc:"allowedNetworkStorageReplicas,omitempty"`
65
66	// Information regarding an antivirus/spyware software component object.
67	AntivirusSpywareSoftwareComponent *Software_Component `json:"antivirusSpywareSoftwareComponent,omitempty" xmlrpc:"antivirusSpywareSoftwareComponent,omitempty"`
68
69	// A count of information regarding a piece of hardware's specific attributes.
70	AttributeCount *uint `json:"attributeCount,omitempty" xmlrpc:"attributeCount,omitempty"`
71
72	// Information regarding a piece of hardware's specific attributes.
73	Attributes []Hardware_Attribute `json:"attributes,omitempty" xmlrpc:"attributes,omitempty"`
74
75	// The average daily public bandwidth usage for the current billing cycle.
76	AverageDailyPublicBandwidthUsage *Float64 `json:"averageDailyPublicBandwidthUsage,omitempty" xmlrpc:"averageDailyPublicBandwidthUsage,omitempty"`
77
78	// A count of a piece of hardware's back-end or private network components.
79	BackendNetworkComponentCount *uint `json:"backendNetworkComponentCount,omitempty" xmlrpc:"backendNetworkComponentCount,omitempty"`
80
81	// A piece of hardware's back-end or private network components.
82	BackendNetworkComponents []Network_Component `json:"backendNetworkComponents,omitempty" xmlrpc:"backendNetworkComponents,omitempty"`
83
84	// A count of a hardware's backend or private router.
85	BackendRouterCount *uint `json:"backendRouterCount,omitempty" xmlrpc:"backendRouterCount,omitempty"`
86
87	// A hardware's backend or private router.
88	BackendRouters []Hardware `json:"backendRouters,omitempty" xmlrpc:"backendRouters,omitempty"`
89
90	// A hardware's allotted bandwidth (measured in GB).
91	BandwidthAllocation *Float64 `json:"bandwidthAllocation,omitempty" xmlrpc:"bandwidthAllocation,omitempty"`
92
93	// A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
94	BandwidthAllotmentDetail *Network_Bandwidth_Version1_Allotment_Detail `json:"bandwidthAllotmentDetail,omitempty" xmlrpc:"bandwidthAllotmentDetail,omitempty"`
95
96	// When true, this flag specifies that a hardware is Bare Metal Server. Bare Metal Servers are physical bare metal servers that are billed with the same options as Virtual Servers, with monthly and hourly rates.  Bare Metal instances are ordered based on processor core count and ram amount.
97	BareMetalInstanceFlag *int `json:"bareMetalInstanceFlag,omitempty" xmlrpc:"bareMetalInstanceFlag,omitempty"`
98
99	// A count of information regarding a piece of hardware's benchmark certifications.
100	BenchmarkCertificationCount *uint `json:"benchmarkCertificationCount,omitempty" xmlrpc:"benchmarkCertificationCount,omitempty"`
101
102	// Information regarding a piece of hardware's benchmark certifications.
103	BenchmarkCertifications []Hardware_Benchmark_Certification `json:"benchmarkCertifications,omitempty" xmlrpc:"benchmarkCertifications,omitempty"`
104
105	// Information regarding the billing item for a server.
106	BillingItem *Billing_Item_Hardware `json:"billingItem,omitempty" xmlrpc:"billingItem,omitempty"`
107
108	// A flag indicating that a billing item exists.
109	BillingItemFlag *bool `json:"billingItemFlag,omitempty" xmlrpc:"billingItemFlag,omitempty"`
110
111	// Determines whether the hardware is ineligible for cancellation because it is disconnected.
112	BlockCancelBecauseDisconnectedFlag *bool `json:"blockCancelBecauseDisconnectedFlag,omitempty" xmlrpc:"blockCancelBecauseDisconnectedFlag,omitempty"`
113
114	// Status indicating whether or not a piece of hardware has business continuance insurance.
115	BusinessContinuanceInsuranceFlag *bool `json:"businessContinuanceInsuranceFlag,omitempty" xmlrpc:"businessContinuanceInsuranceFlag,omitempty"`
116
117	// Child hardware.
118	ChildrenHardware []Hardware `json:"childrenHardware,omitempty" xmlrpc:"childrenHardware,omitempty"`
119
120	// A count of child hardware.
121	ChildrenHardwareCount *uint `json:"childrenHardwareCount,omitempty" xmlrpc:"childrenHardwareCount,omitempty"`
122
123	// A count of a piece of hardware's components.
124	ComponentCount *uint `json:"componentCount,omitempty" xmlrpc:"componentCount,omitempty"`
125
126	// A piece of hardware's components.
127	Components []Hardware_Component `json:"components,omitempty" xmlrpc:"components,omitempty"`
128
129	// A continuous data protection/server backup software component object.
130	ContinuousDataProtectionSoftwareComponent *Software_Component `json:"continuousDataProtectionSoftwareComponent,omitempty" xmlrpc:"continuousDataProtectionSoftwareComponent,omitempty"`
131
132	// The current billable public outbound bandwidth for this hardware for the current billing cycle.
133	CurrentBillableBandwidthUsage *Float64 `json:"currentBillableBandwidthUsage,omitempty" xmlrpc:"currentBillableBandwidthUsage,omitempty"`
134
135	// Information regarding the datacenter in which a piece of hardware resides.
136	Datacenter *Location `json:"datacenter,omitempty" xmlrpc:"datacenter,omitempty"`
137
138	// The name of the datacenter in which a piece of hardware resides.
139	DatacenterName *string `json:"datacenterName,omitempty" xmlrpc:"datacenterName,omitempty"`
140
141	// Number of day(s) a server have been in spare pool.
142	DaysInSparePool *int `json:"daysInSparePool,omitempty" xmlrpc:"daysInSparePool,omitempty"`
143
144	// A piece of hardware's local network domain name.
145	Domain *string `json:"domain,omitempty" xmlrpc:"domain,omitempty"`
146
147	// All hardware that has uplink network connections to a piece of hardware.
148	DownlinkHardware []Hardware `json:"downlinkHardware,omitempty" xmlrpc:"downlinkHardware,omitempty"`
149
150	// A count of all hardware that has uplink network connections to a piece of hardware.
151	DownlinkHardwareCount *uint `json:"downlinkHardwareCount,omitempty" xmlrpc:"downlinkHardwareCount,omitempty"`
152
153	// All hardware that has uplink network connections to a piece of hardware.
154	DownlinkNetworkHardware []Hardware `json:"downlinkNetworkHardware,omitempty" xmlrpc:"downlinkNetworkHardware,omitempty"`
155
156	// A count of all hardware that has uplink network connections to a piece of hardware.
157	DownlinkNetworkHardwareCount *uint `json:"downlinkNetworkHardwareCount,omitempty" xmlrpc:"downlinkNetworkHardwareCount,omitempty"`
158
159	// A count of information regarding all servers attached to a piece of network hardware.
160	DownlinkServerCount *uint `json:"downlinkServerCount,omitempty" xmlrpc:"downlinkServerCount,omitempty"`
161
162	// Information regarding all servers attached to a piece of network hardware.
163	DownlinkServers []Hardware `json:"downlinkServers,omitempty" xmlrpc:"downlinkServers,omitempty"`
164
165	// A count of information regarding all virtual guests attached to a piece of network hardware.
166	DownlinkVirtualGuestCount *uint `json:"downlinkVirtualGuestCount,omitempty" xmlrpc:"downlinkVirtualGuestCount,omitempty"`
167
168	// Information regarding all virtual guests attached to a piece of network hardware.
169	DownlinkVirtualGuests []Virtual_Guest `json:"downlinkVirtualGuests,omitempty" xmlrpc:"downlinkVirtualGuests,omitempty"`
170
171	// A count of all hardware downstream from a network device.
172	DownstreamHardwareBindingCount *uint `json:"downstreamHardwareBindingCount,omitempty" xmlrpc:"downstreamHardwareBindingCount,omitempty"`
173
174	// All hardware downstream from a network device.
175	DownstreamHardwareBindings []Network_Component_Uplink_Hardware `json:"downstreamHardwareBindings,omitempty" xmlrpc:"downstreamHardwareBindings,omitempty"`
176
177	// All network hardware downstream from the selected piece of hardware.
178	DownstreamNetworkHardware []Hardware `json:"downstreamNetworkHardware,omitempty" xmlrpc:"downstreamNetworkHardware,omitempty"`
179
180	// A count of all network hardware downstream from the selected piece of hardware.
181	DownstreamNetworkHardwareCount *uint `json:"downstreamNetworkHardwareCount,omitempty" xmlrpc:"downstreamNetworkHardwareCount,omitempty"`
182
183	// A count of all network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
184	DownstreamNetworkHardwareWithIncidentCount *uint `json:"downstreamNetworkHardwareWithIncidentCount,omitempty" xmlrpc:"downstreamNetworkHardwareWithIncidentCount,omitempty"`
185
186	// All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
187	DownstreamNetworkHardwareWithIncidents []Hardware `json:"downstreamNetworkHardwareWithIncidents,omitempty" xmlrpc:"downstreamNetworkHardwareWithIncidents,omitempty"`
188
189	// A count of information regarding all servers attached downstream to a piece of network hardware.
190	DownstreamServerCount *uint `json:"downstreamServerCount,omitempty" xmlrpc:"downstreamServerCount,omitempty"`
191
192	// Information regarding all servers attached downstream to a piece of network hardware.
193	DownstreamServers []Hardware `json:"downstreamServers,omitempty" xmlrpc:"downstreamServers,omitempty"`
194
195	// A count of information regarding all virtual guests attached to a piece of network hardware.
196	DownstreamVirtualGuestCount *uint `json:"downstreamVirtualGuestCount,omitempty" xmlrpc:"downstreamVirtualGuestCount,omitempty"`
197
198	// Information regarding all virtual guests attached to a piece of network hardware.
199	DownstreamVirtualGuests []Virtual_Guest `json:"downstreamVirtualGuests,omitempty" xmlrpc:"downstreamVirtualGuests,omitempty"`
200
201	// A count of the drive controllers contained within a piece of hardware.
202	DriveControllerCount *uint `json:"driveControllerCount,omitempty" xmlrpc:"driveControllerCount,omitempty"`
203
204	// The drive controllers contained within a piece of hardware.
205	DriveControllers []Hardware_Component `json:"driveControllers,omitempty" xmlrpc:"driveControllers,omitempty"`
206
207	// Information regarding a piece of hardware's associated EVault network storage service account.
208	EvaultNetworkStorage []Network_Storage `json:"evaultNetworkStorage,omitempty" xmlrpc:"evaultNetworkStorage,omitempty"`
209
210	// A count of information regarding a piece of hardware's associated EVault network storage service account.
211	EvaultNetworkStorageCount *uint `json:"evaultNetworkStorageCount,omitempty" xmlrpc:"evaultNetworkStorageCount,omitempty"`
212
213	// Information regarding a piece of hardware's firewall services.
214	FirewallServiceComponent *Network_Component_Firewall `json:"firewallServiceComponent,omitempty" xmlrpc:"firewallServiceComponent,omitempty"`
215
216	// Defines the fixed components in a fixed configuration bare metal server.
217	FixedConfigurationPreset *Product_Package_Preset `json:"fixedConfigurationPreset,omitempty" xmlrpc:"fixedConfigurationPreset,omitempty"`
218
219	// A count of a piece of hardware's front-end or public network components.
220	FrontendNetworkComponentCount *uint `json:"frontendNetworkComponentCount,omitempty" xmlrpc:"frontendNetworkComponentCount,omitempty"`
221
222	// A piece of hardware's front-end or public network components.
223	FrontendNetworkComponents []Network_Component `json:"frontendNetworkComponents,omitempty" xmlrpc:"frontendNetworkComponents,omitempty"`
224
225	// A count of a hardware's frontend or public router.
226	FrontendRouterCount *uint `json:"frontendRouterCount,omitempty" xmlrpc:"frontendRouterCount,omitempty"`
227
228	// A hardware's frontend or public router.
229	FrontendRouters []Hardware `json:"frontendRouters,omitempty" xmlrpc:"frontendRouters,omitempty"`
230
231	// A name reflecting the hostname and domain of the hardware. This is created from the combined values of the hardware's hostname and domain name automatically, and thus should not be edited directly.
232	FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty" xmlrpc:"fullyQualifiedDomainName,omitempty"`
233
234	// A hardware's universally unique identifier.
235	GlobalIdentifier *string `json:"globalIdentifier,omitempty" xmlrpc:"globalIdentifier,omitempty"`
236
237	// A count of the hard drives contained within a piece of hardware.
238	HardDriveCount *uint `json:"hardDriveCount,omitempty" xmlrpc:"hardDriveCount,omitempty"`
239
240	// The hard drives contained within a piece of hardware.
241	HardDrives []Hardware_Component `json:"hardDrives,omitempty" xmlrpc:"hardDrives,omitempty"`
242
243	// The chassis that a piece of hardware is housed in.
244	HardwareChassis *Hardware_Chassis `json:"hardwareChassis,omitempty" xmlrpc:"hardwareChassis,omitempty"`
245
246	// A hardware's function.
247	HardwareFunction *Hardware_Function `json:"hardwareFunction,omitempty" xmlrpc:"hardwareFunction,omitempty"`
248
249	// A hardware's function.
250	HardwareFunctionDescription *string `json:"hardwareFunctionDescription,omitempty" xmlrpc:"hardwareFunctionDescription,omitempty"`
251
252	// A hardware's status.
253	HardwareStatus *Hardware_Status `json:"hardwareStatus,omitempty" xmlrpc:"hardwareStatus,omitempty"`
254
255	// A number reflecting the state of a hardware
256	HardwareStatusId *int `json:"hardwareStatusId,omitempty" xmlrpc:"hardwareStatusId,omitempty"`
257
258	// Determine in hardware object has TPM enabled.
259	HasTrustedPlatformModuleBillingItemFlag *bool `json:"hasTrustedPlatformModuleBillingItemFlag,omitempty" xmlrpc:"hasTrustedPlatformModuleBillingItemFlag,omitempty"`
260
261	// Information regarding a host IPS software component object.
262	HostIpsSoftwareComponent *Software_Component `json:"hostIpsSoftwareComponent,omitempty" xmlrpc:"hostIpsSoftwareComponent,omitempty"`
263
264	// A hardware's hostname
265	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
266
267	// A server's hourly billing status.
268	HourlyBillingFlag *bool `json:"hourlyBillingFlag,omitempty" xmlrpc:"hourlyBillingFlag,omitempty"`
269
270	// A hardware's internal identification number
271	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
272
273	// The sum of all the inbound network traffic data for the last 30 days.
274	InboundBandwidthUsage *Float64 `json:"inboundBandwidthUsage,omitempty" xmlrpc:"inboundBandwidthUsage,omitempty"`
275
276	// The total public inbound bandwidth for this hardware for the current billing cycle.
277	InboundPublicBandwidthUsage *Float64 `json:"inboundPublicBandwidthUsage,omitempty" xmlrpc:"inboundPublicBandwidthUsage,omitempty"`
278
279	// Information regarding the last transaction a server performed.
280	LastTransaction *Provisioning_Version1_Transaction `json:"lastTransaction,omitempty" xmlrpc:"lastTransaction,omitempty"`
281
282	// A piece of hardware's latest network monitoring incident.
283	LatestNetworkMonitorIncident *Network_Monitor_Version1_Incident `json:"latestNetworkMonitorIncident,omitempty" xmlrpc:"latestNetworkMonitorIncident,omitempty"`
284
285	// Where a piece of hardware is located within SoftLayer's location hierarchy.
286	Location *Location `json:"location,omitempty" xmlrpc:"location,omitempty"`
287
288	// no documentation yet
289	LocationPathString *string `json:"locationPathString,omitempty" xmlrpc:"locationPathString,omitempty"`
290
291	// Information regarding a lockbox account associated with a server.
292	LockboxNetworkStorage *Network_Storage `json:"lockboxNetworkStorage,omitempty" xmlrpc:"lockboxNetworkStorage,omitempty"`
293
294	// A flag indicating that the hardware is a managed resource.
295	ManagedResourceFlag *bool `json:"managedResourceFlag,omitempty" xmlrpc:"managedResourceFlag,omitempty"`
296
297	// A hardware's serial number that is supplied by the manufacturer.
298	ManufacturerSerialNumber *string `json:"manufacturerSerialNumber,omitempty" xmlrpc:"manufacturerSerialNumber,omitempty"`
299
300	// Information regarding a piece of hardware's memory.
301	Memory []Hardware_Component `json:"memory,omitempty" xmlrpc:"memory,omitempty"`
302
303	// The amount of memory a piece of hardware has, measured in gigabytes.
304	MemoryCapacity *uint `json:"memoryCapacity,omitempty" xmlrpc:"memoryCapacity,omitempty"`
305
306	// A count of information regarding a piece of hardware's memory.
307	MemoryCount *uint `json:"memoryCount,omitempty" xmlrpc:"memoryCount,omitempty"`
308
309	// A piece of hardware's metric tracking object.
310	MetricTrackingObject *Metric_Tracking_Object_HardwareServer `json:"metricTrackingObject,omitempty" xmlrpc:"metricTrackingObject,omitempty"`
311
312	// A count of
313	ModuleCount *uint `json:"moduleCount,omitempty" xmlrpc:"moduleCount,omitempty"`
314
315	// no documentation yet
316	Modules []Hardware_Component `json:"modules,omitempty" xmlrpc:"modules,omitempty"`
317
318	// no documentation yet
319	MonitoringRobot *Monitoring_Robot `json:"monitoringRobot,omitempty" xmlrpc:"monitoringRobot,omitempty"`
320
321	// Information regarding a piece of hardware's network monitoring services.
322	MonitoringServiceComponent *Network_Monitor_Version1_Query_Host_Stratum `json:"monitoringServiceComponent,omitempty" xmlrpc:"monitoringServiceComponent,omitempty"`
323
324	// no documentation yet
325	MonitoringServiceEligibilityFlag *bool `json:"monitoringServiceEligibilityFlag,omitempty" xmlrpc:"monitoringServiceEligibilityFlag,omitempty"`
326
327	// Information regarding a piece of hardware's motherboard.
328	Motherboard *Hardware_Component `json:"motherboard,omitempty" xmlrpc:"motherboard,omitempty"`
329
330	// A count of information regarding a piece of hardware's network cards.
331	NetworkCardCount *uint `json:"networkCardCount,omitempty" xmlrpc:"networkCardCount,omitempty"`
332
333	// Information regarding a piece of hardware's network cards.
334	NetworkCards []Hardware_Component `json:"networkCards,omitempty" xmlrpc:"networkCards,omitempty"`
335
336	// A count of returns a hardware's network components.
337	NetworkComponentCount *uint `json:"networkComponentCount,omitempty" xmlrpc:"networkComponentCount,omitempty"`
338
339	// Returns a hardware's network components.
340	NetworkComponents []Network_Component `json:"networkComponents,omitempty" xmlrpc:"networkComponents,omitempty"`
341
342	// The gateway member if this device is part of a network gateway.
343	NetworkGatewayMember *Network_Gateway_Member `json:"networkGatewayMember,omitempty" xmlrpc:"networkGatewayMember,omitempty"`
344
345	// Whether or not this device is part of a network gateway.
346	NetworkGatewayMemberFlag *bool `json:"networkGatewayMemberFlag,omitempty" xmlrpc:"networkGatewayMemberFlag,omitempty"`
347
348	// A piece of hardware's network management IP address.
349	NetworkManagementIpAddress *string `json:"networkManagementIpAddress,omitempty" xmlrpc:"networkManagementIpAddress,omitempty"`
350
351	// All servers with failed monitoring that are attached downstream to a piece of hardware.
352	NetworkMonitorAttachedDownHardware []Hardware `json:"networkMonitorAttachedDownHardware,omitempty" xmlrpc:"networkMonitorAttachedDownHardware,omitempty"`
353
354	// A count of all servers with failed monitoring that are attached downstream to a piece of hardware.
355	NetworkMonitorAttachedDownHardwareCount *uint `json:"networkMonitorAttachedDownHardwareCount,omitempty" xmlrpc:"networkMonitorAttachedDownHardwareCount,omitempty"`
356
357	// A count of virtual guests that are attached downstream to a hardware that have failed monitoring
358	NetworkMonitorAttachedDownVirtualGuestCount *uint `json:"networkMonitorAttachedDownVirtualGuestCount,omitempty" xmlrpc:"networkMonitorAttachedDownVirtualGuestCount,omitempty"`
359
360	// Virtual guests that are attached downstream to a hardware that have failed monitoring
361	NetworkMonitorAttachedDownVirtualGuests []Virtual_Guest `json:"networkMonitorAttachedDownVirtualGuests,omitempty" xmlrpc:"networkMonitorAttachedDownVirtualGuests,omitempty"`
362
363	// A count of information regarding a piece of hardware's network monitors.
364	NetworkMonitorCount *uint `json:"networkMonitorCount,omitempty" xmlrpc:"networkMonitorCount,omitempty"`
365
366	// A count of the status of all of a piece of hardware's network monitoring incidents.
367	NetworkMonitorIncidentCount *uint `json:"networkMonitorIncidentCount,omitempty" xmlrpc:"networkMonitorIncidentCount,omitempty"`
368
369	// The status of all of a piece of hardware's network monitoring incidents.
370	NetworkMonitorIncidents []Network_Monitor_Version1_Incident `json:"networkMonitorIncidents,omitempty" xmlrpc:"networkMonitorIncidents,omitempty"`
371
372	// Information regarding a piece of hardware's network monitors.
373	NetworkMonitors []Network_Monitor_Version1_Query_Host `json:"networkMonitors,omitempty" xmlrpc:"networkMonitors,omitempty"`
374
375	// The value of a hardware's network status attribute.
376	NetworkStatus *string `json:"networkStatus,omitempty" xmlrpc:"networkStatus,omitempty"`
377
378	// The hardware's related network status attribute.
379	NetworkStatusAttribute *Hardware_Attribute `json:"networkStatusAttribute,omitempty" xmlrpc:"networkStatusAttribute,omitempty"`
380
381	// Information regarding a piece of hardware's associated network storage service account.
382	NetworkStorage []Network_Storage `json:"networkStorage,omitempty" xmlrpc:"networkStorage,omitempty"`
383
384	// A count of information regarding a piece of hardware's associated network storage service account.
385	NetworkStorageCount *uint `json:"networkStorageCount,omitempty" xmlrpc:"networkStorageCount,omitempty"`
386
387	// A count of the network virtual LANs (VLANs) associated with a piece of hardware's network components.
388	NetworkVlanCount *uint `json:"networkVlanCount,omitempty" xmlrpc:"networkVlanCount,omitempty"`
389
390	// The network virtual LANs (VLANs) associated with a piece of hardware's network components.
391	NetworkVlans []Network_Vlan `json:"networkVlans,omitempty" xmlrpc:"networkVlans,omitempty"`
392
393	// A hardware's allotted bandwidth for the next billing cycle (measured in GB).
394	NextBillingCycleBandwidthAllocation *Float64 `json:"nextBillingCycleBandwidthAllocation,omitempty" xmlrpc:"nextBillingCycleBandwidthAllocation,omitempty"`
395
396	// A small note about a piece of hardware to use at your discretion.
397	Notes *string `json:"notes,omitempty" xmlrpc:"notes,omitempty"`
398
399	// no documentation yet
400	NotesHistory []Hardware_Note `json:"notesHistory,omitempty" xmlrpc:"notesHistory,omitempty"`
401
402	// A count of
403	NotesHistoryCount *uint `json:"notesHistoryCount,omitempty" xmlrpc:"notesHistoryCount,omitempty"`
404
405	// The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
406	NvRamCapacity *uint `json:"nvRamCapacity,omitempty" xmlrpc:"nvRamCapacity,omitempty"`
407
408	// A count of
409	NvRamComponentModelCount *uint `json:"nvRamComponentModelCount,omitempty" xmlrpc:"nvRamComponentModelCount,omitempty"`
410
411	// no documentation yet
412	NvRamComponentModels []Hardware_Component_Model `json:"nvRamComponentModels,omitempty" xmlrpc:"nvRamComponentModels,omitempty"`
413
414	// Information regarding a piece of hardware's operating system.
415	OperatingSystem *Software_Component_OperatingSystem `json:"operatingSystem,omitempty" xmlrpc:"operatingSystem,omitempty"`
416
417	// A hardware's operating system software description.
418	OperatingSystemReferenceCode *string `json:"operatingSystemReferenceCode,omitempty" xmlrpc:"operatingSystemReferenceCode,omitempty"`
419
420	// The sum of all the outbound network traffic data for the last 30 days.
421	OutboundBandwidthUsage *Float64 `json:"outboundBandwidthUsage,omitempty" xmlrpc:"outboundBandwidthUsage,omitempty"`
422
423	// The total public outbound bandwidth for this hardware for the current billing cycle.
424	OutboundPublicBandwidthUsage *Float64 `json:"outboundPublicBandwidthUsage,omitempty" xmlrpc:"outboundPublicBandwidthUsage,omitempty"`
425
426	// Blade Bay
427	ParentBay *Hardware_Blade `json:"parentBay,omitempty" xmlrpc:"parentBay,omitempty"`
428
429	// Parent Hardware.
430	ParentHardware *Hardware `json:"parentHardware,omitempty" xmlrpc:"parentHardware,omitempty"`
431
432	// Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
433	PointOfPresenceLocation *Location `json:"pointOfPresenceLocation,omitempty" xmlrpc:"pointOfPresenceLocation,omitempty"`
434
435	// URI of the script to be downloaded and executed after installation is complete.
436	PostInstallScriptUri *string `json:"postInstallScriptUri,omitempty" xmlrpc:"postInstallScriptUri,omitempty"`
437
438	// A count of the power components for a hardware object.
439	PowerComponentCount *uint `json:"powerComponentCount,omitempty" xmlrpc:"powerComponentCount,omitempty"`
440
441	// The power components for a hardware object.
442	PowerComponents []Hardware_Power_Component `json:"powerComponents,omitempty" xmlrpc:"powerComponents,omitempty"`
443
444	// Information regarding a piece of hardware's power supply.
445	PowerSupply []Hardware_Component `json:"powerSupply,omitempty" xmlrpc:"powerSupply,omitempty"`
446
447	// A count of information regarding a piece of hardware's power supply.
448	PowerSupplyCount *uint `json:"powerSupplyCount,omitempty" xmlrpc:"powerSupplyCount,omitempty"`
449
450	// The hardware's primary private IP address.
451	PrimaryBackendIpAddress *string `json:"primaryBackendIpAddress,omitempty" xmlrpc:"primaryBackendIpAddress,omitempty"`
452
453	// Information regarding the hardware's primary back-end network component.
454	PrimaryBackendNetworkComponent *Network_Component `json:"primaryBackendNetworkComponent,omitempty" xmlrpc:"primaryBackendNetworkComponent,omitempty"`
455
456	// The hardware's primary public IP address.
457	PrimaryIpAddress *string `json:"primaryIpAddress,omitempty" xmlrpc:"primaryIpAddress,omitempty"`
458
459	// Information regarding the hardware's primary public network component.
460	PrimaryNetworkComponent *Network_Component `json:"primaryNetworkComponent,omitempty" xmlrpc:"primaryNetworkComponent,omitempty"`
461
462	// Whether the hardware only has access to the private network.
463	PrivateNetworkOnlyFlag *bool `json:"privateNetworkOnlyFlag,omitempty" xmlrpc:"privateNetworkOnlyFlag,omitempty"`
464
465	// The total number of processor cores, summed from all processors that are attached to a piece of hardware
466	ProcessorCoreAmount *uint `json:"processorCoreAmount,omitempty" xmlrpc:"processorCoreAmount,omitempty"`
467
468	// A count of information regarding a piece of hardware's processors.
469	ProcessorCount *uint `json:"processorCount,omitempty" xmlrpc:"processorCount,omitempty"`
470
471	// The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
472	ProcessorPhysicalCoreAmount *uint `json:"processorPhysicalCoreAmount,omitempty" xmlrpc:"processorPhysicalCoreAmount,omitempty"`
473
474	// Information regarding a piece of hardware's processors.
475	Processors []Hardware_Component `json:"processors,omitempty" xmlrpc:"processors,omitempty"`
476
477	// no documentation yet
478	ProvisionDate *Time `json:"provisionDate,omitempty" xmlrpc:"provisionDate,omitempty"`
479
480	// no documentation yet
481	Rack *Location `json:"rack,omitempty" xmlrpc:"rack,omitempty"`
482
483	// A count of the RAID controllers contained within a piece of hardware.
484	RaidControllerCount *uint `json:"raidControllerCount,omitempty" xmlrpc:"raidControllerCount,omitempty"`
485
486	// The RAID controllers contained within a piece of hardware.
487	RaidControllers []Hardware_Component `json:"raidControllers,omitempty" xmlrpc:"raidControllers,omitempty"`
488
489	// A count of recent events that impact this hardware.
490	RecentEventCount *uint `json:"recentEventCount,omitempty" xmlrpc:"recentEventCount,omitempty"`
491
492	// Recent events that impact this hardware.
493	RecentEvents []Notification_Occurrence_Event `json:"recentEvents,omitempty" xmlrpc:"recentEvents,omitempty"`
494
495	// A count of user credentials to issue commands and/or interact with the server's remote management card.
496	RemoteManagementAccountCount *uint `json:"remoteManagementAccountCount,omitempty" xmlrpc:"remoteManagementAccountCount,omitempty"`
497
498	// User credentials to issue commands and/or interact with the server's remote management card.
499	RemoteManagementAccounts []Hardware_Component_RemoteManagement_User `json:"remoteManagementAccounts,omitempty" xmlrpc:"remoteManagementAccounts,omitempty"`
500
501	// A hardware's associated remote management component. This is normally IPMI.
502	RemoteManagementComponent *Network_Component `json:"remoteManagementComponent,omitempty" xmlrpc:"remoteManagementComponent,omitempty"`
503
504	// A count of
505	ResourceConfigurationCount *uint `json:"resourceConfigurationCount,omitempty" xmlrpc:"resourceConfigurationCount,omitempty"`
506
507	// no documentation yet
508	ResourceConfigurations []Hardware_Resource_Configuration `json:"resourceConfigurations,omitempty" xmlrpc:"resourceConfigurations,omitempty"`
509
510	// A count of the resource groups in which this hardware is a member.
511	ResourceGroupCount *uint `json:"resourceGroupCount,omitempty" xmlrpc:"resourceGroupCount,omitempty"`
512
513	// A count of
514	ResourceGroupMemberReferenceCount *uint `json:"resourceGroupMemberReferenceCount,omitempty" xmlrpc:"resourceGroupMemberReferenceCount,omitempty"`
515
516	// no documentation yet
517	ResourceGroupMemberReferences []Resource_Group_Member `json:"resourceGroupMemberReferences,omitempty" xmlrpc:"resourceGroupMemberReferences,omitempty"`
518
519	// A count of
520	ResourceGroupRoleCount *uint `json:"resourceGroupRoleCount,omitempty" xmlrpc:"resourceGroupRoleCount,omitempty"`
521
522	// no documentation yet
523	ResourceGroupRoles []Resource_Group_Role `json:"resourceGroupRoles,omitempty" xmlrpc:"resourceGroupRoles,omitempty"`
524
525	// The resource groups in which this hardware is a member.
526	ResourceGroups []Resource_Group `json:"resourceGroups,omitempty" xmlrpc:"resourceGroups,omitempty"`
527
528	// A count of a hardware's routers.
529	RouterCount *uint `json:"routerCount,omitempty" xmlrpc:"routerCount,omitempty"`
530
531	// A hardware's routers.
532	Routers []Hardware `json:"routers,omitempty" xmlrpc:"routers,omitempty"`
533
534	// A count of collection of scale assets this hardware corresponds to.
535	ScaleAssetCount *uint `json:"scaleAssetCount,omitempty" xmlrpc:"scaleAssetCount,omitempty"`
536
537	// Collection of scale assets this hardware corresponds to.
538	ScaleAssets []Scale_Asset `json:"scaleAssets,omitempty" xmlrpc:"scaleAssets,omitempty"`
539
540	// A count of information regarding a piece of hardware's vulnerability scan requests.
541	SecurityScanRequestCount *uint `json:"securityScanRequestCount,omitempty" xmlrpc:"securityScanRequestCount,omitempty"`
542
543	// Information regarding a piece of hardware's vulnerability scan requests.
544	SecurityScanRequests []Network_Security_Scanner_Request `json:"securityScanRequests,omitempty" xmlrpc:"securityScanRequests,omitempty"`
545
546	// A hardware's serial number that is supplied by SoftLayer.
547	SerialNumber *string `json:"serialNumber,omitempty" xmlrpc:"serialNumber,omitempty"`
548
549	// Information regarding the server room in which the hardware is located.
550	ServerRoom *Location `json:"serverRoom,omitempty" xmlrpc:"serverRoom,omitempty"`
551
552	// Information regarding the piece of hardware's service provider.
553	ServiceProvider *Service_Provider `json:"serviceProvider,omitempty" xmlrpc:"serviceProvider,omitempty"`
554
555	// no documentation yet
556	ServiceProviderId *int `json:"serviceProviderId,omitempty" xmlrpc:"serviceProviderId,omitempty"`
557
558	// A hardware's internal identification number at its service provider
559	ServiceProviderResourceId *int `json:"serviceProviderResourceId,omitempty" xmlrpc:"serviceProviderResourceId,omitempty"`
560
561	// A count of information regarding a piece of hardware's installed software.
562	SoftwareComponentCount *uint `json:"softwareComponentCount,omitempty" xmlrpc:"softwareComponentCount,omitempty"`
563
564	// Information regarding a piece of hardware's installed software.
565	SoftwareComponents []Software_Component `json:"softwareComponents,omitempty" xmlrpc:"softwareComponents,omitempty"`
566
567	// Information regarding the billing item for a spare pool server.
568	SparePoolBillingItem *Billing_Item_Hardware `json:"sparePoolBillingItem,omitempty" xmlrpc:"sparePoolBillingItem,omitempty"`
569
570	// A count of sSH keys to be installed on the server during provisioning or an OS reload.
571	SshKeyCount *uint `json:"sshKeyCount,omitempty" xmlrpc:"sshKeyCount,omitempty"`
572
573	// SSH keys to be installed on the server during provisioning or an OS reload.
574	SshKeys []Security_Ssh_Key `json:"sshKeys,omitempty" xmlrpc:"sshKeys,omitempty"`
575
576	// A count of
577	StorageGroupCount *uint `json:"storageGroupCount,omitempty" xmlrpc:"storageGroupCount,omitempty"`
578
579	// no documentation yet
580	StorageGroups []Configuration_Storage_Group `json:"storageGroups,omitempty" xmlrpc:"storageGroups,omitempty"`
581
582	// A count of a piece of hardware's private storage network components. [Deprecated]
583	StorageNetworkComponentCount *uint `json:"storageNetworkComponentCount,omitempty" xmlrpc:"storageNetworkComponentCount,omitempty"`
584
585	// A piece of hardware's private storage network components. [Deprecated]
586	StorageNetworkComponents []Network_Component `json:"storageNetworkComponents,omitempty" xmlrpc:"storageNetworkComponents,omitempty"`
587
588	// A count of
589	TagReferenceCount *uint `json:"tagReferenceCount,omitempty" xmlrpc:"tagReferenceCount,omitempty"`
590
591	// no documentation yet
592	TagReferences []Tag_Reference `json:"tagReferences,omitempty" xmlrpc:"tagReferences,omitempty"`
593
594	// no documentation yet
595	TopLevelLocation *Location `json:"topLevelLocation,omitempty" xmlrpc:"topLevelLocation,omitempty"`
596
597	// An account's associated upgrade request object, if any.
598	UpgradeRequest *Product_Upgrade_Request `json:"upgradeRequest,omitempty" xmlrpc:"upgradeRequest,omitempty"`
599
600	// The network device connected to a piece of hardware.
601	UplinkHardware *Hardware `json:"uplinkHardware,omitempty" xmlrpc:"uplinkHardware,omitempty"`
602
603	// A count of information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
604	UplinkNetworkComponentCount *uint `json:"uplinkNetworkComponentCount,omitempty" xmlrpc:"uplinkNetworkComponentCount,omitempty"`
605
606	// Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
607	UplinkNetworkComponents []Network_Component `json:"uplinkNetworkComponents,omitempty" xmlrpc:"uplinkNetworkComponents,omitempty"`
608
609	// An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
610	UserData []Hardware_Attribute `json:"userData,omitempty" xmlrpc:"userData,omitempty"`
611
612	// A count of an array containing a single string of custom user data for a hardware order. Max size is 16 kb.
613	UserDataCount *uint `json:"userDataCount,omitempty" xmlrpc:"userDataCount,omitempty"`
614
615	// Information regarding the virtual chassis for a piece of hardware.
616	VirtualChassis *Hardware_Group `json:"virtualChassis,omitempty" xmlrpc:"virtualChassis,omitempty"`
617
618	// A count of information regarding the virtual chassis siblings for a piece of hardware.
619	VirtualChassisSiblingCount *uint `json:"virtualChassisSiblingCount,omitempty" xmlrpc:"virtualChassisSiblingCount,omitempty"`
620
621	// Information regarding the virtual chassis siblings for a piece of hardware.
622	VirtualChassisSiblings []Hardware `json:"virtualChassisSiblings,omitempty" xmlrpc:"virtualChassisSiblings,omitempty"`
623
624	// A piece of hardware's virtual host record.
625	VirtualHost *Virtual_Host `json:"virtualHost,omitempty" xmlrpc:"virtualHost,omitempty"`
626
627	// A count of information regarding a piece of hardware's virtual software licenses.
628	VirtualLicenseCount *uint `json:"virtualLicenseCount,omitempty" xmlrpc:"virtualLicenseCount,omitempty"`
629
630	// Information regarding a piece of hardware's virtual software licenses.
631	VirtualLicenses []Software_VirtualLicense `json:"virtualLicenses,omitempty" xmlrpc:"virtualLicenses,omitempty"`
632
633	// Information regarding the bandwidth allotment to which a piece of hardware belongs.
634	VirtualRack *Network_Bandwidth_Version1_Allotment `json:"virtualRack,omitempty" xmlrpc:"virtualRack,omitempty"`
635
636	// The name of the bandwidth allotment belonging to a piece of hardware.
637	VirtualRackId *int `json:"virtualRackId,omitempty" xmlrpc:"virtualRackId,omitempty"`
638
639	// The name of the bandwidth allotment belonging to a piece of hardware.
640	VirtualRackName *string `json:"virtualRackName,omitempty" xmlrpc:"virtualRackName,omitempty"`
641
642	// A piece of hardware's virtualization platform software.
643	VirtualizationPlatform *Software_Component `json:"virtualizationPlatform,omitempty" xmlrpc:"virtualizationPlatform,omitempty"`
644}
645
646// The SoftLayer_Hardware_Attribute type contains general information for a hardware attribute. Hardware attributes can be assigned to specific hardware objects to describe relatively arbitrary information.
647type Hardware_Attribute struct {
648	Entity
649
650	// The type of hardware attribute that this represents.
651	HardwareAttributeType *Hardware_Attribute_Type `json:"hardwareAttributeType,omitempty" xmlrpc:"hardwareAttributeType,omitempty"`
652
653	// The unique identifier of a hardware attribute's type.
654	HardwareAttributeTypeId *int `json:"hardwareAttributeTypeId,omitempty" xmlrpc:"hardwareAttributeTypeId,omitempty"`
655
656	// A hardware attribute's unique identifier.
657	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
658
659	// A hardware attribute's value.
660	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
661}
662
663// Retrieve attributes associated with a hardware object.
664type Hardware_Attribute_Type struct {
665	Entity
666
667	// The attribute type key name or code.
668	Keyname *string `json:"keyname,omitempty" xmlrpc:"keyname,omitempty"`
669
670	// The attribute type name.
671	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
672}
673
674// no documentation yet
675type Hardware_Attribute_UserData struct {
676	Hardware_Attribute
677}
678
679// The SoftLayer_Hardware_Benchmark_Certification data type contains general information relating to a single SoftLayer hardware benchmark certification document.
680type Hardware_Benchmark_Certification struct {
681	Entity
682
683	// Information regarding a benchmark certification result's associated SoftLayer customer account.
684	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
685
686	// The internal identifier of the SoftLayer customer account associated with a benchmark certification result.
687	AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"`
688
689	// The date that a benchmark certification result was generated.
690	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
691
692	// Information regarding the piece of hardware on which a benchmark certification test was performed.
693	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
694
695	// A benchmark certification results's associated hardware's internal identification number.
696	HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"`
697}
698
699// no documentation yet
700type Hardware_Blade struct {
701	Entity
702
703	// no documentation yet
704	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
705
706	// no documentation yet
707	Disabled *int `json:"disabled,omitempty" xmlrpc:"disabled,omitempty"`
708
709	// no documentation yet
710	HardwareChild *Hardware `json:"hardwareChild,omitempty" xmlrpc:"hardwareChild,omitempty"`
711
712	// no documentation yet
713	HardwareChildId *int `json:"hardwareChildId,omitempty" xmlrpc:"hardwareChildId,omitempty"`
714
715	// no documentation yet
716	HardwareParent *Hardware `json:"hardwareParent,omitempty" xmlrpc:"hardwareParent,omitempty"`
717
718	// no documentation yet
719	HardwareParentId *int `json:"hardwareParentId,omitempty" xmlrpc:"hardwareParentId,omitempty"`
720
721	// no documentation yet
722	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
723
724	// no documentation yet
725	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
726
727	// The name of this blade as referenced by the operating system.
728	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
729}
730
731// Every piece of hardware in SoftLayer's datacenters, including customer servers, are housed in one of many hardware chassis. The SoftLayer_Hardware_Chassis data type defines these chassis.
732type Hardware_Chassis struct {
733	Entity
734
735	// no documentation yet
736	BackplaneCapacity *string `json:"backplaneCapacity,omitempty" xmlrpc:"backplaneCapacity,omitempty"`
737
738	// no documentation yet
739	BayCapacity *string `json:"bayCapacity,omitempty" xmlrpc:"bayCapacity,omitempty"`
740
741	// no documentation yet
742	DriveCapacity *string `json:"driveCapacity,omitempty" xmlrpc:"driveCapacity,omitempty"`
743
744	// no documentation yet
745	DriveControllerCapacity *string `json:"driveControllerCapacity,omitempty" xmlrpc:"driveControllerCapacity,omitempty"`
746
747	// A hardware form factor internal identifier.
748	FormFactorId *int `json:"formFactorId,omitempty" xmlrpc:"formFactorId,omitempty"`
749
750	// no documentation yet
751	GpuCapacity *string `json:"gpuCapacity,omitempty" xmlrpc:"gpuCapacity,omitempty"`
752
753	// A hardware's function.
754	HardwareFunction *Hardware_Function `json:"hardwareFunction,omitempty" xmlrpc:"hardwareFunction,omitempty"`
755
756	// A hardware chassis' internal identifier.
757	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
758
759	// A hardware chassis' manufacturer.
760	Manufacturer *string `json:"manufacturer,omitempty" xmlrpc:"manufacturer,omitempty"`
761
762	// no documentation yet
763	ModuleCapacity *string `json:"moduleCapacity,omitempty" xmlrpc:"moduleCapacity,omitempty"`
764
765	// A hardware chassis' name.
766	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
767
768	// no documentation yet
769	PowerCapacity *string `json:"powerCapacity,omitempty" xmlrpc:"powerCapacity,omitempty"`
770
771	// no documentation yet
772	U2Capacity *string `json:"u2Capacity,omitempty" xmlrpc:"u2Capacity,omitempty"`
773
774	// The physical size of a hardware chassis.  Currently this relates to the 'U' size of a chassis buy default.
775	UnitSize *int `json:"unitSize,omitempty" xmlrpc:"unitSize,omitempty"`
776
777	// A hardware chassis' revision number.
778	Version *string `json:"version,omitempty" xmlrpc:"version,omitempty"`
779}
780
781// The SoftLayer_Hardware_Component data type abstracts information related to a hardware component.
782type Hardware_Component struct {
783	Entity
784
785	// A component's capacity.
786	Capacity *Float64 `json:"capacity,omitempty" xmlrpc:"capacity,omitempty"`
787
788	// A components sub components. Devices that are usually integrated or in some way attached to a component.
789	Children []Hardware_Component `json:"children,omitempty" xmlrpc:"children,omitempty"`
790
791	// A count of a components sub components. Devices that are usually integrated or in some way attached to a component.
792	ChildrenCount *uint `json:"childrenCount,omitempty" xmlrpc:"childrenCount,omitempty"`
793
794	// A component's Revision.
795	ComponentRevision *string `json:"componentRevision,omitempty" xmlrpc:"componentRevision,omitempty"`
796
797	// A count of
798	DownlinkHardwareComponentCount *uint `json:"downlinkHardwareComponentCount,omitempty" xmlrpc:"downlinkHardwareComponentCount,omitempty"`
799
800	// no documentation yet
801	DownlinkHardwareComponents []Hardware_Component `json:"downlinkHardwareComponents,omitempty" xmlrpc:"downlinkHardwareComponents,omitempty"`
802
803	// The hardware object that this component belongs to.
804	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
805
806	// The general group of component models.
807	HardwareComponentModel *Hardware_Component_Model `json:"hardwareComponentModel,omitempty" xmlrpc:"hardwareComponentModel,omitempty"`
808
809	// The internal identifier of a hardware component's component model.
810	HardwareComponentModelId *int `json:"hardwareComponentModelId,omitempty" xmlrpc:"hardwareComponentModelId,omitempty"`
811
812	// A components type.
813	HardwareComponentType *Hardware_Component_Type `json:"hardwareComponentType,omitempty" xmlrpc:"hardwareComponentType,omitempty"`
814
815	// The internal identifier of the hardware that a hardware component resides inside.
816	HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"`
817
818	// A hardware component's internal identifier.
819	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
820
821	// no documentation yet
822	IsChildModule *bool `json:"isChildModule,omitempty" xmlrpc:"isChildModule,omitempty"`
823
824	// A count of returns the associated logic volume storage groups for the hardware component.
825	LogicalVolumeStorageGroupCount *uint `json:"logicalVolumeStorageGroupCount,omitempty" xmlrpc:"logicalVolumeStorageGroupCount,omitempty"`
826
827	// Returns the associated logic volume storage groups for the hardware component.
828	LogicalVolumeStorageGroups []Configuration_Storage_Group `json:"logicalVolumeStorageGroups,omitempty" xmlrpc:"logicalVolumeStorageGroups,omitempty"`
829
830	// A component's M.2 SATA capacity.
831	M2SataSlotCapacity *string `json:"m2SataSlotCapacity,omitempty" xmlrpc:"m2SataSlotCapacity,omitempty"`
832
833	// The date that a hardware component was last modified.
834	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
835
836	// A count of the module's hardware components
837	ModuleComponentCount *uint `json:"moduleComponentCount,omitempty" xmlrpc:"moduleComponentCount,omitempty"`
838
839	// The module's hardware components
840	ModuleComponents []Hardware_Component `json:"moduleComponents,omitempty" xmlrpc:"moduleComponents,omitempty"`
841
842	// A count of
843	ModuleCount *uint `json:"moduleCount,omitempty" xmlrpc:"moduleCount,omitempty"`
844
845	// A count of the module's hardware components
846	ModuleHardwareComponentCount *uint `json:"moduleHardwareComponentCount,omitempty" xmlrpc:"moduleHardwareComponentCount,omitempty"`
847
848	// The module's hardware components
849	ModuleHardwareComponents []Hardware_Component `json:"moduleHardwareComponents,omitempty" xmlrpc:"moduleHardwareComponents,omitempty"`
850
851	// A count of the module's network components
852	ModuleNetworkComponentCount *uint `json:"moduleNetworkComponentCount,omitempty" xmlrpc:"moduleNetworkComponentCount,omitempty"`
853
854	// The module's network components
855	ModuleNetworkComponents []Hardware_Component `json:"moduleNetworkComponents,omitempty" xmlrpc:"moduleNetworkComponents,omitempty"`
856
857	// no documentation yet
858	Modules []Hardware_Component `json:"modules,omitempty" xmlrpc:"modules,omitempty"`
859
860	// The name of this component as referenced by the operating system.
861	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
862
863	// A count of the components local ethernet and remote management interfaces
864	NetworkComponentCount *uint `json:"networkComponentCount,omitempty" xmlrpc:"networkComponentCount,omitempty"`
865
866	// The components local ethernet and remote management interfaces
867	NetworkComponents []Network_Component `json:"networkComponents,omitempty" xmlrpc:"networkComponents,omitempty"`
868
869	// The account this component belongs to.
870	Owner *Account `json:"owner,omitempty" xmlrpc:"owner,omitempty"`
871
872	// A components parent. Devices that are usually integrated or in some way attached to a component.
873	Parent *Hardware_Component `json:"parent,omitempty" xmlrpc:"parent,omitempty"`
874
875	// no documentation yet
876	ParentModule *Hardware_Component `json:"parentModule,omitempty" xmlrpc:"parentModule,omitempty"`
877
878	// no documentation yet
879	PrefixAttribute *Hardware_Component_Model_Generic_Attribute `json:"prefixAttribute,omitempty" xmlrpc:"prefixAttribute,omitempty"`
880
881	// A RAID controllers RAID mode.
882	RaidMode *string `json:"raidMode,omitempty" xmlrpc:"raidMode,omitempty"`
883
884	// The component revision designation.
885	Revision *Hardware_Component_Revision `json:"revision,omitempty" xmlrpc:"revision,omitempty"`
886
887	// The component serial number.
888	SerialNumber *string `json:"serialNumber,omitempty" xmlrpc:"serialNumber,omitempty"`
889
890	// no documentation yet
891	ServiceProvider *Service_Provider `json:"serviceProvider,omitempty" xmlrpc:"serviceProvider,omitempty"`
892
893	// A hardware's internal identification number at its service provider
894	ServiceProviderId *int `json:"serviceProviderId,omitempty" xmlrpc:"serviceProviderId,omitempty"`
895
896	// A count of
897	UplinkHardwareComponentCount *uint `json:"uplinkHardwareComponentCount,omitempty" xmlrpc:"uplinkHardwareComponentCount,omitempty"`
898
899	// no documentation yet
900	UplinkHardwareComponents []Hardware_Component `json:"uplinkHardwareComponents,omitempty" xmlrpc:"uplinkHardwareComponents,omitempty"`
901}
902
903// The SoftLayer_Hardware_Component_Attribute data type contains general information relating to a single hardware setting or attribute for a component model. For Example: A RAID controller may be setup for many different RAID configurations.  A RAID controller with a configuration of RAID-1 will have a single attribute for this RAID setting.
904type Hardware_Component_Attribute struct {
905	Entity
906
907	// A hardware component attribute's associated [[SoftLayer_Hardware_Component|Hardware Component]].
908	HardwareComponent *Hardware_Component `json:"hardwareComponent,omitempty" xmlrpc:"hardwareComponent,omitempty"`
909
910	// A hardware component attribute's associated [[SoftLayer_Hardware_Component_Attribute_Type|type]].
911	HardwareComponentAttributeType *Hardware_Component_Attribute_Type `json:"hardwareComponentAttributeType,omitempty" xmlrpc:"hardwareComponentAttributeType,omitempty"`
912
913	// A hardware component attribute's associated [[SoftLayer_Hardware_Component_Attribute_Type|type]] Id.
914	HardwareComponentAttributeTypeId *int `json:"hardwareComponentAttributeTypeId,omitempty" xmlrpc:"hardwareComponentAttributeTypeId,omitempty"`
915
916	// A hardware component attribute's associated [[SoftLayer_Hardware_Component|hardware component]] Id.
917	HardwareComponentId *int `json:"hardwareComponentId,omitempty" xmlrpc:"hardwareComponentId,omitempty"`
918
919	// A hardware component attribute's value.  A value can have many different values depending on the attributes [[SoftLayer_Hardware_Component_Attribute_Type|type]].
920	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
921}
922
923// The SoftLayer_Hardware_Component_Attribute_Type data type contains general information for the type of an attribute for a hardware component.
924type Hardware_Component_Attribute_Type struct {
925	Entity
926
927	// The description for the date that a hardware component attribute type's [[SoftLayer_Hardware_Component_Attribute|Attribute]] contains.
928	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
929
930	// A hardware component attribute type's Id.
931	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
932
933	// A hardware component attribute type's unique name.
934	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
935
936	// A hardware component attribute type's name.
937	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
938}
939
940// The SoftLayer_Hardware_Component_DriveController data type abstracts information related to a drive controller.
941type Hardware_Component_DriveController struct {
942	Hardware_Component
943}
944
945// no documentation yet
946type Hardware_Component_Firmware struct {
947	Entity
948
949	// A count of
950	AttributeCount *uint `json:"attributeCount,omitempty" xmlrpc:"attributeCount,omitempty"`
951
952	// no documentation yet
953	Attributes []Hardware_Component_Firmware_Attribute `json:"attributes,omitempty" xmlrpc:"attributes,omitempty"`
954
955	// no documentation yet
956	BuildDate *Time `json:"buildDate,omitempty" xmlrpc:"buildDate,omitempty"`
957
958	// no documentation yet
959	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
960
961	// The Hardware Component Model this Firmware applies to.
962	HardwareComponentModel *Hardware_Component_Model `json:"hardwareComponentModel,omitempty" xmlrpc:"hardwareComponentModel,omitempty"`
963
964	// no documentation yet
965	HardwareComponentModelId *int `json:"hardwareComponentModelId,omitempty" xmlrpc:"hardwareComponentModelId,omitempty"`
966
967	// no documentation yet
968	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
969
970	// no documentation yet
971	IsQualified *int `json:"isQualified,omitempty" xmlrpc:"isQualified,omitempty"`
972
973	// no documentation yet
974	QualificationType *Hardware_Component_Firmware_QualificationTypes `json:"qualificationType,omitempty" xmlrpc:"qualificationType,omitempty"`
975
976	// no documentation yet
977	ReleaseNotes *string `json:"releaseNotes,omitempty" xmlrpc:"releaseNotes,omitempty"`
978
979	// A count of all revisions of this firmware.
980	RevisionCount *uint `json:"revisionCount,omitempty" xmlrpc:"revisionCount,omitempty"`
981
982	// All revisions of this firmware.
983	Revisions []Hardware_Component_Revision `json:"revisions,omitempty" xmlrpc:"revisions,omitempty"`
984
985	// no documentation yet
986	Version *string `json:"version,omitempty" xmlrpc:"version,omitempty"`
987}
988
989// The SoftLayer_Hardware_Component_Firmware_Attribute data type contains general information for a hardware model's firmware.
990type Hardware_Component_Firmware_Attribute struct {
991	Entity
992
993	// A hardware component firmware attribute's associated [[SoftLayer_Hardware_Component_Firmware|firmware]].
994	Firmware *Hardware_Component_Firmware `json:"firmware,omitempty" xmlrpc:"firmware,omitempty"`
995
996	// A hardware component firmware attribute's firmware Id.
997	FirmwareId *int `json:"firmwareId,omitempty" xmlrpc:"firmwareId,omitempty"`
998
999	// A hardware component firmware attribute's Id.
1000	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1001
1002	// A hardware component firmware attribute's associated [[SoftLayer_Hardware_Component_Firmware_Attribute_Type|type]].
1003	Type *Hardware_Component_Firmware_Attribute_Type `json:"type,omitempty" xmlrpc:"type,omitempty"`
1004
1005	// A hardware component firmware attribute's type Id.
1006	TypeId *int `json:"typeId,omitempty" xmlrpc:"typeId,omitempty"`
1007
1008	// A hardware component firmware attribute's value.
1009	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
1010}
1011
1012// The SoftLayer_Hardware_Component_Firmware_Attribute_Type data type defines attribute types for a hardware component model's firmware.
1013type Hardware_Component_Firmware_Attribute_Type struct {
1014	Entity
1015
1016	// The description for the date that a hardware component attribute type's [[SoftLayer_Hardware_Component_Attribute|Attribute]] contains.
1017	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
1018
1019	// A hardware component firmware attribute type's Id.
1020	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1021
1022	// A hardware component firmware attribute type's unique name.
1023	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
1024
1025	// A hardware component firmware attribute type's name.
1026	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
1027}
1028
1029// The SoftLayer_Hardware_Component_Firmware_QualificationTypes data type describes the current qualification status for a particular firmware.
1030type Hardware_Component_Firmware_QualificationTypes struct {
1031	Entity
1032
1033	// A description about the qualificationType.
1034	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
1035
1036	// The Id of the qualificationType.
1037	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1038
1039	// KeyName representation for the qualificationType.
1040	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
1041
1042	// The qualificationType name.
1043	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
1044}
1045
1046// The SoftLayer_Hardware_Component_HardDrive data type abstracts information related to a hard drive.
1047type Hardware_Component_HardDrive struct {
1048	Hardware_Component
1049
1050	// A count of the attached component partitions.
1051	PartitionCount *uint `json:"partitionCount,omitempty" xmlrpc:"partitionCount,omitempty"`
1052
1053	// The attached component partitions.
1054	Partitions []Hardware_Component_Partition `json:"partitions,omitempty" xmlrpc:"partitions,omitempty"`
1055
1056	// A hard drives physical security ID.
1057	Psid *string `json:"psid,omitempty" xmlrpc:"psid,omitempty"`
1058}
1059
1060// no documentation yet
1061type Hardware_Component_Locator struct {
1062	Entity
1063}
1064
1065// This object holds a generic component model id and the list of datacenter names where it is available.
1066type Hardware_Component_Locator_Result struct {
1067	Entity
1068
1069	// array of datacenter names where generic component model is available
1070	Datacenters []string `json:"datacenters,omitempty" xmlrpc:"datacenters,omitempty"`
1071
1072	// generic component model id
1073	GenericComponentModelId *int `json:"genericComponentModelId,omitempty" xmlrpc:"genericComponentModelId,omitempty"`
1074
1075	// Id of SoftLayer_Product_Package_Server
1076	ServerPackageId *int `json:"serverPackageId,omitempty" xmlrpc:"serverPackageId,omitempty"`
1077}
1078
1079// The SoftLayer_Hardware_Component_Model data type contains general information relating to a single SoftLayer component model.  A component model represents a vendor specific representation of a hardware component.  Every piece of hardware on a server will have a specific hardware component model.
1080type Hardware_Component_Model struct {
1081	Entity
1082
1083	// no documentation yet
1084	ArchitectureType *Hardware_Component_Model_Architecture_Type `json:"architectureType,omitempty" xmlrpc:"architectureType,omitempty"`
1085
1086	// no documentation yet
1087	ArchitectureTypeId *string `json:"architectureTypeId,omitempty" xmlrpc:"architectureTypeId,omitempty"`
1088
1089	// A count of
1090	AttributeCount *uint `json:"attributeCount,omitempty" xmlrpc:"attributeCount,omitempty"`
1091
1092	// no documentation yet
1093	Attributes []Hardware_Component_Model_Attribute `json:"attributes,omitempty" xmlrpc:"attributes,omitempty"`
1094
1095	// A component model's capacity. The capacity of a component model depends on the model itself.  For Example: Hard drives have a capacity that reflects the amount of data that hard drive can store.
1096	Capacity *Float64 `json:"capacity,omitempty" xmlrpc:"capacity,omitempty"`
1097
1098	// A count of
1099	CompatibleArrayTypeCount *uint `json:"compatibleArrayTypeCount,omitempty" xmlrpc:"compatibleArrayTypeCount,omitempty"`
1100
1101	// no documentation yet
1102	CompatibleArrayTypes []Configuration_Storage_Group_Array_Type `json:"compatibleArrayTypes,omitempty" xmlrpc:"compatibleArrayTypes,omitempty"`
1103
1104	// A count of all the component models that are compatible with a hardware component model.
1105	CompatibleChildComponentModelCount *uint `json:"compatibleChildComponentModelCount,omitempty" xmlrpc:"compatibleChildComponentModelCount,omitempty"`
1106
1107	// All the component models that are compatible with a hardware component model.
1108	CompatibleChildComponentModels []Hardware_Component_Model `json:"compatibleChildComponentModels,omitempty" xmlrpc:"compatibleChildComponentModels,omitempty"`
1109
1110	// A count of all the component models that a hardware component model is compatible with.
1111	CompatibleParentComponentModelCount *uint `json:"compatibleParentComponentModelCount,omitempty" xmlrpc:"compatibleParentComponentModelCount,omitempty"`
1112
1113	// All the component models that a hardware component model is compatible with.
1114	CompatibleParentComponentModels []Hardware_Component_Model `json:"compatibleParentComponentModels,omitempty" xmlrpc:"compatibleParentComponentModels,omitempty"`
1115
1116	// A colon delimited list of hardware component model attributes.
1117	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
1118
1119	// A count of
1120	FirmwareCount *uint `json:"firmwareCount,omitempty" xmlrpc:"firmwareCount,omitempty"`
1121
1122	// no documentation yet
1123	FirmwareQuantity *uint `json:"firmwareQuantity,omitempty" xmlrpc:"firmwareQuantity,omitempty"`
1124
1125	// no documentation yet
1126	Firmwares []Hardware_Component_Firmware `json:"firmwares,omitempty" xmlrpc:"firmwares,omitempty"`
1127
1128	// A hardware component model's physical components in inventory.
1129	HardwareComponents []Hardware_Component `json:"hardwareComponents,omitempty" xmlrpc:"hardwareComponents,omitempty"`
1130
1131	// The non-vendor specific generic component model for a hardware component model.
1132	HardwareGenericComponentModel *Hardware_Component_Model_Generic `json:"hardwareGenericComponentModel,omitempty" xmlrpc:"hardwareGenericComponentModel,omitempty"`
1133
1134	// The internal identifier of the generic component model for a component model.
1135	HardwareGenericComponentModelId *int `json:"hardwareGenericComponentModelId,omitempty" xmlrpc:"hardwareGenericComponentModelId,omitempty"`
1136
1137	// A hardware component model's internal identifier number.
1138	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1139
1140	// no documentation yet
1141	InfinibandCompatibleAttribute *Hardware_Component_Model_Attribute `json:"infinibandCompatibleAttribute,omitempty" xmlrpc:"infinibandCompatibleAttribute,omitempty"`
1142
1143	// no documentation yet
1144	IsFlexSkuCompatible *bool `json:"isFlexSkuCompatible,omitempty" xmlrpc:"isFlexSkuCompatible,omitempty"`
1145
1146	// no documentation yet
1147	IsInfinibandCompatible *bool `json:"isInfinibandCompatible,omitempty" xmlrpc:"isInfinibandCompatible,omitempty"`
1148
1149	// no documentation yet
1150	LongDescription *string `json:"longDescription,omitempty" xmlrpc:"longDescription,omitempty"`
1151
1152	// A hardware component model's manufacturer.
1153	Manufacturer *string `json:"manufacturer,omitempty" xmlrpc:"manufacturer,omitempty"`
1154
1155	// The model name of a hardware component model.
1156	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
1157
1158	// A motherboard's average reboot time.
1159	RebootTime *Hardware_Component_Motherboard_Reboot_Time `json:"rebootTime,omitempty" xmlrpc:"rebootTime,omitempty"`
1160
1161	// A hardware component model's type.
1162	Type *string `json:"type,omitempty" xmlrpc:"type,omitempty"`
1163
1164	// A count of the types of attributes that are allowed for a given hardware component model.
1165	ValidAttributeTypeCount *uint `json:"validAttributeTypeCount,omitempty" xmlrpc:"validAttributeTypeCount,omitempty"`
1166
1167	// The types of attributes that are allowed for a given hardware component model.
1168	ValidAttributeTypes []Hardware_Component_Model_Attribute_Type `json:"validAttributeTypes,omitempty" xmlrpc:"validAttributeTypes,omitempty"`
1169
1170	// The model number or model description of a hardware component model.
1171	Version *string `json:"version,omitempty" xmlrpc:"version,omitempty"`
1172}
1173
1174// no documentation yet
1175type Hardware_Component_Model_Architecture_Type struct {
1176	Entity
1177
1178	// no documentation yet
1179	Children []Hardware_Component_Model_Architecture_Type `json:"children,omitempty" xmlrpc:"children,omitempty"`
1180
1181	// A count of
1182	ChildrenCount *uint `json:"childrenCount,omitempty" xmlrpc:"childrenCount,omitempty"`
1183
1184	// no documentation yet
1185	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1186
1187	// no documentation yet
1188	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
1189
1190	// no documentation yet
1191	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
1192
1193	// no documentation yet
1194	Parent *Hardware_Component_Model_Architecture_Type `json:"parent,omitempty" xmlrpc:"parent,omitempty"`
1195
1196	// no documentation yet
1197	ParentId *string `json:"parentId,omitempty" xmlrpc:"parentId,omitempty"`
1198}
1199
1200// The SoftLayer_Hardware_Component__Model_Attribute data type contains general information relating to a single hardware setting or attribute for a component model.
1201type Hardware_Component_Model_Attribute struct {
1202	Entity
1203
1204	// A hardware component model attribute's associated [[SoftLayer_Hardware_Component_Model_Attribute_Type|type]] Id.
1205	AttributeTypeId *int `json:"attributeTypeId,omitempty" xmlrpc:"attributeTypeId,omitempty"`
1206
1207	// no documentation yet
1208	HardwareComponent *Hardware_Component_Model `json:"hardwareComponent,omitempty" xmlrpc:"hardwareComponent,omitempty"`
1209
1210	// no documentation yet
1211	HardwareComponentAttributeType *Hardware_Component_Model_Attribute_Type `json:"hardwareComponentAttributeType,omitempty" xmlrpc:"hardwareComponentAttributeType,omitempty"`
1212
1213	// A hardware component model attribute's associated [[SoftLayer_Hardware_Component_Model|hardware component model]] Id.
1214	HardwareComponentModelId *int `json:"hardwareComponentModelId,omitempty" xmlrpc:"hardwareComponentModelId,omitempty"`
1215
1216	// A hardware component model attribute's value.  A value can have many different values depending on the attributes [[SoftLayer_Hardware_Component_Model_Attribute_Type|type]].
1217	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
1218}
1219
1220// The SoftLayer_Hardware_Component_Model_Attribute_Type data type contains general information for the type of an attribute for a hardware component model.
1221type Hardware_Component_Model_Attribute_Type struct {
1222	Entity
1223
1224	// The description for the data that a hardware component model type's [[SoftLayer_Hardware_Component_Model_Attribute|Attribute]] contains.
1225	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
1226
1227	// A hardware component model attribute type's Id.
1228	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1229
1230	// A hardware component model attribute type's unique name.
1231	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
1232
1233	// A hardware component model attribute type's name.
1234	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
1235
1236	// A count of
1237	ValidComponentTypeCount *uint `json:"validComponentTypeCount,omitempty" xmlrpc:"validComponentTypeCount,omitempty"`
1238
1239	// no documentation yet
1240	ValidComponentTypes []Hardware_Component_Type `json:"validComponentTypes,omitempty" xmlrpc:"validComponentTypes,omitempty"`
1241}
1242
1243// The SoftLayer_Hardware_Component_Model_Generic data type contains general information relating to a single SoftLayer generic component model.  A generic component model represents a non-vendor specific representation of a hardware component.  Frequently SoftLayer utilizes components from various vendors in the servers they provision. For Example: Several different vendors produce 6GB DDR2 memory.  The generic component model for the 6GB stick of RAM encompasses every instance of this component regardless of make and model.
1244type Hardware_Component_Model_Generic struct {
1245	Entity
1246
1247	// A generic component model's capacity. The capacity of a generic component model depends on the model itself.  For Example: Hard drives have a capacity that reflects the amount of data that hard drive can store.
1248	Capacity *Float64 `json:"capacity,omitempty" xmlrpc:"capacity,omitempty"`
1249
1250	// A brief description for a generic component model that typically defines it's function.
1251	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
1252
1253	// A count of a generic component model's hardware component model.
1254	HardwareComponentModelCount *uint `json:"hardwareComponentModelCount,omitempty" xmlrpc:"hardwareComponentModelCount,omitempty"`
1255
1256	// A generic component model's hardware component model.
1257	HardwareComponentModels []Hardware_Component_Model `json:"hardwareComponentModels,omitempty" xmlrpc:"hardwareComponentModels,omitempty"`
1258
1259	// A generic component model's type.
1260	HardwareComponentType *Hardware_Component_Type `json:"hardwareComponentType,omitempty" xmlrpc:"hardwareComponentType,omitempty"`
1261
1262	// The internal identifier of the component type for a generic component model.
1263	HardwareComponentTypeId *int `json:"hardwareComponentTypeId,omitempty" xmlrpc:"hardwareComponentTypeId,omitempty"`
1264
1265	// A generic component model's internal identification number.
1266	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1267
1268	// A list of features that a generic component model can provide.
1269	MarketingFeatures *Hardware_Component_Model_Generic_MarketingFeature `json:"marketingFeatures,omitempty" xmlrpc:"marketingFeatures,omitempty"`
1270
1271	// The unit of measurement for the capacity of a generic component model.
1272	Units *string `json:"units,omitempty" xmlrpc:"units,omitempty"`
1273
1274	// A generic component model's upgrade priority. The upgrade priority indicates the order a generic component model should be considered over other generic component models. A higher number indicates that a generic component model receives a higher upgrade preference in comparison to a generic component model with a lower priority number.
1275	UpgradePriority *int `json:"upgradePriority,omitempty" xmlrpc:"upgradePriority,omitempty"`
1276}
1277
1278// The SoftLayer_Hardware_Component_Model_Generic_Attribute data type contains information relating to a single SoftLayer generic component model.  Generic component model attributes can hold any information to describe functionality of the model. For Example: The number of cores that a processor has.
1279type Hardware_Component_Model_Generic_Attribute struct {
1280	Entity
1281
1282	// An attributes generic component model.
1283	HardwareGenericComponentModel *Hardware_Component_Model_Generic `json:"hardwareGenericComponentModel,omitempty" xmlrpc:"hardwareGenericComponentModel,omitempty"`
1284
1285	// A generic component model attribute's value.
1286	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
1287}
1288
1289// The SoftLayer_Hardware_Component_Model_Generic_MarketingFeature data type contains general information relating to all the advertising features of a single SoftLayer hardware generic component model.
1290type Hardware_Component_Model_Generic_MarketingFeature struct {
1291	Entity
1292
1293	// An html formatted list of all features.
1294	Features *string `json:"features,omitempty" xmlrpc:"features,omitempty"`
1295
1296	// The generic component model for a list of advertising or marketing features
1297	HardwareGenericComponentModel *Hardware_Component_Model_Generic `json:"hardwareGenericComponentModel,omitempty" xmlrpc:"hardwareGenericComponentModel,omitempty"`
1298
1299	// A hardware component's upgrade price.
1300	Price *string `json:"price,omitempty" xmlrpc:"price,omitempty"`
1301}
1302
1303// The SoftLayer_Hardware_Component_DriveController data type abstracts information related to a motherboard.
1304type Hardware_Component_Motherboard struct {
1305	Hardware_Component
1306}
1307
1308// The SoftLayer_Hardware_Component_Motherboard_Reboot_Time contains the average reboot times for motherboards. There are two types of average times.  One is for motherboards without raid, and the other is for motherboards with raid.  These times are based on averages and have been gathered through numerous test cases.
1309type Hardware_Component_Motherboard_Reboot_Time struct {
1310	Entity
1311
1312	// Motherboard's specifications (manufacturer, version, etc....)
1313	HardwareComponentModel *Hardware_Component_Model `json:"hardwareComponentModel,omitempty" xmlrpc:"hardwareComponentModel,omitempty"`
1314
1315	// Average reboot time in seconds for the motherboard when raid is installed.
1316	WithRaid *int `json:"withRaid,omitempty" xmlrpc:"withRaid,omitempty"`
1317
1318	// Average reboot time in seconds for the motherboard when NO raid is installed.
1319	WithoutRaid *int `json:"withoutRaid,omitempty" xmlrpc:"withoutRaid,omitempty"`
1320}
1321
1322// The SoftLayer_Hardware_Component_NetworkCard data type abstracts information related to a network card.
1323type Hardware_Component_NetworkCard struct {
1324	Hardware_Component
1325}
1326
1327// The SoftLayer_Hardware_Component_PSID_Xref data type holds physical security ID information for hard drives
1328type Hardware_Component_PSID_Xref struct {
1329	Entity
1330
1331	// The hardware component the PSID belongs to.
1332	Component *Hardware_Component `json:"component,omitempty" xmlrpc:"component,omitempty"`
1333
1334	// no documentation yet
1335	ComponentId *int `json:"componentId,omitempty" xmlrpc:"componentId,omitempty"`
1336
1337	// no documentation yet
1338	Psid *string `json:"psid,omitempty" xmlrpc:"psid,omitempty"`
1339}
1340
1341// The SoftLayer_Hardware_Component_Partition data type contains general information relating to a single hard drive partition.
1342type Hardware_Component_Partition struct {
1343	Entity
1344
1345	// A hardware component partition's order in the [[SoftLayer_Hardware_Server]].
1346	DiskNumber *int `json:"diskNumber,omitempty" xmlrpc:"diskNumber,omitempty"`
1347
1348	// A flag indicating if a partition is the grow partition. The grow partition will grow to fill all remaining space on a disk.  There can only be one.
1349	Grow *int `json:"grow,omitempty" xmlrpc:"grow,omitempty"`
1350
1351	// A hardware component partitions's associated [[SoftLayer_Hardware_Component|Hardware Component]]. Likely to be a [[SoftLayer_Hardware_Component_HardDrive|Hard Drive]]
1352	HardwareComponent *Hardware_Component `json:"hardwareComponent,omitempty" xmlrpc:"hardwareComponent,omitempty"`
1353
1354	// A hardware component partition's associated [[SoftLayer_Hardware_Component|hardware component]] Id.
1355	HardwareComponentId *int `json:"hardwareComponentId,omitempty" xmlrpc:"hardwareComponentId,omitempty"`
1356
1357	// A hardware component partition's minimum size(GB).
1358	MinimumSize *Float64 `json:"minimumSize,omitempty" xmlrpc:"minimumSize,omitempty"`
1359
1360	// A hardware component partition's name. On a server with windows this may be 'C' and on Linux this may be '/var'
1361	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
1362}
1363
1364// The SoftLayer_Hardware_Component_Partition_OperatingSystem data type contains general information relating to a single SoftLayer Operating System Partition Template.
1365type Hardware_Component_Partition_OperatingSystem struct {
1366	Entity
1367
1368	// A partition template operating system's description.  Typically the title of the Operating System.
1369	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
1370
1371	// A partition template operating system's id.
1372	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1373
1374	// Information about the kinds of partition templates assigned to this operating system.
1375	Notes *string `json:"notes,omitempty" xmlrpc:"notes,omitempty"`
1376
1377	// A count of information regarding an operating system's [[SoftLayer_Hardware_Component_Partition_Template|Partition Templates]].
1378	PartitionTemplateCount *uint `json:"partitionTemplateCount,omitempty" xmlrpc:"partitionTemplateCount,omitempty"`
1379
1380	// Information regarding an operating system's [[SoftLayer_Hardware_Component_Partition_Template|Partition Templates]].
1381	PartitionTemplates []Hardware_Component_Partition_Template `json:"partitionTemplates,omitempty" xmlrpc:"partitionTemplates,omitempty"`
1382}
1383
1384// The SoftLayer_Hardware_Component_Partition_Template data type contains general information relating to a single SoftLayer partition template.  Partition templates group 1 or more partition configurations that can be used to predefine how a hard drive's partitions will be configured.
1385type Hardware_Component_Partition_Template struct {
1386	Entity
1387
1388	// A partition template's associated [[SoftLayer_Account|Account]].
1389	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
1390
1391	// A partition template's owner. The [[SoftLayer_Account|Account]] that a template was created by.
1392	AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"`
1393
1394	// An individual partition for a partition template. This is identical to 'partitionTemplatePartition' except this will sort unix partitions.
1395	Data []Hardware_Component_Partition_Template_Partition `json:"data,omitempty" xmlrpc:"data,omitempty"`
1396
1397	// A count of an individual partition for a partition template. This is identical to 'partitionTemplatePartition' except this will sort unix partitions.
1398	DataCount *uint `json:"dataCount,omitempty" xmlrpc:"dataCount,omitempty"`
1399
1400	// A partition template's description.
1401	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
1402
1403	// no documentation yet
1404	ExpireDate *string `json:"expireDate,omitempty" xmlrpc:"expireDate,omitempty"`
1405
1406	// A partition template's id.
1407	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1408
1409	// A partition template's associated [[SoftLayer_Hardware_Component_Partition_OperatingSystem|Operating System]].
1410	PartitionOperatingSystem *Hardware_Component_Partition_OperatingSystem `json:"partitionOperatingSystem,omitempty" xmlrpc:"partitionOperatingSystem,omitempty"`
1411
1412	// A partition template's associated [[SoftLayer_Hardware_Component_Partition_OperatingSystem|Operating System]] Id.
1413	PartitionOperatingSystemId *int `json:"partitionOperatingSystemId,omitempty" xmlrpc:"partitionOperatingSystemId,omitempty"`
1414
1415	// An individual partition for a partition template.
1416	PartitionTemplatePartition []Hardware_Component_Partition_Template_Partition `json:"partitionTemplatePartition,omitempty" xmlrpc:"partitionTemplatePartition,omitempty"`
1417
1418	// A count of an individual partition for a partition template.
1419	PartitionTemplatePartitionCount *uint `json:"partitionTemplatePartitionCount,omitempty" xmlrpc:"partitionTemplatePartitionCount,omitempty"`
1420
1421	// A partition template's status code. ACTIVE ,INACTIVE.
1422	StatusCode *string `json:"statusCode,omitempty" xmlrpc:"statusCode,omitempty"`
1423
1424	// A partition template's Type. SYSTEM - template generated by softlayer.  CUSTOM - templates generated by SoftLayer customers.
1425	TemplateType *string `json:"templateType,omitempty" xmlrpc:"templateType,omitempty"`
1426}
1427
1428// The SoftLayer_Hardware_Component_Partition_Template_Partition data type contains general information relating to a single SoftLayer Template Partition.
1429type Hardware_Component_Partition_Template_Partition struct {
1430	Entity
1431
1432	// The filesystem type of a partition
1433	FilesystemType *Configuration_Storage_Filesystem_Type `json:"filesystemType,omitempty" xmlrpc:"filesystemType,omitempty"`
1434
1435	// A partition's id.
1436	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1437
1438	// A flag indication if a partition will be the grow partition.  The grow partition will have its size adjusted to fill all available space on a hard drive.
1439	IsGrow *bool `json:"isGrow,omitempty" xmlrpc:"isGrow,omitempty"`
1440
1441	// A partition's default name.
1442	PartitionName *string `json:"partitionName,omitempty" xmlrpc:"partitionName,omitempty"`
1443
1444	// A partition's default size.
1445	PartitionSize *Float64 `json:"partitionSize,omitempty" xmlrpc:"partitionSize,omitempty"`
1446
1447	// A partition's [[SoftLayer_Hardware_Component_Partition_Template|Partition Template]].
1448	PartitionTemplate *Hardware_Component_Partition_Template `json:"partitionTemplate,omitempty" xmlrpc:"partitionTemplate,omitempty"`
1449
1450	// A partition's associated [[SoftLayer_Hardware_Component_Partition_Template|Partition Template]] Id.
1451	PartitionTemplateId *int `json:"partitionTemplateId,omitempty" xmlrpc:"partitionTemplateId,omitempty"`
1452
1453	// The volume the partition will be put on
1454	VolumeNumber *int `json:"volumeNumber,omitempty" xmlrpc:"volumeNumber,omitempty"`
1455}
1456
1457// The SoftLayer_Hardware_Component_Processor data type abstracts information related to a processor.
1458type Hardware_Component_Processor struct {
1459	Hardware_Component
1460}
1461
1462// The SoftLayer_Hardware_Component_Ram data type abstracts information related to RAM.
1463type Hardware_Component_Ram struct {
1464	Hardware_Component
1465}
1466
1467// This class adds functionality to the base SoftLayer_Hardware class for web servers (all server hardware)
1468type Hardware_Component_RemoteManagement struct {
1469	Hardware_Component
1470
1471	// A network component data type.
1472	NetworkComponent *Network_Component `json:"networkComponent,omitempty" xmlrpc:"networkComponent,omitempty"`
1473}
1474
1475// The SoftLayer_Network_Storage_Evault_Version6 contains the names of the remote management commands.  Currently, only the reboot and power commands for the remote management card exist.
1476type Hardware_Component_RemoteManagement_Command struct {
1477	Entity
1478
1479	// The name of the remote management command.
1480	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
1481
1482	// A count of all requests issued for the remote management command.
1483	RequestCount *uint `json:"requestCount,omitempty" xmlrpc:"requestCount,omitempty"`
1484
1485	// All requests issued for the remote management command.
1486	Requests []Hardware_Component_RemoteManagement_Command_Request `json:"requests,omitempty" xmlrpc:"requests,omitempty"`
1487}
1488
1489// The SoftLayer_Hardware_Component_RemoteManagement_Command_Request contains details for remote management commands issued to a server's remote management card.  Details for remote management commands such as powerOn, powerOff, powerCycle, rebootDefault, rebootSoft, rebootHard can be retrieved.  Details such as the user who issued the command, the id of the remote management card the command was issued, when the command was issued may be retrieved.
1490type Hardware_Component_RemoteManagement_Command_Request struct {
1491	Entity
1492
1493	// The timestamp the remote management command was issued.
1494	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
1495
1496	// The id of the hardware to perform the remote management or powerstrip command on.
1497	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
1498
1499	// The hardware id the command was issued for.
1500	HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"`
1501
1502	// The timestamp recorded when the remote management command returned a status of the command issued.
1503	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
1504
1505	// A hardware's network components. Network components are hardware components such as IPMI cards or Ethernet cards.
1506	NetworkComponent *Network_Component `json:"networkComponent,omitempty" xmlrpc:"networkComponent,omitempty"`
1507
1508	// Execution status of the remote management command.  True is successful.  False is failure.
1509	Processed *bool `json:"processed,omitempty" xmlrpc:"processed,omitempty"`
1510
1511	// The remote management command issued.
1512	RemoteManagementCommand *Hardware_Component_RemoteManagement_Command `json:"remoteManagementCommand,omitempty" xmlrpc:"remoteManagementCommand,omitempty"`
1513
1514	// Information regarding the user who issued the remote management command.
1515	User *User_Customer `json:"user,omitempty" xmlrpc:"user,omitempty"`
1516}
1517
1518// The credentials used for remote management such as username, password, etc...
1519type Hardware_Component_RemoteManagement_User struct {
1520	Entity
1521
1522	// no documentation yet
1523	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
1524
1525	// no documentation yet
1526	NetworkComponent *Network_Component `json:"networkComponent,omitempty" xmlrpc:"networkComponent,omitempty"`
1527
1528	// The password used for this remote management command.
1529	Password *string `json:"password,omitempty" xmlrpc:"password,omitempty"`
1530
1531	// The username used for this remote management command.
1532	Username *string `json:"username,omitempty" xmlrpc:"username,omitempty"`
1533}
1534
1535// no documentation yet
1536type Hardware_Component_Revision struct {
1537	Entity
1538
1539	// The firmware build date
1540	BiosDate *Time `json:"biosDate,omitempty" xmlrpc:"biosDate,omitempty"`
1541
1542	// The Firmware installed on this record's Hardware Component.
1543	Firmware *Hardware_Component_Firmware `json:"firmware,omitempty" xmlrpc:"firmware,omitempty"`
1544
1545	// no documentation yet
1546	FirmwareVersionId *int `json:"firmwareVersionId,omitempty" xmlrpc:"firmwareVersionId,omitempty"`
1547
1548	// The Hardware Component this revision record applies to.
1549	HardwareComponent *Hardware_Component `json:"hardwareComponent,omitempty" xmlrpc:"hardwareComponent,omitempty"`
1550
1551	// no documentation yet
1552	HardwareComponentId *int `json:"hardwareComponentId,omitempty" xmlrpc:"hardwareComponentId,omitempty"`
1553
1554	// no documentation yet
1555	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1556
1557	// The firmware revision
1558	Revision *string `json:"revision,omitempty" xmlrpc:"revision,omitempty"`
1559}
1560
1561// The SoftLayer_Hardware_Component_SecurityDevice is used to determine the security devices attached to the hardware component.
1562type Hardware_Component_SecurityDevice struct {
1563	Hardware_Component
1564}
1565
1566// The SoftLayer_Hardware_Component_SecurityDevice_Infineon is used to determine the Infineon security device attached to the hardware component.
1567type Hardware_Component_SecurityDevice_Infineon struct {
1568	Hardware_Component_SecurityDevice
1569}
1570
1571// The SoftLayer_Hardware_Component_Type data type provides details on the type of component requested
1572type Hardware_Component_Type struct {
1573	Entity
1574
1575	// A count of the generic component model description for this component type object.
1576	HardwareGenericComponentModelCount *uint `json:"hardwareGenericComponentModelCount,omitempty" xmlrpc:"hardwareGenericComponentModelCount,omitempty"`
1577
1578	// The generic component model description for this component type object.
1579	HardwareGenericComponentModels []Hardware_Component_Model_Generic `json:"hardwareGenericComponentModels,omitempty" xmlrpc:"hardwareGenericComponentModels,omitempty"`
1580
1581	// The ID associated with this component type.
1582	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1583
1584	// The hardware component type key name or code.
1585	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
1586
1587	// The type associated with this component type.
1588	Type *string `json:"type,omitempty" xmlrpc:"type,omitempty"`
1589
1590	// The parent generic component model object for this generic component model object.
1591	TypeParent *Hardware_Component_Type `json:"typeParent,omitempty" xmlrpc:"typeParent,omitempty"`
1592
1593	// The parent id associated with this component type.
1594	TypeParentId *int `json:"typeParentId,omitempty" xmlrpc:"typeParentId,omitempty"`
1595}
1596
1597// The SoftLayer_Hardware_Firewall data type contains general information relating to a single SoftLayer firewall.
1598type Hardware_Firewall struct {
1599	Hardware_Switch
1600
1601	// A count of a list of users that have access to this hardware firewall.
1602	UserCount *uint `json:"userCount,omitempty" xmlrpc:"userCount,omitempty"`
1603
1604	// A list of users that have access to this hardware firewall.
1605	Users []User_Customer `json:"users,omitempty" xmlrpc:"users,omitempty"`
1606}
1607
1608// The SoftLayer_Hardware_Function data type contains a generic object type for a piece of hardware, like switch, firewall, server, etc..
1609type Hardware_Function struct {
1610	Entity
1611
1612	// The code associated with this hardware function.
1613	Code *string `json:"code,omitempty" xmlrpc:"code,omitempty"`
1614
1615	// The description for a hardware function.
1616	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
1617
1618	// The id associated with a hardware function.
1619	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1620}
1621
1622// no documentation yet
1623type Hardware_Group struct {
1624	Entity
1625
1626	// no documentation yet
1627	Domain *string `json:"domain,omitempty" xmlrpc:"domain,omitempty"`
1628
1629	// A count of all servers attached to a network hardware.
1630	DownlinkServerCount *uint `json:"downlinkServerCount,omitempty" xmlrpc:"downlinkServerCount,omitempty"`
1631
1632	// All servers attached to a network hardware.
1633	DownlinkServers []Hardware `json:"downlinkServers,omitempty" xmlrpc:"downlinkServers,omitempty"`
1634
1635	// A count of all virtual guests attached to a network hardware.
1636	DownlinkVirtualGuestCount *uint `json:"downlinkVirtualGuestCount,omitempty" xmlrpc:"downlinkVirtualGuestCount,omitempty"`
1637
1638	// All virtual guests attached to a network hardware.
1639	DownlinkVirtualGuests []Virtual_Guest `json:"downlinkVirtualGuests,omitempty" xmlrpc:"downlinkVirtualGuests,omitempty"`
1640
1641	// All network hardware downstream from this hardware.
1642	DownstreamNetworkHardware []Hardware `json:"downstreamNetworkHardware,omitempty" xmlrpc:"downstreamNetworkHardware,omitempty"`
1643
1644	// A count of all network hardware downstream from this hardware.
1645	DownstreamNetworkHardwareCount *uint `json:"downstreamNetworkHardwareCount,omitempty" xmlrpc:"downstreamNetworkHardwareCount,omitempty"`
1646
1647	// A count of all network hardware with monitoring warnings or errors downstream from this hardware.
1648	DownstreamNetworkHardwareWithIncidentCount *uint `json:"downstreamNetworkHardwareWithIncidentCount,omitempty" xmlrpc:"downstreamNetworkHardwareWithIncidentCount,omitempty"`
1649
1650	// All network hardware with monitoring warnings or errors downstream from this hardware.
1651	DownstreamNetworkHardwareWithIncidents []Hardware `json:"downstreamNetworkHardwareWithIncidents,omitempty" xmlrpc:"downstreamNetworkHardwareWithIncidents,omitempty"`
1652
1653	// The chassis that a piece of hardware is housed in.
1654	HardwareChassis *Hardware_Chassis `json:"hardwareChassis,omitempty" xmlrpc:"hardwareChassis,omitempty"`
1655
1656	// no documentation yet
1657	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
1658
1659	// no documentation yet
1660	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1661
1662	// All servers attached downstream to a hardware that have failed monitoring
1663	NetworkMonitorAttachedDownHardware []Hardware `json:"networkMonitorAttachedDownHardware,omitempty" xmlrpc:"networkMonitorAttachedDownHardware,omitempty"`
1664
1665	// A count of all servers attached downstream to a hardware that have failed monitoring
1666	NetworkMonitorAttachedDownHardwareCount *uint `json:"networkMonitorAttachedDownHardwareCount,omitempty" xmlrpc:"networkMonitorAttachedDownHardwareCount,omitempty"`
1667
1668	// A count of virtual guests that are attached downstream to a hardware that have failed monitoring
1669	NetworkMonitorAttachedDownVirtualGuestCount *uint `json:"networkMonitorAttachedDownVirtualGuestCount,omitempty" xmlrpc:"networkMonitorAttachedDownVirtualGuestCount,omitempty"`
1670
1671	// Virtual guests that are attached downstream to a hardware that have failed monitoring
1672	NetworkMonitorAttachedDownVirtualGuests []Virtual_Guest `json:"networkMonitorAttachedDownVirtualGuests,omitempty" xmlrpc:"networkMonitorAttachedDownVirtualGuests,omitempty"`
1673
1674	// The value of a hardware's network status attribute.
1675	NetworkStatus *string `json:"networkStatus,omitempty" xmlrpc:"networkStatus,omitempty"`
1676}
1677
1678// no documentation yet
1679type Hardware_LoadBalancer struct {
1680	Hardware
1681
1682	// no documentation yet
1683	ModelFamily *string `json:"modelFamily,omitempty" xmlrpc:"modelFamily,omitempty"`
1684
1685	// A count of a list of users that have access to this hardware load balancer.
1686	UserCount *uint `json:"userCount,omitempty" xmlrpc:"userCount,omitempty"`
1687
1688	// A list of users that have access to this hardware load balancer.
1689	Users []User_Customer `json:"users,omitempty" xmlrpc:"users,omitempty"`
1690}
1691
1692// no documentation yet
1693type Hardware_Note struct {
1694	Entity
1695
1696	// no documentation yet
1697	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
1698
1699	// no documentation yet
1700	Employee *User_Employee `json:"employee,omitempty" xmlrpc:"employee,omitempty"`
1701
1702	// no documentation yet
1703	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
1704
1705	// no documentation yet
1706	HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"`
1707
1708	// no documentation yet
1709	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1710
1711	// no documentation yet
1712	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
1713
1714	// no documentation yet
1715	Note *string `json:"note,omitempty" xmlrpc:"note,omitempty"`
1716
1717	// no documentation yet
1718	Type *Hardware_Note_Type `json:"type,omitempty" xmlrpc:"type,omitempty"`
1719
1720	// no documentation yet
1721	TypeId *int `json:"typeId,omitempty" xmlrpc:"typeId,omitempty"`
1722
1723	// no documentation yet
1724	User *User_Customer `json:"user,omitempty" xmlrpc:"user,omitempty"`
1725
1726	// no documentation yet
1727	UserRecordId *int `json:"userRecordId,omitempty" xmlrpc:"userRecordId,omitempty"`
1728}
1729
1730// no documentation yet
1731type Hardware_Note_Type struct {
1732	Entity
1733
1734	// no documentation yet
1735	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
1736}
1737
1738// no documentation yet
1739type Hardware_Power_Component struct {
1740	Entity
1741
1742	// no documentation yet
1743	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
1744
1745	// no documentation yet
1746	HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"`
1747
1748	// no documentation yet
1749	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
1750}
1751
1752// no documentation yet
1753type Hardware_Resource_Configuration struct {
1754	Entity
1755
1756	// no documentation yet
1757	ConfigurationTypeId *int `json:"configurationTypeId,omitempty" xmlrpc:"configurationTypeId,omitempty"`
1758
1759	// no documentation yet
1760	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
1761
1762	// no documentation yet
1763	HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"`
1764
1765	// no documentation yet
1766	Properties []Hardware_Resource_Configuration_Property `json:"properties,omitempty" xmlrpc:"properties,omitempty"`
1767
1768	// A count of
1769	PropertyCount *uint `json:"propertyCount,omitempty" xmlrpc:"propertyCount,omitempty"`
1770
1771	// no documentation yet
1772	Type *Hardware_Resource_Configuration_Type `json:"type,omitempty" xmlrpc:"type,omitempty"`
1773}
1774
1775// no documentation yet
1776type Hardware_Resource_Configuration_Property struct {
1777	Entity
1778
1779	// no documentation yet
1780	Configuration *Hardware_Resource_Configuration `json:"configuration,omitempty" xmlrpc:"configuration,omitempty"`
1781
1782	// no documentation yet
1783	ConfigurationId *int `json:"configurationId,omitempty" xmlrpc:"configurationId,omitempty"`
1784
1785	// no documentation yet
1786	ConfigurationPropertyTypeId *int `json:"configurationPropertyTypeId,omitempty" xmlrpc:"configurationPropertyTypeId,omitempty"`
1787
1788	// no documentation yet
1789	Type *Hardware_Resource_Configuration_Property_Type `json:"type,omitempty" xmlrpc:"type,omitempty"`
1790
1791	// no documentation yet
1792	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
1793}
1794
1795// no documentation yet
1796type Hardware_Resource_Configuration_Property_Type struct {
1797	Entity
1798
1799	// no documentation yet
1800	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
1801
1802	// no documentation yet
1803	Properties []Hardware_Resource_Configuration_Property `json:"properties,omitempty" xmlrpc:"properties,omitempty"`
1804
1805	// A count of
1806	PropertyCount *uint `json:"propertyCount,omitempty" xmlrpc:"propertyCount,omitempty"`
1807
1808	// no documentation yet
1809	Unit *string `json:"unit,omitempty" xmlrpc:"unit,omitempty"`
1810}
1811
1812// no documentation yet
1813type Hardware_Resource_Configuration_Type struct {
1814	Entity
1815
1816	// no documentation yet
1817	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
1818
1819	// no documentation yet
1820	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
1821}
1822
1823// The SoftLayer_Hardware_Router data type contains general information relating to a single SoftLayer router.
1824type Hardware_Router struct {
1825	Hardware_Switch
1826
1827	// A count of associated subnets for a router object.
1828	BoundSubnetCount *uint `json:"boundSubnetCount,omitempty" xmlrpc:"boundSubnetCount,omitempty"`
1829
1830	// Associated subnets for a router object.
1831	BoundSubnets []Network_Subnet `json:"boundSubnets,omitempty" xmlrpc:"boundSubnets,omitempty"`
1832
1833	// A flag indicating that a VLAN on the router can be assigned to a host that has local disk functionality.
1834	LocalDiskStorageCapabilityFlag *bool `json:"localDiskStorageCapabilityFlag,omitempty" xmlrpc:"localDiskStorageCapabilityFlag,omitempty"`
1835
1836	// A flag indicating that a VLAN on the router can be assigned to a host that has SAN disk functionality.
1837	SanStorageCapabilityFlag *bool `json:"sanStorageCapabilityFlag,omitempty" xmlrpc:"sanStorageCapabilityFlag,omitempty"`
1838}
1839
1840// The SoftLayer_Hardware_Router_Backend data type contains general information relating to a single SoftLayer router item for hardware.
1841type Hardware_Router_Backend struct {
1842	Hardware_Router
1843}
1844
1845// The SoftLayer_Hardware_Router_Frontend data type contains general information relating to a single SoftLayer router item for hardware.
1846type Hardware_Router_Frontend struct {
1847	Hardware_Router
1848}
1849
1850// no documentation yet
1851type Hardware_SecurityModule struct {
1852	Hardware_Server
1853}
1854
1855// no documentation yet
1856type Hardware_SecurityModule750 struct {
1857	Hardware_SecurityModule
1858}
1859
1860// The SoftLayer_Hardware_Server data type contains general information relating to a single SoftLayer server.
1861type Hardware_Server struct {
1862	Hardware
1863
1864	// The billing item for a server's attached network firewall.
1865	ActiveNetworkFirewallBillingItem *Billing_Item `json:"activeNetworkFirewallBillingItem,omitempty" xmlrpc:"activeNetworkFirewallBillingItem,omitempty"`
1866
1867	// A count of
1868	ActiveTicketCount *uint `json:"activeTicketCount,omitempty" xmlrpc:"activeTicketCount,omitempty"`
1869
1870	// no documentation yet
1871	ActiveTickets []Ticket `json:"activeTickets,omitempty" xmlrpc:"activeTickets,omitempty"`
1872
1873	// Transaction currently running for server.
1874	ActiveTransaction *Provisioning_Version1_Transaction `json:"activeTransaction,omitempty" xmlrpc:"activeTransaction,omitempty"`
1875
1876	// A count of any active transaction(s) that are currently running for the server (example: os reload).
1877	ActiveTransactionCount *uint `json:"activeTransactionCount,omitempty" xmlrpc:"activeTransactionCount,omitempty"`
1878
1879	// Any active transaction(s) that are currently running for the server (example: os reload).
1880	ActiveTransactions []Provisioning_Version1_Transaction `json:"activeTransactions,omitempty" xmlrpc:"activeTransactions,omitempty"`
1881
1882	// An object that stores the maximum level for the monitoring query types and response types.
1883	AvailableMonitoring []Network_Monitor_Version1_Query_Host_Stratum `json:"availableMonitoring,omitempty" xmlrpc:"availableMonitoring,omitempty"`
1884
1885	// A count of an object that stores the maximum level for the monitoring query types and response types.
1886	AvailableMonitoringCount *uint `json:"availableMonitoringCount,omitempty" xmlrpc:"availableMonitoringCount,omitempty"`
1887
1888	// The average daily total bandwidth usage for the current billing cycle.
1889	AverageDailyBandwidthUsage *Float64 `json:"averageDailyBandwidthUsage,omitempty" xmlrpc:"averageDailyBandwidthUsage,omitempty"`
1890
1891	// The average daily private bandwidth usage for the current billing cycle.
1892	AverageDailyPrivateBandwidthUsage *Float64 `json:"averageDailyPrivateBandwidthUsage,omitempty" xmlrpc:"averageDailyPrivateBandwidthUsage,omitempty"`
1893
1894	// The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
1895	BillingCycleBandwidthUsage []Network_Bandwidth_Usage `json:"billingCycleBandwidthUsage,omitempty" xmlrpc:"billingCycleBandwidthUsage,omitempty"`
1896
1897	// A count of the raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
1898	BillingCycleBandwidthUsageCount *uint `json:"billingCycleBandwidthUsageCount,omitempty" xmlrpc:"billingCycleBandwidthUsageCount,omitempty"`
1899
1900	// The raw private bandwidth usage data for the current billing cycle.
1901	BillingCyclePrivateBandwidthUsage *Network_Bandwidth_Usage `json:"billingCyclePrivateBandwidthUsage,omitempty" xmlrpc:"billingCyclePrivateBandwidthUsage,omitempty"`
1902
1903	// The raw public bandwidth usage data for the current billing cycle.
1904	BillingCyclePublicBandwidthUsage *Network_Bandwidth_Usage `json:"billingCyclePublicBandwidthUsage,omitempty" xmlrpc:"billingCyclePublicBandwidthUsage,omitempty"`
1905
1906	// Determine if BIOS password should be left as null.
1907	BiosPasswordNullFlag *bool `json:"biosPasswordNullFlag,omitempty" xmlrpc:"biosPasswordNullFlag,omitempty"`
1908
1909	// Determine if the server is able to be image captured. If unable to image capture a reason will be provided.
1910	CaptureEnabledFlag *Container_Hardware_CaptureEnabled `json:"captureEnabledFlag,omitempty" xmlrpc:"captureEnabledFlag,omitempty"`
1911
1912	// no documentation yet
1913	ContainsSolidStateDrivesFlag *bool `json:"containsSolidStateDrivesFlag,omitempty" xmlrpc:"containsSolidStateDrivesFlag,omitempty"`
1914
1915	// A server's control panel.
1916	ControlPanel *Software_Component_ControlPanel `json:"controlPanel,omitempty" xmlrpc:"controlPanel,omitempty"`
1917
1918	// The total cost of a server, measured in US Dollars ($USD).
1919	Cost *Float64 `json:"cost,omitempty" xmlrpc:"cost,omitempty"`
1920
1921	// An object that provides commonly used bandwidth summary components for the current billing cycle.
1922	CurrentBandwidthSummary *Metric_Tracking_Object_Bandwidth_Summary `json:"currentBandwidthSummary,omitempty" xmlrpc:"currentBandwidthSummary,omitempty"`
1923
1924	// Indicates if a server has a Customer Installed OS
1925	CustomerInstalledOperatingSystemFlag *bool `json:"customerInstalledOperatingSystemFlag,omitempty" xmlrpc:"customerInstalledOperatingSystemFlag,omitempty"`
1926
1927	// Indicates if a server is a customer owned device.
1928	CustomerOwnedFlag *bool `json:"customerOwnedFlag,omitempty" xmlrpc:"customerOwnedFlag,omitempty"`
1929
1930	// Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
1931	HasSingleRootVirtualizationBillingItemFlag *bool `json:"hasSingleRootVirtualizationBillingItemFlag,omitempty" xmlrpc:"hasSingleRootVirtualizationBillingItemFlag,omitempty"`
1932
1933	// The total private inbound bandwidth for this hardware for the current billing cycle.
1934	InboundPrivateBandwidthUsage *Float64 `json:"inboundPrivateBandwidthUsage,omitempty" xmlrpc:"inboundPrivateBandwidthUsage,omitempty"`
1935
1936	// Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
1937	IsCloudReadyNodeCertified *bool `json:"isCloudReadyNodeCertified,omitempty" xmlrpc:"isCloudReadyNodeCertified,omitempty"`
1938
1939	// Determine if remote management has been disabled due to port speed.
1940	IsIpmiDisabled *bool `json:"isIpmiDisabled,omitempty" xmlrpc:"isIpmiDisabled,omitempty"`
1941
1942	// Determine if hardware object is a Virtual Private Cloud node.
1943	IsVirtualPrivateCloudNode *bool `json:"isVirtualPrivateCloudNode,omitempty" xmlrpc:"isVirtualPrivateCloudNode,omitempty"`
1944
1945	// The last transaction that a server's operating system was loaded.
1946	LastOperatingSystemReload *Provisioning_Version1_Transaction `json:"lastOperatingSystemReload,omitempty" xmlrpc:"lastOperatingSystemReload,omitempty"`
1947
1948	// A count of returns a list of logical volumes on the physical machine.
1949	LogicalVolumeStorageGroupCount *uint `json:"logicalVolumeStorageGroupCount,omitempty" xmlrpc:"logicalVolumeStorageGroupCount,omitempty"`
1950
1951	// Returns a list of logical volumes on the physical machine.
1952	LogicalVolumeStorageGroups []Configuration_Storage_Group `json:"logicalVolumeStorageGroups,omitempty" xmlrpc:"logicalVolumeStorageGroups,omitempty"`
1953
1954	// The metric tracking object id for this server.
1955	MetricTrackingObjectId *int `json:"metricTrackingObjectId,omitempty" xmlrpc:"metricTrackingObjectId,omitempty"`
1956
1957	// The monitoring notification objects for this hardware. Each object links this hardware instance to a user account that will be notified if monitoring on this hardware object fails
1958	MonitoringUserNotification []User_Customer_Notification_Hardware `json:"monitoringUserNotification,omitempty" xmlrpc:"monitoringUserNotification,omitempty"`
1959
1960	// A count of the monitoring notification objects for this hardware. Each object links this hardware instance to a user account that will be notified if monitoring on this hardware object fails
1961	MonitoringUserNotificationCount *uint `json:"monitoringUserNotificationCount,omitempty" xmlrpc:"monitoringUserNotificationCount,omitempty"`
1962
1963	// An open ticket requesting cancellation of this server, if one exists.
1964	OpenCancellationTicket *Ticket `json:"openCancellationTicket,omitempty" xmlrpc:"openCancellationTicket,omitempty"`
1965
1966	// The total private outbound bandwidth for this hardware for the current billing cycle.
1967	OutboundPrivateBandwidthUsage *Float64 `json:"outboundPrivateBandwidthUsage,omitempty" xmlrpc:"outboundPrivateBandwidthUsage,omitempty"`
1968
1969	// Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
1970	OverBandwidthAllocationFlag *int `json:"overBandwidthAllocationFlag,omitempty" xmlrpc:"overBandwidthAllocationFlag,omitempty"`
1971
1972	// A count of
1973	PartitionCount *uint `json:"partitionCount,omitempty" xmlrpc:"partitionCount,omitempty"`
1974
1975	// no documentation yet
1976	Partitions []Hardware_Server_Partition `json:"partitions,omitempty" xmlrpc:"partitions,omitempty"`
1977
1978	// A server's primary private IP address.
1979	PrivateIpAddress *string `json:"privateIpAddress,omitempty" xmlrpc:"privateIpAddress,omitempty"`
1980
1981	// Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
1982	ProjectedOverBandwidthAllocationFlag *int `json:"projectedOverBandwidthAllocationFlag,omitempty" xmlrpc:"projectedOverBandwidthAllocationFlag,omitempty"`
1983
1984	// The projected public outbound bandwidth for this hardware for the current billing cycle.
1985	ProjectedPublicBandwidthUsage *Float64 `json:"projectedPublicBandwidthUsage,omitempty" xmlrpc:"projectedPublicBandwidthUsage,omitempty"`
1986
1987	// Determine if hardware object is vSan Ready Node.
1988	ReadyNodeFlag *bool `json:"readyNodeFlag,omitempty" xmlrpc:"readyNodeFlag,omitempty"`
1989
1990	// A count of the last five commands issued to the server's remote management card.
1991	RecentRemoteManagementCommandCount *uint `json:"recentRemoteManagementCommandCount,omitempty" xmlrpc:"recentRemoteManagementCommandCount,omitempty"`
1992
1993	// The last five commands issued to the server's remote management card.
1994	RecentRemoteManagementCommands []Hardware_Component_RemoteManagement_Command_Request `json:"recentRemoteManagementCommands,omitempty" xmlrpc:"recentRemoteManagementCommands,omitempty"`
1995
1996	// no documentation yet
1997	RegionalInternetRegistry *Network_Regional_Internet_Registry `json:"regionalInternetRegistry,omitempty" xmlrpc:"regionalInternetRegistry,omitempty"`
1998
1999	// A server's remote management card.
2000	RemoteManagement *Hardware_Component_RemoteManagement `json:"remoteManagement,omitempty" xmlrpc:"remoteManagement,omitempty"`
2001
2002	// A count of user(s) who have access to issue commands and/or interact with the server's remote management card.
2003	RemoteManagementUserCount *uint `json:"remoteManagementUserCount,omitempty" xmlrpc:"remoteManagementUserCount,omitempty"`
2004
2005	// User(s) who have access to issue commands and/or interact with the server's remote management card.
2006	RemoteManagementUsers []Hardware_Component_RemoteManagement_User `json:"remoteManagementUsers,omitempty" xmlrpc:"remoteManagementUsers,omitempty"`
2007
2008	// Determine if hardware object has Software Guard Extension (SGX) enabled.
2009	SoftwareGuardExtensionEnabled *bool `json:"softwareGuardExtensionEnabled,omitempty" xmlrpc:"softwareGuardExtensionEnabled,omitempty"`
2010
2011	// A server's remote management card used for statistics.
2012	StatisticsRemoteManagement *Hardware_Component_RemoteManagement `json:"statisticsRemoteManagement,omitempty" xmlrpc:"statisticsRemoteManagement,omitempty"`
2013
2014	// Whether to use UEFI boot instead of BIOS.
2015	UefiBootFlag *bool `json:"uefiBootFlag,omitempty" xmlrpc:"uefiBootFlag,omitempty"`
2016
2017	// A count of a list of users that have access to this computing instance.
2018	UserCount *uint `json:"userCount,omitempty" xmlrpc:"userCount,omitempty"`
2019
2020	// A list of users that have access to this computing instance.
2021	Users []User_Customer `json:"users,omitempty" xmlrpc:"users,omitempty"`
2022
2023	// A count of a hardware server's virtual servers.
2024	VirtualGuestCount *uint `json:"virtualGuestCount,omitempty" xmlrpc:"virtualGuestCount,omitempty"`
2025
2026	// A hardware server's virtual servers.
2027	VirtualGuests []Virtual_Guest `json:"virtualGuests,omitempty" xmlrpc:"virtualGuests,omitempty"`
2028}
2029
2030// no documentation yet
2031type Hardware_Server_Partition struct {
2032	Entity
2033
2034	// no documentation yet
2035	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
2036
2037	// no documentation yet
2038	HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"`
2039
2040	// no documentation yet
2041	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
2042
2043	// no documentation yet
2044	MacAddress *string `json:"macAddress,omitempty" xmlrpc:"macAddress,omitempty"`
2045
2046	// A count of
2047	NetworkComponentAttributeCount *uint `json:"networkComponentAttributeCount,omitempty" xmlrpc:"networkComponentAttributeCount,omitempty"`
2048
2049	// no documentation yet
2050	NetworkComponentAttributes []Hardware_Server_Partition_Network_Attribute `json:"networkComponentAttributes,omitempty" xmlrpc:"networkComponentAttributes,omitempty"`
2051}
2052
2053// no documentation yet
2054type Hardware_Server_Partition_Network_Attribute struct {
2055	Entity
2056
2057	// no documentation yet
2058	IpAddress *string `json:"ipAddress,omitempty" xmlrpc:"ipAddress,omitempty"`
2059
2060	// no documentation yet
2061	MacAddress *string `json:"macAddress,omitempty" xmlrpc:"macAddress,omitempty"`
2062
2063	// no documentation yet
2064	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
2065
2066	// no documentation yet
2067	PartitionId *int `json:"partitionId,omitempty" xmlrpc:"partitionId,omitempty"`
2068}
2069
2070// SoftLayer_Hardware_Status models the inventory state of any piece of hardware in SoftLayer's inventory. Most of these statuses are used by SoftLayer while a server is not provisioned or undergoing provisioning. SoftLayer uses the following status codes:
2071//
2072//
2073// *'''ACTIVE''': This server is active and in use.
2074// *'''DEPLOY''': Used during server provisioning.
2075// *'''DEPLOY2''': Used during server provisioning.
2076// *'''MACWAIT''': Used during server provisioning.
2077// *'''RECLAIM''': This server has been reclaimed by SoftLayer and is awaiting de-provisioning.
2078//
2079//
2080// Servers in production and in use should stay in the ACTIVE state. If a server's status ever reads anything else then please contact SoftLayer support.
2081type Hardware_Status struct {
2082	Entity
2083
2084	// A hardware status' internal identifier.
2085	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
2086
2087	// A hardware's status code. See the SoftLayer_Hardware_Status Overview for ''status''' possible values.
2088	Status *string `json:"status,omitempty" xmlrpc:"status,omitempty"`
2089}
2090
2091// The SoftLayer_Hardware_Switch object extends the base functionality of the SoftLayer_Hardware service.
2092type Hardware_Switch struct {
2093	Hardware
2094}
2095