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 services
22
23import (
24	"fmt"
25	"strings"
26
27	"github.com/softlayer/softlayer-go/datatypes"
28	"github.com/softlayer/softlayer-go/session"
29	"github.com/softlayer/softlayer-go/sl"
30)
31
32// The SoftLayer_Hardware data type contains general information relating to a single SoftLayer hardware.
33type Hardware struct {
34	Session *session.Session
35	Options sl.Options
36}
37
38// GetHardwareService returns an instance of the Hardware SoftLayer service
39func GetHardwareService(sess *session.Session) Hardware {
40	return Hardware{Session: sess}
41}
42
43func (r Hardware) Id(id int) Hardware {
44	r.Options.Id = &id
45	return r
46}
47
48func (r Hardware) Mask(mask string) Hardware {
49	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
50		mask = fmt.Sprintf("mask[%s]", mask)
51	}
52
53	r.Options.Mask = mask
54	return r
55}
56
57func (r Hardware) Filter(filter string) Hardware {
58	r.Options.Filter = filter
59	return r
60}
61
62func (r Hardware) Limit(limit int) Hardware {
63	r.Options.Limit = &limit
64	return r
65}
66
67func (r Hardware) Offset(offset int) Hardware {
68	r.Options.Offset = &offset
69	return r
70}
71
72// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
73func (r Hardware) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
74	params := []interface{}{
75		networkStorageTemplateObject,
76	}
77	err = r.Session.DoRequest("SoftLayer_Hardware", "allowAccessToNetworkStorage", params, &r.Options, &resp)
78	return
79}
80
81// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
82func (r Hardware) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
83	params := []interface{}{
84		networkStorageTemplateObjects,
85	}
86	err = r.Session.DoRequest("SoftLayer_Hardware", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
87	return
88}
89
90// Captures a Flex Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
91func (r Hardware) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
92	params := []interface{}{
93		captureTemplate,
94	}
95	err = r.Session.DoRequest("SoftLayer_Hardware", "captureImage", params, &r.Options, &resp)
96	return
97}
98
99// Returns monitoring alarm detailed history
100func (r Hardware) CloseAlarm(alarmId *string) (resp bool, err error) {
101	params := []interface{}{
102		alarmId,
103	}
104	err = r.Session.DoRequest("SoftLayer_Hardware", "closeAlarm", params, &r.Options, &resp)
105	return
106}
107
108//
109// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
110// createObject() enables the creation of servers on an account. This
111// method is a simplified alternative to interacting with the ordering system directly.
112//
113//
114// In order to create a server, a template object must be sent in with a few required
115// values.
116//
117//
118// When this method returns an order will have been placed for a server of the specified configuration.
119//
120//
121// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
122// checking the <code>provisionDate</code> property.
123// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
124// as your initialization parameter.
125//
126//
127// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
128//
129//
130// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
131// <ul class="create_object">
132//     <li><code>hostname</code>
133//         <div>Hostname for the server.</div><ul>
134//             <li><b>Required</b></li>
135//             <li><b>Type</b> - string</li>
136//         </ul>
137//         <br />
138//     </li>
139//     <li><code>domain</code>
140//         <div>Domain for the server.</div><ul>
141//             <li><b>Required</b></li>
142//             <li><b>Type</b> - string</li>
143//         </ul>
144//         <br />
145//     </li>
146//     <li><code>processorCoreAmount</code>
147//         <div>The number of logical CPU cores to allocate.</div><ul>
148//             <li><b>Required</b></li>
149//             <li><b>Type</b> - int</li>
150//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
151//         </ul>
152//         <br />
153//     </li>
154//     <li><code>memoryCapacity</code>
155//         <div>The amount of memory to allocate in gigabytes.</div><ul>
156//             <li><b>Required</b></li>
157//             <li><b>Type</b> - int</li>
158//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
159//         </ul>
160//         <br />
161//     </li>
162//     <li><code>hourlyBillingFlag</code>
163//         <div>Specifies the billing type for the server.</div><ul>
164//             <li><b>Required</b></li>
165//             <li><b>Type</b> - boolean</li>
166//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
167//         </ul>
168//         <br />
169//     </li>
170//     <li><code>operatingSystemReferenceCode</code>
171//         <div>An identifier for the operating system to provision the server with.</div><ul>
172//             <li><b>Required</b></li>
173//             <li><b>Type</b> - string</li>
174//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
175//         </ul>
176//         <br />
177//     </li>
178//     <li><code>datacenter.name</code>
179//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
180//             <li><b>Required</b></li>
181//             <li><b>Type</b> - string</li>
182//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
183//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
184//         </ul>
185//         <http title="Example">{
186//     "datacenter": {
187//         "name": "dal05"
188//     }
189// }</http>
190//         <br />
191//     </li>
192//     <li><code>networkComponents.maxSpeed</code>
193//         <div>Specifies the connection speed for the server's network components.</div><ul>
194//             <li><b>Optional</b></li>
195//             <li><b>Type</b> - int</li>
196//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
197//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The <code>maxSpeed</code> property must be set to specify the network uplink speed, in megabits per second, of the server.</li>
198//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
199//         </ul>
200//             <http title="Example">{
201//     "networkComponents": [
202//         {
203//             "maxSpeed": 1000
204//         }
205//     ]
206// }</http>
207//         <br />
208//     </li>
209//     <li><code>networkComponents.redundancyEnabledFlag</code>
210//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
211//             <li><b>Optional</b></li>
212//             <li><b>Type</b> - bool</li>
213//             <li><b>Default</b> - <code>false</code></li>
214//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the <code>redundancyEnabledFlag</code> property is true the server's network components will be in redundancy groups.</li>
215//         </ul>
216//             <http title="Example">{
217//     "networkComponents": [
218//         {
219//             "redundancyEnabledFlag": false
220//         }
221//     ]
222// }</http>
223//         <br />
224//     </li>
225//     <li><code>privateNetworkOnlyFlag</code>
226//         <div>Specifies whether or not the server only has access to the private network</div><ul>
227//             <li><b>Optional</b></li>
228//             <li><b>Type</b> - boolean</li>
229//             <li><b>Default</b> - <code>false</code></li>
230//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
231//         </ul>
232//         <br />
233//     </li>
234//     <li><code>primaryNetworkComponent.networkVlan.id</code>
235//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
236//             <li><b>Optional</b></li>
237//             <li><b>Type</b> - int</li>
238//             <li><b>Description</b> - The <code>primaryNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the frontend network vlan of the server.</li>
239//         </ul>
240//         <http title="Example">{
241//     "primaryNetworkComponent": {
242//         "networkVlan": {
243//             "id": 1
244//         }
245//     }
246// }</http>
247//         <br />
248//     </li>
249//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
250//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
251//             <li><b>Optional</b></li>
252//             <li><b>Type</b> - int</li>
253//             <li><b>Description</b> - The <code>primaryBackendNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the backend network vlan of the server.</li>
254//         </ul>
255//         <http title="Example">{
256//     "primaryBackendNetworkComponent": {
257//         "networkVlan": {
258//             "id": 2
259//         }
260//     }
261// }</http>
262//         <br />
263//     </li>
264//     <li><code>fixedConfigurationPreset.keyName</code>
265//         <div></div><ul>
266//             <li><b>Optional</b></li>
267//             <li><b>Type</b> - string</li>
268//             <li><b>Description</b> - The <code>fixedConfigurationPreset</code> property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The <code>keyName</code> property must be set to specify preset to use.</li>
269//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
270//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
271//         </ul>
272//         <http title="Example">{
273//     "fixedConfigurationPreset": {
274//         "keyName": "SOME_KEY_NAME"
275//     }
276// }</http>
277//         <br />
278//     </li>
279//     <li><code>userData.value</code>
280//         <div>Arbitrary data to be made available to the server.</div><ul>
281//             <li><b>Optional</b></li>
282//             <li><b>Type</b> - string</li>
283//             <li><b>Description</b> - The <code>userData</code> property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the <code>value</code> property set to an arbitrary value.</li>
284//             <li>This value can be retrieved via the [[SoftLayer_Resource_Metadata/getUserMetadata|getUserMetadata]] method from a request originating from the server. This is primarily useful for providing data to software that may be on the server and configured to execute upon first boot.</li>
285//         </ul>
286//         <http title="Example">{
287//     "userData": [
288//         {
289//             "value": "someValue"
290//         }
291//     ]
292// }</http>
293//         <br />
294//     </li>
295//     <li><code>hardDrives</code>
296//         <div>Hard drive settings for the server</div><ul>
297//             <li><b>Optional</b></li>
298//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
299//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
300//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
301//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
302//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
303//         </ul>
304//         <http title="Example">{
305//     "hardDrives": [
306//         {
307//             "capacity": 500
308//         }
309//     ]
310// }</http>
311//         <br />
312//     </li>
313//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
314//         <div>SSH keys to install on the server upon provisioning.</div><ul>
315//             <li><b>Optional</b></li>
316//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
317//             <li><b>Description</b> - The <code>sshKeys</code> property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the <code>id</code> property set to the value of an existing SSH key.</li>
318//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
319//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
320//         </ul>
321//         <http title="Example">{
322//     "sshKeys": [
323//         {
324//             "id": 123
325//         }
326//     ]
327// }</http>
328//         <br />
329//     </li>
330//     <li><code>postInstallScriptUri</code>
331//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
332//             <li><b>Optional</b></li>
333//             <li><b>Type</b> - string</li>
334//         </ul>
335//         <br />
336//     </li>
337// </ul>
338//
339//
340// <h1>REST Example</h1>
341// <http title="Request">curl -X POST -d '{
342//  "parameters":[
343//      {
344//          "hostname": "host1",
345//          "domain": "example.com",
346//          "processorCoreAmount": 2,
347//          "memoryCapacity": 2,
348//          "hourlyBillingFlag": true,
349//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
350//      }
351//  ]
352// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
353// </http>
354// <http title="Response">HTTP/1.1 201 Created
355// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
356//
357//
358// {
359//     "accountId": 232298,
360//     "bareMetalInstanceFlag": null,
361//     "domain": "example.com",
362//     "hardwareStatusId": null,
363//     "hostname": "host1",
364//     "id": null,
365//     "serviceProviderId": null,
366//     "serviceProviderResourceId": null,
367//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
368//     "hourlyBillingFlag": true,
369//     "memoryCapacity": 2,
370//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
371//     "processorCoreAmount": 2
372// }
373// </http>
374func (r Hardware) CreateObject(templateObject *datatypes.Hardware) (resp datatypes.Hardware, err error) {
375	params := []interface{}{
376		templateObject,
377	}
378	err = r.Session.DoRequest("SoftLayer_Hardware", "createObject", params, &r.Options, &resp)
379	return
380}
381
382//
383// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
384func (r Hardware) DeleteObject() (resp bool, err error) {
385	err = r.Session.DoRequest("SoftLayer_Hardware", "deleteObject", nil, &r.Options, &resp)
386	return
387}
388
389// Delete software component passwords.
390func (r Hardware) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
391	params := []interface{}{
392		softwareComponentPasswords,
393	}
394	err = r.Session.DoRequest("SoftLayer_Hardware", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
395	return
396}
397
398// Edit the properties of a software component password such as the username, password, and notes.
399func (r Hardware) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
400	params := []interface{}{
401		softwareComponentPasswords,
402	}
403	err = r.Session.DoRequest("SoftLayer_Hardware", "editSoftwareComponentPasswords", params, &r.Options, &resp)
404	return
405}
406
407// Download and run remote script from uri on the hardware.
408func (r Hardware) ExecuteRemoteScript(uri *string) (err error) {
409	var resp datatypes.Void
410	params := []interface{}{
411		uri,
412	}
413	err = r.Session.DoRequest("SoftLayer_Hardware", "executeRemoteScript", params, &r.Options, &resp)
414	return
415}
416
417// The '''findByIpAddress''' method finds hardware using its primary public or private IP address. IP addresses that have a secondary subnet tied to the hardware will not return the hardware - alternate means of locating the hardware must be used (see '''Associated Methods'''). If no hardware is found, no errors are generated and no data is returned.
418func (r Hardware) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
419	params := []interface{}{
420		ipAddress,
421	}
422	err = r.Session.DoRequest("SoftLayer_Hardware", "findByIpAddress", params, &r.Options, &resp)
423	return
424}
425
426//
427// Obtain an [[SoftLayer_Container_Product_Order_Hardware_Server (type)|order container]] that can be sent to [[SoftLayer_Product_Order/verifyOrder|verifyOrder]] or [[SoftLayer_Product_Order/placeOrder|placeOrder]].
428//
429//
430// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
431//
432//
433// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
434func (r Hardware) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
435	params := []interface{}{
436		templateObject,
437	}
438	err = r.Session.DoRequest("SoftLayer_Hardware", "generateOrderTemplate", params, &r.Options, &resp)
439	return
440}
441
442// Retrieve The account associated with a piece of hardware.
443func (r Hardware) GetAccount() (resp datatypes.Account, err error) {
444	err = r.Session.DoRequest("SoftLayer_Hardware", "getAccount", nil, &r.Options, &resp)
445	return
446}
447
448// Retrieve A piece of hardware's active physical components.
449func (r Hardware) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
450	err = r.Session.DoRequest("SoftLayer_Hardware", "getActiveComponents", nil, &r.Options, &resp)
451	return
452}
453
454// Retrieve A piece of hardware's active network monitoring incidents.
455func (r Hardware) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
456	err = r.Session.DoRequest("SoftLayer_Hardware", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
457	return
458}
459
460// The '''getAlarmHistory''' method retrieves a detailed history for the monitoring alarm. When calling this method, a start and end date for the history to be retrieved must be entered.
461func (r Hardware) GetAlarmHistory(startDate *datatypes.Time, endDate *datatypes.Time, alarmId *string) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
462	params := []interface{}{
463		startDate,
464		endDate,
465		alarmId,
466	}
467	err = r.Session.DoRequest("SoftLayer_Hardware", "getAlarmHistory", params, &r.Options, &resp)
468	return
469}
470
471// Retrieve
472func (r Hardware) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
473	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllPowerComponents", nil, &r.Options, &resp)
474	return
475}
476
477// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
478func (r Hardware) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
479	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedHost", nil, &r.Options, &resp)
480	return
481}
482
483// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
484func (r Hardware) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
485	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedNetworkStorage", nil, &r.Options, &resp)
486	return
487}
488
489// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
490func (r Hardware) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
491	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
492	return
493}
494
495// Retrieve Information regarding an antivirus/spyware software component object.
496func (r Hardware) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
497	err = r.Session.DoRequest("SoftLayer_Hardware", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
498	return
499}
500
501// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
502func (r Hardware) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
503	params := []interface{}{
504		nasType,
505	}
506	err = r.Session.DoRequest("SoftLayer_Hardware", "getAttachedNetworkStorages", params, &r.Options, &resp)
507	return
508}
509
510// Retrieve Information regarding a piece of hardware's specific attributes.
511func (r Hardware) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
512	err = r.Session.DoRequest("SoftLayer_Hardware", "getAttributes", nil, &r.Options, &resp)
513	return
514}
515
516// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
517func (r Hardware) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
518	params := []interface{}{
519		nasType,
520	}
521	err = r.Session.DoRequest("SoftLayer_Hardware", "getAvailableNetworkStorages", params, &r.Options, &resp)
522	return
523}
524
525// Retrieve The average daily public bandwidth usage for the current billing cycle.
526func (r Hardware) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
527	err = r.Session.DoRequest("SoftLayer_Hardware", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
528	return
529}
530
531// The '''getBackendIncomingBandwidth''' method retrieves the amount of incoming private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
532func (r Hardware) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
533	params := []interface{}{
534		startDate,
535		endDate,
536	}
537	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendIncomingBandwidth", params, &r.Options, &resp)
538	return
539}
540
541// Retrieve A piece of hardware's back-end or private network components.
542func (r Hardware) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
543	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendNetworkComponents", nil, &r.Options, &resp)
544	return
545}
546
547// The '''getBackendOutgoingBandwidth''' method retrieves the amount of outgoing private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
548func (r Hardware) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
549	params := []interface{}{
550		startDate,
551		endDate,
552	}
553	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
554	return
555}
556
557// Retrieve A hardware's backend or private router.
558func (r Hardware) GetBackendRouters() (resp []datatypes.Hardware, err error) {
559	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendRouters", nil, &r.Options, &resp)
560	return
561}
562
563// Retrieve A hardware's allotted bandwidth (measured in GB).
564func (r Hardware) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
565	err = r.Session.DoRequest("SoftLayer_Hardware", "getBandwidthAllocation", nil, &r.Options, &resp)
566	return
567}
568
569// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
570func (r Hardware) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
571	err = r.Session.DoRequest("SoftLayer_Hardware", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
572	return
573}
574
575// Retrieve Information regarding a piece of hardware's benchmark certifications.
576func (r Hardware) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
577	err = r.Session.DoRequest("SoftLayer_Hardware", "getBenchmarkCertifications", nil, &r.Options, &resp)
578	return
579}
580
581// Retrieve Information regarding the billing item for a server.
582func (r Hardware) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
583	err = r.Session.DoRequest("SoftLayer_Hardware", "getBillingItem", nil, &r.Options, &resp)
584	return
585}
586
587// Retrieve A flag indicating that a billing item exists.
588func (r Hardware) GetBillingItemFlag() (resp bool, err error) {
589	err = r.Session.DoRequest("SoftLayer_Hardware", "getBillingItemFlag", nil, &r.Options, &resp)
590	return
591}
592
593// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
594func (r Hardware) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
595	err = r.Session.DoRequest("SoftLayer_Hardware", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
596	return
597}
598
599// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
600func (r Hardware) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
601	err = r.Session.DoRequest("SoftLayer_Hardware", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
602	return
603}
604
605// Retrieve Child hardware.
606func (r Hardware) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
607	err = r.Session.DoRequest("SoftLayer_Hardware", "getChildrenHardware", nil, &r.Options, &resp)
608	return
609}
610
611// no documentation yet
612func (r Hardware) GetComponentDetailsXML() (resp string, err error) {
613	err = r.Session.DoRequest("SoftLayer_Hardware", "getComponentDetailsXML", nil, &r.Options, &resp)
614	return
615}
616
617// Retrieve A piece of hardware's components.
618func (r Hardware) GetComponents() (resp []datatypes.Hardware_Component, err error) {
619	err = r.Session.DoRequest("SoftLayer_Hardware", "getComponents", nil, &r.Options, &resp)
620	return
621}
622
623// Retrieve A continuous data protection/server backup software component object.
624func (r Hardware) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
625	err = r.Session.DoRequest("SoftLayer_Hardware", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
626	return
627}
628
629//
630// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
631//
632//
633// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
634func (r Hardware) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
635	err = r.Session.DoRequest("SoftLayer_Hardware", "getCreateObjectOptions", nil, &r.Options, &resp)
636	return
637}
638
639// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
640func (r Hardware) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
641	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
642	return
643}
644
645// Get the billing detail for this instance for the current billing period. This does not include bandwidth usage.
646func (r Hardware) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
647	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillingDetail", nil, &r.Options, &resp)
648	return
649}
650
651// The '''getCurrentBillingTotal''' method retrieves the total bill amount in US Dollars ($) for the current billing period. In addition to the total bill amount, the billing detail also includes all bandwidth used up to the point the method is called on the piece of hardware.
652func (r Hardware) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
653	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillingTotal", nil, &r.Options, &resp)
654	return
655}
656
657// The '''getDailyAverage''' method calculates the average daily network traffic used by the selected server. Using the required parameter ''dateTime'' to enter a start and end date, the user retrieves this average, measure in gigabytes (GB) for the specified date range. When entering parameters, only the month, day and year are required - time entries are omitted as this method defaults the time to midnight in order to account for the entire day.
658func (r Hardware) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
659	params := []interface{}{
660		startDate,
661		endDate,
662	}
663	err = r.Session.DoRequest("SoftLayer_Hardware", "getDailyAverage", params, &r.Options, &resp)
664	return
665}
666
667// Retrieve Information regarding the datacenter in which a piece of hardware resides.
668func (r Hardware) GetDatacenter() (resp datatypes.Location, err error) {
669	err = r.Session.DoRequest("SoftLayer_Hardware", "getDatacenter", nil, &r.Options, &resp)
670	return
671}
672
673// Retrieve The name of the datacenter in which a piece of hardware resides.
674func (r Hardware) GetDatacenterName() (resp string, err error) {
675	err = r.Session.DoRequest("SoftLayer_Hardware", "getDatacenterName", nil, &r.Options, &resp)
676	return
677}
678
679// Retrieve Number of day(s) a server have been in spare pool.
680func (r Hardware) GetDaysInSparePool() (resp int, err error) {
681	err = r.Session.DoRequest("SoftLayer_Hardware", "getDaysInSparePool", nil, &r.Options, &resp)
682	return
683}
684
685// Retrieve All hardware that has uplink network connections to a piece of hardware.
686func (r Hardware) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
687	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkHardware", nil, &r.Options, &resp)
688	return
689}
690
691// Retrieve All hardware that has uplink network connections to a piece of hardware.
692func (r Hardware) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
693	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
694	return
695}
696
697// Retrieve Information regarding all servers attached to a piece of network hardware.
698func (r Hardware) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
699	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkServers", nil, &r.Options, &resp)
700	return
701}
702
703// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
704func (r Hardware) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
705	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
706	return
707}
708
709// Retrieve All hardware downstream from a network device.
710func (r Hardware) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
711	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
712	return
713}
714
715// Retrieve All network hardware downstream from the selected piece of hardware.
716func (r Hardware) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
717	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
718	return
719}
720
721// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
722func (r Hardware) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
723	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
724	return
725}
726
727// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
728func (r Hardware) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
729	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamServers", nil, &r.Options, &resp)
730	return
731}
732
733// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
734func (r Hardware) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
735	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
736	return
737}
738
739// Retrieve The drive controllers contained within a piece of hardware.
740func (r Hardware) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
741	err = r.Session.DoRequest("SoftLayer_Hardware", "getDriveControllers", nil, &r.Options, &resp)
742	return
743}
744
745// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
746func (r Hardware) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
747	err = r.Session.DoRequest("SoftLayer_Hardware", "getEvaultNetworkStorage", nil, &r.Options, &resp)
748	return
749}
750
751// Retrieve Information regarding a piece of hardware's firewall services.
752func (r Hardware) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
753	err = r.Session.DoRequest("SoftLayer_Hardware", "getFirewallServiceComponent", nil, &r.Options, &resp)
754	return
755}
756
757// Retrieve Defines the fixed components in a fixed configuration bare metal server.
758func (r Hardware) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
759	err = r.Session.DoRequest("SoftLayer_Hardware", "getFixedConfigurationPreset", nil, &r.Options, &resp)
760	return
761}
762
763// The '''getFrontendIncomingBandwidth''' method retrieves the amount of incoming public network traffic used by a server between the given start and end date parameters. When entering the ''dateTime'' parameter, only the month, day and year of the start and end dates are required - the time (hour, minute and second) are set to midnight by default and cannot be changed. The amount of bandwidth retrieved is measured in gigabytes (GB).
764func (r Hardware) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
765	params := []interface{}{
766		startDate,
767		endDate,
768	}
769	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
770	return
771}
772
773// Retrieve A piece of hardware's front-end or public network components.
774func (r Hardware) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
775	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendNetworkComponents", nil, &r.Options, &resp)
776	return
777}
778
779// The '''getFrontendOutgoingBandwidth''' method retrieves the amount of outgoing public network traffic used by a server between the given start and end date parameters. The ''dateTime'' parameter requires only the day, month and year to be entered - the time (hour, minute and second) are set to midnight be default in order to gather the data for the entire start and end date indicated in the parameter. The amount of bandwidth retrieved is measured in gigabytes (GB).
780func (r Hardware) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
781	params := []interface{}{
782		startDate,
783		endDate,
784	}
785	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
786	return
787}
788
789// Retrieve A hardware's frontend or public router.
790func (r Hardware) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
791	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendRouters", nil, &r.Options, &resp)
792	return
793}
794
795// Retrieve A hardware's universally unique identifier.
796func (r Hardware) GetGlobalIdentifier() (resp string, err error) {
797	err = r.Session.DoRequest("SoftLayer_Hardware", "getGlobalIdentifier", nil, &r.Options, &resp)
798	return
799}
800
801// Retrieve The hard drives contained within a piece of hardware.
802func (r Hardware) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
803	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardDrives", nil, &r.Options, &resp)
804	return
805}
806
807// Retrieve The chassis that a piece of hardware is housed in.
808func (r Hardware) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
809	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareChassis", nil, &r.Options, &resp)
810	return
811}
812
813// Retrieve A hardware's function.
814func (r Hardware) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
815	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareFunction", nil, &r.Options, &resp)
816	return
817}
818
819// Retrieve A hardware's function.
820func (r Hardware) GetHardwareFunctionDescription() (resp string, err error) {
821	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareFunctionDescription", nil, &r.Options, &resp)
822	return
823}
824
825// Retrieve A hardware's status.
826func (r Hardware) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
827	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareStatus", nil, &r.Options, &resp)
828	return
829}
830
831// Retrieve Determine in hardware object has TPM enabled.
832func (r Hardware) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
833	err = r.Session.DoRequest("SoftLayer_Hardware", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
834	return
835}
836
837// Retrieve Information regarding a host IPS software component object.
838func (r Hardware) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
839	err = r.Session.DoRequest("SoftLayer_Hardware", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
840	return
841}
842
843// The '''getHourlyBandwidth''' method retrieves all bandwidth updates hourly for the specified hardware. Because the potential number of data points can become excessive, the method limits the user to obtain data in 24-hour intervals. The required ''dateTime'' parameter is used as the starting point for the query and will be calculated for the 24-hour period starting with the specified date and time. For example, entering a parameter of
844//
845// '02/01/2008 0:00'
846//
847// results in a return of all bandwidth data for the entire day of February 1, 2008, as 0:00 specifies a midnight start date. Please note that the time entered should be completed using a 24-hour clock (military time, astronomical time).
848//
849// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
850func (r Hardware) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
851	params := []interface{}{
852		mode,
853		day,
854	}
855	err = r.Session.DoRequest("SoftLayer_Hardware", "getHourlyBandwidth", params, &r.Options, &resp)
856	return
857}
858
859// Retrieve A server's hourly billing status.
860func (r Hardware) GetHourlyBillingFlag() (resp bool, err error) {
861	err = r.Session.DoRequest("SoftLayer_Hardware", "getHourlyBillingFlag", nil, &r.Options, &resp)
862	return
863}
864
865// Retrieve The sum of all the inbound network traffic data for the last 30 days.
866func (r Hardware) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
867	err = r.Session.DoRequest("SoftLayer_Hardware", "getInboundBandwidthUsage", nil, &r.Options, &resp)
868	return
869}
870
871// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
872func (r Hardware) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
873	err = r.Session.DoRequest("SoftLayer_Hardware", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
874	return
875}
876
877// Retrieve Information regarding the last transaction a server performed.
878func (r Hardware) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
879	err = r.Session.DoRequest("SoftLayer_Hardware", "getLastTransaction", nil, &r.Options, &resp)
880	return
881}
882
883// Retrieve A piece of hardware's latest network monitoring incident.
884func (r Hardware) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
885	err = r.Session.DoRequest("SoftLayer_Hardware", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
886	return
887}
888
889// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
890func (r Hardware) GetLocation() (resp datatypes.Location, err error) {
891	err = r.Session.DoRequest("SoftLayer_Hardware", "getLocation", nil, &r.Options, &resp)
892	return
893}
894
895// Retrieve
896func (r Hardware) GetLocationPathString() (resp string, err error) {
897	err = r.Session.DoRequest("SoftLayer_Hardware", "getLocationPathString", nil, &r.Options, &resp)
898	return
899}
900
901// Retrieve Information regarding a lockbox account associated with a server.
902func (r Hardware) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
903	err = r.Session.DoRequest("SoftLayer_Hardware", "getLockboxNetworkStorage", nil, &r.Options, &resp)
904	return
905}
906
907// Retrieve A flag indicating that the hardware is a managed resource.
908func (r Hardware) GetManagedResourceFlag() (resp bool, err error) {
909	err = r.Session.DoRequest("SoftLayer_Hardware", "getManagedResourceFlag", nil, &r.Options, &resp)
910	return
911}
912
913// Retrieve Information regarding a piece of hardware's memory.
914func (r Hardware) GetMemory() (resp []datatypes.Hardware_Component, err error) {
915	err = r.Session.DoRequest("SoftLayer_Hardware", "getMemory", nil, &r.Options, &resp)
916	return
917}
918
919// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
920func (r Hardware) GetMemoryCapacity() (resp uint, err error) {
921	err = r.Session.DoRequest("SoftLayer_Hardware", "getMemoryCapacity", nil, &r.Options, &resp)
922	return
923}
924
925// Retrieve A piece of hardware's metric tracking object.
926func (r Hardware) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
927	err = r.Session.DoRequest("SoftLayer_Hardware", "getMetricTrackingObject", nil, &r.Options, &resp)
928	return
929}
930
931// Returns open monitoring alarms for a given time period
932func (r Hardware) GetMonitoringActiveAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
933	params := []interface{}{
934		startDate,
935		endDate,
936	}
937	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringActiveAlarms", params, &r.Options, &resp)
938	return
939}
940
941// Retrieve Information regarding the monitoring agents associated with a piece of hardware.
942func (r Hardware) GetMonitoringAgents() (resp []datatypes.Monitoring_Agent, err error) {
943	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringAgents", nil, &r.Options, &resp)
944	return
945}
946
947// Returns closed monitoring alarms for a given time period
948func (r Hardware) GetMonitoringClosedAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
949	params := []interface{}{
950		startDate,
951		endDate,
952	}
953	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringClosedAlarms", params, &r.Options, &resp)
954	return
955}
956
957// Retrieve Information regarding the hardware's monitoring robot.
958func (r Hardware) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
959	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringRobot", nil, &r.Options, &resp)
960	return
961}
962
963// Retrieve Information regarding a piece of hardware's network monitoring services.
964func (r Hardware) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
965	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringServiceComponent", nil, &r.Options, &resp)
966	return
967}
968
969// Retrieve The monitoring service flag eligibility status for a piece of hardware.
970func (r Hardware) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
971	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
972	return
973}
974
975// Retrieve The service flag status for a piece of hardware.
976func (r Hardware) GetMonitoringServiceFlag() (resp bool, err error) {
977	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringServiceFlag", nil, &r.Options, &resp)
978	return
979}
980
981// Retrieve Information regarding a piece of hardware's motherboard.
982func (r Hardware) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
983	err = r.Session.DoRequest("SoftLayer_Hardware", "getMotherboard", nil, &r.Options, &resp)
984	return
985}
986
987// Retrieve Information regarding a piece of hardware's network cards.
988func (r Hardware) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
989	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkCards", nil, &r.Options, &resp)
990	return
991}
992
993// Retrieve Returns a hardware's network components.
994func (r Hardware) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
995	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkComponents", nil, &r.Options, &resp)
996	return
997}
998
999// Retrieve The gateway member if this device is part of a network gateway.
1000func (r Hardware) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
1001	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkGatewayMember", nil, &r.Options, &resp)
1002	return
1003}
1004
1005// Retrieve Whether or not this device is part of a network gateway.
1006func (r Hardware) GetNetworkGatewayMemberFlag() (resp bool, err error) {
1007	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
1008	return
1009}
1010
1011// Retrieve A piece of hardware's network management IP address.
1012func (r Hardware) GetNetworkManagementIpAddress() (resp string, err error) {
1013	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
1014	return
1015}
1016
1017// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
1018func (r Hardware) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
1019	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
1020	return
1021}
1022
1023// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
1024func (r Hardware) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
1025	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
1026	return
1027}
1028
1029// Retrieve The status of all of a piece of hardware's network monitoring incidents.
1030func (r Hardware) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
1031	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
1032	return
1033}
1034
1035// Retrieve Information regarding a piece of hardware's network monitors.
1036func (r Hardware) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
1037	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitors", nil, &r.Options, &resp)
1038	return
1039}
1040
1041// Retrieve The value of a hardware's network status attribute.
1042func (r Hardware) GetNetworkStatus() (resp string, err error) {
1043	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStatus", nil, &r.Options, &resp)
1044	return
1045}
1046
1047// Retrieve The hardware's related network status attribute.
1048func (r Hardware) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
1049	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStatusAttribute", nil, &r.Options, &resp)
1050	return
1051}
1052
1053// Retrieve Information regarding a piece of hardware's associated network storage service account.
1054func (r Hardware) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
1055	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStorage", nil, &r.Options, &resp)
1056	return
1057}
1058
1059// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
1060func (r Hardware) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
1061	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkVlans", nil, &r.Options, &resp)
1062	return
1063}
1064
1065// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
1066func (r Hardware) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
1067	err = r.Session.DoRequest("SoftLayer_Hardware", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
1068	return
1069}
1070
1071// Retrieve
1072func (r Hardware) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
1073	err = r.Session.DoRequest("SoftLayer_Hardware", "getNotesHistory", nil, &r.Options, &resp)
1074	return
1075}
1076
1077// getObject retrieves the SoftLayer_Hardware object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Hardware service. You can only retrieve the account that your portal user is assigned to.
1078func (r Hardware) GetObject() (resp datatypes.Hardware, err error) {
1079	err = r.Session.DoRequest("SoftLayer_Hardware", "getObject", nil, &r.Options, &resp)
1080	return
1081}
1082
1083// Retrieve Information regarding a piece of hardware's operating system.
1084func (r Hardware) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
1085	err = r.Session.DoRequest("SoftLayer_Hardware", "getOperatingSystem", nil, &r.Options, &resp)
1086	return
1087}
1088
1089// Retrieve A hardware's operating system software description.
1090func (r Hardware) GetOperatingSystemReferenceCode() (resp string, err error) {
1091	err = r.Session.DoRequest("SoftLayer_Hardware", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
1092	return
1093}
1094
1095// Retrieve The sum of all the outbound network traffic data for the last 30 days.
1096func (r Hardware) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
1097	err = r.Session.DoRequest("SoftLayer_Hardware", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
1098	return
1099}
1100
1101// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
1102func (r Hardware) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
1103	err = r.Session.DoRequest("SoftLayer_Hardware", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
1104	return
1105}
1106
1107// Retrieve Blade Bay
1108func (r Hardware) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
1109	err = r.Session.DoRequest("SoftLayer_Hardware", "getParentBay", nil, &r.Options, &resp)
1110	return
1111}
1112
1113// Retrieve Parent Hardware.
1114func (r Hardware) GetParentHardware() (resp datatypes.Hardware, err error) {
1115	err = r.Session.DoRequest("SoftLayer_Hardware", "getParentHardware", nil, &r.Options, &resp)
1116	return
1117}
1118
1119// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
1120func (r Hardware) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
1121	err = r.Session.DoRequest("SoftLayer_Hardware", "getPointOfPresenceLocation", nil, &r.Options, &resp)
1122	return
1123}
1124
1125// Retrieve The power components for a hardware object.
1126func (r Hardware) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
1127	err = r.Session.DoRequest("SoftLayer_Hardware", "getPowerComponents", nil, &r.Options, &resp)
1128	return
1129}
1130
1131// Retrieve Information regarding a piece of hardware's power supply.
1132func (r Hardware) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
1133	err = r.Session.DoRequest("SoftLayer_Hardware", "getPowerSupply", nil, &r.Options, &resp)
1134	return
1135}
1136
1137// Retrieve The hardware's primary private IP address.
1138func (r Hardware) GetPrimaryBackendIpAddress() (resp string, err error) {
1139	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
1140	return
1141}
1142
1143// Retrieve Information regarding the hardware's primary back-end network component.
1144func (r Hardware) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
1145	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
1146	return
1147}
1148
1149// Retrieve The hardware's primary public IP address.
1150func (r Hardware) GetPrimaryIpAddress() (resp string, err error) {
1151	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryIpAddress", nil, &r.Options, &resp)
1152	return
1153}
1154
1155// Retrieve Information regarding the hardware's primary public network component.
1156func (r Hardware) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
1157	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
1158	return
1159}
1160
1161// Retrieve a graph of a server's private network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPrivateBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
1162func (r Hardware) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
1163	params := []interface{}{
1164		startTime,
1165		endTime,
1166	}
1167	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrivateBandwidthData", params, &r.Options, &resp)
1168	return
1169}
1170
1171// Retrieve Whether the hardware only has access to the private network.
1172func (r Hardware) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
1173	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
1174	return
1175}
1176
1177// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
1178func (r Hardware) GetProcessorCoreAmount() (resp uint, err error) {
1179	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessorCoreAmount", nil, &r.Options, &resp)
1180	return
1181}
1182
1183// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
1184func (r Hardware) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
1185	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
1186	return
1187}
1188
1189// Retrieve Information regarding a piece of hardware's processors.
1190func (r Hardware) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
1191	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessors", nil, &r.Options, &resp)
1192	return
1193}
1194
1195// Retrieve a graph of a server's public network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
1196func (r Hardware) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
1197	params := []interface{}{
1198		startTime,
1199		endTime,
1200	}
1201	err = r.Session.DoRequest("SoftLayer_Hardware", "getPublicBandwidthData", params, &r.Options, &resp)
1202	return
1203}
1204
1205// Retrieve
1206func (r Hardware) GetRack() (resp datatypes.Location, err error) {
1207	err = r.Session.DoRequest("SoftLayer_Hardware", "getRack", nil, &r.Options, &resp)
1208	return
1209}
1210
1211// Retrieve The RAID controllers contained within a piece of hardware.
1212func (r Hardware) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
1213	err = r.Session.DoRequest("SoftLayer_Hardware", "getRaidControllers", nil, &r.Options, &resp)
1214	return
1215}
1216
1217// Retrieve Recent events that impact this hardware.
1218func (r Hardware) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
1219	err = r.Session.DoRequest("SoftLayer_Hardware", "getRecentEvents", nil, &r.Options, &resp)
1220	return
1221}
1222
1223// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
1224func (r Hardware) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
1225	err = r.Session.DoRequest("SoftLayer_Hardware", "getRemoteManagementAccounts", nil, &r.Options, &resp)
1226	return
1227}
1228
1229// Retrieve A hardware's associated remote management component. This is normally IPMI.
1230func (r Hardware) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
1231	err = r.Session.DoRequest("SoftLayer_Hardware", "getRemoteManagementComponent", nil, &r.Options, &resp)
1232	return
1233}
1234
1235// Retrieve
1236func (r Hardware) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
1237	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceConfigurations", nil, &r.Options, &resp)
1238	return
1239}
1240
1241// Retrieve
1242func (r Hardware) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
1243	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
1244	return
1245}
1246
1247// Retrieve
1248func (r Hardware) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
1249	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroupRoles", nil, &r.Options, &resp)
1250	return
1251}
1252
1253// Retrieve The resource groups in which this hardware is a member.
1254func (r Hardware) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
1255	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroups", nil, &r.Options, &resp)
1256	return
1257}
1258
1259// Retrieve A hardware's routers.
1260func (r Hardware) GetRouters() (resp []datatypes.Hardware, err error) {
1261	err = r.Session.DoRequest("SoftLayer_Hardware", "getRouters", nil, &r.Options, &resp)
1262	return
1263}
1264
1265// Retrieve Collection of scale assets this hardware corresponds to.
1266func (r Hardware) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
1267	err = r.Session.DoRequest("SoftLayer_Hardware", "getScaleAssets", nil, &r.Options, &resp)
1268	return
1269}
1270
1271// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
1272func (r Hardware) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
1273	err = r.Session.DoRequest("SoftLayer_Hardware", "getSecurityScanRequests", nil, &r.Options, &resp)
1274	return
1275}
1276
1277// The '''getSensorData''' method retrieves a server's hardware state via its internal sensors. Remote sensor data is transmitted to the SoftLayer API by way of the server's remote management card. Sensor data measures various information, including system temperatures, voltages and other local server settings. Sensor data is cached for 30 second; calls made to this method for the same server within 30 seconds of each other will result in the same data being returned. To ensure that the data retrieved retrieves snapshot of varied data, make calls greater than 30 seconds apart.
1278func (r Hardware) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
1279	err = r.Session.DoRequest("SoftLayer_Hardware", "getSensorData", nil, &r.Options, &resp)
1280	return
1281}
1282
1283// The '''getSensorDataWithGraphs''' method retrieves the raw data returned from the server's remote management card. Along with raw data, graphs for the CPU and system temperatures and fan speeds are also returned. For more details on what information is returned, refer to the ''getSensorData'' method.
1284func (r Hardware) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
1285	err = r.Session.DoRequest("SoftLayer_Hardware", "getSensorDataWithGraphs", nil, &r.Options, &resp)
1286	return
1287}
1288
1289// The '''getServerFanSpeedGraphs''' method retrieves the server's fan speeds and displays the speeds using tachometer graphs. data used to construct these graphs is retrieved from the server's remote management card. Each graph returned will have an associated title.
1290func (r Hardware) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
1291	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
1292	return
1293}
1294
1295// The '''getPowerState''' method retrieves the power state for the selected server. The server's power status is retrieved from its remote management card. This method returns "on", for a server that has been powered on, or "off" for servers powered off.
1296func (r Hardware) GetServerPowerState() (resp string, err error) {
1297	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerPowerState", nil, &r.Options, &resp)
1298	return
1299}
1300
1301// Retrieve Information regarding the server room in which the hardware is located.
1302func (r Hardware) GetServerRoom() (resp datatypes.Location, err error) {
1303	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerRoom", nil, &r.Options, &resp)
1304	return
1305}
1306
1307// The '''getServerTemperatureGraphs''' retrieves the server's temperatures and displays the various temperatures using thermometer graphs. Temperatures retrieved are CPU temperature(s) and system temperatures. Data used to construct the graphs is retrieved from the server's remote management card. All graphs returned will have an associated title.
1308func (r Hardware) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
1309	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerTemperatureGraphs", nil, &r.Options, &resp)
1310	return
1311}
1312
1313// Retrieve Information regarding the piece of hardware's service provider.
1314func (r Hardware) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
1315	err = r.Session.DoRequest("SoftLayer_Hardware", "getServiceProvider", nil, &r.Options, &resp)
1316	return
1317}
1318
1319// Retrieve Information regarding a piece of hardware's installed software.
1320func (r Hardware) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
1321	err = r.Session.DoRequest("SoftLayer_Hardware", "getSoftwareComponents", nil, &r.Options, &resp)
1322	return
1323}
1324
1325// Retrieve Information regarding the billing item for a spare pool server.
1326func (r Hardware) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
1327	err = r.Session.DoRequest("SoftLayer_Hardware", "getSparePoolBillingItem", nil, &r.Options, &resp)
1328	return
1329}
1330
1331// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
1332func (r Hardware) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
1333	err = r.Session.DoRequest("SoftLayer_Hardware", "getSshKeys", nil, &r.Options, &resp)
1334	return
1335}
1336
1337// Retrieve
1338func (r Hardware) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
1339	err = r.Session.DoRequest("SoftLayer_Hardware", "getStorageNetworkComponents", nil, &r.Options, &resp)
1340	return
1341}
1342
1343// Retrieve
1344func (r Hardware) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
1345	err = r.Session.DoRequest("SoftLayer_Hardware", "getTagReferences", nil, &r.Options, &resp)
1346	return
1347}
1348
1349// Retrieve
1350func (r Hardware) GetTopLevelLocation() (resp datatypes.Location, err error) {
1351	err = r.Session.DoRequest("SoftLayer_Hardware", "getTopLevelLocation", nil, &r.Options, &resp)
1352	return
1353}
1354
1355//
1356// This method will query transaction history for a piece of hardware.
1357func (r Hardware) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
1358	err = r.Session.DoRequest("SoftLayer_Hardware", "getTransactionHistory", nil, &r.Options, &resp)
1359	return
1360}
1361
1362// Retrieve a list of upgradeable items available to this piece of hardware. Currently, getUpgradeItemPrices retrieves upgrades available for a server's memory, hard drives, network port speed, bandwidth allocation and GPUs.
1363func (r Hardware) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
1364	err = r.Session.DoRequest("SoftLayer_Hardware", "getUpgradeItemPrices", nil, &r.Options, &resp)
1365	return
1366}
1367
1368// Retrieve An account's associated upgrade request object, if any.
1369func (r Hardware) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
1370	err = r.Session.DoRequest("SoftLayer_Hardware", "getUpgradeRequest", nil, &r.Options, &resp)
1371	return
1372}
1373
1374// Retrieve The network device connected to a piece of hardware.
1375func (r Hardware) GetUplinkHardware() (resp datatypes.Hardware, err error) {
1376	err = r.Session.DoRequest("SoftLayer_Hardware", "getUplinkHardware", nil, &r.Options, &resp)
1377	return
1378}
1379
1380// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
1381func (r Hardware) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
1382	err = r.Session.DoRequest("SoftLayer_Hardware", "getUplinkNetworkComponents", nil, &r.Options, &resp)
1383	return
1384}
1385
1386// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
1387func (r Hardware) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
1388	err = r.Session.DoRequest("SoftLayer_Hardware", "getUserData", nil, &r.Options, &resp)
1389	return
1390}
1391
1392// Retrieve Information regarding the virtual chassis for a piece of hardware.
1393func (r Hardware) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
1394	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualChassis", nil, &r.Options, &resp)
1395	return
1396}
1397
1398// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
1399func (r Hardware) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
1400	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualChassisSiblings", nil, &r.Options, &resp)
1401	return
1402}
1403
1404// Retrieve A piece of hardware's virtual host record.
1405func (r Hardware) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
1406	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualHost", nil, &r.Options, &resp)
1407	return
1408}
1409
1410// Retrieve Information regarding a piece of hardware's virtual software licenses.
1411func (r Hardware) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
1412	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualLicenses", nil, &r.Options, &resp)
1413	return
1414}
1415
1416// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
1417func (r Hardware) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
1418	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRack", nil, &r.Options, &resp)
1419	return
1420}
1421
1422// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
1423func (r Hardware) GetVirtualRackId() (resp int, err error) {
1424	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRackId", nil, &r.Options, &resp)
1425	return
1426}
1427
1428// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
1429func (r Hardware) GetVirtualRackName() (resp string, err error) {
1430	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRackName", nil, &r.Options, &resp)
1431	return
1432}
1433
1434// Retrieve A piece of hardware's virtualization platform software.
1435func (r Hardware) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
1436	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualizationPlatform", nil, &r.Options, &resp)
1437	return
1438}
1439
1440// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
1441func (r Hardware) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
1442	err = r.Session.DoRequest("SoftLayer_Hardware", "importVirtualHost", nil, &r.Options, &resp)
1443	return
1444}
1445
1446// The '''isPingable''' method issues a ping command to the selected server and returns the result of the ping command. This boolean return value displays ''true'' upon successful ping or ''false'' for a failed ping.
1447func (r Hardware) IsPingable() (resp bool, err error) {
1448	err = r.Session.DoRequest("SoftLayer_Hardware", "isPingable", nil, &r.Options, &resp)
1449	return
1450}
1451
1452// Issues a ping command to the server and returns the ping response.
1453func (r Hardware) Ping() (resp string, err error) {
1454	err = r.Session.DoRequest("SoftLayer_Hardware", "ping", nil, &r.Options, &resp)
1455	return
1456}
1457
1458// The '''powerCycle''' method completes a power off and power on of the server successively in one command. The power cycle command is equivalent to unplugging the server from the power strip and then plugging the server back in. '''This method should only be used when all other options have been exhausted'''. Additional remote management commands may not be executed if this command was successfully issued within the last 20 minutes to avoid server failure. Remote management commands include:
1459//
1460// rebootSoft rebootHard powerOn powerOff powerCycle
1461//
1462//
1463func (r Hardware) PowerCycle() (resp bool, err error) {
1464	err = r.Session.DoRequest("SoftLayer_Hardware", "powerCycle", nil, &r.Options, &resp)
1465	return
1466}
1467
1468// This method will power off the server via the server's remote management card.
1469func (r Hardware) PowerOff() (resp bool, err error) {
1470	err = r.Session.DoRequest("SoftLayer_Hardware", "powerOff", nil, &r.Options, &resp)
1471	return
1472}
1473
1474// The '''powerOn''' method powers on a server via its remote management card. This boolean return value returns ''true'' upon successful execution and ''false'' if unsuccessful. Other remote management commands may not be issued in this command was successfully completed within the last 20 minutes to avoid server failure. Remote management commands include:
1475//
1476// rebootSoft rebootHard powerOn powerOff powerCycle
1477//
1478//
1479func (r Hardware) PowerOn() (resp bool, err error) {
1480	err = r.Session.DoRequest("SoftLayer_Hardware", "powerOn", nil, &r.Options, &resp)
1481	return
1482}
1483
1484// The '''rebootDefault''' method attempts to reboot the server by issuing a soft reboot, or reset, command to the server's remote management card. if the reset attempt is unsuccessful, a power cycle command will be issued via the power strip. The power cycle command is equivalent to unplugging the server from the power strip and then plugging the server back in. If the reset was successful within the last 20 minutes, another remote management command cannot be completed to avoid server failure. Remote management commands include:
1485//
1486// rebootSoft rebootHard powerOn powerOff powerCycle
1487//
1488//
1489func (r Hardware) RebootDefault() (resp bool, err error) {
1490	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootDefault", nil, &r.Options, &resp)
1491	return
1492}
1493
1494// The '''rebootHard''' method reboots the server by issuing a cycle command to the server's remote management card. A hard reboot is equivalent to pressing the ''Reset'' button on a server - it is issued immediately and will not allow processes to shut down prior to the reboot. Completing a hard reboot may initiate system disk checks upon server reboot, causing the boot up to take longer than normally expected.
1495//
1496// Remote management commands are unable to be executed if a reboot has been issued successfully within the last 20 minutes to avoid server failure. Remote management commands include:
1497//
1498// rebootSoft rebootHard powerOn powerOff powerCycle
1499//
1500//
1501func (r Hardware) RebootHard() (resp bool, err error) {
1502	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootHard", nil, &r.Options, &resp)
1503	return
1504}
1505
1506// The '''rebootSoft''' method reboots the server by issuing a reset command to the server's remote management card via soft reboot. When executing a soft reboot, servers allow all processes to shut down completely before rebooting. Remote management commands are unable to be issued within 20 minutes of issuing a successful soft reboot in order to avoid server failure. Remote management commands include:
1507//
1508// rebootSoft rebootHard powerOn powerOff powerCycle
1509//
1510//
1511func (r Hardware) RebootSoft() (resp bool, err error) {
1512	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootSoft", nil, &r.Options, &resp)
1513	return
1514}
1515
1516// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
1517func (r Hardware) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
1518	params := []interface{}{
1519		networkStorageTemplateObject,
1520	}
1521	err = r.Session.DoRequest("SoftLayer_Hardware", "removeAccessToNetworkStorage", params, &r.Options, &resp)
1522	return
1523}
1524
1525// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
1526func (r Hardware) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
1527	params := []interface{}{
1528		networkStorageTemplateObjects,
1529	}
1530	err = r.Session.DoRequest("SoftLayer_Hardware", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
1531	return
1532}
1533
1534// no documentation yet
1535func (r Hardware) SetTags(tags *string) (resp bool, err error) {
1536	params := []interface{}{
1537		tags,
1538	}
1539	err = r.Session.DoRequest("SoftLayer_Hardware", "setTags", params, &r.Options, &resp)
1540	return
1541}
1542
1543// This method will update the root IPMI password on this SoftLayer_Hardware.
1544func (r Hardware) UpdateIpmiPassword(password *string) (resp bool, err error) {
1545	params := []interface{}{
1546		password,
1547	}
1548	err = r.Session.DoRequest("SoftLayer_Hardware", "updateIpmiPassword", params, &r.Options, &resp)
1549	return
1550}
1551
1552// The SoftLayer_Hardware_Benchmark_Certification data type contains general information relating to a single SoftLayer hardware benchmark certification document.
1553type Hardware_Benchmark_Certification struct {
1554	Session *session.Session
1555	Options sl.Options
1556}
1557
1558// GetHardwareBenchmarkCertificationService returns an instance of the Hardware_Benchmark_Certification SoftLayer service
1559func GetHardwareBenchmarkCertificationService(sess *session.Session) Hardware_Benchmark_Certification {
1560	return Hardware_Benchmark_Certification{Session: sess}
1561}
1562
1563func (r Hardware_Benchmark_Certification) Id(id int) Hardware_Benchmark_Certification {
1564	r.Options.Id = &id
1565	return r
1566}
1567
1568func (r Hardware_Benchmark_Certification) Mask(mask string) Hardware_Benchmark_Certification {
1569	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1570		mask = fmt.Sprintf("mask[%s]", mask)
1571	}
1572
1573	r.Options.Mask = mask
1574	return r
1575}
1576
1577func (r Hardware_Benchmark_Certification) Filter(filter string) Hardware_Benchmark_Certification {
1578	r.Options.Filter = filter
1579	return r
1580}
1581
1582func (r Hardware_Benchmark_Certification) Limit(limit int) Hardware_Benchmark_Certification {
1583	r.Options.Limit = &limit
1584	return r
1585}
1586
1587func (r Hardware_Benchmark_Certification) Offset(offset int) Hardware_Benchmark_Certification {
1588	r.Options.Offset = &offset
1589	return r
1590}
1591
1592// Retrieve Information regarding a benchmark certification result's associated SoftLayer customer account.
1593func (r Hardware_Benchmark_Certification) GetAccount() (resp datatypes.Account, err error) {
1594	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getAccount", nil, &r.Options, &resp)
1595	return
1596}
1597
1598// Retrieve Information regarding the piece of hardware on which a benchmark certification test was performed.
1599func (r Hardware_Benchmark_Certification) GetHardware() (resp datatypes.Hardware, err error) {
1600	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getHardware", nil, &r.Options, &resp)
1601	return
1602}
1603
1604// getObject retrieves the SoftLayer_Hardware_Benchmark_Certification object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Hardware_Benchmark_Certification service.
1605func (r Hardware_Benchmark_Certification) GetObject() (resp datatypes.Hardware_Benchmark_Certification, err error) {
1606	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getObject", nil, &r.Options, &resp)
1607	return
1608}
1609
1610// Attempt to retrieve the file associated with a benchmark certification result, if such a file exists.  If there is no file for this benchmark certification result, calling this method throws an exception. The "getResultFile" method attempts to retrieve the file associated with a benchmark certification result, if such a file exists. If no file exists for the benchmark certification, an exception is thrown.
1611func (r Hardware_Benchmark_Certification) GetResultFile() (resp []byte, err error) {
1612	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getResultFile", nil, &r.Options, &resp)
1613	return
1614}
1615
1616// no documentation yet
1617type Hardware_Blade struct {
1618	Session *session.Session
1619	Options sl.Options
1620}
1621
1622// GetHardwareBladeService returns an instance of the Hardware_Blade SoftLayer service
1623func GetHardwareBladeService(sess *session.Session) Hardware_Blade {
1624	return Hardware_Blade{Session: sess}
1625}
1626
1627func (r Hardware_Blade) Id(id int) Hardware_Blade {
1628	r.Options.Id = &id
1629	return r
1630}
1631
1632func (r Hardware_Blade) Mask(mask string) Hardware_Blade {
1633	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1634		mask = fmt.Sprintf("mask[%s]", mask)
1635	}
1636
1637	r.Options.Mask = mask
1638	return r
1639}
1640
1641func (r Hardware_Blade) Filter(filter string) Hardware_Blade {
1642	r.Options.Filter = filter
1643	return r
1644}
1645
1646func (r Hardware_Blade) Limit(limit int) Hardware_Blade {
1647	r.Options.Limit = &limit
1648	return r
1649}
1650
1651func (r Hardware_Blade) Offset(offset int) Hardware_Blade {
1652	r.Options.Offset = &offset
1653	return r
1654}
1655
1656// Retrieve
1657func (r Hardware_Blade) GetHardwareChild() (resp datatypes.Hardware, err error) {
1658	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getHardwareChild", nil, &r.Options, &resp)
1659	return
1660}
1661
1662// Retrieve
1663func (r Hardware_Blade) GetHardwareParent() (resp datatypes.Hardware, err error) {
1664	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getHardwareParent", nil, &r.Options, &resp)
1665	return
1666}
1667
1668// no documentation yet
1669func (r Hardware_Blade) GetObject() (resp datatypes.Hardware_Blade, err error) {
1670	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getObject", nil, &r.Options, &resp)
1671	return
1672}
1673
1674// 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.
1675type Hardware_Component_Model struct {
1676	Session *session.Session
1677	Options sl.Options
1678}
1679
1680// GetHardwareComponentModelService returns an instance of the Hardware_Component_Model SoftLayer service
1681func GetHardwareComponentModelService(sess *session.Session) Hardware_Component_Model {
1682	return Hardware_Component_Model{Session: sess}
1683}
1684
1685func (r Hardware_Component_Model) Id(id int) Hardware_Component_Model {
1686	r.Options.Id = &id
1687	return r
1688}
1689
1690func (r Hardware_Component_Model) Mask(mask string) Hardware_Component_Model {
1691	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1692		mask = fmt.Sprintf("mask[%s]", mask)
1693	}
1694
1695	r.Options.Mask = mask
1696	return r
1697}
1698
1699func (r Hardware_Component_Model) Filter(filter string) Hardware_Component_Model {
1700	r.Options.Filter = filter
1701	return r
1702}
1703
1704func (r Hardware_Component_Model) Limit(limit int) Hardware_Component_Model {
1705	r.Options.Limit = &limit
1706	return r
1707}
1708
1709func (r Hardware_Component_Model) Offset(offset int) Hardware_Component_Model {
1710	r.Options.Offset = &offset
1711	return r
1712}
1713
1714// Retrieve
1715func (r Hardware_Component_Model) GetArchitectureType() (resp datatypes.Hardware_Component_Model_Architecture_Type, err error) {
1716	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getArchitectureType", nil, &r.Options, &resp)
1717	return
1718}
1719
1720// Retrieve
1721func (r Hardware_Component_Model) GetAttributes() (resp []datatypes.Hardware_Component_Model_Attribute, err error) {
1722	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getAttributes", nil, &r.Options, &resp)
1723	return
1724}
1725
1726// Retrieve
1727func (r Hardware_Component_Model) GetCompatibleArrayTypes() (resp []datatypes.Configuration_Storage_Group_Array_Type, err error) {
1728	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleArrayTypes", nil, &r.Options, &resp)
1729	return
1730}
1731
1732// Retrieve All the component models that are compatible with a hardware component model.
1733func (r Hardware_Component_Model) GetCompatibleChildComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
1734	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleChildComponentModels", nil, &r.Options, &resp)
1735	return
1736}
1737
1738// Retrieve All the component models that a hardware component model is compatible with.
1739func (r Hardware_Component_Model) GetCompatibleParentComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
1740	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleParentComponentModels", nil, &r.Options, &resp)
1741	return
1742}
1743
1744// Retrieve
1745func (r Hardware_Component_Model) GetFirmwareQuantity() (resp uint, err error) {
1746	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getFirmwareQuantity", nil, &r.Options, &resp)
1747	return
1748}
1749
1750// Retrieve
1751func (r Hardware_Component_Model) GetFirmwares() (resp []datatypes.Hardware_Component_Firmware, err error) {
1752	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getFirmwares", nil, &r.Options, &resp)
1753	return
1754}
1755
1756// Retrieve A hardware component model's physical components in inventory.
1757func (r Hardware_Component_Model) GetHardwareComponents() (resp []datatypes.Hardware_Component, err error) {
1758	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getHardwareComponents", nil, &r.Options, &resp)
1759	return
1760}
1761
1762// Retrieve The non-vendor specific generic component model for a hardware component model.
1763func (r Hardware_Component_Model) GetHardwareGenericComponentModel() (resp datatypes.Hardware_Component_Model_Generic, err error) {
1764	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getHardwareGenericComponentModel", nil, &r.Options, &resp)
1765	return
1766}
1767
1768// Retrieve
1769func (r Hardware_Component_Model) GetInfinibandCompatibleAttribute() (resp datatypes.Hardware_Component_Model_Attribute, err error) {
1770	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getInfinibandCompatibleAttribute", nil, &r.Options, &resp)
1771	return
1772}
1773
1774// Retrieve
1775func (r Hardware_Component_Model) GetIsFlexSkuCompatible() (resp bool, err error) {
1776	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getIsFlexSkuCompatible", nil, &r.Options, &resp)
1777	return
1778}
1779
1780// Retrieve
1781func (r Hardware_Component_Model) GetIsInfinibandCompatible() (resp bool, err error) {
1782	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getIsInfinibandCompatible", nil, &r.Options, &resp)
1783	return
1784}
1785
1786// getObject retrieves the SoftLayer_Hardware_Component_Model object.
1787func (r Hardware_Component_Model) GetObject() (resp datatypes.Hardware_Component_Model, err error) {
1788	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getObject", nil, &r.Options, &resp)
1789	return
1790}
1791
1792// Retrieve A motherboard's average reboot time.
1793func (r Hardware_Component_Model) GetRebootTime() (resp datatypes.Hardware_Component_Motherboard_Reboot_Time, err error) {
1794	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getRebootTime", nil, &r.Options, &resp)
1795	return
1796}
1797
1798// Retrieve A hardware component model's type.
1799func (r Hardware_Component_Model) GetType() (resp string, err error) {
1800	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getType", nil, &r.Options, &resp)
1801	return
1802}
1803
1804// Retrieve The types of attributes that are allowed for a given hardware component model.
1805func (r Hardware_Component_Model) GetValidAttributeTypes() (resp []datatypes.Hardware_Component_Model_Attribute_Type, err error) {
1806	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getValidAttributeTypes", nil, &r.Options, &resp)
1807	return
1808}
1809
1810// The SoftLayer_Hardware_Component_Partition_OperatingSystem data type contains general information relating to a single SoftLayer Operating System Partition Template.
1811type Hardware_Component_Partition_OperatingSystem struct {
1812	Session *session.Session
1813	Options sl.Options
1814}
1815
1816// GetHardwareComponentPartitionOperatingSystemService returns an instance of the Hardware_Component_Partition_OperatingSystem SoftLayer service
1817func GetHardwareComponentPartitionOperatingSystemService(sess *session.Session) Hardware_Component_Partition_OperatingSystem {
1818	return Hardware_Component_Partition_OperatingSystem{Session: sess}
1819}
1820
1821func (r Hardware_Component_Partition_OperatingSystem) Id(id int) Hardware_Component_Partition_OperatingSystem {
1822	r.Options.Id = &id
1823	return r
1824}
1825
1826func (r Hardware_Component_Partition_OperatingSystem) Mask(mask string) Hardware_Component_Partition_OperatingSystem {
1827	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1828		mask = fmt.Sprintf("mask[%s]", mask)
1829	}
1830
1831	r.Options.Mask = mask
1832	return r
1833}
1834
1835func (r Hardware_Component_Partition_OperatingSystem) Filter(filter string) Hardware_Component_Partition_OperatingSystem {
1836	r.Options.Filter = filter
1837	return r
1838}
1839
1840func (r Hardware_Component_Partition_OperatingSystem) Limit(limit int) Hardware_Component_Partition_OperatingSystem {
1841	r.Options.Limit = &limit
1842	return r
1843}
1844
1845func (r Hardware_Component_Partition_OperatingSystem) Offset(offset int) Hardware_Component_Partition_OperatingSystem {
1846	r.Options.Offset = &offset
1847	return r
1848}
1849
1850// no documentation yet
1851func (r Hardware_Component_Partition_OperatingSystem) GetAllObjects() (resp []datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1852	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getAllObjects", nil, &r.Options, &resp)
1853	return
1854}
1855
1856// The '''getByDescription''' method retrieves all possible partition templates based on the description (required parameter) entered when calling the method. The description is typically the operating system's name. Current recognized values include 'linux', 'windows', 'freebsd', and 'Debian'.
1857func (r Hardware_Component_Partition_OperatingSystem) GetByDescription(description *string) (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1858	params := []interface{}{
1859		description,
1860	}
1861	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getByDescription", params, &r.Options, &resp)
1862	return
1863}
1864
1865// getObject retrieves the SoftLayer_Hardware_Component_Partition_OperatingSystem object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Hardware_Component_Partition_OperatingSystem service.s
1866func (r Hardware_Component_Partition_OperatingSystem) GetObject() (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1867	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getObject", nil, &r.Options, &resp)
1868	return
1869}
1870
1871// Retrieve Information regarding an operating system's [[SoftLayer_Hardware_Component_Partition_Template|Partition Templates]].
1872func (r Hardware_Component_Partition_OperatingSystem) GetPartitionTemplates() (resp []datatypes.Hardware_Component_Partition_Template, err error) {
1873	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getPartitionTemplates", nil, &r.Options, &resp)
1874	return
1875}
1876
1877// 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.
1878type Hardware_Component_Partition_Template struct {
1879	Session *session.Session
1880	Options sl.Options
1881}
1882
1883// GetHardwareComponentPartitionTemplateService returns an instance of the Hardware_Component_Partition_Template SoftLayer service
1884func GetHardwareComponentPartitionTemplateService(sess *session.Session) Hardware_Component_Partition_Template {
1885	return Hardware_Component_Partition_Template{Session: sess}
1886}
1887
1888func (r Hardware_Component_Partition_Template) Id(id int) Hardware_Component_Partition_Template {
1889	r.Options.Id = &id
1890	return r
1891}
1892
1893func (r Hardware_Component_Partition_Template) Mask(mask string) Hardware_Component_Partition_Template {
1894	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1895		mask = fmt.Sprintf("mask[%s]", mask)
1896	}
1897
1898	r.Options.Mask = mask
1899	return r
1900}
1901
1902func (r Hardware_Component_Partition_Template) Filter(filter string) Hardware_Component_Partition_Template {
1903	r.Options.Filter = filter
1904	return r
1905}
1906
1907func (r Hardware_Component_Partition_Template) Limit(limit int) Hardware_Component_Partition_Template {
1908	r.Options.Limit = &limit
1909	return r
1910}
1911
1912func (r Hardware_Component_Partition_Template) Offset(offset int) Hardware_Component_Partition_Template {
1913	r.Options.Offset = &offset
1914	return r
1915}
1916
1917// Retrieve A partition template's associated [[SoftLayer_Account|Account]].
1918func (r Hardware_Component_Partition_Template) GetAccount() (resp datatypes.Account, err error) {
1919	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getAccount", nil, &r.Options, &resp)
1920	return
1921}
1922
1923// Retrieve An individual partition for a partition template. This is identical to 'partitionTemplatePartition' except this will sort unix partitions.
1924func (r Hardware_Component_Partition_Template) GetData() (resp []datatypes.Hardware_Component_Partition_Template_Partition, err error) {
1925	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getData", nil, &r.Options, &resp)
1926	return
1927}
1928
1929// Retrieve
1930func (r Hardware_Component_Partition_Template) GetExpireDate() (resp string, err error) {
1931	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getExpireDate", nil, &r.Options, &resp)
1932	return
1933}
1934
1935// getObject retrieves the SoftLayer_Hardware_Component_Partition_Template object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Hardware_Component_Partition_Template service. You can only retrieve the partition templates that your account created or the templates predefined by SoftLayer.
1936func (r Hardware_Component_Partition_Template) GetObject() (resp datatypes.Hardware_Component_Partition_Template, err error) {
1937	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getObject", nil, &r.Options, &resp)
1938	return
1939}
1940
1941// Retrieve A partition template's associated [[SoftLayer_Hardware_Component_Partition_OperatingSystem|Operating System]].
1942func (r Hardware_Component_Partition_Template) GetPartitionOperatingSystem() (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1943	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getPartitionOperatingSystem", nil, &r.Options, &resp)
1944	return
1945}
1946
1947// Retrieve An individual partition for a partition template.
1948func (r Hardware_Component_Partition_Template) GetPartitionTemplatePartition() (resp []datatypes.Hardware_Component_Partition_Template_Partition, err error) {
1949	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getPartitionTemplatePartition", nil, &r.Options, &resp)
1950	return
1951}
1952
1953// The SoftLayer_Hardware_Router data type contains general information relating to a single SoftLayer router.
1954type Hardware_Router struct {
1955	Session *session.Session
1956	Options sl.Options
1957}
1958
1959// GetHardwareRouterService returns an instance of the Hardware_Router SoftLayer service
1960func GetHardwareRouterService(sess *session.Session) Hardware_Router {
1961	return Hardware_Router{Session: sess}
1962}
1963
1964func (r Hardware_Router) Id(id int) Hardware_Router {
1965	r.Options.Id = &id
1966	return r
1967}
1968
1969func (r Hardware_Router) Mask(mask string) Hardware_Router {
1970	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1971		mask = fmt.Sprintf("mask[%s]", mask)
1972	}
1973
1974	r.Options.Mask = mask
1975	return r
1976}
1977
1978func (r Hardware_Router) Filter(filter string) Hardware_Router {
1979	r.Options.Filter = filter
1980	return r
1981}
1982
1983func (r Hardware_Router) Limit(limit int) Hardware_Router {
1984	r.Options.Limit = &limit
1985	return r
1986}
1987
1988func (r Hardware_Router) Offset(offset int) Hardware_Router {
1989	r.Options.Offset = &offset
1990	return r
1991}
1992
1993// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
1994func (r Hardware_Router) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
1995	params := []interface{}{
1996		networkStorageTemplateObject,
1997	}
1998	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "allowAccessToNetworkStorage", params, &r.Options, &resp)
1999	return
2000}
2001
2002// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
2003func (r Hardware_Router) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
2004	params := []interface{}{
2005		networkStorageTemplateObjects,
2006	}
2007	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
2008	return
2009}
2010
2011// Captures a Flex Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
2012func (r Hardware_Router) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
2013	params := []interface{}{
2014		captureTemplate,
2015	}
2016	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "captureImage", params, &r.Options, &resp)
2017	return
2018}
2019
2020// Returns monitoring alarm detailed history
2021func (r Hardware_Router) CloseAlarm(alarmId *string) (resp bool, err error) {
2022	params := []interface{}{
2023		alarmId,
2024	}
2025	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "closeAlarm", params, &r.Options, &resp)
2026	return
2027}
2028
2029//
2030// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
2031// createObject() enables the creation of servers on an account. This
2032// method is a simplified alternative to interacting with the ordering system directly.
2033//
2034//
2035// In order to create a server, a template object must be sent in with a few required
2036// values.
2037//
2038//
2039// When this method returns an order will have been placed for a server of the specified configuration.
2040//
2041//
2042// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
2043// checking the <code>provisionDate</code> property.
2044// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
2045// as your initialization parameter.
2046//
2047//
2048// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
2049//
2050//
2051// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
2052// <ul class="create_object">
2053//     <li><code>hostname</code>
2054//         <div>Hostname for the server.</div><ul>
2055//             <li><b>Required</b></li>
2056//             <li><b>Type</b> - string</li>
2057//         </ul>
2058//         <br />
2059//     </li>
2060//     <li><code>domain</code>
2061//         <div>Domain for the server.</div><ul>
2062//             <li><b>Required</b></li>
2063//             <li><b>Type</b> - string</li>
2064//         </ul>
2065//         <br />
2066//     </li>
2067//     <li><code>processorCoreAmount</code>
2068//         <div>The number of logical CPU cores to allocate.</div><ul>
2069//             <li><b>Required</b></li>
2070//             <li><b>Type</b> - int</li>
2071//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2072//         </ul>
2073//         <br />
2074//     </li>
2075//     <li><code>memoryCapacity</code>
2076//         <div>The amount of memory to allocate in gigabytes.</div><ul>
2077//             <li><b>Required</b></li>
2078//             <li><b>Type</b> - int</li>
2079//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2080//         </ul>
2081//         <br />
2082//     </li>
2083//     <li><code>hourlyBillingFlag</code>
2084//         <div>Specifies the billing type for the server.</div><ul>
2085//             <li><b>Required</b></li>
2086//             <li><b>Type</b> - boolean</li>
2087//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
2088//         </ul>
2089//         <br />
2090//     </li>
2091//     <li><code>operatingSystemReferenceCode</code>
2092//         <div>An identifier for the operating system to provision the server with.</div><ul>
2093//             <li><b>Required</b></li>
2094//             <li><b>Type</b> - string</li>
2095//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2096//         </ul>
2097//         <br />
2098//     </li>
2099//     <li><code>datacenter.name</code>
2100//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
2101//             <li><b>Required</b></li>
2102//             <li><b>Type</b> - string</li>
2103//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
2104//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2105//         </ul>
2106//         <http title="Example">{
2107//     "datacenter": {
2108//         "name": "dal05"
2109//     }
2110// }</http>
2111//         <br />
2112//     </li>
2113//     <li><code>networkComponents.maxSpeed</code>
2114//         <div>Specifies the connection speed for the server's network components.</div><ul>
2115//             <li><b>Optional</b></li>
2116//             <li><b>Type</b> - int</li>
2117//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
2118//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The <code>maxSpeed</code> property must be set to specify the network uplink speed, in megabits per second, of the server.</li>
2119//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2120//         </ul>
2121//             <http title="Example">{
2122//     "networkComponents": [
2123//         {
2124//             "maxSpeed": 1000
2125//         }
2126//     ]
2127// }</http>
2128//         <br />
2129//     </li>
2130//     <li><code>networkComponents.redundancyEnabledFlag</code>
2131//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
2132//             <li><b>Optional</b></li>
2133//             <li><b>Type</b> - bool</li>
2134//             <li><b>Default</b> - <code>false</code></li>
2135//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the <code>redundancyEnabledFlag</code> property is true the server's network components will be in redundancy groups.</li>
2136//         </ul>
2137//             <http title="Example">{
2138//     "networkComponents": [
2139//         {
2140//             "redundancyEnabledFlag": false
2141//         }
2142//     ]
2143// }</http>
2144//         <br />
2145//     </li>
2146//     <li><code>privateNetworkOnlyFlag</code>
2147//         <div>Specifies whether or not the server only has access to the private network</div><ul>
2148//             <li><b>Optional</b></li>
2149//             <li><b>Type</b> - boolean</li>
2150//             <li><b>Default</b> - <code>false</code></li>
2151//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
2152//         </ul>
2153//         <br />
2154//     </li>
2155//     <li><code>primaryNetworkComponent.networkVlan.id</code>
2156//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
2157//             <li><b>Optional</b></li>
2158//             <li><b>Type</b> - int</li>
2159//             <li><b>Description</b> - The <code>primaryNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the frontend network vlan of the server.</li>
2160//         </ul>
2161//         <http title="Example">{
2162//     "primaryNetworkComponent": {
2163//         "networkVlan": {
2164//             "id": 1
2165//         }
2166//     }
2167// }</http>
2168//         <br />
2169//     </li>
2170//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
2171//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
2172//             <li><b>Optional</b></li>
2173//             <li><b>Type</b> - int</li>
2174//             <li><b>Description</b> - The <code>primaryBackendNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the backend network vlan of the server.</li>
2175//         </ul>
2176//         <http title="Example">{
2177//     "primaryBackendNetworkComponent": {
2178//         "networkVlan": {
2179//             "id": 2
2180//         }
2181//     }
2182// }</http>
2183//         <br />
2184//     </li>
2185//     <li><code>fixedConfigurationPreset.keyName</code>
2186//         <div></div><ul>
2187//             <li><b>Optional</b></li>
2188//             <li><b>Type</b> - string</li>
2189//             <li><b>Description</b> - The <code>fixedConfigurationPreset</code> property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The <code>keyName</code> property must be set to specify preset to use.</li>
2190//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
2191//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2192//         </ul>
2193//         <http title="Example">{
2194//     "fixedConfigurationPreset": {
2195//         "keyName": "SOME_KEY_NAME"
2196//     }
2197// }</http>
2198//         <br />
2199//     </li>
2200//     <li><code>userData.value</code>
2201//         <div>Arbitrary data to be made available to the server.</div><ul>
2202//             <li><b>Optional</b></li>
2203//             <li><b>Type</b> - string</li>
2204//             <li><b>Description</b> - The <code>userData</code> property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the <code>value</code> property set to an arbitrary value.</li>
2205//             <li>This value can be retrieved via the [[SoftLayer_Resource_Metadata/getUserMetadata|getUserMetadata]] method from a request originating from the server. This is primarily useful for providing data to software that may be on the server and configured to execute upon first boot.</li>
2206//         </ul>
2207//         <http title="Example">{
2208//     "userData": [
2209//         {
2210//             "value": "someValue"
2211//         }
2212//     ]
2213// }</http>
2214//         <br />
2215//     </li>
2216//     <li><code>hardDrives</code>
2217//         <div>Hard drive settings for the server</div><ul>
2218//             <li><b>Optional</b></li>
2219//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
2220//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
2221//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
2222//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
2223//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2224//         </ul>
2225//         <http title="Example">{
2226//     "hardDrives": [
2227//         {
2228//             "capacity": 500
2229//         }
2230//     ]
2231// }</http>
2232//         <br />
2233//     </li>
2234//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
2235//         <div>SSH keys to install on the server upon provisioning.</div><ul>
2236//             <li><b>Optional</b></li>
2237//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
2238//             <li><b>Description</b> - The <code>sshKeys</code> property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the <code>id</code> property set to the value of an existing SSH key.</li>
2239//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
2240//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
2241//         </ul>
2242//         <http title="Example">{
2243//     "sshKeys": [
2244//         {
2245//             "id": 123
2246//         }
2247//     ]
2248// }</http>
2249//         <br />
2250//     </li>
2251//     <li><code>postInstallScriptUri</code>
2252//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
2253//             <li><b>Optional</b></li>
2254//             <li><b>Type</b> - string</li>
2255//         </ul>
2256//         <br />
2257//     </li>
2258// </ul>
2259//
2260//
2261// <h1>REST Example</h1>
2262// <http title="Request">curl -X POST -d '{
2263//  "parameters":[
2264//      {
2265//          "hostname": "host1",
2266//          "domain": "example.com",
2267//          "processorCoreAmount": 2,
2268//          "memoryCapacity": 2,
2269//          "hourlyBillingFlag": true,
2270//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
2271//      }
2272//  ]
2273// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
2274// </http>
2275// <http title="Response">HTTP/1.1 201 Created
2276// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
2277//
2278//
2279// {
2280//     "accountId": 232298,
2281//     "bareMetalInstanceFlag": null,
2282//     "domain": "example.com",
2283//     "hardwareStatusId": null,
2284//     "hostname": "host1",
2285//     "id": null,
2286//     "serviceProviderId": null,
2287//     "serviceProviderResourceId": null,
2288//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
2289//     "hourlyBillingFlag": true,
2290//     "memoryCapacity": 2,
2291//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
2292//     "processorCoreAmount": 2
2293// }
2294// </http>
2295func (r Hardware_Router) CreateObject(templateObject *datatypes.Hardware) (resp datatypes.Hardware, err error) {
2296	params := []interface{}{
2297		templateObject,
2298	}
2299	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "createObject", params, &r.Options, &resp)
2300	return
2301}
2302
2303//
2304// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
2305func (r Hardware_Router) DeleteObject() (resp bool, err error) {
2306	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "deleteObject", nil, &r.Options, &resp)
2307	return
2308}
2309
2310// Delete software component passwords.
2311func (r Hardware_Router) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
2312	params := []interface{}{
2313		softwareComponentPasswords,
2314	}
2315	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
2316	return
2317}
2318
2319// Edit the properties of a software component password such as the username, password, and notes.
2320func (r Hardware_Router) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
2321	params := []interface{}{
2322		softwareComponentPasswords,
2323	}
2324	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "editSoftwareComponentPasswords", params, &r.Options, &resp)
2325	return
2326}
2327
2328// Download and run remote script from uri on the hardware.
2329func (r Hardware_Router) ExecuteRemoteScript(uri *string) (err error) {
2330	var resp datatypes.Void
2331	params := []interface{}{
2332		uri,
2333	}
2334	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "executeRemoteScript", params, &r.Options, &resp)
2335	return
2336}
2337
2338// The '''findByIpAddress''' method finds hardware using its primary public or private IP address. IP addresses that have a secondary subnet tied to the hardware will not return the hardware - alternate means of locating the hardware must be used (see '''Associated Methods'''). If no hardware is found, no errors are generated and no data is returned.
2339func (r Hardware_Router) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
2340	params := []interface{}{
2341		ipAddress,
2342	}
2343	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "findByIpAddress", params, &r.Options, &resp)
2344	return
2345}
2346
2347//
2348// Obtain an [[SoftLayer_Container_Product_Order_Hardware_Server (type)|order container]] that can be sent to [[SoftLayer_Product_Order/verifyOrder|verifyOrder]] or [[SoftLayer_Product_Order/placeOrder|placeOrder]].
2349//
2350//
2351// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
2352//
2353//
2354// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
2355func (r Hardware_Router) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
2356	params := []interface{}{
2357		templateObject,
2358	}
2359	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "generateOrderTemplate", params, &r.Options, &resp)
2360	return
2361}
2362
2363// Retrieve The account associated with a piece of hardware.
2364func (r Hardware_Router) GetAccount() (resp datatypes.Account, err error) {
2365	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAccount", nil, &r.Options, &resp)
2366	return
2367}
2368
2369// Retrieve A piece of hardware's active physical components.
2370func (r Hardware_Router) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
2371	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getActiveComponents", nil, &r.Options, &resp)
2372	return
2373}
2374
2375// Retrieve A piece of hardware's active network monitoring incidents.
2376func (r Hardware_Router) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
2377	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
2378	return
2379}
2380
2381// The '''getAlarmHistory''' method retrieves a detailed history for the monitoring alarm. When calling this method, a start and end date for the history to be retrieved must be entered.
2382func (r Hardware_Router) GetAlarmHistory(startDate *datatypes.Time, endDate *datatypes.Time, alarmId *string) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
2383	params := []interface{}{
2384		startDate,
2385		endDate,
2386		alarmId,
2387	}
2388	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAlarmHistory", params, &r.Options, &resp)
2389	return
2390}
2391
2392// Retrieve
2393func (r Hardware_Router) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
2394	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllPowerComponents", nil, &r.Options, &resp)
2395	return
2396}
2397
2398// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
2399func (r Hardware_Router) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
2400	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedHost", nil, &r.Options, &resp)
2401	return
2402}
2403
2404// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
2405func (r Hardware_Router) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
2406	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedNetworkStorage", nil, &r.Options, &resp)
2407	return
2408}
2409
2410// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
2411func (r Hardware_Router) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
2412	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
2413	return
2414}
2415
2416// Retrieve Information regarding an antivirus/spyware software component object.
2417func (r Hardware_Router) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
2418	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
2419	return
2420}
2421
2422// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
2423func (r Hardware_Router) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
2424	params := []interface{}{
2425		nasType,
2426	}
2427	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAttachedNetworkStorages", params, &r.Options, &resp)
2428	return
2429}
2430
2431// Retrieve Information regarding a piece of hardware's specific attributes.
2432func (r Hardware_Router) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
2433	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAttributes", nil, &r.Options, &resp)
2434	return
2435}
2436
2437// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
2438func (r Hardware_Router) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
2439	params := []interface{}{
2440		nasType,
2441	}
2442	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAvailableNetworkStorages", params, &r.Options, &resp)
2443	return
2444}
2445
2446// Retrieve The average daily public bandwidth usage for the current billing cycle.
2447func (r Hardware_Router) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
2448	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
2449	return
2450}
2451
2452// The '''getBackendIncomingBandwidth''' method retrieves the amount of incoming private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
2453func (r Hardware_Router) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2454	params := []interface{}{
2455		startDate,
2456		endDate,
2457	}
2458	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendIncomingBandwidth", params, &r.Options, &resp)
2459	return
2460}
2461
2462// Retrieve A piece of hardware's back-end or private network components.
2463func (r Hardware_Router) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
2464	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendNetworkComponents", nil, &r.Options, &resp)
2465	return
2466}
2467
2468// The '''getBackendOutgoingBandwidth''' method retrieves the amount of outgoing private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
2469func (r Hardware_Router) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2470	params := []interface{}{
2471		startDate,
2472		endDate,
2473	}
2474	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
2475	return
2476}
2477
2478// Retrieve A hardware's backend or private router.
2479func (r Hardware_Router) GetBackendRouters() (resp []datatypes.Hardware, err error) {
2480	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendRouters", nil, &r.Options, &resp)
2481	return
2482}
2483
2484// Retrieve A hardware's allotted bandwidth (measured in GB).
2485func (r Hardware_Router) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
2486	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBandwidthAllocation", nil, &r.Options, &resp)
2487	return
2488}
2489
2490// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
2491func (r Hardware_Router) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
2492	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
2493	return
2494}
2495
2496// Retrieve Information regarding a piece of hardware's benchmark certifications.
2497func (r Hardware_Router) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
2498	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBenchmarkCertifications", nil, &r.Options, &resp)
2499	return
2500}
2501
2502// Retrieve Information regarding the billing item for a server.
2503func (r Hardware_Router) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
2504	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBillingItem", nil, &r.Options, &resp)
2505	return
2506}
2507
2508// Retrieve A flag indicating that a billing item exists.
2509func (r Hardware_Router) GetBillingItemFlag() (resp bool, err error) {
2510	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBillingItemFlag", nil, &r.Options, &resp)
2511	return
2512}
2513
2514// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
2515func (r Hardware_Router) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
2516	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
2517	return
2518}
2519
2520// Retrieve Associated subnets for a router object.
2521func (r Hardware_Router) GetBoundSubnets() (resp []datatypes.Network_Subnet, err error) {
2522	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBoundSubnets", nil, &r.Options, &resp)
2523	return
2524}
2525
2526// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
2527func (r Hardware_Router) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
2528	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
2529	return
2530}
2531
2532// Retrieve Child hardware.
2533func (r Hardware_Router) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
2534	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getChildrenHardware", nil, &r.Options, &resp)
2535	return
2536}
2537
2538// no documentation yet
2539func (r Hardware_Router) GetComponentDetailsXML() (resp string, err error) {
2540	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getComponentDetailsXML", nil, &r.Options, &resp)
2541	return
2542}
2543
2544// Retrieve A piece of hardware's components.
2545func (r Hardware_Router) GetComponents() (resp []datatypes.Hardware_Component, err error) {
2546	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getComponents", nil, &r.Options, &resp)
2547	return
2548}
2549
2550// Retrieve A continuous data protection/server backup software component object.
2551func (r Hardware_Router) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
2552	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
2553	return
2554}
2555
2556//
2557// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
2558//
2559//
2560// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
2561func (r Hardware_Router) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
2562	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCreateObjectOptions", nil, &r.Options, &resp)
2563	return
2564}
2565
2566// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
2567func (r Hardware_Router) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
2568	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
2569	return
2570}
2571
2572// Get the billing detail for this instance for the current billing period. This does not include bandwidth usage.
2573func (r Hardware_Router) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
2574	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillingDetail", nil, &r.Options, &resp)
2575	return
2576}
2577
2578// The '''getCurrentBillingTotal''' method retrieves the total bill amount in US Dollars ($) for the current billing period. In addition to the total bill amount, the billing detail also includes all bandwidth used up to the point the method is called on the piece of hardware.
2579func (r Hardware_Router) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
2580	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillingTotal", nil, &r.Options, &resp)
2581	return
2582}
2583
2584// The '''getDailyAverage''' method calculates the average daily network traffic used by the selected server. Using the required parameter ''dateTime'' to enter a start and end date, the user retrieves this average, measure in gigabytes (GB) for the specified date range. When entering parameters, only the month, day and year are required - time entries are omitted as this method defaults the time to midnight in order to account for the entire day.
2585func (r Hardware_Router) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2586	params := []interface{}{
2587		startDate,
2588		endDate,
2589	}
2590	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDailyAverage", params, &r.Options, &resp)
2591	return
2592}
2593
2594// Retrieve Information regarding the datacenter in which a piece of hardware resides.
2595func (r Hardware_Router) GetDatacenter() (resp datatypes.Location, err error) {
2596	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDatacenter", nil, &r.Options, &resp)
2597	return
2598}
2599
2600// Retrieve The name of the datacenter in which a piece of hardware resides.
2601func (r Hardware_Router) GetDatacenterName() (resp string, err error) {
2602	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDatacenterName", nil, &r.Options, &resp)
2603	return
2604}
2605
2606// Retrieve Number of day(s) a server have been in spare pool.
2607func (r Hardware_Router) GetDaysInSparePool() (resp int, err error) {
2608	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDaysInSparePool", nil, &r.Options, &resp)
2609	return
2610}
2611
2612// Retrieve All hardware that has uplink network connections to a piece of hardware.
2613func (r Hardware_Router) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
2614	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkHardware", nil, &r.Options, &resp)
2615	return
2616}
2617
2618// Retrieve All hardware that has uplink network connections to a piece of hardware.
2619func (r Hardware_Router) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
2620	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
2621	return
2622}
2623
2624// Retrieve Information regarding all servers attached to a piece of network hardware.
2625func (r Hardware_Router) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
2626	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkServers", nil, &r.Options, &resp)
2627	return
2628}
2629
2630// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
2631func (r Hardware_Router) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
2632	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
2633	return
2634}
2635
2636// Retrieve All hardware downstream from a network device.
2637func (r Hardware_Router) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
2638	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
2639	return
2640}
2641
2642// Retrieve All network hardware downstream from the selected piece of hardware.
2643func (r Hardware_Router) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
2644	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
2645	return
2646}
2647
2648// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
2649func (r Hardware_Router) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
2650	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
2651	return
2652}
2653
2654// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
2655func (r Hardware_Router) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
2656	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamServers", nil, &r.Options, &resp)
2657	return
2658}
2659
2660// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
2661func (r Hardware_Router) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
2662	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
2663	return
2664}
2665
2666// Retrieve The drive controllers contained within a piece of hardware.
2667func (r Hardware_Router) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
2668	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDriveControllers", nil, &r.Options, &resp)
2669	return
2670}
2671
2672// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
2673func (r Hardware_Router) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
2674	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getEvaultNetworkStorage", nil, &r.Options, &resp)
2675	return
2676}
2677
2678// Retrieve Information regarding a piece of hardware's firewall services.
2679func (r Hardware_Router) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
2680	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFirewallServiceComponent", nil, &r.Options, &resp)
2681	return
2682}
2683
2684// Retrieve Defines the fixed components in a fixed configuration bare metal server.
2685func (r Hardware_Router) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
2686	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFixedConfigurationPreset", nil, &r.Options, &resp)
2687	return
2688}
2689
2690// The '''getFrontendIncomingBandwidth''' method retrieves the amount of incoming public network traffic used by a server between the given start and end date parameters. When entering the ''dateTime'' parameter, only the month, day and year of the start and end dates are required - the time (hour, minute and second) are set to midnight by default and cannot be changed. The amount of bandwidth retrieved is measured in gigabytes (GB).
2691func (r Hardware_Router) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2692	params := []interface{}{
2693		startDate,
2694		endDate,
2695	}
2696	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
2697	return
2698}
2699
2700// Retrieve A piece of hardware's front-end or public network components.
2701func (r Hardware_Router) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
2702	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendNetworkComponents", nil, &r.Options, &resp)
2703	return
2704}
2705
2706// The '''getFrontendOutgoingBandwidth''' method retrieves the amount of outgoing public network traffic used by a server between the given start and end date parameters. The ''dateTime'' parameter requires only the day, month and year to be entered - the time (hour, minute and second) are set to midnight be default in order to gather the data for the entire start and end date indicated in the parameter. The amount of bandwidth retrieved is measured in gigabytes (GB).
2707func (r Hardware_Router) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2708	params := []interface{}{
2709		startDate,
2710		endDate,
2711	}
2712	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
2713	return
2714}
2715
2716// Retrieve A hardware's frontend or public router.
2717func (r Hardware_Router) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
2718	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendRouters", nil, &r.Options, &resp)
2719	return
2720}
2721
2722// Retrieve A hardware's universally unique identifier.
2723func (r Hardware_Router) GetGlobalIdentifier() (resp string, err error) {
2724	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getGlobalIdentifier", nil, &r.Options, &resp)
2725	return
2726}
2727
2728// Retrieve The hard drives contained within a piece of hardware.
2729func (r Hardware_Router) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
2730	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardDrives", nil, &r.Options, &resp)
2731	return
2732}
2733
2734// Retrieve The chassis that a piece of hardware is housed in.
2735func (r Hardware_Router) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
2736	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareChassis", nil, &r.Options, &resp)
2737	return
2738}
2739
2740// Retrieve A hardware's function.
2741func (r Hardware_Router) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
2742	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareFunction", nil, &r.Options, &resp)
2743	return
2744}
2745
2746// Retrieve A hardware's function.
2747func (r Hardware_Router) GetHardwareFunctionDescription() (resp string, err error) {
2748	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareFunctionDescription", nil, &r.Options, &resp)
2749	return
2750}
2751
2752// Retrieve A hardware's status.
2753func (r Hardware_Router) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
2754	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareStatus", nil, &r.Options, &resp)
2755	return
2756}
2757
2758// Retrieve Determine in hardware object has TPM enabled.
2759func (r Hardware_Router) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
2760	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
2761	return
2762}
2763
2764// Retrieve Information regarding a host IPS software component object.
2765func (r Hardware_Router) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
2766	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
2767	return
2768}
2769
2770// The '''getHourlyBandwidth''' method retrieves all bandwidth updates hourly for the specified hardware. Because the potential number of data points can become excessive, the method limits the user to obtain data in 24-hour intervals. The required ''dateTime'' parameter is used as the starting point for the query and will be calculated for the 24-hour period starting with the specified date and time. For example, entering a parameter of
2771//
2772// '02/01/2008 0:00'
2773//
2774// results in a return of all bandwidth data for the entire day of February 1, 2008, as 0:00 specifies a midnight start date. Please note that the time entered should be completed using a 24-hour clock (military time, astronomical time).
2775//
2776// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
2777func (r Hardware_Router) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
2778	params := []interface{}{
2779		mode,
2780		day,
2781	}
2782	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHourlyBandwidth", params, &r.Options, &resp)
2783	return
2784}
2785
2786// Retrieve A server's hourly billing status.
2787func (r Hardware_Router) GetHourlyBillingFlag() (resp bool, err error) {
2788	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHourlyBillingFlag", nil, &r.Options, &resp)
2789	return
2790}
2791
2792// Retrieve The sum of all the inbound network traffic data for the last 30 days.
2793func (r Hardware_Router) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
2794	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getInboundBandwidthUsage", nil, &r.Options, &resp)
2795	return
2796}
2797
2798// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
2799func (r Hardware_Router) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
2800	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
2801	return
2802}
2803
2804// Retrieve Information regarding the last transaction a server performed.
2805func (r Hardware_Router) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
2806	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLastTransaction", nil, &r.Options, &resp)
2807	return
2808}
2809
2810// Retrieve A piece of hardware's latest network monitoring incident.
2811func (r Hardware_Router) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
2812	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
2813	return
2814}
2815
2816// Retrieve A flag indicating that a VLAN on the router can be assigned to a host that has local disk functionality.
2817func (r Hardware_Router) GetLocalDiskStorageCapabilityFlag() (resp bool, err error) {
2818	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocalDiskStorageCapabilityFlag", nil, &r.Options, &resp)
2819	return
2820}
2821
2822// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
2823func (r Hardware_Router) GetLocation() (resp datatypes.Location, err error) {
2824	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocation", nil, &r.Options, &resp)
2825	return
2826}
2827
2828// Retrieve
2829func (r Hardware_Router) GetLocationPathString() (resp string, err error) {
2830	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocationPathString", nil, &r.Options, &resp)
2831	return
2832}
2833
2834// Retrieve Information regarding a lockbox account associated with a server.
2835func (r Hardware_Router) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
2836	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLockboxNetworkStorage", nil, &r.Options, &resp)
2837	return
2838}
2839
2840// Retrieve A flag indicating that the hardware is a managed resource.
2841func (r Hardware_Router) GetManagedResourceFlag() (resp bool, err error) {
2842	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getManagedResourceFlag", nil, &r.Options, &resp)
2843	return
2844}
2845
2846// Retrieve Information regarding a piece of hardware's memory.
2847func (r Hardware_Router) GetMemory() (resp []datatypes.Hardware_Component, err error) {
2848	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMemory", nil, &r.Options, &resp)
2849	return
2850}
2851
2852// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
2853func (r Hardware_Router) GetMemoryCapacity() (resp uint, err error) {
2854	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMemoryCapacity", nil, &r.Options, &resp)
2855	return
2856}
2857
2858// Retrieve A piece of hardware's metric tracking object.
2859func (r Hardware_Router) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
2860	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMetricTrackingObject", nil, &r.Options, &resp)
2861	return
2862}
2863
2864// Returns open monitoring alarms for a given time period
2865func (r Hardware_Router) GetMonitoringActiveAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
2866	params := []interface{}{
2867		startDate,
2868		endDate,
2869	}
2870	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringActiveAlarms", params, &r.Options, &resp)
2871	return
2872}
2873
2874// Retrieve Information regarding the monitoring agents associated with a piece of hardware.
2875func (r Hardware_Router) GetMonitoringAgents() (resp []datatypes.Monitoring_Agent, err error) {
2876	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringAgents", nil, &r.Options, &resp)
2877	return
2878}
2879
2880// Returns closed monitoring alarms for a given time period
2881func (r Hardware_Router) GetMonitoringClosedAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
2882	params := []interface{}{
2883		startDate,
2884		endDate,
2885	}
2886	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringClosedAlarms", params, &r.Options, &resp)
2887	return
2888}
2889
2890// Retrieve Information regarding the hardware's monitoring robot.
2891func (r Hardware_Router) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
2892	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringRobot", nil, &r.Options, &resp)
2893	return
2894}
2895
2896// Retrieve Information regarding a piece of hardware's network monitoring services.
2897func (r Hardware_Router) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
2898	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringServiceComponent", nil, &r.Options, &resp)
2899	return
2900}
2901
2902// Retrieve The monitoring service flag eligibility status for a piece of hardware.
2903func (r Hardware_Router) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
2904	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
2905	return
2906}
2907
2908// Retrieve The service flag status for a piece of hardware.
2909func (r Hardware_Router) GetMonitoringServiceFlag() (resp bool, err error) {
2910	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringServiceFlag", nil, &r.Options, &resp)
2911	return
2912}
2913
2914// Retrieve Information regarding a piece of hardware's motherboard.
2915func (r Hardware_Router) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
2916	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMotherboard", nil, &r.Options, &resp)
2917	return
2918}
2919
2920// Retrieve Information regarding a piece of hardware's network cards.
2921func (r Hardware_Router) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
2922	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkCards", nil, &r.Options, &resp)
2923	return
2924}
2925
2926// Retrieve Returns a hardware's network components.
2927func (r Hardware_Router) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
2928	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkComponents", nil, &r.Options, &resp)
2929	return
2930}
2931
2932// Retrieve The gateway member if this device is part of a network gateway.
2933func (r Hardware_Router) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
2934	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkGatewayMember", nil, &r.Options, &resp)
2935	return
2936}
2937
2938// Retrieve Whether or not this device is part of a network gateway.
2939func (r Hardware_Router) GetNetworkGatewayMemberFlag() (resp bool, err error) {
2940	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
2941	return
2942}
2943
2944// Retrieve A piece of hardware's network management IP address.
2945func (r Hardware_Router) GetNetworkManagementIpAddress() (resp string, err error) {
2946	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
2947	return
2948}
2949
2950// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
2951func (r Hardware_Router) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
2952	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
2953	return
2954}
2955
2956// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
2957func (r Hardware_Router) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
2958	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
2959	return
2960}
2961
2962// Retrieve The status of all of a piece of hardware's network monitoring incidents.
2963func (r Hardware_Router) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
2964	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
2965	return
2966}
2967
2968// Retrieve Information regarding a piece of hardware's network monitors.
2969func (r Hardware_Router) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
2970	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitors", nil, &r.Options, &resp)
2971	return
2972}
2973
2974// Retrieve The value of a hardware's network status attribute.
2975func (r Hardware_Router) GetNetworkStatus() (resp string, err error) {
2976	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStatus", nil, &r.Options, &resp)
2977	return
2978}
2979
2980// Retrieve The hardware's related network status attribute.
2981func (r Hardware_Router) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
2982	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStatusAttribute", nil, &r.Options, &resp)
2983	return
2984}
2985
2986// Retrieve Information regarding a piece of hardware's associated network storage service account.
2987func (r Hardware_Router) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
2988	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStorage", nil, &r.Options, &resp)
2989	return
2990}
2991
2992// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
2993func (r Hardware_Router) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
2994	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkVlans", nil, &r.Options, &resp)
2995	return
2996}
2997
2998// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
2999func (r Hardware_Router) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
3000	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
3001	return
3002}
3003
3004// Retrieve
3005func (r Hardware_Router) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
3006	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNotesHistory", nil, &r.Options, &resp)
3007	return
3008}
3009
3010// no documentation yet
3011func (r Hardware_Router) GetObject() (resp datatypes.Hardware_Router, err error) {
3012	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getObject", nil, &r.Options, &resp)
3013	return
3014}
3015
3016// Retrieve Information regarding a piece of hardware's operating system.
3017func (r Hardware_Router) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
3018	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOperatingSystem", nil, &r.Options, &resp)
3019	return
3020}
3021
3022// Retrieve A hardware's operating system software description.
3023func (r Hardware_Router) GetOperatingSystemReferenceCode() (resp string, err error) {
3024	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
3025	return
3026}
3027
3028// Retrieve The sum of all the outbound network traffic data for the last 30 days.
3029func (r Hardware_Router) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
3030	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
3031	return
3032}
3033
3034// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
3035func (r Hardware_Router) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
3036	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
3037	return
3038}
3039
3040// Retrieve Blade Bay
3041func (r Hardware_Router) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
3042	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getParentBay", nil, &r.Options, &resp)
3043	return
3044}
3045
3046// Retrieve Parent Hardware.
3047func (r Hardware_Router) GetParentHardware() (resp datatypes.Hardware, err error) {
3048	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getParentHardware", nil, &r.Options, &resp)
3049	return
3050}
3051
3052// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
3053func (r Hardware_Router) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
3054	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPointOfPresenceLocation", nil, &r.Options, &resp)
3055	return
3056}
3057
3058// Retrieve The power components for a hardware object.
3059func (r Hardware_Router) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
3060	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPowerComponents", nil, &r.Options, &resp)
3061	return
3062}
3063
3064// Retrieve Information regarding a piece of hardware's power supply.
3065func (r Hardware_Router) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
3066	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPowerSupply", nil, &r.Options, &resp)
3067	return
3068}
3069
3070// Retrieve The hardware's primary private IP address.
3071func (r Hardware_Router) GetPrimaryBackendIpAddress() (resp string, err error) {
3072	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
3073	return
3074}
3075
3076// Retrieve Information regarding the hardware's primary back-end network component.
3077func (r Hardware_Router) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
3078	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
3079	return
3080}
3081
3082// Retrieve The hardware's primary public IP address.
3083func (r Hardware_Router) GetPrimaryIpAddress() (resp string, err error) {
3084	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryIpAddress", nil, &r.Options, &resp)
3085	return
3086}
3087
3088// Retrieve Information regarding the hardware's primary public network component.
3089func (r Hardware_Router) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
3090	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
3091	return
3092}
3093
3094// Retrieve a graph of a server's private network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPrivateBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
3095func (r Hardware_Router) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
3096	params := []interface{}{
3097		startTime,
3098		endTime,
3099	}
3100	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrivateBandwidthData", params, &r.Options, &resp)
3101	return
3102}
3103
3104// Retrieve Whether the hardware only has access to the private network.
3105func (r Hardware_Router) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
3106	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
3107	return
3108}
3109
3110// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
3111func (r Hardware_Router) GetProcessorCoreAmount() (resp uint, err error) {
3112	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessorCoreAmount", nil, &r.Options, &resp)
3113	return
3114}
3115
3116// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
3117func (r Hardware_Router) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
3118	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
3119	return
3120}
3121
3122// Retrieve Information regarding a piece of hardware's processors.
3123func (r Hardware_Router) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
3124	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessors", nil, &r.Options, &resp)
3125	return
3126}
3127
3128// Retrieve a graph of a server's public network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
3129func (r Hardware_Router) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
3130	params := []interface{}{
3131		startTime,
3132		endTime,
3133	}
3134	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPublicBandwidthData", params, &r.Options, &resp)
3135	return
3136}
3137
3138// Retrieve
3139func (r Hardware_Router) GetRack() (resp datatypes.Location, err error) {
3140	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRack", nil, &r.Options, &resp)
3141	return
3142}
3143
3144// Retrieve The RAID controllers contained within a piece of hardware.
3145func (r Hardware_Router) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
3146	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRaidControllers", nil, &r.Options, &resp)
3147	return
3148}
3149
3150// Retrieve Recent events that impact this hardware.
3151func (r Hardware_Router) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
3152	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRecentEvents", nil, &r.Options, &resp)
3153	return
3154}
3155
3156// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
3157func (r Hardware_Router) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
3158	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRemoteManagementAccounts", nil, &r.Options, &resp)
3159	return
3160}
3161
3162// Retrieve A hardware's associated remote management component. This is normally IPMI.
3163func (r Hardware_Router) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
3164	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRemoteManagementComponent", nil, &r.Options, &resp)
3165	return
3166}
3167
3168// Retrieve
3169func (r Hardware_Router) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
3170	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceConfigurations", nil, &r.Options, &resp)
3171	return
3172}
3173
3174// Retrieve
3175func (r Hardware_Router) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
3176	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
3177	return
3178}
3179
3180// Retrieve
3181func (r Hardware_Router) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
3182	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroupRoles", nil, &r.Options, &resp)
3183	return
3184}
3185
3186// Retrieve The resource groups in which this hardware is a member.
3187func (r Hardware_Router) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
3188	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroups", nil, &r.Options, &resp)
3189	return
3190}
3191
3192// Retrieve A hardware's routers.
3193func (r Hardware_Router) GetRouters() (resp []datatypes.Hardware, err error) {
3194	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRouters", nil, &r.Options, &resp)
3195	return
3196}
3197
3198// Retrieve A flag indicating that a VLAN on the router can be assigned to a host that has SAN disk functionality.
3199func (r Hardware_Router) GetSanStorageCapabilityFlag() (resp bool, err error) {
3200	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSanStorageCapabilityFlag", nil, &r.Options, &resp)
3201	return
3202}
3203
3204// Retrieve Collection of scale assets this hardware corresponds to.
3205func (r Hardware_Router) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
3206	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getScaleAssets", nil, &r.Options, &resp)
3207	return
3208}
3209
3210// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
3211func (r Hardware_Router) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
3212	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSecurityScanRequests", nil, &r.Options, &resp)
3213	return
3214}
3215
3216// The '''getSensorData''' method retrieves a server's hardware state via its internal sensors. Remote sensor data is transmitted to the SoftLayer API by way of the server's remote management card. Sensor data measures various information, including system temperatures, voltages and other local server settings. Sensor data is cached for 30 second; calls made to this method for the same server within 30 seconds of each other will result in the same data being returned. To ensure that the data retrieved retrieves snapshot of varied data, make calls greater than 30 seconds apart.
3217func (r Hardware_Router) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
3218	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSensorData", nil, &r.Options, &resp)
3219	return
3220}
3221
3222// The '''getSensorDataWithGraphs''' method retrieves the raw data returned from the server's remote management card. Along with raw data, graphs for the CPU and system temperatures and fan speeds are also returned. For more details on what information is returned, refer to the ''getSensorData'' method.
3223func (r Hardware_Router) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
3224	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSensorDataWithGraphs", nil, &r.Options, &resp)
3225	return
3226}
3227
3228// The '''getServerFanSpeedGraphs''' method retrieves the server's fan speeds and displays the speeds using tachometer graphs. data used to construct these graphs is retrieved from the server's remote management card. Each graph returned will have an associated title.
3229func (r Hardware_Router) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
3230	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
3231	return
3232}
3233
3234// The '''getPowerState''' method retrieves the power state for the selected server. The server's power status is retrieved from its remote management card. This method returns "on", for a server that has been powered on, or "off" for servers powered off.
3235func (r Hardware_Router) GetServerPowerState() (resp string, err error) {
3236	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerPowerState", nil, &r.Options, &resp)
3237	return
3238}
3239
3240// Retrieve Information regarding the server room in which the hardware is located.
3241func (r Hardware_Router) GetServerRoom() (resp datatypes.Location, err error) {
3242	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerRoom", nil, &r.Options, &resp)
3243	return
3244}
3245
3246// The '''getServerTemperatureGraphs''' retrieves the server's temperatures and displays the various temperatures using thermometer graphs. Temperatures retrieved are CPU temperature(s) and system temperatures. Data used to construct the graphs is retrieved from the server's remote management card. All graphs returned will have an associated title.
3247func (r Hardware_Router) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
3248	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerTemperatureGraphs", nil, &r.Options, &resp)
3249	return
3250}
3251
3252// Retrieve Information regarding the piece of hardware's service provider.
3253func (r Hardware_Router) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
3254	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServiceProvider", nil, &r.Options, &resp)
3255	return
3256}
3257
3258// Retrieve Information regarding a piece of hardware's installed software.
3259func (r Hardware_Router) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
3260	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSoftwareComponents", nil, &r.Options, &resp)
3261	return
3262}
3263
3264// Retrieve Information regarding the billing item for a spare pool server.
3265func (r Hardware_Router) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
3266	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSparePoolBillingItem", nil, &r.Options, &resp)
3267	return
3268}
3269
3270// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
3271func (r Hardware_Router) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
3272	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSshKeys", nil, &r.Options, &resp)
3273	return
3274}
3275
3276// Retrieve
3277func (r Hardware_Router) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
3278	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getStorageNetworkComponents", nil, &r.Options, &resp)
3279	return
3280}
3281
3282// Retrieve
3283func (r Hardware_Router) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
3284	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTagReferences", nil, &r.Options, &resp)
3285	return
3286}
3287
3288// Retrieve
3289func (r Hardware_Router) GetTopLevelLocation() (resp datatypes.Location, err error) {
3290	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTopLevelLocation", nil, &r.Options, &resp)
3291	return
3292}
3293
3294//
3295// This method will query transaction history for a piece of hardware.
3296func (r Hardware_Router) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
3297	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTransactionHistory", nil, &r.Options, &resp)
3298	return
3299}
3300
3301// Retrieve a list of upgradeable items available to this piece of hardware. Currently, getUpgradeItemPrices retrieves upgrades available for a server's memory, hard drives, network port speed, bandwidth allocation and GPUs.
3302func (r Hardware_Router) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
3303	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUpgradeItemPrices", nil, &r.Options, &resp)
3304	return
3305}
3306
3307// Retrieve An account's associated upgrade request object, if any.
3308func (r Hardware_Router) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
3309	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUpgradeRequest", nil, &r.Options, &resp)
3310	return
3311}
3312
3313// Retrieve The network device connected to a piece of hardware.
3314func (r Hardware_Router) GetUplinkHardware() (resp datatypes.Hardware, err error) {
3315	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUplinkHardware", nil, &r.Options, &resp)
3316	return
3317}
3318
3319// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
3320func (r Hardware_Router) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
3321	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUplinkNetworkComponents", nil, &r.Options, &resp)
3322	return
3323}
3324
3325// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
3326func (r Hardware_Router) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
3327	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUserData", nil, &r.Options, &resp)
3328	return
3329}
3330
3331// Retrieve Information regarding the virtual chassis for a piece of hardware.
3332func (r Hardware_Router) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
3333	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualChassis", nil, &r.Options, &resp)
3334	return
3335}
3336
3337// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
3338func (r Hardware_Router) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
3339	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualChassisSiblings", nil, &r.Options, &resp)
3340	return
3341}
3342
3343// Retrieve A piece of hardware's virtual host record.
3344func (r Hardware_Router) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
3345	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualHost", nil, &r.Options, &resp)
3346	return
3347}
3348
3349// Retrieve Information regarding a piece of hardware's virtual software licenses.
3350func (r Hardware_Router) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
3351	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualLicenses", nil, &r.Options, &resp)
3352	return
3353}
3354
3355// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
3356func (r Hardware_Router) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
3357	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRack", nil, &r.Options, &resp)
3358	return
3359}
3360
3361// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
3362func (r Hardware_Router) GetVirtualRackId() (resp int, err error) {
3363	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRackId", nil, &r.Options, &resp)
3364	return
3365}
3366
3367// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
3368func (r Hardware_Router) GetVirtualRackName() (resp string, err error) {
3369	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRackName", nil, &r.Options, &resp)
3370	return
3371}
3372
3373// Retrieve A piece of hardware's virtualization platform software.
3374func (r Hardware_Router) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
3375	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualizationPlatform", nil, &r.Options, &resp)
3376	return
3377}
3378
3379// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
3380func (r Hardware_Router) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
3381	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "importVirtualHost", nil, &r.Options, &resp)
3382	return
3383}
3384
3385// The '''isPingable''' method issues a ping command to the selected server and returns the result of the ping command. This boolean return value displays ''true'' upon successful ping or ''false'' for a failed ping.
3386func (r Hardware_Router) IsPingable() (resp bool, err error) {
3387	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "isPingable", nil, &r.Options, &resp)
3388	return
3389}
3390
3391// Issues a ping command to the server and returns the ping response.
3392func (r Hardware_Router) Ping() (resp string, err error) {
3393	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "ping", nil, &r.Options, &resp)
3394	return
3395}
3396
3397// The '''powerCycle''' method completes a power off and power on of the server successively in one command. The power cycle command is equivalent to unplugging the server from the power strip and then plugging the server back in. '''This method should only be used when all other options have been exhausted'''. Additional remote management commands may not be executed if this command was successfully issued within the last 20 minutes to avoid server failure. Remote management commands include:
3398//
3399// rebootSoft rebootHard powerOn powerOff powerCycle
3400//
3401//
3402func (r Hardware_Router) PowerCycle() (resp bool, err error) {
3403	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerCycle", nil, &r.Options, &resp)
3404	return
3405}
3406
3407// This method will power off the server via the server's remote management card.
3408func (r Hardware_Router) PowerOff() (resp bool, err error) {
3409	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerOff", nil, &r.Options, &resp)
3410	return
3411}
3412
3413// The '''powerOn''' method powers on a server via its remote management card. This boolean return value returns ''true'' upon successful execution and ''false'' if unsuccessful. Other remote management commands may not be issued in this command was successfully completed within the last 20 minutes to avoid server failure. Remote management commands include:
3414//
3415// rebootSoft rebootHard powerOn powerOff powerCycle
3416//
3417//
3418func (r Hardware_Router) PowerOn() (resp bool, err error) {
3419	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerOn", nil, &r.Options, &resp)
3420	return
3421}
3422
3423// The '''rebootDefault''' method attempts to reboot the server by issuing a soft reboot, or reset, command to the server's remote management card. if the reset attempt is unsuccessful, a power cycle command will be issued via the power strip. The power cycle command is equivalent to unplugging the server from the power strip and then plugging the server back in. If the reset was successful within the last 20 minutes, another remote management command cannot be completed to avoid server failure. Remote management commands include:
3424//
3425// rebootSoft rebootHard powerOn powerOff powerCycle
3426//
3427//
3428func (r Hardware_Router) RebootDefault() (resp bool, err error) {
3429	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootDefault", nil, &r.Options, &resp)
3430	return
3431}
3432
3433// The '''rebootHard''' method reboots the server by issuing a cycle command to the server's remote management card. A hard reboot is equivalent to pressing the ''Reset'' button on a server - it is issued immediately and will not allow processes to shut down prior to the reboot. Completing a hard reboot may initiate system disk checks upon server reboot, causing the boot up to take longer than normally expected.
3434//
3435// Remote management commands are unable to be executed if a reboot has been issued successfully within the last 20 minutes to avoid server failure. Remote management commands include:
3436//
3437// rebootSoft rebootHard powerOn powerOff powerCycle
3438//
3439//
3440func (r Hardware_Router) RebootHard() (resp bool, err error) {
3441	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootHard", nil, &r.Options, &resp)
3442	return
3443}
3444
3445// The '''rebootSoft''' method reboots the server by issuing a reset command to the server's remote management card via soft reboot. When executing a soft reboot, servers allow all processes to shut down completely before rebooting. Remote management commands are unable to be issued within 20 minutes of issuing a successful soft reboot in order to avoid server failure. Remote management commands include:
3446//
3447// rebootSoft rebootHard powerOn powerOff powerCycle
3448//
3449//
3450func (r Hardware_Router) RebootSoft() (resp bool, err error) {
3451	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootSoft", nil, &r.Options, &resp)
3452	return
3453}
3454
3455// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
3456func (r Hardware_Router) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
3457	params := []interface{}{
3458		networkStorageTemplateObject,
3459	}
3460	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "removeAccessToNetworkStorage", params, &r.Options, &resp)
3461	return
3462}
3463
3464// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
3465func (r Hardware_Router) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
3466	params := []interface{}{
3467		networkStorageTemplateObjects,
3468	}
3469	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
3470	return
3471}
3472
3473// no documentation yet
3474func (r Hardware_Router) SetTags(tags *string) (resp bool, err error) {
3475	params := []interface{}{
3476		tags,
3477	}
3478	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "setTags", params, &r.Options, &resp)
3479	return
3480}
3481
3482// This method will update the root IPMI password on this SoftLayer_Hardware.
3483func (r Hardware_Router) UpdateIpmiPassword(password *string) (resp bool, err error) {
3484	params := []interface{}{
3485		password,
3486	}
3487	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "updateIpmiPassword", params, &r.Options, &resp)
3488	return
3489}
3490
3491// no documentation yet
3492type Hardware_SecurityModule struct {
3493	Session *session.Session
3494	Options sl.Options
3495}
3496
3497// GetHardwareSecurityModuleService returns an instance of the Hardware_SecurityModule SoftLayer service
3498func GetHardwareSecurityModuleService(sess *session.Session) Hardware_SecurityModule {
3499	return Hardware_SecurityModule{Session: sess}
3500}
3501
3502func (r Hardware_SecurityModule) Id(id int) Hardware_SecurityModule {
3503	r.Options.Id = &id
3504	return r
3505}
3506
3507func (r Hardware_SecurityModule) Mask(mask string) Hardware_SecurityModule {
3508	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3509		mask = fmt.Sprintf("mask[%s]", mask)
3510	}
3511
3512	r.Options.Mask = mask
3513	return r
3514}
3515
3516func (r Hardware_SecurityModule) Filter(filter string) Hardware_SecurityModule {
3517	r.Options.Filter = filter
3518	return r
3519}
3520
3521func (r Hardware_SecurityModule) Limit(limit int) Hardware_SecurityModule {
3522	r.Options.Limit = &limit
3523	return r
3524}
3525
3526func (r Hardware_SecurityModule) Offset(offset int) Hardware_SecurityModule {
3527	r.Options.Offset = &offset
3528	return r
3529}
3530
3531// Activates the private network port
3532func (r Hardware_SecurityModule) ActivatePrivatePort() (resp bool, err error) {
3533	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "activatePrivatePort", nil, &r.Options, &resp)
3534	return
3535}
3536
3537// Activates the public network port
3538func (r Hardware_SecurityModule) ActivatePublicPort() (resp bool, err error) {
3539	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "activatePublicPort", nil, &r.Options, &resp)
3540	return
3541}
3542
3543// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
3544func (r Hardware_SecurityModule) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
3545	params := []interface{}{
3546		networkStorageTemplateObject,
3547	}
3548	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "allowAccessToNetworkStorage", params, &r.Options, &resp)
3549	return
3550}
3551
3552// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
3553func (r Hardware_SecurityModule) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
3554	params := []interface{}{
3555		networkStorageTemplateObjects,
3556	}
3557	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
3558	return
3559}
3560
3561// The Rescue Kernel is designed to provide you with the ability to bring a server online in order to troubleshoot system problems that would normally only be resolved by an OS Reload. The correct Rescue Kernel will be selected based upon the currently installed operating system. When the rescue kernel process is initiated, the server will shutdown and reboot on to the public network with the same IP's assigned to the server to allow for remote connections. It will bring your server offline for approximately 10 minutes while the rescue is in progress. The root/administrator password will be the same as what is listed in the portal for the server.
3562func (r Hardware_SecurityModule) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
3563	params := []interface{}{
3564		noOsBootEnvironment,
3565	}
3566	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "bootToRescueLayer", params, &r.Options, &resp)
3567	return
3568}
3569
3570// Captures a Flex Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
3571func (r Hardware_SecurityModule) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
3572	params := []interface{}{
3573		captureTemplate,
3574	}
3575	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "captureImage", params, &r.Options, &resp)
3576	return
3577}
3578
3579// Returns monitoring alarm detailed history
3580func (r Hardware_SecurityModule) CloseAlarm(alarmId *string) (resp bool, err error) {
3581	params := []interface{}{
3582		alarmId,
3583	}
3584	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "closeAlarm", params, &r.Options, &resp)
3585	return
3586}
3587
3588// You can launch firmware updates by selecting from your server list. It will bring your server offline for approximately 20 minutes while the updates are in progress.
3589//
3590// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
3591func (r Hardware_SecurityModule) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int) (resp bool, err error) {
3592	params := []interface{}{
3593		ipmi,
3594		raidController,
3595		bios,
3596		harddrive,
3597	}
3598	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
3599	return
3600}
3601
3602//
3603// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
3604// createObject() enables the creation of servers on an account. This
3605// method is a simplified alternative to interacting with the ordering system directly.
3606//
3607//
3608// In order to create a server, a template object must be sent in with a few required
3609// values.
3610//
3611//
3612// When this method returns an order will have been placed for a server of the specified configuration.
3613//
3614//
3615// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
3616// checking the <code>provisionDate</code> property.
3617// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
3618// as your initialization parameter.
3619//
3620//
3621// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
3622//
3623//
3624// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
3625// <ul class="create_object">
3626//     <li><code>hostname</code>
3627//         <div>Hostname for the server.</div><ul>
3628//             <li><b>Required</b></li>
3629//             <li><b>Type</b> - string</li>
3630//         </ul>
3631//         <br />
3632//     </li>
3633//     <li><code>domain</code>
3634//         <div>Domain for the server.</div><ul>
3635//             <li><b>Required</b></li>
3636//             <li><b>Type</b> - string</li>
3637//         </ul>
3638//         <br />
3639//     </li>
3640//     <li><code>processorCoreAmount</code>
3641//         <div>The number of logical CPU cores to allocate.</div><ul>
3642//             <li><b>Required</b></li>
3643//             <li><b>Type</b> - int</li>
3644//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3645//         </ul>
3646//         <br />
3647//     </li>
3648//     <li><code>memoryCapacity</code>
3649//         <div>The amount of memory to allocate in gigabytes.</div><ul>
3650//             <li><b>Required</b></li>
3651//             <li><b>Type</b> - int</li>
3652//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3653//         </ul>
3654//         <br />
3655//     </li>
3656//     <li><code>hourlyBillingFlag</code>
3657//         <div>Specifies the billing type for the server.</div><ul>
3658//             <li><b>Required</b></li>
3659//             <li><b>Type</b> - boolean</li>
3660//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
3661//         </ul>
3662//         <br />
3663//     </li>
3664//     <li><code>operatingSystemReferenceCode</code>
3665//         <div>An identifier for the operating system to provision the server with.</div><ul>
3666//             <li><b>Required</b></li>
3667//             <li><b>Type</b> - string</li>
3668//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3669//         </ul>
3670//         <br />
3671//     </li>
3672//     <li><code>datacenter.name</code>
3673//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
3674//             <li><b>Required</b></li>
3675//             <li><b>Type</b> - string</li>
3676//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
3677//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3678//         </ul>
3679//         <http title="Example">{
3680//     "datacenter": {
3681//         "name": "dal05"
3682//     }
3683// }</http>
3684//         <br />
3685//     </li>
3686//     <li><code>networkComponents.maxSpeed</code>
3687//         <div>Specifies the connection speed for the server's network components.</div><ul>
3688//             <li><b>Optional</b></li>
3689//             <li><b>Type</b> - int</li>
3690//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
3691//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The <code>maxSpeed</code> property must be set to specify the network uplink speed, in megabits per second, of the server.</li>
3692//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3693//         </ul>
3694//             <http title="Example">{
3695//     "networkComponents": [
3696//         {
3697//             "maxSpeed": 1000
3698//         }
3699//     ]
3700// }</http>
3701//         <br />
3702//     </li>
3703//     <li><code>networkComponents.redundancyEnabledFlag</code>
3704//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
3705//             <li><b>Optional</b></li>
3706//             <li><b>Type</b> - bool</li>
3707//             <li><b>Default</b> - <code>false</code></li>
3708//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the <code>redundancyEnabledFlag</code> property is true the server's network components will be in redundancy groups.</li>
3709//         </ul>
3710//             <http title="Example">{
3711//     "networkComponents": [
3712//         {
3713//             "redundancyEnabledFlag": false
3714//         }
3715//     ]
3716// }</http>
3717//         <br />
3718//     </li>
3719//     <li><code>privateNetworkOnlyFlag</code>
3720//         <div>Specifies whether or not the server only has access to the private network</div><ul>
3721//             <li><b>Optional</b></li>
3722//             <li><b>Type</b> - boolean</li>
3723//             <li><b>Default</b> - <code>false</code></li>
3724//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
3725//         </ul>
3726//         <br />
3727//     </li>
3728//     <li><code>primaryNetworkComponent.networkVlan.id</code>
3729//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
3730//             <li><b>Optional</b></li>
3731//             <li><b>Type</b> - int</li>
3732//             <li><b>Description</b> - The <code>primaryNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the frontend network vlan of the server.</li>
3733//         </ul>
3734//         <http title="Example">{
3735//     "primaryNetworkComponent": {
3736//         "networkVlan": {
3737//             "id": 1
3738//         }
3739//     }
3740// }</http>
3741//         <br />
3742//     </li>
3743//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
3744//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
3745//             <li><b>Optional</b></li>
3746//             <li><b>Type</b> - int</li>
3747//             <li><b>Description</b> - The <code>primaryBackendNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the backend network vlan of the server.</li>
3748//         </ul>
3749//         <http title="Example">{
3750//     "primaryBackendNetworkComponent": {
3751//         "networkVlan": {
3752//             "id": 2
3753//         }
3754//     }
3755// }</http>
3756//         <br />
3757//     </li>
3758//     <li><code>fixedConfigurationPreset.keyName</code>
3759//         <div></div><ul>
3760//             <li><b>Optional</b></li>
3761//             <li><b>Type</b> - string</li>
3762//             <li><b>Description</b> - The <code>fixedConfigurationPreset</code> property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The <code>keyName</code> property must be set to specify preset to use.</li>
3763//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
3764//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3765//         </ul>
3766//         <http title="Example">{
3767//     "fixedConfigurationPreset": {
3768//         "keyName": "SOME_KEY_NAME"
3769//     }
3770// }</http>
3771//         <br />
3772//     </li>
3773//     <li><code>userData.value</code>
3774//         <div>Arbitrary data to be made available to the server.</div><ul>
3775//             <li><b>Optional</b></li>
3776//             <li><b>Type</b> - string</li>
3777//             <li><b>Description</b> - The <code>userData</code> property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the <code>value</code> property set to an arbitrary value.</li>
3778//             <li>This value can be retrieved via the [[SoftLayer_Resource_Metadata/getUserMetadata|getUserMetadata]] method from a request originating from the server. This is primarily useful for providing data to software that may be on the server and configured to execute upon first boot.</li>
3779//         </ul>
3780//         <http title="Example">{
3781//     "userData": [
3782//         {
3783//             "value": "someValue"
3784//         }
3785//     ]
3786// }</http>
3787//         <br />
3788//     </li>
3789//     <li><code>hardDrives</code>
3790//         <div>Hard drive settings for the server</div><ul>
3791//             <li><b>Optional</b></li>
3792//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
3793//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
3794//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
3795//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
3796//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3797//         </ul>
3798//         <http title="Example">{
3799//     "hardDrives": [
3800//         {
3801//             "capacity": 500
3802//         }
3803//     ]
3804// }</http>
3805//         <br />
3806//     </li>
3807//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
3808//         <div>SSH keys to install on the server upon provisioning.</div><ul>
3809//             <li><b>Optional</b></li>
3810//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
3811//             <li><b>Description</b> - The <code>sshKeys</code> property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the <code>id</code> property set to the value of an existing SSH key.</li>
3812//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
3813//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
3814//         </ul>
3815//         <http title="Example">{
3816//     "sshKeys": [
3817//         {
3818//             "id": 123
3819//         }
3820//     ]
3821// }</http>
3822//         <br />
3823//     </li>
3824//     <li><code>postInstallScriptUri</code>
3825//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
3826//             <li><b>Optional</b></li>
3827//             <li><b>Type</b> - string</li>
3828//         </ul>
3829//         <br />
3830//     </li>
3831// </ul>
3832//
3833//
3834// <h1>REST Example</h1>
3835// <http title="Request">curl -X POST -d '{
3836//  "parameters":[
3837//      {
3838//          "hostname": "host1",
3839//          "domain": "example.com",
3840//          "processorCoreAmount": 2,
3841//          "memoryCapacity": 2,
3842//          "hourlyBillingFlag": true,
3843//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
3844//      }
3845//  ]
3846// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
3847// </http>
3848// <http title="Response">HTTP/1.1 201 Created
3849// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
3850//
3851//
3852// {
3853//     "accountId": 232298,
3854//     "bareMetalInstanceFlag": null,
3855//     "domain": "example.com",
3856//     "hardwareStatusId": null,
3857//     "hostname": "host1",
3858//     "id": null,
3859//     "serviceProviderId": null,
3860//     "serviceProviderResourceId": null,
3861//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
3862//     "hourlyBillingFlag": true,
3863//     "memoryCapacity": 2,
3864//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
3865//     "processorCoreAmount": 2
3866// }
3867// </http>
3868func (r Hardware_SecurityModule) CreateObject(templateObject *datatypes.Hardware_SecurityModule) (resp datatypes.Hardware_SecurityModule, err error) {
3869	params := []interface{}{
3870		templateObject,
3871	}
3872	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createObject", params, &r.Options, &resp)
3873	return
3874}
3875
3876// no documentation yet
3877func (r Hardware_SecurityModule) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
3878	params := []interface{}{
3879		installCodes,
3880		returnBoolean,
3881	}
3882	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
3883	return
3884}
3885
3886//
3887// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
3888func (r Hardware_SecurityModule) DeleteObject() (resp bool, err error) {
3889	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "deleteObject", nil, &r.Options, &resp)
3890	return
3891}
3892
3893// Delete software component passwords.
3894func (r Hardware_SecurityModule) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
3895	params := []interface{}{
3896		softwareComponentPasswords,
3897	}
3898	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
3899	return
3900}
3901
3902// Edit a server's properties
3903func (r Hardware_SecurityModule) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
3904	params := []interface{}{
3905		templateObject,
3906	}
3907	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "editObject", params, &r.Options, &resp)
3908	return
3909}
3910
3911// Edit the properties of a software component password such as the username, password, and notes.
3912func (r Hardware_SecurityModule) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
3913	params := []interface{}{
3914		softwareComponentPasswords,
3915	}
3916	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "editSoftwareComponentPasswords", params, &r.Options, &resp)
3917	return
3918}
3919
3920// Download and run remote script from uri on the hardware.
3921func (r Hardware_SecurityModule) ExecuteRemoteScript(uri *string) (err error) {
3922	var resp datatypes.Void
3923	params := []interface{}{
3924		uri,
3925	}
3926	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "executeRemoteScript", params, &r.Options, &resp)
3927	return
3928}
3929
3930// The '''findByIpAddress''' method finds hardware using its primary public or private IP address. IP addresses that have a secondary subnet tied to the hardware will not return the hardware - alternate means of locating the hardware must be used (see '''Associated Methods'''). If no hardware is found, no errors are generated and no data is returned.
3931func (r Hardware_SecurityModule) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
3932	params := []interface{}{
3933		ipAddress,
3934	}
3935	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "findByIpAddress", params, &r.Options, &resp)
3936	return
3937}
3938
3939//
3940// Obtain an [[SoftLayer_Container_Product_Order_Hardware_Server (type)|order container]] that can be sent to [[SoftLayer_Product_Order/verifyOrder|verifyOrder]] or [[SoftLayer_Product_Order/placeOrder|placeOrder]].
3941//
3942//
3943// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
3944//
3945//
3946// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
3947func (r Hardware_SecurityModule) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
3948	params := []interface{}{
3949		templateObject,
3950	}
3951	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "generateOrderTemplate", params, &r.Options, &resp)
3952	return
3953}
3954
3955// Retrieve The account associated with a piece of hardware.
3956func (r Hardware_SecurityModule) GetAccount() (resp datatypes.Account, err error) {
3957	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAccount", nil, &r.Options, &resp)
3958	return
3959}
3960
3961// Retrieve A piece of hardware's active physical components.
3962func (r Hardware_SecurityModule) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
3963	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveComponents", nil, &r.Options, &resp)
3964	return
3965}
3966
3967// Retrieve The billing item for a server's attached network firewall.
3968func (r Hardware_SecurityModule) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
3969	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
3970	return
3971}
3972
3973// Retrieve A piece of hardware's active network monitoring incidents.
3974func (r Hardware_SecurityModule) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
3975	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
3976	return
3977}
3978
3979// Retrieve
3980func (r Hardware_SecurityModule) GetActiveTickets() (resp []datatypes.Ticket, err error) {
3981	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTickets", nil, &r.Options, &resp)
3982	return
3983}
3984
3985// Retrieve Transaction currently running for server.
3986func (r Hardware_SecurityModule) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
3987	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTransaction", nil, &r.Options, &resp)
3988	return
3989}
3990
3991// Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
3992func (r Hardware_SecurityModule) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
3993	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTransactions", nil, &r.Options, &resp)
3994	return
3995}
3996
3997// The '''getAlarmHistory''' method retrieves a detailed history for the monitoring alarm. When calling this method, a start and end date for the history to be retrieved must be entered.
3998func (r Hardware_SecurityModule) GetAlarmHistory(startDate *datatypes.Time, endDate *datatypes.Time, alarmId *string) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
3999	params := []interface{}{
4000		startDate,
4001		endDate,
4002		alarmId,
4003	}
4004	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAlarmHistory", params, &r.Options, &resp)
4005	return
4006}
4007
4008// Retrieve
4009func (r Hardware_SecurityModule) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
4010	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllPowerComponents", nil, &r.Options, &resp)
4011	return
4012}
4013
4014// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
4015func (r Hardware_SecurityModule) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
4016	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedHost", nil, &r.Options, &resp)
4017	return
4018}
4019
4020// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
4021func (r Hardware_SecurityModule) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4022	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedNetworkStorage", nil, &r.Options, &resp)
4023	return
4024}
4025
4026// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
4027func (r Hardware_SecurityModule) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
4028	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
4029	return
4030}
4031
4032// Retrieve Information regarding an antivirus/spyware software component object.
4033func (r Hardware_SecurityModule) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
4034	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
4035	return
4036}
4037
4038// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
4039func (r Hardware_SecurityModule) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
4040	params := []interface{}{
4041		nasType,
4042	}
4043	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAttachedNetworkStorages", params, &r.Options, &resp)
4044	return
4045}
4046
4047// Retrieve Information regarding a piece of hardware's specific attributes.
4048func (r Hardware_SecurityModule) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
4049	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAttributes", nil, &r.Options, &resp)
4050	return
4051}
4052
4053// Retrieve An object that stores the maximum level for the monitoring query types and response types.
4054func (r Hardware_SecurityModule) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
4055	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAvailableMonitoring", nil, &r.Options, &resp)
4056	return
4057}
4058
4059// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
4060func (r Hardware_SecurityModule) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
4061	params := []interface{}{
4062		nasType,
4063	}
4064	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAvailableNetworkStorages", params, &r.Options, &resp)
4065	return
4066}
4067
4068// Retrieve The average daily total bandwidth usage for the current billing cycle.
4069func (r Hardware_SecurityModule) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
4070	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
4071	return
4072}
4073
4074// Retrieve The average daily private bandwidth usage for the current billing cycle.
4075func (r Hardware_SecurityModule) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
4076	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
4077	return
4078}
4079
4080// Retrieve The average daily public bandwidth usage for the current billing cycle.
4081func (r Hardware_SecurityModule) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
4082	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
4083	return
4084}
4085
4086// Use this method to return an array of private bandwidth utilization records between a given date range.
4087//
4088// This method represents the NEW version of getFrontendBandwidthUse
4089func (r Hardware_SecurityModule) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4090	params := []interface{}{
4091		startDate,
4092		endDate,
4093	}
4094	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendBandwidthUsage", params, &r.Options, &resp)
4095	return
4096}
4097
4098// Use this method to return an array of private bandwidth utilization records between a given date range.
4099func (r Hardware_SecurityModule) GetBackendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
4100	params := []interface{}{
4101		startDate,
4102		endDate,
4103	}
4104	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendBandwidthUse", params, &r.Options, &resp)
4105	return
4106}
4107
4108// The '''getBackendIncomingBandwidth''' method retrieves the amount of incoming private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
4109func (r Hardware_SecurityModule) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4110	params := []interface{}{
4111		startDate,
4112		endDate,
4113	}
4114	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendIncomingBandwidth", params, &r.Options, &resp)
4115	return
4116}
4117
4118// Retrieve A piece of hardware's back-end or private network components.
4119func (r Hardware_SecurityModule) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
4120	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendNetworkComponents", nil, &r.Options, &resp)
4121	return
4122}
4123
4124// The '''getBackendOutgoingBandwidth''' method retrieves the amount of outgoing private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
4125func (r Hardware_SecurityModule) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4126	params := []interface{}{
4127		startDate,
4128		endDate,
4129	}
4130	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
4131	return
4132}
4133
4134// Retrieve A hardware's backend or private router.
4135func (r Hardware_SecurityModule) GetBackendRouters() (resp []datatypes.Hardware, err error) {
4136	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendRouters", nil, &r.Options, &resp)
4137	return
4138}
4139
4140// Retrieve A hardware's allotted bandwidth (measured in GB).
4141func (r Hardware_SecurityModule) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
4142	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthAllocation", nil, &r.Options, &resp)
4143	return
4144}
4145
4146// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
4147func (r Hardware_SecurityModule) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
4148	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
4149	return
4150}
4151
4152// Retrieve a collection of bandwidth data from an individual public or private network tracking object. Data is ideal if you with to employ your own traffic storage and graphing systems.
4153func (r Hardware_SecurityModule) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4154	params := []interface{}{
4155		startDate,
4156		endDate,
4157	}
4158	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthForDateRange", params, &r.Options, &resp)
4159	return
4160}
4161
4162// Use this method when needing a bandwidth image for a single server.  It will gather the correct input parameters for the generic graphing utility automatically based on the snapshot specified.  Use the $draw flag to suppress the generation of the actual binary PNG image.
4163func (r Hardware_SecurityModule) GetBandwidthImage(networkType *string, snapshotRange *string, draw *bool, dateSpecified *datatypes.Time, dateSpecifiedEnd *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
4164	params := []interface{}{
4165		networkType,
4166		snapshotRange,
4167		draw,
4168		dateSpecified,
4169		dateSpecifiedEnd,
4170	}
4171	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthImage", params, &r.Options, &resp)
4172	return
4173}
4174
4175// Retrieve Information regarding a piece of hardware's benchmark certifications.
4176func (r Hardware_SecurityModule) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
4177	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBenchmarkCertifications", nil, &r.Options, &resp)
4178	return
4179}
4180
4181// Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
4182func (r Hardware_SecurityModule) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
4183	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
4184	return
4185}
4186
4187// Retrieve The raw private bandwidth usage data for the current billing cycle.
4188func (r Hardware_SecurityModule) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
4189	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
4190	return
4191}
4192
4193// Retrieve The raw public bandwidth usage data for the current billing cycle.
4194func (r Hardware_SecurityModule) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
4195	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
4196	return
4197}
4198
4199// Retrieve Information regarding the billing item for a server.
4200func (r Hardware_SecurityModule) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
4201	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingItem", nil, &r.Options, &resp)
4202	return
4203}
4204
4205// Retrieve A flag indicating that a billing item exists.
4206func (r Hardware_SecurityModule) GetBillingItemFlag() (resp bool, err error) {
4207	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingItemFlag", nil, &r.Options, &resp)
4208	return
4209}
4210
4211// Retrieve Determine if BIOS password should be left as null.
4212func (r Hardware_SecurityModule) GetBiosPasswordNullFlag() (resp bool, err error) {
4213	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
4214	return
4215}
4216
4217// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
4218func (r Hardware_SecurityModule) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
4219	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
4220	return
4221}
4222
4223// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
4224func (r Hardware_SecurityModule) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
4225	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
4226	return
4227}
4228
4229// Retrieve Child hardware.
4230func (r Hardware_SecurityModule) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
4231	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getChildrenHardware", nil, &r.Options, &resp)
4232	return
4233}
4234
4235// no documentation yet
4236func (r Hardware_SecurityModule) GetComponentDetailsXML() (resp string, err error) {
4237	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getComponentDetailsXML", nil, &r.Options, &resp)
4238	return
4239}
4240
4241// Retrieve A piece of hardware's components.
4242func (r Hardware_SecurityModule) GetComponents() (resp []datatypes.Hardware_Component, err error) {
4243	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getComponents", nil, &r.Options, &resp)
4244	return
4245}
4246
4247// Retrieve
4248func (r Hardware_SecurityModule) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
4249	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
4250	return
4251}
4252
4253// Retrieve A continuous data protection/server backup software component object.
4254func (r Hardware_SecurityModule) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
4255	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
4256	return
4257}
4258
4259// Retrieve A server's control panel.
4260func (r Hardware_SecurityModule) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
4261	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getControlPanel", nil, &r.Options, &resp)
4262	return
4263}
4264
4265// Retrieve The total cost of a server, measured in US Dollars ($USD).
4266func (r Hardware_SecurityModule) GetCost() (resp datatypes.Float64, err error) {
4267	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCost", nil, &r.Options, &resp)
4268	return
4269}
4270
4271//
4272// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
4273//
4274//
4275// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
4276func (r Hardware_SecurityModule) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
4277	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCreateObjectOptions", nil, &r.Options, &resp)
4278	return
4279}
4280
4281// Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
4282func (r Hardware_SecurityModule) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
4283	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
4284	return
4285}
4286
4287// Attempt to retrieve the file associated with the current benchmark certification result, if such a file exists.  If there is no file for this benchmark certification result, calling this method throws an exception.
4288func (r Hardware_SecurityModule) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
4289	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
4290	return
4291}
4292
4293// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
4294func (r Hardware_SecurityModule) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
4295	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
4296	return
4297}
4298
4299// Get the billing detail for this instance for the current billing period. This does not include bandwidth usage.
4300func (r Hardware_SecurityModule) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
4301	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillingDetail", nil, &r.Options, &resp)
4302	return
4303}
4304
4305// The '''getCurrentBillingTotal''' method retrieves the total bill amount in US Dollars ($) for the current billing period. In addition to the total bill amount, the billing detail also includes all bandwidth used up to the point the method is called on the piece of hardware.
4306func (r Hardware_SecurityModule) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
4307	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillingTotal", nil, &r.Options, &resp)
4308	return
4309}
4310
4311// Retrieve bandwidth graph by date.
4312func (r Hardware_SecurityModule) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
4313	params := []interface{}{
4314		graphData,
4315	}
4316	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
4317	return
4318}
4319
4320// Retrieve Indicates if a server has a Customer Installed OS
4321func (r Hardware_SecurityModule) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
4322	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
4323	return
4324}
4325
4326// Retrieve Indicates if a server is a customer owned device.
4327func (r Hardware_SecurityModule) GetCustomerOwnedFlag() (resp bool, err error) {
4328	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCustomerOwnedFlag", nil, &r.Options, &resp)
4329	return
4330}
4331
4332// The '''getDailyAverage''' method calculates the average daily network traffic used by the selected server. Using the required parameter ''dateTime'' to enter a start and end date, the user retrieves this average, measure in gigabytes (GB) for the specified date range. When entering parameters, only the month, day and year are required - time entries are omitted as this method defaults the time to midnight in order to account for the entire day.
4333func (r Hardware_SecurityModule) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4334	params := []interface{}{
4335		startDate,
4336		endDate,
4337	}
4338	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDailyAverage", params, &r.Options, &resp)
4339	return
4340}
4341
4342// Retrieve Information regarding the datacenter in which a piece of hardware resides.
4343func (r Hardware_SecurityModule) GetDatacenter() (resp datatypes.Location, err error) {
4344	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDatacenter", nil, &r.Options, &resp)
4345	return
4346}
4347
4348// Retrieve The name of the datacenter in which a piece of hardware resides.
4349func (r Hardware_SecurityModule) GetDatacenterName() (resp string, err error) {
4350	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDatacenterName", nil, &r.Options, &resp)
4351	return
4352}
4353
4354// Retrieve Number of day(s) a server have been in spare pool.
4355func (r Hardware_SecurityModule) GetDaysInSparePool() (resp int, err error) {
4356	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDaysInSparePool", nil, &r.Options, &resp)
4357	return
4358}
4359
4360// Retrieve All hardware that has uplink network connections to a piece of hardware.
4361func (r Hardware_SecurityModule) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
4362	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkHardware", nil, &r.Options, &resp)
4363	return
4364}
4365
4366// Retrieve All hardware that has uplink network connections to a piece of hardware.
4367func (r Hardware_SecurityModule) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
4368	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
4369	return
4370}
4371
4372// Retrieve Information regarding all servers attached to a piece of network hardware.
4373func (r Hardware_SecurityModule) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
4374	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkServers", nil, &r.Options, &resp)
4375	return
4376}
4377
4378// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
4379func (r Hardware_SecurityModule) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4380	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
4381	return
4382}
4383
4384// Retrieve All hardware downstream from a network device.
4385func (r Hardware_SecurityModule) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
4386	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
4387	return
4388}
4389
4390// Retrieve All network hardware downstream from the selected piece of hardware.
4391func (r Hardware_SecurityModule) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
4392	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
4393	return
4394}
4395
4396// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
4397func (r Hardware_SecurityModule) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
4398	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
4399	return
4400}
4401
4402// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
4403func (r Hardware_SecurityModule) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
4404	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamServers", nil, &r.Options, &resp)
4405	return
4406}
4407
4408// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
4409func (r Hardware_SecurityModule) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4410	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
4411	return
4412}
4413
4414// Retrieve The drive controllers contained within a piece of hardware.
4415func (r Hardware_SecurityModule) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
4416	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDriveControllers", nil, &r.Options, &resp)
4417	return
4418}
4419
4420// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
4421func (r Hardware_SecurityModule) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4422	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getEvaultNetworkStorage", nil, &r.Options, &resp)
4423	return
4424}
4425
4426// Get the subnets associated with this server that are protectable by a network component firewall.
4427func (r Hardware_SecurityModule) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
4428	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
4429	return
4430}
4431
4432// Retrieve Information regarding a piece of hardware's firewall services.
4433func (r Hardware_SecurityModule) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
4434	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFirewallServiceComponent", nil, &r.Options, &resp)
4435	return
4436}
4437
4438// Retrieve Defines the fixed components in a fixed configuration bare metal server.
4439func (r Hardware_SecurityModule) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
4440	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFixedConfigurationPreset", nil, &r.Options, &resp)
4441	return
4442}
4443
4444// Use this method to return an array of public bandwidth utilization records between a given date range.
4445//
4446// This method represents the NEW version of getFrontendBandwidthUse
4447func (r Hardware_SecurityModule) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4448	params := []interface{}{
4449		startDate,
4450		endDate,
4451	}
4452	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendBandwidthUsage", params, &r.Options, &resp)
4453	return
4454}
4455
4456// Use this method to return an array of public bandwidth utilization records between a given date range.
4457func (r Hardware_SecurityModule) GetFrontendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
4458	params := []interface{}{
4459		startDate,
4460		endDate,
4461	}
4462	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendBandwidthUse", params, &r.Options, &resp)
4463	return
4464}
4465
4466// The '''getFrontendIncomingBandwidth''' method retrieves the amount of incoming public network traffic used by a server between the given start and end date parameters. When entering the ''dateTime'' parameter, only the month, day and year of the start and end dates are required - the time (hour, minute and second) are set to midnight by default and cannot be changed. The amount of bandwidth retrieved is measured in gigabytes (GB).
4467func (r Hardware_SecurityModule) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4468	params := []interface{}{
4469		startDate,
4470		endDate,
4471	}
4472	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
4473	return
4474}
4475
4476// Retrieve A piece of hardware's front-end or public network components.
4477func (r Hardware_SecurityModule) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
4478	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendNetworkComponents", nil, &r.Options, &resp)
4479	return
4480}
4481
4482// The '''getFrontendOutgoingBandwidth''' method retrieves the amount of outgoing public network traffic used by a server between the given start and end date parameters. The ''dateTime'' parameter requires only the day, month and year to be entered - the time (hour, minute and second) are set to midnight be default in order to gather the data for the entire start and end date indicated in the parameter. The amount of bandwidth retrieved is measured in gigabytes (GB).
4483func (r Hardware_SecurityModule) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4484	params := []interface{}{
4485		startDate,
4486		endDate,
4487	}
4488	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
4489	return
4490}
4491
4492// Retrieve A hardware's frontend or public router.
4493func (r Hardware_SecurityModule) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
4494	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendRouters", nil, &r.Options, &resp)
4495	return
4496}
4497
4498// Retrieve A hardware's universally unique identifier.
4499func (r Hardware_SecurityModule) GetGlobalIdentifier() (resp string, err error) {
4500	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getGlobalIdentifier", nil, &r.Options, &resp)
4501	return
4502}
4503
4504// Retrieve The hard drives contained within a piece of hardware.
4505func (r Hardware_SecurityModule) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
4506	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardDrives", nil, &r.Options, &resp)
4507	return
4508}
4509
4510// Retrieve a server by searching for the primary IP address.
4511func (r Hardware_SecurityModule) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
4512	params := []interface{}{
4513		ipAddress,
4514	}
4515	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareByIpAddress", params, &r.Options, &resp)
4516	return
4517}
4518
4519// Retrieve The chassis that a piece of hardware is housed in.
4520func (r Hardware_SecurityModule) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
4521	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareChassis", nil, &r.Options, &resp)
4522	return
4523}
4524
4525// Retrieve A hardware's function.
4526func (r Hardware_SecurityModule) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
4527	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareFunction", nil, &r.Options, &resp)
4528	return
4529}
4530
4531// Retrieve A hardware's function.
4532func (r Hardware_SecurityModule) GetHardwareFunctionDescription() (resp string, err error) {
4533	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareFunctionDescription", nil, &r.Options, &resp)
4534	return
4535}
4536
4537// Retrieve A hardware's status.
4538func (r Hardware_SecurityModule) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
4539	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareStatus", nil, &r.Options, &resp)
4540	return
4541}
4542
4543// Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
4544func (r Hardware_SecurityModule) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
4545	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
4546	return
4547}
4548
4549// Retrieve Determine in hardware object has TPM enabled.
4550func (r Hardware_SecurityModule) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
4551	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
4552	return
4553}
4554
4555// Retrieve Information regarding a host IPS software component object.
4556func (r Hardware_SecurityModule) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
4557	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
4558	return
4559}
4560
4561// The '''getHourlyBandwidth''' method retrieves all bandwidth updates hourly for the specified hardware. Because the potential number of data points can become excessive, the method limits the user to obtain data in 24-hour intervals. The required ''dateTime'' parameter is used as the starting point for the query and will be calculated for the 24-hour period starting with the specified date and time. For example, entering a parameter of
4562//
4563// '02/01/2008 0:00'
4564//
4565// results in a return of all bandwidth data for the entire day of February 1, 2008, as 0:00 specifies a midnight start date. Please note that the time entered should be completed using a 24-hour clock (military time, astronomical time).
4566//
4567// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
4568func (r Hardware_SecurityModule) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4569	params := []interface{}{
4570		mode,
4571		day,
4572	}
4573	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHourlyBandwidth", params, &r.Options, &resp)
4574	return
4575}
4576
4577// Retrieve A server's hourly billing status.
4578func (r Hardware_SecurityModule) GetHourlyBillingFlag() (resp bool, err error) {
4579	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHourlyBillingFlag", nil, &r.Options, &resp)
4580	return
4581}
4582
4583// Retrieve The sum of all the inbound network traffic data for the last 30 days.
4584func (r Hardware_SecurityModule) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
4585	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundBandwidthUsage", nil, &r.Options, &resp)
4586	return
4587}
4588
4589// Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
4590func (r Hardware_SecurityModule) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
4591	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
4592	return
4593}
4594
4595// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
4596func (r Hardware_SecurityModule) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
4597	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
4598	return
4599}
4600
4601// Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
4602func (r Hardware_SecurityModule) GetIsCloudReadyNodeCertified() (resp bool, err error) {
4603	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
4604	return
4605}
4606
4607// Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
4608func (r Hardware_SecurityModule) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
4609	params := []interface{}{
4610		softwareDescriptions,
4611		includeTranslationsFlag,
4612		returnAllPricesFlag,
4613	}
4614	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
4615	return
4616}
4617
4618// Retrieve The last transaction that a server's operating system was loaded.
4619func (r Hardware_SecurityModule) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
4620	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLastOperatingSystemReload", nil, &r.Options, &resp)
4621	return
4622}
4623
4624// Retrieve Information regarding the last transaction a server performed.
4625func (r Hardware_SecurityModule) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
4626	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLastTransaction", nil, &r.Options, &resp)
4627	return
4628}
4629
4630// Retrieve A piece of hardware's latest network monitoring incident.
4631func (r Hardware_SecurityModule) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
4632	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
4633	return
4634}
4635
4636// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
4637func (r Hardware_SecurityModule) GetLocation() (resp datatypes.Location, err error) {
4638	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLocation", nil, &r.Options, &resp)
4639	return
4640}
4641
4642// Retrieve
4643func (r Hardware_SecurityModule) GetLocationPathString() (resp string, err error) {
4644	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLocationPathString", nil, &r.Options, &resp)
4645	return
4646}
4647
4648// Retrieve Information regarding a lockbox account associated with a server.
4649func (r Hardware_SecurityModule) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
4650	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLockboxNetworkStorage", nil, &r.Options, &resp)
4651	return
4652}
4653
4654// Retrieve A flag indicating that the hardware is a managed resource.
4655func (r Hardware_SecurityModule) GetManagedResourceFlag() (resp bool, err error) {
4656	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getManagedResourceFlag", nil, &r.Options, &resp)
4657	return
4658}
4659
4660// Retrieve the remote management network component attached with this server.
4661func (r Hardware_SecurityModule) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
4662	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getManagementNetworkComponent", nil, &r.Options, &resp)
4663	return
4664}
4665
4666// Retrieve Information regarding a piece of hardware's memory.
4667func (r Hardware_SecurityModule) GetMemory() (resp []datatypes.Hardware_Component, err error) {
4668	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMemory", nil, &r.Options, &resp)
4669	return
4670}
4671
4672// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
4673func (r Hardware_SecurityModule) GetMemoryCapacity() (resp uint, err error) {
4674	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMemoryCapacity", nil, &r.Options, &resp)
4675	return
4676}
4677
4678// Retrieve A piece of hardware's metric tracking object.
4679func (r Hardware_SecurityModule) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
4680	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMetricTrackingObject", nil, &r.Options, &resp)
4681	return
4682}
4683
4684// Retrieve The metric tracking object id for this server.
4685func (r Hardware_SecurityModule) GetMetricTrackingObjectId() (resp int, err error) {
4686	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMetricTrackingObjectId", nil, &r.Options, &resp)
4687	return
4688}
4689
4690// Returns open monitoring alarms for a given time period
4691func (r Hardware_SecurityModule) GetMonitoringActiveAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
4692	params := []interface{}{
4693		startDate,
4694		endDate,
4695	}
4696	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringActiveAlarms", params, &r.Options, &resp)
4697	return
4698}
4699
4700// Retrieve Information regarding the monitoring agents associated with a piece of hardware.
4701func (r Hardware_SecurityModule) GetMonitoringAgents() (resp []datatypes.Monitoring_Agent, err error) {
4702	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringAgents", nil, &r.Options, &resp)
4703	return
4704}
4705
4706// Returns closed monitoring alarms for a given time period
4707func (r Hardware_SecurityModule) GetMonitoringClosedAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
4708	params := []interface{}{
4709		startDate,
4710		endDate,
4711	}
4712	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringClosedAlarms", params, &r.Options, &resp)
4713	return
4714}
4715
4716// Retrieve Information regarding the hardware's monitoring robot.
4717func (r Hardware_SecurityModule) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
4718	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringRobot", nil, &r.Options, &resp)
4719	return
4720}
4721
4722// Retrieve Information regarding a piece of hardware's network monitoring services.
4723func (r Hardware_SecurityModule) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
4724	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringServiceComponent", nil, &r.Options, &resp)
4725	return
4726}
4727
4728// Retrieve The monitoring service flag eligibility status for a piece of hardware.
4729func (r Hardware_SecurityModule) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
4730	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
4731	return
4732}
4733
4734// Retrieve The service flag status for a piece of hardware.
4735func (r Hardware_SecurityModule) GetMonitoringServiceFlag() (resp bool, err error) {
4736	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringServiceFlag", nil, &r.Options, &resp)
4737	return
4738}
4739
4740// Retrieve 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
4741func (r Hardware_SecurityModule) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
4742	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringUserNotification", nil, &r.Options, &resp)
4743	return
4744}
4745
4746// Retrieve Information regarding a piece of hardware's motherboard.
4747func (r Hardware_SecurityModule) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
4748	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMotherboard", nil, &r.Options, &resp)
4749	return
4750}
4751
4752// Retrieve Information regarding a piece of hardware's network cards.
4753func (r Hardware_SecurityModule) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
4754	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkCards", nil, &r.Options, &resp)
4755	return
4756}
4757
4758// Get the IP addresses associated with this server that are protectable by a network component firewall. Note, this may not return all values for IPv6 subnets for this server. Please use getFirewallProtectableSubnets to get all protectable subnets.
4759func (r Hardware_SecurityModule) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
4760	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
4761	return
4762}
4763
4764// Retrieve Returns a hardware's network components.
4765func (r Hardware_SecurityModule) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
4766	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkComponents", nil, &r.Options, &resp)
4767	return
4768}
4769
4770// Retrieve The gateway member if this device is part of a network gateway.
4771func (r Hardware_SecurityModule) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
4772	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkGatewayMember", nil, &r.Options, &resp)
4773	return
4774}
4775
4776// Retrieve Whether or not this device is part of a network gateway.
4777func (r Hardware_SecurityModule) GetNetworkGatewayMemberFlag() (resp bool, err error) {
4778	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
4779	return
4780}
4781
4782// Retrieve A piece of hardware's network management IP address.
4783func (r Hardware_SecurityModule) GetNetworkManagementIpAddress() (resp string, err error) {
4784	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
4785	return
4786}
4787
4788// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
4789func (r Hardware_SecurityModule) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
4790	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
4791	return
4792}
4793
4794// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
4795func (r Hardware_SecurityModule) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4796	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
4797	return
4798}
4799
4800// Retrieve The status of all of a piece of hardware's network monitoring incidents.
4801func (r Hardware_SecurityModule) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
4802	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
4803	return
4804}
4805
4806// Retrieve Information regarding a piece of hardware's network monitors.
4807func (r Hardware_SecurityModule) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
4808	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitors", nil, &r.Options, &resp)
4809	return
4810}
4811
4812// Retrieve The value of a hardware's network status attribute.
4813func (r Hardware_SecurityModule) GetNetworkStatus() (resp string, err error) {
4814	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStatus", nil, &r.Options, &resp)
4815	return
4816}
4817
4818// Retrieve The hardware's related network status attribute.
4819func (r Hardware_SecurityModule) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
4820	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStatusAttribute", nil, &r.Options, &resp)
4821	return
4822}
4823
4824// Retrieve Information regarding a piece of hardware's associated network storage service account.
4825func (r Hardware_SecurityModule) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4826	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStorage", nil, &r.Options, &resp)
4827	return
4828}
4829
4830// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
4831func (r Hardware_SecurityModule) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
4832	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkVlans", nil, &r.Options, &resp)
4833	return
4834}
4835
4836// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
4837func (r Hardware_SecurityModule) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
4838	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
4839	return
4840}
4841
4842// Retrieve
4843func (r Hardware_SecurityModule) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
4844	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNotesHistory", nil, &r.Options, &resp)
4845	return
4846}
4847
4848// no documentation yet
4849func (r Hardware_SecurityModule) GetObject() (resp datatypes.Hardware_SecurityModule, err error) {
4850	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getObject", nil, &r.Options, &resp)
4851	return
4852}
4853
4854// Retrieve An open ticket requesting cancellation of this server, if one exists.
4855func (r Hardware_SecurityModule) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
4856	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOpenCancellationTicket", nil, &r.Options, &resp)
4857	return
4858}
4859
4860// Retrieve Information regarding a piece of hardware's operating system.
4861func (r Hardware_SecurityModule) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
4862	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOperatingSystem", nil, &r.Options, &resp)
4863	return
4864}
4865
4866// Retrieve A hardware's operating system software description.
4867func (r Hardware_SecurityModule) GetOperatingSystemReferenceCode() (resp string, err error) {
4868	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
4869	return
4870}
4871
4872// Retrieve The sum of all the outbound network traffic data for the last 30 days.
4873func (r Hardware_SecurityModule) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
4874	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
4875	return
4876}
4877
4878// Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
4879func (r Hardware_SecurityModule) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
4880	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
4881	return
4882}
4883
4884// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
4885func (r Hardware_SecurityModule) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
4886	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
4887	return
4888}
4889
4890// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
4891func (r Hardware_SecurityModule) GetOverBandwidthAllocationFlag() (resp int, err error) {
4892	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
4893	return
4894}
4895
4896// Retrieve a server's hardware state via its internal sensors. Remote sensor data is transmitted to the SoftLayer API by way of the server's remote management card. Sensor data measures system temperatures, voltages, and other local server settings. Sensor data is cached for 30 seconds. Calls made to getSensorData for the same server within 30 seconds of each other will return the same data. Subsequent calls will return new data once the cache expires.
4897func (r Hardware_SecurityModule) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
4898	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPMInfo", nil, &r.Options, &resp)
4899	return
4900}
4901
4902// Retrieve Blade Bay
4903func (r Hardware_SecurityModule) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
4904	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getParentBay", nil, &r.Options, &resp)
4905	return
4906}
4907
4908// Retrieve Parent Hardware.
4909func (r Hardware_SecurityModule) GetParentHardware() (resp datatypes.Hardware, err error) {
4910	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getParentHardware", nil, &r.Options, &resp)
4911	return
4912}
4913
4914// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
4915func (r Hardware_SecurityModule) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
4916	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPointOfPresenceLocation", nil, &r.Options, &resp)
4917	return
4918}
4919
4920// Retrieve The power components for a hardware object.
4921func (r Hardware_SecurityModule) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
4922	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPowerComponents", nil, &r.Options, &resp)
4923	return
4924}
4925
4926// Retrieve Information regarding a piece of hardware's power supply.
4927func (r Hardware_SecurityModule) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
4928	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPowerSupply", nil, &r.Options, &resp)
4929	return
4930}
4931
4932// Retrieve The hardware's primary private IP address.
4933func (r Hardware_SecurityModule) GetPrimaryBackendIpAddress() (resp string, err error) {
4934	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
4935	return
4936}
4937
4938// Retrieve Information regarding the hardware's primary back-end network component.
4939func (r Hardware_SecurityModule) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
4940	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
4941	return
4942}
4943
4944// no documentation yet
4945func (r Hardware_SecurityModule) GetPrimaryDriveSize() (resp int, err error) {
4946	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryDriveSize", nil, &r.Options, &resp)
4947	return
4948}
4949
4950// Retrieve The hardware's primary public IP address.
4951func (r Hardware_SecurityModule) GetPrimaryIpAddress() (resp string, err error) {
4952	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryIpAddress", nil, &r.Options, &resp)
4953	return
4954}
4955
4956// Retrieve Information regarding the hardware's primary public network component.
4957func (r Hardware_SecurityModule) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
4958	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
4959	return
4960}
4961
4962// Retrieve a graph of a server's private network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPrivateBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
4963func (r Hardware_SecurityModule) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4964	params := []interface{}{
4965		startTime,
4966		endTime,
4967	}
4968	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBandwidthData", params, &r.Options, &resp)
4969	return
4970}
4971
4972// Retrieve a brief summary of a server's private network bandwidth usage. getPrivateBandwidthDataSummary retrieves a server's bandwidth allocation for its billing period, its estimated usage during its billing period, and an estimation of how much bandwidth it will use during its billing period based on its current usage. A server's projected bandwidth usage increases in accuracy as it progresses through its billing period.
4973func (r Hardware_SecurityModule) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
4974	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
4975	return
4976}
4977
4978// Retrieve a graph of a server's private network bandwidth usage over the specified time frame. If no time frame is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image
4979func (r Hardware_SecurityModule) GetPrivateBandwidthGraphImage(startTime *string, endTime *string) (resp []byte, err error) {
4980	params := []interface{}{
4981		startTime,
4982		endTime,
4983	}
4984	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBandwidthGraphImage", params, &r.Options, &resp)
4985	return
4986}
4987
4988// Retrieve A server's primary private IP address.
4989func (r Hardware_SecurityModule) GetPrivateIpAddress() (resp string, err error) {
4990	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateIpAddress", nil, &r.Options, &resp)
4991	return
4992}
4993
4994// Retrieve the private network component attached with this server.
4995func (r Hardware_SecurityModule) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
4996	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateNetworkComponent", nil, &r.Options, &resp)
4997	return
4998}
4999
5000// Retrieve Whether the hardware only has access to the private network.
5001func (r Hardware_SecurityModule) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
5002	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
5003	return
5004}
5005
5006// Retrieve the backend VLAN for the primary IP address of the server
5007func (r Hardware_SecurityModule) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
5008	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateVlan", nil, &r.Options, &resp)
5009	return
5010}
5011
5012// Retrieve a backend network VLAN by searching for an IP address
5013func (r Hardware_SecurityModule) GetPrivateVlanByIpAddress(ipAddress *string) (resp datatypes.Network_Vlan, err error) {
5014	params := []interface{}{
5015		ipAddress,
5016	}
5017	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateVlanByIpAddress", params, &r.Options, &resp)
5018	return
5019}
5020
5021// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
5022func (r Hardware_SecurityModule) GetProcessorCoreAmount() (resp uint, err error) {
5023	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessorCoreAmount", nil, &r.Options, &resp)
5024	return
5025}
5026
5027// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
5028func (r Hardware_SecurityModule) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
5029	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
5030	return
5031}
5032
5033// Retrieve Information regarding a piece of hardware's processors.
5034func (r Hardware_SecurityModule) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
5035	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessors", nil, &r.Options, &resp)
5036	return
5037}
5038
5039// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
5040func (r Hardware_SecurityModule) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
5041	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
5042	return
5043}
5044
5045// Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
5046func (r Hardware_SecurityModule) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
5047	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
5048	return
5049}
5050
5051// no documentation yet
5052func (r Hardware_SecurityModule) GetProvisionDate() (resp datatypes.Time, err error) {
5053	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProvisionDate", nil, &r.Options, &resp)
5054	return
5055}
5056
5057// Retrieve a graph of a server's public network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
5058func (r Hardware_SecurityModule) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
5059	params := []interface{}{
5060		startTime,
5061		endTime,
5062	}
5063	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthData", params, &r.Options, &resp)
5064	return
5065}
5066
5067// Retrieve a brief summary of a server's public network bandwidth usage. getPublicBandwidthDataSummary retrieves a server's bandwidth allocation for its billing period, its estimated usage during its billing period, and an estimation of how much bandwidth it will use during its billing period based on its current usage. A server's projected bandwidth usage increases in accuracy as it progresses through its billing period.
5068func (r Hardware_SecurityModule) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
5069	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
5070	return
5071}
5072
5073// Retrieve a graph of a server's public network bandwidth usage over the specified time frame. If no time frame is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.  THIS METHOD GENERATES GRAPHS BASED ON THE NEW DATA WAREHOUSE REPOSITORY.
5074func (r Hardware_SecurityModule) GetPublicBandwidthGraphImage(startTime *datatypes.Time, endTime *datatypes.Time) (resp []byte, err error) {
5075	params := []interface{}{
5076		startTime,
5077		endTime,
5078	}
5079	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthGraphImage", params, &r.Options, &resp)
5080	return
5081}
5082
5083// Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
5084func (r Hardware_SecurityModule) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
5085	params := []interface{}{
5086		startTime,
5087		endTime,
5088	}
5089	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthTotal", params, &r.Options, &resp)
5090	return
5091}
5092
5093// Retrieve a SoftLayer server's public network component. Some servers are only connected to the private network and may not have a public network component. In that case getPublicNetworkComponent returns a null object.
5094func (r Hardware_SecurityModule) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
5095	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicNetworkComponent", nil, &r.Options, &resp)
5096	return
5097}
5098
5099// Retrieve the frontend VLAN for the primary IP address of the server
5100func (r Hardware_SecurityModule) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
5101	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicVlan", nil, &r.Options, &resp)
5102	return
5103}
5104
5105// Retrieve the frontend network Vlan by searching the hostname of a server
5106func (r Hardware_SecurityModule) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
5107	params := []interface{}{
5108		hostname,
5109	}
5110	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicVlanByHostname", params, &r.Options, &resp)
5111	return
5112}
5113
5114// Retrieve
5115func (r Hardware_SecurityModule) GetRack() (resp datatypes.Location, err error) {
5116	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRack", nil, &r.Options, &resp)
5117	return
5118}
5119
5120// Retrieve The RAID controllers contained within a piece of hardware.
5121func (r Hardware_SecurityModule) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
5122	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRaidControllers", nil, &r.Options, &resp)
5123	return
5124}
5125
5126// Retrieve Determine if hardware object is vSan Ready Node.
5127func (r Hardware_SecurityModule) GetReadyNodeFlag() (resp bool, err error) {
5128	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getReadyNodeFlag", nil, &r.Options, &resp)
5129	return
5130}
5131
5132// Retrieve Recent events that impact this hardware.
5133func (r Hardware_SecurityModule) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
5134	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRecentEvents", nil, &r.Options, &resp)
5135	return
5136}
5137
5138// Retrieve The last five commands issued to the server's remote management card.
5139func (r Hardware_SecurityModule) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
5140	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
5141	return
5142}
5143
5144// Retrieve
5145func (r Hardware_SecurityModule) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
5146	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRegionalInternetRegistry", nil, &r.Options, &resp)
5147	return
5148}
5149
5150// Retrieve A server's remote management card.
5151func (r Hardware_SecurityModule) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
5152	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagement", nil, &r.Options, &resp)
5153	return
5154}
5155
5156// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
5157func (r Hardware_SecurityModule) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
5158	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementAccounts", nil, &r.Options, &resp)
5159	return
5160}
5161
5162// Retrieve A hardware's associated remote management component. This is normally IPMI.
5163func (r Hardware_SecurityModule) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
5164	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementComponent", nil, &r.Options, &resp)
5165	return
5166}
5167
5168// Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
5169func (r Hardware_SecurityModule) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
5170	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementUsers", nil, &r.Options, &resp)
5171	return
5172}
5173
5174// Retrieve
5175func (r Hardware_SecurityModule) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
5176	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceConfigurations", nil, &r.Options, &resp)
5177	return
5178}
5179
5180// Retrieve
5181func (r Hardware_SecurityModule) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
5182	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
5183	return
5184}
5185
5186// Retrieve
5187func (r Hardware_SecurityModule) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
5188	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroupRoles", nil, &r.Options, &resp)
5189	return
5190}
5191
5192// Retrieve The resource groups in which this hardware is a member.
5193func (r Hardware_SecurityModule) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
5194	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroups", nil, &r.Options, &resp)
5195	return
5196}
5197
5198// Retrieve the reverse domain records associated with this server.
5199func (r Hardware_SecurityModule) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
5200	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getReverseDomainRecords", nil, &r.Options, &resp)
5201	return
5202}
5203
5204// Retrieve A hardware's routers.
5205func (r Hardware_SecurityModule) GetRouters() (resp []datatypes.Hardware, err error) {
5206	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRouters", nil, &r.Options, &resp)
5207	return
5208}
5209
5210// Retrieve Collection of scale assets this hardware corresponds to.
5211func (r Hardware_SecurityModule) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
5212	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getScaleAssets", nil, &r.Options, &resp)
5213	return
5214}
5215
5216// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
5217func (r Hardware_SecurityModule) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
5218	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSecurityScanRequests", nil, &r.Options, &resp)
5219	return
5220}
5221
5222// Retrieve a server's hardware state via its internal sensors. Remote sensor data is transmitted to the SoftLayer API by way of the server's remote management card. Sensor data measures system temperatures, voltages, and other local server settings. Sensor data is cached for 30 seconds. Calls made to getSensorData for the same server within 30 seconds of each other will return the same data. Subsequent calls will return new data once the cache expires.
5223func (r Hardware_SecurityModule) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
5224	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSensorData", nil, &r.Options, &resp)
5225	return
5226}
5227
5228// Retrieves the raw data returned from the server's remote management card.  For more details of what is returned please refer to the getSensorData method.  Along with the raw data, graphs for the cpu and system temperatures and fan speeds are also returned.
5229func (r Hardware_SecurityModule) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
5230	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSensorDataWithGraphs", nil, &r.Options, &resp)
5231	return
5232}
5233
5234// Retrieve a server's hardware components, software, and network components. getServerDetails is an aggregation function that combines the results of [[SoftLayer_Hardware_Server::getComponents]], [[SoftLayer_Hardware_Server::getSoftware]], and [[SoftLayer_Hardware_Server::getNetworkComponents]] in a single container.
5235func (r Hardware_SecurityModule) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
5236	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerDetails", nil, &r.Options, &resp)
5237	return
5238}
5239
5240// Retrieve the server's fan speeds and displays them using tachometer graphs.  Data used to construct graphs is retrieved from the server's remote management card.  All graphs returned will have a title associated with it.
5241func (r Hardware_SecurityModule) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
5242	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
5243	return
5244}
5245
5246// Retrieves the power state for the server.  The server's power status is retrieved from its remote management card.  This will return 'on' or 'off'.
5247func (r Hardware_SecurityModule) GetServerPowerState() (resp string, err error) {
5248	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerPowerState", nil, &r.Options, &resp)
5249	return
5250}
5251
5252// Retrieve Information regarding the server room in which the hardware is located.
5253func (r Hardware_SecurityModule) GetServerRoom() (resp datatypes.Location, err error) {
5254	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerRoom", nil, &r.Options, &resp)
5255	return
5256}
5257
5258// Retrieve the server's temperature and displays them using thermometer graphs.  Temperatures retrieved are CPU(s) and system temperatures.  Data used to construct graphs is retrieved from the server's remote management card.  All graphs returned will have a title associated with it.
5259func (r Hardware_SecurityModule) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
5260	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerTemperatureGraphs", nil, &r.Options, &resp)
5261	return
5262}
5263
5264// Retrieve Information regarding the piece of hardware's service provider.
5265func (r Hardware_SecurityModule) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
5266	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServiceProvider", nil, &r.Options, &resp)
5267	return
5268}
5269
5270// Retrieve Information regarding a piece of hardware's installed software.
5271func (r Hardware_SecurityModule) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
5272	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSoftwareComponents", nil, &r.Options, &resp)
5273	return
5274}
5275
5276// Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
5277func (r Hardware_SecurityModule) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
5278	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
5279	return
5280}
5281
5282// Retrieve Information regarding the billing item for a spare pool server.
5283func (r Hardware_SecurityModule) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
5284	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSparePoolBillingItem", nil, &r.Options, &resp)
5285	return
5286}
5287
5288// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
5289func (r Hardware_SecurityModule) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
5290	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSshKeys", nil, &r.Options, &resp)
5291	return
5292}
5293
5294// Retrieve A server's remote management card used for statistics.
5295func (r Hardware_SecurityModule) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
5296	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
5297	return
5298}
5299
5300// Retrieve
5301func (r Hardware_SecurityModule) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
5302	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getStorageNetworkComponents", nil, &r.Options, &resp)
5303	return
5304}
5305
5306// Retrieve
5307func (r Hardware_SecurityModule) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
5308	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTagReferences", nil, &r.Options, &resp)
5309	return
5310}
5311
5312// Retrieve
5313func (r Hardware_SecurityModule) GetTopLevelLocation() (resp datatypes.Location, err error) {
5314	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTopLevelLocation", nil, &r.Options, &resp)
5315	return
5316}
5317
5318//
5319// This method will query transaction history for a piece of hardware.
5320func (r Hardware_SecurityModule) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
5321	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTransactionHistory", nil, &r.Options, &resp)
5322	return
5323}
5324
5325// Retrieve a list of upgradeable items available to this piece of hardware. Currently, getUpgradeItemPrices retrieves upgrades available for a server's memory, hard drives, network port speed, bandwidth allocation and GPUs.
5326func (r Hardware_SecurityModule) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
5327	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUpgradeItemPrices", nil, &r.Options, &resp)
5328	return
5329}
5330
5331// Retrieve An account's associated upgrade request object, if any.
5332func (r Hardware_SecurityModule) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
5333	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUpgradeRequest", nil, &r.Options, &resp)
5334	return
5335}
5336
5337// Retrieve The network device connected to a piece of hardware.
5338func (r Hardware_SecurityModule) GetUplinkHardware() (resp datatypes.Hardware, err error) {
5339	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUplinkHardware", nil, &r.Options, &resp)
5340	return
5341}
5342
5343// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
5344func (r Hardware_SecurityModule) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
5345	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUplinkNetworkComponents", nil, &r.Options, &resp)
5346	return
5347}
5348
5349// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
5350func (r Hardware_SecurityModule) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
5351	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUserData", nil, &r.Options, &resp)
5352	return
5353}
5354
5355// Retrieve A list of users that have access to this computing instance.
5356func (r Hardware_SecurityModule) GetUsers() (resp []datatypes.User_Customer, err error) {
5357	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUsers", nil, &r.Options, &resp)
5358	return
5359}
5360
5361// This method will return the list of block device template groups that are valid to the host. For instance, it will only retrieve FLEX images.
5362func (r Hardware_SecurityModule) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
5363	params := []interface{}{
5364		visibility,
5365	}
5366	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
5367	return
5368}
5369
5370// Retrieve Information regarding the virtual chassis for a piece of hardware.
5371func (r Hardware_SecurityModule) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
5372	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualChassis", nil, &r.Options, &resp)
5373	return
5374}
5375
5376// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
5377func (r Hardware_SecurityModule) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
5378	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualChassisSiblings", nil, &r.Options, &resp)
5379	return
5380}
5381
5382// Retrieve A hardware server's virtual servers.
5383func (r Hardware_SecurityModule) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
5384	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualGuests", nil, &r.Options, &resp)
5385	return
5386}
5387
5388// Retrieve A piece of hardware's virtual host record.
5389func (r Hardware_SecurityModule) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
5390	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualHost", nil, &r.Options, &resp)
5391	return
5392}
5393
5394// Retrieve Information regarding a piece of hardware's virtual software licenses.
5395func (r Hardware_SecurityModule) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
5396	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualLicenses", nil, &r.Options, &resp)
5397	return
5398}
5399
5400// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
5401func (r Hardware_SecurityModule) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
5402	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRack", nil, &r.Options, &resp)
5403	return
5404}
5405
5406// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
5407func (r Hardware_SecurityModule) GetVirtualRackId() (resp int, err error) {
5408	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRackId", nil, &r.Options, &resp)
5409	return
5410}
5411
5412// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
5413func (r Hardware_SecurityModule) GetVirtualRackName() (resp string, err error) {
5414	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRackName", nil, &r.Options, &resp)
5415	return
5416}
5417
5418// Retrieve A piece of hardware's virtualization platform software.
5419func (r Hardware_SecurityModule) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
5420	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualizationPlatform", nil, &r.Options, &resp)
5421	return
5422}
5423
5424// Retrieve a list of Windows updates available for a server from the local SoftLayer Windows Server Update Services (WSUS) server. Windows servers provisioned by SoftLayer are configured to use the local WSUS server via the private network by default.
5425func (r Hardware_SecurityModule) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
5426	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
5427	return
5428}
5429
5430// Retrieve a list of Windows updates installed on a server as reported by the local SoftLayer Windows Server Update Services (WSUS) server. Windows servers provisioned by SoftLayer are configured to use the local WSUS server via the private network by default.
5431func (r Hardware_SecurityModule) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
5432	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
5433	return
5434}
5435
5436// This method returns an update status record for this server.  That record will specify if the server is missing updates, or has updates that must be reinstalled or require a reboot to go into affect.
5437func (r Hardware_SecurityModule) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
5438	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateStatus", nil, &r.Options, &resp)
5439	return
5440}
5441
5442// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
5443func (r Hardware_SecurityModule) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
5444	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "importVirtualHost", nil, &r.Options, &resp)
5445	return
5446}
5447
5448// Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
5449func (r Hardware_SecurityModule) InitiateIderaBareMetalRestore() (resp bool, err error) {
5450	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
5451	return
5452}
5453
5454// R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
5455func (r Hardware_SecurityModule) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
5456	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
5457	return
5458}
5459
5460// Issues a ping command and returns the success (true) or failure (false) of the ping command.
5461func (r Hardware_SecurityModule) IsBackendPingable() (resp bool, err error) {
5462	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isBackendPingable", nil, &r.Options, &resp)
5463	return
5464}
5465
5466// Issues a ping command and returns the success (true) or failure (false) of the ping command.
5467func (r Hardware_SecurityModule) IsPingable() (resp bool, err error) {
5468	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isPingable", nil, &r.Options, &resp)
5469	return
5470}
5471
5472// Determine if the server runs any version of the Microsoft Windows operating systems. Return ''true'' if it does and ''false if otherwise.
5473func (r Hardware_SecurityModule) IsWindowsServer() (resp bool, err error) {
5474	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isWindowsServer", nil, &r.Options, &resp)
5475	return
5476}
5477
5478// You can launch firmware updates by selecting from your server list. It will bring your server offline for approximately 20 minutes while the updates are in progress.
5479//
5480// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
5481func (r Hardware_SecurityModule) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5482	params := []interface{}{
5483		hardwareIds,
5484		ipmi,
5485		raidController,
5486		bios,
5487		harddrive,
5488	}
5489	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massFirmwareUpdate", params, &r.Options, &resp)
5490	return
5491}
5492
5493// Reloads current or customer specified operating system configuration.
5494//
5495// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
5496//
5497// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
5498//
5499// The reload will take AT MINIMUM 66 minutes.
5500func (r Hardware_SecurityModule) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
5501	params := []interface{}{
5502		hardwareIds,
5503		token,
5504		config,
5505	}
5506	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massReloadOperatingSystem", params, &r.Options, &resp)
5507	return
5508}
5509
5510// The ability to place multiple bare metal servers in a state where they are powered down and ports closed yet still allocated to the customer as a part of the Spare Pool program.
5511func (r Hardware_SecurityModule) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5512	params := []interface{}{
5513		hardwareIds,
5514		action,
5515		newOrder,
5516	}
5517	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massSparePool", params, &r.Options, &resp)
5518	return
5519}
5520
5521// Issues a ping command to the server and returns the ping response.
5522func (r Hardware_SecurityModule) Ping() (resp string, err error) {
5523	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "ping", nil, &r.Options, &resp)
5524	return
5525}
5526
5527// no documentation yet
5528func (r Hardware_SecurityModule) PopulateServerRam(ramSerialString *string) (err error) {
5529	var resp datatypes.Void
5530	params := []interface{}{
5531		ramSerialString,
5532	}
5533	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "populateServerRam", params, &r.Options, &resp)
5534	return
5535}
5536
5537// Power off then power on the server via powerstrip.  The power cycle command is equivalent to unplugging the server from the powerstrip and then plugging the server back into the powerstrip.  This should only be used as a last resort.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed. This is to avoid any type of server failures.
5538func (r Hardware_SecurityModule) PowerCycle() (resp bool, err error) {
5539	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerCycle", nil, &r.Options, &resp)
5540	return
5541}
5542
5543// This method will power off the server via the server's remote management card.
5544func (r Hardware_SecurityModule) PowerOff() (resp bool, err error) {
5545	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerOff", nil, &r.Options, &resp)
5546	return
5547}
5548
5549// Power on server via its remote management card.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
5550func (r Hardware_SecurityModule) PowerOn() (resp bool, err error) {
5551	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerOn", nil, &r.Options, &resp)
5552	return
5553}
5554
5555// Attempts to reboot the server by issuing a reset (soft reboot) command to the server's remote management card. If the reset (soft reboot) attempt is unsuccessful, a power cycle command will be issued via the powerstrip. The power cycle command is equivalent to unplugging the server from the powerstrip and then plugging the server back into the powerstrip.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
5556func (r Hardware_SecurityModule) RebootDefault() (resp bool, err error) {
5557	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootDefault", nil, &r.Options, &resp)
5558	return
5559}
5560
5561// Reboot the server by issuing a cycle command to the server's remote management card.  This is equivalent to pressing the 'Reset' button on the server.  This command is issued immediately and will not wait for processes to shutdown. After this command is issued, the server may take a few moments to boot up as server may run system disks checks. If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
5562func (r Hardware_SecurityModule) RebootHard() (resp bool, err error) {
5563	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootHard", nil, &r.Options, &resp)
5564	return
5565}
5566
5567// Reboot the server by issuing a reset command to the server's remote management card.  This is a graceful reboot. The servers will allow all process to shutdown gracefully before rebooting.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
5568func (r Hardware_SecurityModule) RebootSoft() (resp bool, err error) {
5569	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootSoft", nil, &r.Options, &resp)
5570	return
5571}
5572
5573// Reloads current operating system configuration.
5574//
5575// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
5576//
5577// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
5578//
5579// The reload will take AT MINIMUM 66 minutes.
5580func (r Hardware_SecurityModule) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
5581	params := []interface{}{
5582		token,
5583	}
5584	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
5585	return
5586}
5587
5588// Reloads current or customer specified operating system configuration.
5589//
5590// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
5591//
5592// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
5593//
5594// The reload will take AT MINIMUM 66 minutes.
5595func (r Hardware_SecurityModule) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
5596	params := []interface{}{
5597		token,
5598		config,
5599	}
5600	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "reloadOperatingSystem", params, &r.Options, &resp)
5601	return
5602}
5603
5604// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
5605func (r Hardware_SecurityModule) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
5606	params := []interface{}{
5607		networkStorageTemplateObject,
5608	}
5609	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "removeAccessToNetworkStorage", params, &r.Options, &resp)
5610	return
5611}
5612
5613// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
5614func (r Hardware_SecurityModule) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
5615	params := []interface{}{
5616		networkStorageTemplateObjects,
5617	}
5618	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
5619	return
5620}
5621
5622// You can launch a new Passmark hardware test by selecting from your server list. It will bring your server offline for approximately 20 minutes while the testing is in progress, and will publish a certificate with the results to your hardware details page.
5623//
5624// While the hard drives are tested for the initial deployment, the Passmark Certificate utility will not test the hard drives on your live server. This is to ensure that no data is overwritten. If you would like to test the server's hard drives, you can have the full Passmark suite installed to your server free of charge through a new Support ticket.
5625//
5626// While the test itself does not overwrite any data on the server, it is recommended that you make full off-server backups of all data prior to launching the test. The Passmark hardware test is designed to force any latent hardware issues to the surface, so hardware failure is possible.
5627//
5628// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
5629func (r Hardware_SecurityModule) RunPassmarkCertificationBenchmark() (resp bool, err error) {
5630	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
5631	return
5632}
5633
5634// Changes the password that we have stored in our database for a servers' Operating System
5635func (r Hardware_SecurityModule) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
5636	params := []interface{}{
5637		newPassword,
5638	}
5639	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setOperatingSystemPassword", params, &r.Options, &resp)
5640	return
5641}
5642
5643// Sets the private network interface speed to the new speed. Speed values can only be 0 (Disconnect), 10, 100, 1000, and 10000. The new speed must be equal to or less than the max speed of the interface.
5644//
5645// It will take less than a minute to update the switch port speed. The server uplink will not be operational again until the server interface speed is updated.
5646func (r Hardware_SecurityModule) SetPrivateNetworkInterfaceSpeed(newSpeed *int) (resp bool, err error) {
5647	params := []interface{}{
5648		newSpeed,
5649	}
5650	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
5651	return
5652}
5653
5654// Sets the public network interface speed to the new speed. Speed values can only be 0 (Disconnect), 10, 100, 1000, and 10000. The new speed must be equal to or less than the max speed of the interface.
5655//
5656// It will take less than a minute to update the switch port speed. The server uplink will not be operational again until the server interface speed is updated.
5657func (r Hardware_SecurityModule) SetPublicNetworkInterfaceSpeed(newSpeed *int) (resp bool, err error) {
5658	params := []interface{}{
5659		newSpeed,
5660	}
5661	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
5662	return
5663}
5664
5665// no documentation yet
5666func (r Hardware_SecurityModule) SetTags(tags *string) (resp bool, err error) {
5667	params := []interface{}{
5668		tags,
5669	}
5670	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setTags", params, &r.Options, &resp)
5671	return
5672}
5673
5674// Sets the data that will be written to the configuration drive.
5675func (r Hardware_SecurityModule) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
5676	params := []interface{}{
5677		metadata,
5678	}
5679	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setUserMetadata", params, &r.Options, &resp)
5680	return
5681}
5682
5683// Shuts down the public network port
5684func (r Hardware_SecurityModule) ShutdownPrivatePort() (resp bool, err error) {
5685	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "shutdownPrivatePort", nil, &r.Options, &resp)
5686	return
5687}
5688
5689// Shuts down the public network port
5690func (r Hardware_SecurityModule) ShutdownPublicPort() (resp bool, err error) {
5691	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "shutdownPublicPort", nil, &r.Options, &resp)
5692	return
5693}
5694
5695// The ability to place bare metal servers in a state where they are powered down, and ports closed yet still allocated to the customer as a part of the Spare Pool program.
5696func (r Hardware_SecurityModule) SparePool(action *string, newOrder *bool) (resp bool, err error) {
5697	params := []interface{}{
5698		action,
5699		newOrder,
5700	}
5701	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "sparePool", params, &r.Options, &resp)
5702	return
5703}
5704
5705// This method will update the root IPMI password on this SoftLayer_Hardware.
5706func (r Hardware_SecurityModule) UpdateIpmiPassword(password *string) (resp bool, err error) {
5707	params := []interface{}{
5708		password,
5709	}
5710	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "updateIpmiPassword", params, &r.Options, &resp)
5711	return
5712}
5713
5714// Validates a collection of partitions for an operating system
5715func (r Hardware_SecurityModule) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
5716	params := []interface{}{
5717		operatingSystem,
5718		partitions,
5719	}
5720	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
5721	return
5722}
5723
5724// no documentation yet
5725type Hardware_SecurityModule750 struct {
5726	Session *session.Session
5727	Options sl.Options
5728}
5729
5730// GetHardwareSecurityModule750Service returns an instance of the Hardware_SecurityModule750 SoftLayer service
5731func GetHardwareSecurityModule750Service(sess *session.Session) Hardware_SecurityModule750 {
5732	return Hardware_SecurityModule750{Session: sess}
5733}
5734
5735func (r Hardware_SecurityModule750) Id(id int) Hardware_SecurityModule750 {
5736	r.Options.Id = &id
5737	return r
5738}
5739
5740func (r Hardware_SecurityModule750) Mask(mask string) Hardware_SecurityModule750 {
5741	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5742		mask = fmt.Sprintf("mask[%s]", mask)
5743	}
5744
5745	r.Options.Mask = mask
5746	return r
5747}
5748
5749func (r Hardware_SecurityModule750) Filter(filter string) Hardware_SecurityModule750 {
5750	r.Options.Filter = filter
5751	return r
5752}
5753
5754func (r Hardware_SecurityModule750) Limit(limit int) Hardware_SecurityModule750 {
5755	r.Options.Limit = &limit
5756	return r
5757}
5758
5759func (r Hardware_SecurityModule750) Offset(offset int) Hardware_SecurityModule750 {
5760	r.Options.Offset = &offset
5761	return r
5762}
5763
5764// Activates the private network port
5765func (r Hardware_SecurityModule750) ActivatePrivatePort() (resp bool, err error) {
5766	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "activatePrivatePort", nil, &r.Options, &resp)
5767	return
5768}
5769
5770// Activates the public network port
5771func (r Hardware_SecurityModule750) ActivatePublicPort() (resp bool, err error) {
5772	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "activatePublicPort", nil, &r.Options, &resp)
5773	return
5774}
5775
5776// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
5777func (r Hardware_SecurityModule750) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
5778	params := []interface{}{
5779		networkStorageTemplateObject,
5780	}
5781	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "allowAccessToNetworkStorage", params, &r.Options, &resp)
5782	return
5783}
5784
5785// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
5786func (r Hardware_SecurityModule750) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
5787	params := []interface{}{
5788		networkStorageTemplateObjects,
5789	}
5790	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
5791	return
5792}
5793
5794// The Rescue Kernel is designed to provide you with the ability to bring a server online in order to troubleshoot system problems that would normally only be resolved by an OS Reload. The correct Rescue Kernel will be selected based upon the currently installed operating system. When the rescue kernel process is initiated, the server will shutdown and reboot on to the public network with the same IP's assigned to the server to allow for remote connections. It will bring your server offline for approximately 10 minutes while the rescue is in progress. The root/administrator password will be the same as what is listed in the portal for the server.
5795func (r Hardware_SecurityModule750) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
5796	params := []interface{}{
5797		noOsBootEnvironment,
5798	}
5799	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "bootToRescueLayer", params, &r.Options, &resp)
5800	return
5801}
5802
5803// Captures a Flex Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
5804func (r Hardware_SecurityModule750) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
5805	params := []interface{}{
5806		captureTemplate,
5807	}
5808	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "captureImage", params, &r.Options, &resp)
5809	return
5810}
5811
5812// Returns monitoring alarm detailed history
5813func (r Hardware_SecurityModule750) CloseAlarm(alarmId *string) (resp bool, err error) {
5814	params := []interface{}{
5815		alarmId,
5816	}
5817	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "closeAlarm", params, &r.Options, &resp)
5818	return
5819}
5820
5821// You can launch firmware updates by selecting from your server list. It will bring your server offline for approximately 20 minutes while the updates are in progress.
5822//
5823// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
5824func (r Hardware_SecurityModule750) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int) (resp bool, err error) {
5825	params := []interface{}{
5826		ipmi,
5827		raidController,
5828		bios,
5829		harddrive,
5830	}
5831	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
5832	return
5833}
5834
5835//
5836// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
5837// createObject() enables the creation of servers on an account. This
5838// method is a simplified alternative to interacting with the ordering system directly.
5839//
5840//
5841// In order to create a server, a template object must be sent in with a few required
5842// values.
5843//
5844//
5845// When this method returns an order will have been placed for a server of the specified configuration.
5846//
5847//
5848// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
5849// checking the <code>provisionDate</code> property.
5850// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
5851// as your initialization parameter.
5852//
5853//
5854// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
5855//
5856//
5857// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
5858// <ul class="create_object">
5859//     <li><code>hostname</code>
5860//         <div>Hostname for the server.</div><ul>
5861//             <li><b>Required</b></li>
5862//             <li><b>Type</b> - string</li>
5863//         </ul>
5864//         <br />
5865//     </li>
5866//     <li><code>domain</code>
5867//         <div>Domain for the server.</div><ul>
5868//             <li><b>Required</b></li>
5869//             <li><b>Type</b> - string</li>
5870//         </ul>
5871//         <br />
5872//     </li>
5873//     <li><code>processorCoreAmount</code>
5874//         <div>The number of logical CPU cores to allocate.</div><ul>
5875//             <li><b>Required</b></li>
5876//             <li><b>Type</b> - int</li>
5877//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
5878//         </ul>
5879//         <br />
5880//     </li>
5881//     <li><code>memoryCapacity</code>
5882//         <div>The amount of memory to allocate in gigabytes.</div><ul>
5883//             <li><b>Required</b></li>
5884//             <li><b>Type</b> - int</li>
5885//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
5886//         </ul>
5887//         <br />
5888//     </li>
5889//     <li><code>hourlyBillingFlag</code>
5890//         <div>Specifies the billing type for the server.</div><ul>
5891//             <li><b>Required</b></li>
5892//             <li><b>Type</b> - boolean</li>
5893//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
5894//         </ul>
5895//         <br />
5896//     </li>
5897//     <li><code>operatingSystemReferenceCode</code>
5898//         <div>An identifier for the operating system to provision the server with.</div><ul>
5899//             <li><b>Required</b></li>
5900//             <li><b>Type</b> - string</li>
5901//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
5902//         </ul>
5903//         <br />
5904//     </li>
5905//     <li><code>datacenter.name</code>
5906//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
5907//             <li><b>Required</b></li>
5908//             <li><b>Type</b> - string</li>
5909//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
5910//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
5911//         </ul>
5912//         <http title="Example">{
5913//     "datacenter": {
5914//         "name": "dal05"
5915//     }
5916// }</http>
5917//         <br />
5918//     </li>
5919//     <li><code>networkComponents.maxSpeed</code>
5920//         <div>Specifies the connection speed for the server's network components.</div><ul>
5921//             <li><b>Optional</b></li>
5922//             <li><b>Type</b> - int</li>
5923//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
5924//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The <code>maxSpeed</code> property must be set to specify the network uplink speed, in megabits per second, of the server.</li>
5925//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
5926//         </ul>
5927//             <http title="Example">{
5928//     "networkComponents": [
5929//         {
5930//             "maxSpeed": 1000
5931//         }
5932//     ]
5933// }</http>
5934//         <br />
5935//     </li>
5936//     <li><code>networkComponents.redundancyEnabledFlag</code>
5937//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
5938//             <li><b>Optional</b></li>
5939//             <li><b>Type</b> - bool</li>
5940//             <li><b>Default</b> - <code>false</code></li>
5941//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the <code>redundancyEnabledFlag</code> property is true the server's network components will be in redundancy groups.</li>
5942//         </ul>
5943//             <http title="Example">{
5944//     "networkComponents": [
5945//         {
5946//             "redundancyEnabledFlag": false
5947//         }
5948//     ]
5949// }</http>
5950//         <br />
5951//     </li>
5952//     <li><code>privateNetworkOnlyFlag</code>
5953//         <div>Specifies whether or not the server only has access to the private network</div><ul>
5954//             <li><b>Optional</b></li>
5955//             <li><b>Type</b> - boolean</li>
5956//             <li><b>Default</b> - <code>false</code></li>
5957//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
5958//         </ul>
5959//         <br />
5960//     </li>
5961//     <li><code>primaryNetworkComponent.networkVlan.id</code>
5962//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
5963//             <li><b>Optional</b></li>
5964//             <li><b>Type</b> - int</li>
5965//             <li><b>Description</b> - The <code>primaryNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the frontend network vlan of the server.</li>
5966//         </ul>
5967//         <http title="Example">{
5968//     "primaryNetworkComponent": {
5969//         "networkVlan": {
5970//             "id": 1
5971//         }
5972//     }
5973// }</http>
5974//         <br />
5975//     </li>
5976//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
5977//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
5978//             <li><b>Optional</b></li>
5979//             <li><b>Type</b> - int</li>
5980//             <li><b>Description</b> - The <code>primaryBackendNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the backend network vlan of the server.</li>
5981//         </ul>
5982//         <http title="Example">{
5983//     "primaryBackendNetworkComponent": {
5984//         "networkVlan": {
5985//             "id": 2
5986//         }
5987//     }
5988// }</http>
5989//         <br />
5990//     </li>
5991//     <li><code>fixedConfigurationPreset.keyName</code>
5992//         <div></div><ul>
5993//             <li><b>Optional</b></li>
5994//             <li><b>Type</b> - string</li>
5995//             <li><b>Description</b> - The <code>fixedConfigurationPreset</code> property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The <code>keyName</code> property must be set to specify preset to use.</li>
5996//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
5997//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
5998//         </ul>
5999//         <http title="Example">{
6000//     "fixedConfigurationPreset": {
6001//         "keyName": "SOME_KEY_NAME"
6002//     }
6003// }</http>
6004//         <br />
6005//     </li>
6006//     <li><code>userData.value</code>
6007//         <div>Arbitrary data to be made available to the server.</div><ul>
6008//             <li><b>Optional</b></li>
6009//             <li><b>Type</b> - string</li>
6010//             <li><b>Description</b> - The <code>userData</code> property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the <code>value</code> property set to an arbitrary value.</li>
6011//             <li>This value can be retrieved via the [[SoftLayer_Resource_Metadata/getUserMetadata|getUserMetadata]] method from a request originating from the server. This is primarily useful for providing data to software that may be on the server and configured to execute upon first boot.</li>
6012//         </ul>
6013//         <http title="Example">{
6014//     "userData": [
6015//         {
6016//             "value": "someValue"
6017//         }
6018//     ]
6019// }</http>
6020//         <br />
6021//     </li>
6022//     <li><code>hardDrives</code>
6023//         <div>Hard drive settings for the server</div><ul>
6024//             <li><b>Optional</b></li>
6025//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
6026//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
6027//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
6028//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
6029//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6030//         </ul>
6031//         <http title="Example">{
6032//     "hardDrives": [
6033//         {
6034//             "capacity": 500
6035//         }
6036//     ]
6037// }</http>
6038//         <br />
6039//     </li>
6040//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
6041//         <div>SSH keys to install on the server upon provisioning.</div><ul>
6042//             <li><b>Optional</b></li>
6043//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
6044//             <li><b>Description</b> - The <code>sshKeys</code> property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the <code>id</code> property set to the value of an existing SSH key.</li>
6045//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
6046//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
6047//         </ul>
6048//         <http title="Example">{
6049//     "sshKeys": [
6050//         {
6051//             "id": 123
6052//         }
6053//     ]
6054// }</http>
6055//         <br />
6056//     </li>
6057//     <li><code>postInstallScriptUri</code>
6058//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
6059//             <li><b>Optional</b></li>
6060//             <li><b>Type</b> - string</li>
6061//         </ul>
6062//         <br />
6063//     </li>
6064// </ul>
6065//
6066//
6067// <h1>REST Example</h1>
6068// <http title="Request">curl -X POST -d '{
6069//  "parameters":[
6070//      {
6071//          "hostname": "host1",
6072//          "domain": "example.com",
6073//          "processorCoreAmount": 2,
6074//          "memoryCapacity": 2,
6075//          "hourlyBillingFlag": true,
6076//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
6077//      }
6078//  ]
6079// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
6080// </http>
6081// <http title="Response">HTTP/1.1 201 Created
6082// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
6083//
6084//
6085// {
6086//     "accountId": 232298,
6087//     "bareMetalInstanceFlag": null,
6088//     "domain": "example.com",
6089//     "hardwareStatusId": null,
6090//     "hostname": "host1",
6091//     "id": null,
6092//     "serviceProviderId": null,
6093//     "serviceProviderResourceId": null,
6094//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
6095//     "hourlyBillingFlag": true,
6096//     "memoryCapacity": 2,
6097//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
6098//     "processorCoreAmount": 2
6099// }
6100// </http>
6101func (r Hardware_SecurityModule750) CreateObject(templateObject *datatypes.Hardware_SecurityModule750) (resp datatypes.Hardware_SecurityModule750, err error) {
6102	params := []interface{}{
6103		templateObject,
6104	}
6105	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createObject", params, &r.Options, &resp)
6106	return
6107}
6108
6109// no documentation yet
6110func (r Hardware_SecurityModule750) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
6111	params := []interface{}{
6112		installCodes,
6113		returnBoolean,
6114	}
6115	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
6116	return
6117}
6118
6119//
6120// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
6121func (r Hardware_SecurityModule750) DeleteObject() (resp bool, err error) {
6122	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "deleteObject", nil, &r.Options, &resp)
6123	return
6124}
6125
6126// Delete software component passwords.
6127func (r Hardware_SecurityModule750) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
6128	params := []interface{}{
6129		softwareComponentPasswords,
6130	}
6131	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
6132	return
6133}
6134
6135// Edit a server's properties
6136func (r Hardware_SecurityModule750) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
6137	params := []interface{}{
6138		templateObject,
6139	}
6140	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "editObject", params, &r.Options, &resp)
6141	return
6142}
6143
6144// Edit the properties of a software component password such as the username, password, and notes.
6145func (r Hardware_SecurityModule750) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
6146	params := []interface{}{
6147		softwareComponentPasswords,
6148	}
6149	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "editSoftwareComponentPasswords", params, &r.Options, &resp)
6150	return
6151}
6152
6153// Download and run remote script from uri on the hardware.
6154func (r Hardware_SecurityModule750) ExecuteRemoteScript(uri *string) (err error) {
6155	var resp datatypes.Void
6156	params := []interface{}{
6157		uri,
6158	}
6159	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "executeRemoteScript", params, &r.Options, &resp)
6160	return
6161}
6162
6163// The '''findByIpAddress''' method finds hardware using its primary public or private IP address. IP addresses that have a secondary subnet tied to the hardware will not return the hardware - alternate means of locating the hardware must be used (see '''Associated Methods'''). If no hardware is found, no errors are generated and no data is returned.
6164func (r Hardware_SecurityModule750) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
6165	params := []interface{}{
6166		ipAddress,
6167	}
6168	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "findByIpAddress", params, &r.Options, &resp)
6169	return
6170}
6171
6172//
6173// Obtain an [[SoftLayer_Container_Product_Order_Hardware_Server (type)|order container]] that can be sent to [[SoftLayer_Product_Order/verifyOrder|verifyOrder]] or [[SoftLayer_Product_Order/placeOrder|placeOrder]].
6174//
6175//
6176// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
6177//
6178//
6179// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
6180func (r Hardware_SecurityModule750) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
6181	params := []interface{}{
6182		templateObject,
6183	}
6184	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "generateOrderTemplate", params, &r.Options, &resp)
6185	return
6186}
6187
6188// Retrieve The account associated with a piece of hardware.
6189func (r Hardware_SecurityModule750) GetAccount() (resp datatypes.Account, err error) {
6190	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAccount", nil, &r.Options, &resp)
6191	return
6192}
6193
6194// Retrieve A piece of hardware's active physical components.
6195func (r Hardware_SecurityModule750) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
6196	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveComponents", nil, &r.Options, &resp)
6197	return
6198}
6199
6200// Retrieve The billing item for a server's attached network firewall.
6201func (r Hardware_SecurityModule750) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
6202	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
6203	return
6204}
6205
6206// Retrieve A piece of hardware's active network monitoring incidents.
6207func (r Hardware_SecurityModule750) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
6208	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
6209	return
6210}
6211
6212// Retrieve
6213func (r Hardware_SecurityModule750) GetActiveTickets() (resp []datatypes.Ticket, err error) {
6214	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTickets", nil, &r.Options, &resp)
6215	return
6216}
6217
6218// Retrieve Transaction currently running for server.
6219func (r Hardware_SecurityModule750) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
6220	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTransaction", nil, &r.Options, &resp)
6221	return
6222}
6223
6224// Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
6225func (r Hardware_SecurityModule750) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
6226	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTransactions", nil, &r.Options, &resp)
6227	return
6228}
6229
6230// The '''getAlarmHistory''' method retrieves a detailed history for the monitoring alarm. When calling this method, a start and end date for the history to be retrieved must be entered.
6231func (r Hardware_SecurityModule750) GetAlarmHistory(startDate *datatypes.Time, endDate *datatypes.Time, alarmId *string) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
6232	params := []interface{}{
6233		startDate,
6234		endDate,
6235		alarmId,
6236	}
6237	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAlarmHistory", params, &r.Options, &resp)
6238	return
6239}
6240
6241// Retrieve
6242func (r Hardware_SecurityModule750) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
6243	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllPowerComponents", nil, &r.Options, &resp)
6244	return
6245}
6246
6247// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
6248func (r Hardware_SecurityModule750) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
6249	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedHost", nil, &r.Options, &resp)
6250	return
6251}
6252
6253// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
6254func (r Hardware_SecurityModule750) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
6255	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedNetworkStorage", nil, &r.Options, &resp)
6256	return
6257}
6258
6259// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
6260func (r Hardware_SecurityModule750) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
6261	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
6262	return
6263}
6264
6265// Retrieve Information regarding an antivirus/spyware software component object.
6266func (r Hardware_SecurityModule750) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
6267	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
6268	return
6269}
6270
6271// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
6272func (r Hardware_SecurityModule750) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
6273	params := []interface{}{
6274		nasType,
6275	}
6276	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAttachedNetworkStorages", params, &r.Options, &resp)
6277	return
6278}
6279
6280// Retrieve Information regarding a piece of hardware's specific attributes.
6281func (r Hardware_SecurityModule750) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
6282	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAttributes", nil, &r.Options, &resp)
6283	return
6284}
6285
6286// Retrieve An object that stores the maximum level for the monitoring query types and response types.
6287func (r Hardware_SecurityModule750) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
6288	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAvailableMonitoring", nil, &r.Options, &resp)
6289	return
6290}
6291
6292// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
6293func (r Hardware_SecurityModule750) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
6294	params := []interface{}{
6295		nasType,
6296	}
6297	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAvailableNetworkStorages", params, &r.Options, &resp)
6298	return
6299}
6300
6301// Retrieve The average daily total bandwidth usage for the current billing cycle.
6302func (r Hardware_SecurityModule750) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
6303	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
6304	return
6305}
6306
6307// Retrieve The average daily private bandwidth usage for the current billing cycle.
6308func (r Hardware_SecurityModule750) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
6309	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
6310	return
6311}
6312
6313// Retrieve The average daily public bandwidth usage for the current billing cycle.
6314func (r Hardware_SecurityModule750) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
6315	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
6316	return
6317}
6318
6319// Use this method to return an array of private bandwidth utilization records between a given date range.
6320//
6321// This method represents the NEW version of getFrontendBandwidthUse
6322func (r Hardware_SecurityModule750) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6323	params := []interface{}{
6324		startDate,
6325		endDate,
6326	}
6327	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendBandwidthUsage", params, &r.Options, &resp)
6328	return
6329}
6330
6331// Use this method to return an array of private bandwidth utilization records between a given date range.
6332func (r Hardware_SecurityModule750) GetBackendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
6333	params := []interface{}{
6334		startDate,
6335		endDate,
6336	}
6337	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendBandwidthUse", params, &r.Options, &resp)
6338	return
6339}
6340
6341// The '''getBackendIncomingBandwidth''' method retrieves the amount of incoming private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
6342func (r Hardware_SecurityModule750) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6343	params := []interface{}{
6344		startDate,
6345		endDate,
6346	}
6347	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendIncomingBandwidth", params, &r.Options, &resp)
6348	return
6349}
6350
6351// Retrieve A piece of hardware's back-end or private network components.
6352func (r Hardware_SecurityModule750) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
6353	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendNetworkComponents", nil, &r.Options, &resp)
6354	return
6355}
6356
6357// The '''getBackendOutgoingBandwidth''' method retrieves the amount of outgoing private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
6358func (r Hardware_SecurityModule750) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6359	params := []interface{}{
6360		startDate,
6361		endDate,
6362	}
6363	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
6364	return
6365}
6366
6367// Retrieve A hardware's backend or private router.
6368func (r Hardware_SecurityModule750) GetBackendRouters() (resp []datatypes.Hardware, err error) {
6369	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendRouters", nil, &r.Options, &resp)
6370	return
6371}
6372
6373// Retrieve A hardware's allotted bandwidth (measured in GB).
6374func (r Hardware_SecurityModule750) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
6375	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthAllocation", nil, &r.Options, &resp)
6376	return
6377}
6378
6379// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
6380func (r Hardware_SecurityModule750) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
6381	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
6382	return
6383}
6384
6385// Retrieve a collection of bandwidth data from an individual public or private network tracking object. Data is ideal if you with to employ your own traffic storage and graphing systems.
6386func (r Hardware_SecurityModule750) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6387	params := []interface{}{
6388		startDate,
6389		endDate,
6390	}
6391	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthForDateRange", params, &r.Options, &resp)
6392	return
6393}
6394
6395// Use this method when needing a bandwidth image for a single server.  It will gather the correct input parameters for the generic graphing utility automatically based on the snapshot specified.  Use the $draw flag to suppress the generation of the actual binary PNG image.
6396func (r Hardware_SecurityModule750) GetBandwidthImage(networkType *string, snapshotRange *string, draw *bool, dateSpecified *datatypes.Time, dateSpecifiedEnd *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
6397	params := []interface{}{
6398		networkType,
6399		snapshotRange,
6400		draw,
6401		dateSpecified,
6402		dateSpecifiedEnd,
6403	}
6404	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthImage", params, &r.Options, &resp)
6405	return
6406}
6407
6408// Retrieve Information regarding a piece of hardware's benchmark certifications.
6409func (r Hardware_SecurityModule750) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
6410	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBenchmarkCertifications", nil, &r.Options, &resp)
6411	return
6412}
6413
6414// Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
6415func (r Hardware_SecurityModule750) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
6416	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
6417	return
6418}
6419
6420// Retrieve The raw private bandwidth usage data for the current billing cycle.
6421func (r Hardware_SecurityModule750) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
6422	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
6423	return
6424}
6425
6426// Retrieve The raw public bandwidth usage data for the current billing cycle.
6427func (r Hardware_SecurityModule750) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
6428	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
6429	return
6430}
6431
6432// Retrieve Information regarding the billing item for a server.
6433func (r Hardware_SecurityModule750) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
6434	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingItem", nil, &r.Options, &resp)
6435	return
6436}
6437
6438// Retrieve A flag indicating that a billing item exists.
6439func (r Hardware_SecurityModule750) GetBillingItemFlag() (resp bool, err error) {
6440	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingItemFlag", nil, &r.Options, &resp)
6441	return
6442}
6443
6444// Retrieve Determine if BIOS password should be left as null.
6445func (r Hardware_SecurityModule750) GetBiosPasswordNullFlag() (resp bool, err error) {
6446	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
6447	return
6448}
6449
6450// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
6451func (r Hardware_SecurityModule750) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
6452	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
6453	return
6454}
6455
6456// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
6457func (r Hardware_SecurityModule750) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
6458	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
6459	return
6460}
6461
6462// Retrieve Child hardware.
6463func (r Hardware_SecurityModule750) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
6464	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getChildrenHardware", nil, &r.Options, &resp)
6465	return
6466}
6467
6468// no documentation yet
6469func (r Hardware_SecurityModule750) GetComponentDetailsXML() (resp string, err error) {
6470	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getComponentDetailsXML", nil, &r.Options, &resp)
6471	return
6472}
6473
6474// Retrieve A piece of hardware's components.
6475func (r Hardware_SecurityModule750) GetComponents() (resp []datatypes.Hardware_Component, err error) {
6476	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getComponents", nil, &r.Options, &resp)
6477	return
6478}
6479
6480// Retrieve
6481func (r Hardware_SecurityModule750) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
6482	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
6483	return
6484}
6485
6486// Retrieve A continuous data protection/server backup software component object.
6487func (r Hardware_SecurityModule750) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
6488	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
6489	return
6490}
6491
6492// Retrieve A server's control panel.
6493func (r Hardware_SecurityModule750) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
6494	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getControlPanel", nil, &r.Options, &resp)
6495	return
6496}
6497
6498// Retrieve The total cost of a server, measured in US Dollars ($USD).
6499func (r Hardware_SecurityModule750) GetCost() (resp datatypes.Float64, err error) {
6500	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCost", nil, &r.Options, &resp)
6501	return
6502}
6503
6504//
6505// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
6506//
6507//
6508// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
6509func (r Hardware_SecurityModule750) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
6510	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCreateObjectOptions", nil, &r.Options, &resp)
6511	return
6512}
6513
6514// Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
6515func (r Hardware_SecurityModule750) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
6516	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
6517	return
6518}
6519
6520// Attempt to retrieve the file associated with the current benchmark certification result, if such a file exists.  If there is no file for this benchmark certification result, calling this method throws an exception.
6521func (r Hardware_SecurityModule750) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
6522	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
6523	return
6524}
6525
6526// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
6527func (r Hardware_SecurityModule750) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
6528	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
6529	return
6530}
6531
6532// Get the billing detail for this instance for the current billing period. This does not include bandwidth usage.
6533func (r Hardware_SecurityModule750) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
6534	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillingDetail", nil, &r.Options, &resp)
6535	return
6536}
6537
6538// The '''getCurrentBillingTotal''' method retrieves the total bill amount in US Dollars ($) for the current billing period. In addition to the total bill amount, the billing detail also includes all bandwidth used up to the point the method is called on the piece of hardware.
6539func (r Hardware_SecurityModule750) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
6540	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillingTotal", nil, &r.Options, &resp)
6541	return
6542}
6543
6544// Retrieve bandwidth graph by date.
6545func (r Hardware_SecurityModule750) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
6546	params := []interface{}{
6547		graphData,
6548	}
6549	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
6550	return
6551}
6552
6553// Retrieve Indicates if a server has a Customer Installed OS
6554func (r Hardware_SecurityModule750) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
6555	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
6556	return
6557}
6558
6559// Retrieve Indicates if a server is a customer owned device.
6560func (r Hardware_SecurityModule750) GetCustomerOwnedFlag() (resp bool, err error) {
6561	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCustomerOwnedFlag", nil, &r.Options, &resp)
6562	return
6563}
6564
6565// The '''getDailyAverage''' method calculates the average daily network traffic used by the selected server. Using the required parameter ''dateTime'' to enter a start and end date, the user retrieves this average, measure in gigabytes (GB) for the specified date range. When entering parameters, only the month, day and year are required - time entries are omitted as this method defaults the time to midnight in order to account for the entire day.
6566func (r Hardware_SecurityModule750) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6567	params := []interface{}{
6568		startDate,
6569		endDate,
6570	}
6571	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDailyAverage", params, &r.Options, &resp)
6572	return
6573}
6574
6575// Retrieve Information regarding the datacenter in which a piece of hardware resides.
6576func (r Hardware_SecurityModule750) GetDatacenter() (resp datatypes.Location, err error) {
6577	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDatacenter", nil, &r.Options, &resp)
6578	return
6579}
6580
6581// Retrieve The name of the datacenter in which a piece of hardware resides.
6582func (r Hardware_SecurityModule750) GetDatacenterName() (resp string, err error) {
6583	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDatacenterName", nil, &r.Options, &resp)
6584	return
6585}
6586
6587// Retrieve Number of day(s) a server have been in spare pool.
6588func (r Hardware_SecurityModule750) GetDaysInSparePool() (resp int, err error) {
6589	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDaysInSparePool", nil, &r.Options, &resp)
6590	return
6591}
6592
6593// Retrieve All hardware that has uplink network connections to a piece of hardware.
6594func (r Hardware_SecurityModule750) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
6595	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkHardware", nil, &r.Options, &resp)
6596	return
6597}
6598
6599// Retrieve All hardware that has uplink network connections to a piece of hardware.
6600func (r Hardware_SecurityModule750) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
6601	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
6602	return
6603}
6604
6605// Retrieve Information regarding all servers attached to a piece of network hardware.
6606func (r Hardware_SecurityModule750) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
6607	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkServers", nil, &r.Options, &resp)
6608	return
6609}
6610
6611// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
6612func (r Hardware_SecurityModule750) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
6613	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
6614	return
6615}
6616
6617// Retrieve All hardware downstream from a network device.
6618func (r Hardware_SecurityModule750) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
6619	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
6620	return
6621}
6622
6623// Retrieve All network hardware downstream from the selected piece of hardware.
6624func (r Hardware_SecurityModule750) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
6625	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
6626	return
6627}
6628
6629// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
6630func (r Hardware_SecurityModule750) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
6631	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
6632	return
6633}
6634
6635// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
6636func (r Hardware_SecurityModule750) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
6637	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamServers", nil, &r.Options, &resp)
6638	return
6639}
6640
6641// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
6642func (r Hardware_SecurityModule750) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
6643	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
6644	return
6645}
6646
6647// Retrieve The drive controllers contained within a piece of hardware.
6648func (r Hardware_SecurityModule750) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
6649	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDriveControllers", nil, &r.Options, &resp)
6650	return
6651}
6652
6653// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
6654func (r Hardware_SecurityModule750) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
6655	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getEvaultNetworkStorage", nil, &r.Options, &resp)
6656	return
6657}
6658
6659// Get the subnets associated with this server that are protectable by a network component firewall.
6660func (r Hardware_SecurityModule750) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
6661	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
6662	return
6663}
6664
6665// Retrieve Information regarding a piece of hardware's firewall services.
6666func (r Hardware_SecurityModule750) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
6667	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFirewallServiceComponent", nil, &r.Options, &resp)
6668	return
6669}
6670
6671// Retrieve Defines the fixed components in a fixed configuration bare metal server.
6672func (r Hardware_SecurityModule750) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
6673	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFixedConfigurationPreset", nil, &r.Options, &resp)
6674	return
6675}
6676
6677// Use this method to return an array of public bandwidth utilization records between a given date range.
6678//
6679// This method represents the NEW version of getFrontendBandwidthUse
6680func (r Hardware_SecurityModule750) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6681	params := []interface{}{
6682		startDate,
6683		endDate,
6684	}
6685	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendBandwidthUsage", params, &r.Options, &resp)
6686	return
6687}
6688
6689// Use this method to return an array of public bandwidth utilization records between a given date range.
6690func (r Hardware_SecurityModule750) GetFrontendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
6691	params := []interface{}{
6692		startDate,
6693		endDate,
6694	}
6695	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendBandwidthUse", params, &r.Options, &resp)
6696	return
6697}
6698
6699// The '''getFrontendIncomingBandwidth''' method retrieves the amount of incoming public network traffic used by a server between the given start and end date parameters. When entering the ''dateTime'' parameter, only the month, day and year of the start and end dates are required - the time (hour, minute and second) are set to midnight by default and cannot be changed. The amount of bandwidth retrieved is measured in gigabytes (GB).
6700func (r Hardware_SecurityModule750) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6701	params := []interface{}{
6702		startDate,
6703		endDate,
6704	}
6705	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
6706	return
6707}
6708
6709// Retrieve A piece of hardware's front-end or public network components.
6710func (r Hardware_SecurityModule750) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
6711	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendNetworkComponents", nil, &r.Options, &resp)
6712	return
6713}
6714
6715// The '''getFrontendOutgoingBandwidth''' method retrieves the amount of outgoing public network traffic used by a server between the given start and end date parameters. The ''dateTime'' parameter requires only the day, month and year to be entered - the time (hour, minute and second) are set to midnight be default in order to gather the data for the entire start and end date indicated in the parameter. The amount of bandwidth retrieved is measured in gigabytes (GB).
6716func (r Hardware_SecurityModule750) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6717	params := []interface{}{
6718		startDate,
6719		endDate,
6720	}
6721	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
6722	return
6723}
6724
6725// Retrieve A hardware's frontend or public router.
6726func (r Hardware_SecurityModule750) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
6727	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendRouters", nil, &r.Options, &resp)
6728	return
6729}
6730
6731// Retrieve A hardware's universally unique identifier.
6732func (r Hardware_SecurityModule750) GetGlobalIdentifier() (resp string, err error) {
6733	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getGlobalIdentifier", nil, &r.Options, &resp)
6734	return
6735}
6736
6737// Retrieve The hard drives contained within a piece of hardware.
6738func (r Hardware_SecurityModule750) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
6739	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardDrives", nil, &r.Options, &resp)
6740	return
6741}
6742
6743// Retrieve a server by searching for the primary IP address.
6744func (r Hardware_SecurityModule750) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
6745	params := []interface{}{
6746		ipAddress,
6747	}
6748	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareByIpAddress", params, &r.Options, &resp)
6749	return
6750}
6751
6752// Retrieve The chassis that a piece of hardware is housed in.
6753func (r Hardware_SecurityModule750) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
6754	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareChassis", nil, &r.Options, &resp)
6755	return
6756}
6757
6758// Retrieve A hardware's function.
6759func (r Hardware_SecurityModule750) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
6760	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareFunction", nil, &r.Options, &resp)
6761	return
6762}
6763
6764// Retrieve A hardware's function.
6765func (r Hardware_SecurityModule750) GetHardwareFunctionDescription() (resp string, err error) {
6766	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareFunctionDescription", nil, &r.Options, &resp)
6767	return
6768}
6769
6770// Retrieve A hardware's status.
6771func (r Hardware_SecurityModule750) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
6772	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareStatus", nil, &r.Options, &resp)
6773	return
6774}
6775
6776// Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
6777func (r Hardware_SecurityModule750) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
6778	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
6779	return
6780}
6781
6782// Retrieve Determine in hardware object has TPM enabled.
6783func (r Hardware_SecurityModule750) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
6784	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
6785	return
6786}
6787
6788// Retrieve Information regarding a host IPS software component object.
6789func (r Hardware_SecurityModule750) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
6790	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
6791	return
6792}
6793
6794// The '''getHourlyBandwidth''' method retrieves all bandwidth updates hourly for the specified hardware. Because the potential number of data points can become excessive, the method limits the user to obtain data in 24-hour intervals. The required ''dateTime'' parameter is used as the starting point for the query and will be calculated for the 24-hour period starting with the specified date and time. For example, entering a parameter of
6795//
6796// '02/01/2008 0:00'
6797//
6798// results in a return of all bandwidth data for the entire day of February 1, 2008, as 0:00 specifies a midnight start date. Please note that the time entered should be completed using a 24-hour clock (military time, astronomical time).
6799//
6800// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
6801func (r Hardware_SecurityModule750) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6802	params := []interface{}{
6803		mode,
6804		day,
6805	}
6806	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHourlyBandwidth", params, &r.Options, &resp)
6807	return
6808}
6809
6810// Retrieve A server's hourly billing status.
6811func (r Hardware_SecurityModule750) GetHourlyBillingFlag() (resp bool, err error) {
6812	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHourlyBillingFlag", nil, &r.Options, &resp)
6813	return
6814}
6815
6816// Retrieve The sum of all the inbound network traffic data for the last 30 days.
6817func (r Hardware_SecurityModule750) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
6818	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundBandwidthUsage", nil, &r.Options, &resp)
6819	return
6820}
6821
6822// Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
6823func (r Hardware_SecurityModule750) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
6824	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
6825	return
6826}
6827
6828// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
6829func (r Hardware_SecurityModule750) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
6830	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
6831	return
6832}
6833
6834// Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
6835func (r Hardware_SecurityModule750) GetIsCloudReadyNodeCertified() (resp bool, err error) {
6836	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
6837	return
6838}
6839
6840// Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
6841func (r Hardware_SecurityModule750) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
6842	params := []interface{}{
6843		softwareDescriptions,
6844		includeTranslationsFlag,
6845		returnAllPricesFlag,
6846	}
6847	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
6848	return
6849}
6850
6851// Retrieve The last transaction that a server's operating system was loaded.
6852func (r Hardware_SecurityModule750) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
6853	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLastOperatingSystemReload", nil, &r.Options, &resp)
6854	return
6855}
6856
6857// Retrieve Information regarding the last transaction a server performed.
6858func (r Hardware_SecurityModule750) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
6859	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLastTransaction", nil, &r.Options, &resp)
6860	return
6861}
6862
6863// Retrieve A piece of hardware's latest network monitoring incident.
6864func (r Hardware_SecurityModule750) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
6865	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
6866	return
6867}
6868
6869// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
6870func (r Hardware_SecurityModule750) GetLocation() (resp datatypes.Location, err error) {
6871	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLocation", nil, &r.Options, &resp)
6872	return
6873}
6874
6875// Retrieve
6876func (r Hardware_SecurityModule750) GetLocationPathString() (resp string, err error) {
6877	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLocationPathString", nil, &r.Options, &resp)
6878	return
6879}
6880
6881// Retrieve Information regarding a lockbox account associated with a server.
6882func (r Hardware_SecurityModule750) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
6883	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLockboxNetworkStorage", nil, &r.Options, &resp)
6884	return
6885}
6886
6887// Retrieve A flag indicating that the hardware is a managed resource.
6888func (r Hardware_SecurityModule750) GetManagedResourceFlag() (resp bool, err error) {
6889	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getManagedResourceFlag", nil, &r.Options, &resp)
6890	return
6891}
6892
6893// Retrieve the remote management network component attached with this server.
6894func (r Hardware_SecurityModule750) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
6895	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getManagementNetworkComponent", nil, &r.Options, &resp)
6896	return
6897}
6898
6899// Retrieve Information regarding a piece of hardware's memory.
6900func (r Hardware_SecurityModule750) GetMemory() (resp []datatypes.Hardware_Component, err error) {
6901	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMemory", nil, &r.Options, &resp)
6902	return
6903}
6904
6905// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
6906func (r Hardware_SecurityModule750) GetMemoryCapacity() (resp uint, err error) {
6907	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMemoryCapacity", nil, &r.Options, &resp)
6908	return
6909}
6910
6911// Retrieve A piece of hardware's metric tracking object.
6912func (r Hardware_SecurityModule750) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
6913	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMetricTrackingObject", nil, &r.Options, &resp)
6914	return
6915}
6916
6917// Retrieve The metric tracking object id for this server.
6918func (r Hardware_SecurityModule750) GetMetricTrackingObjectId() (resp int, err error) {
6919	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMetricTrackingObjectId", nil, &r.Options, &resp)
6920	return
6921}
6922
6923// Returns open monitoring alarms for a given time period
6924func (r Hardware_SecurityModule750) GetMonitoringActiveAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
6925	params := []interface{}{
6926		startDate,
6927		endDate,
6928	}
6929	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringActiveAlarms", params, &r.Options, &resp)
6930	return
6931}
6932
6933// Retrieve Information regarding the monitoring agents associated with a piece of hardware.
6934func (r Hardware_SecurityModule750) GetMonitoringAgents() (resp []datatypes.Monitoring_Agent, err error) {
6935	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringAgents", nil, &r.Options, &resp)
6936	return
6937}
6938
6939// Returns closed monitoring alarms for a given time period
6940func (r Hardware_SecurityModule750) GetMonitoringClosedAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
6941	params := []interface{}{
6942		startDate,
6943		endDate,
6944	}
6945	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringClosedAlarms", params, &r.Options, &resp)
6946	return
6947}
6948
6949// Retrieve Information regarding the hardware's monitoring robot.
6950func (r Hardware_SecurityModule750) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
6951	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringRobot", nil, &r.Options, &resp)
6952	return
6953}
6954
6955// Retrieve Information regarding a piece of hardware's network monitoring services.
6956func (r Hardware_SecurityModule750) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
6957	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringServiceComponent", nil, &r.Options, &resp)
6958	return
6959}
6960
6961// Retrieve The monitoring service flag eligibility status for a piece of hardware.
6962func (r Hardware_SecurityModule750) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
6963	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
6964	return
6965}
6966
6967// Retrieve The service flag status for a piece of hardware.
6968func (r Hardware_SecurityModule750) GetMonitoringServiceFlag() (resp bool, err error) {
6969	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringServiceFlag", nil, &r.Options, &resp)
6970	return
6971}
6972
6973// Retrieve 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
6974func (r Hardware_SecurityModule750) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
6975	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringUserNotification", nil, &r.Options, &resp)
6976	return
6977}
6978
6979// Retrieve Information regarding a piece of hardware's motherboard.
6980func (r Hardware_SecurityModule750) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
6981	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMotherboard", nil, &r.Options, &resp)
6982	return
6983}
6984
6985// Retrieve Information regarding a piece of hardware's network cards.
6986func (r Hardware_SecurityModule750) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
6987	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkCards", nil, &r.Options, &resp)
6988	return
6989}
6990
6991// Get the IP addresses associated with this server that are protectable by a network component firewall. Note, this may not return all values for IPv6 subnets for this server. Please use getFirewallProtectableSubnets to get all protectable subnets.
6992func (r Hardware_SecurityModule750) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
6993	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
6994	return
6995}
6996
6997// Retrieve Returns a hardware's network components.
6998func (r Hardware_SecurityModule750) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
6999	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkComponents", nil, &r.Options, &resp)
7000	return
7001}
7002
7003// Retrieve The gateway member if this device is part of a network gateway.
7004func (r Hardware_SecurityModule750) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
7005	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkGatewayMember", nil, &r.Options, &resp)
7006	return
7007}
7008
7009// Retrieve Whether or not this device is part of a network gateway.
7010func (r Hardware_SecurityModule750) GetNetworkGatewayMemberFlag() (resp bool, err error) {
7011	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
7012	return
7013}
7014
7015// Retrieve A piece of hardware's network management IP address.
7016func (r Hardware_SecurityModule750) GetNetworkManagementIpAddress() (resp string, err error) {
7017	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
7018	return
7019}
7020
7021// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
7022func (r Hardware_SecurityModule750) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
7023	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
7024	return
7025}
7026
7027// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
7028func (r Hardware_SecurityModule750) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
7029	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
7030	return
7031}
7032
7033// Retrieve The status of all of a piece of hardware's network monitoring incidents.
7034func (r Hardware_SecurityModule750) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
7035	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
7036	return
7037}
7038
7039// Retrieve Information regarding a piece of hardware's network monitors.
7040func (r Hardware_SecurityModule750) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
7041	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitors", nil, &r.Options, &resp)
7042	return
7043}
7044
7045// Retrieve The value of a hardware's network status attribute.
7046func (r Hardware_SecurityModule750) GetNetworkStatus() (resp string, err error) {
7047	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStatus", nil, &r.Options, &resp)
7048	return
7049}
7050
7051// Retrieve The hardware's related network status attribute.
7052func (r Hardware_SecurityModule750) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
7053	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStatusAttribute", nil, &r.Options, &resp)
7054	return
7055}
7056
7057// Retrieve Information regarding a piece of hardware's associated network storage service account.
7058func (r Hardware_SecurityModule750) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
7059	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStorage", nil, &r.Options, &resp)
7060	return
7061}
7062
7063// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
7064func (r Hardware_SecurityModule750) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
7065	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkVlans", nil, &r.Options, &resp)
7066	return
7067}
7068
7069// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
7070func (r Hardware_SecurityModule750) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
7071	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
7072	return
7073}
7074
7075// Retrieve
7076func (r Hardware_SecurityModule750) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
7077	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNotesHistory", nil, &r.Options, &resp)
7078	return
7079}
7080
7081// no documentation yet
7082func (r Hardware_SecurityModule750) GetObject() (resp datatypes.Hardware_SecurityModule750, err error) {
7083	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getObject", nil, &r.Options, &resp)
7084	return
7085}
7086
7087// Retrieve An open ticket requesting cancellation of this server, if one exists.
7088func (r Hardware_SecurityModule750) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
7089	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOpenCancellationTicket", nil, &r.Options, &resp)
7090	return
7091}
7092
7093// Retrieve Information regarding a piece of hardware's operating system.
7094func (r Hardware_SecurityModule750) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
7095	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOperatingSystem", nil, &r.Options, &resp)
7096	return
7097}
7098
7099// Retrieve A hardware's operating system software description.
7100func (r Hardware_SecurityModule750) GetOperatingSystemReferenceCode() (resp string, err error) {
7101	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
7102	return
7103}
7104
7105// Retrieve The sum of all the outbound network traffic data for the last 30 days.
7106func (r Hardware_SecurityModule750) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
7107	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
7108	return
7109}
7110
7111// Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
7112func (r Hardware_SecurityModule750) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
7113	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
7114	return
7115}
7116
7117// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
7118func (r Hardware_SecurityModule750) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
7119	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
7120	return
7121}
7122
7123// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
7124func (r Hardware_SecurityModule750) GetOverBandwidthAllocationFlag() (resp int, err error) {
7125	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
7126	return
7127}
7128
7129// Retrieve a server's hardware state via its internal sensors. Remote sensor data is transmitted to the SoftLayer API by way of the server's remote management card. Sensor data measures system temperatures, voltages, and other local server settings. Sensor data is cached for 30 seconds. Calls made to getSensorData for the same server within 30 seconds of each other will return the same data. Subsequent calls will return new data once the cache expires.
7130func (r Hardware_SecurityModule750) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
7131	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPMInfo", nil, &r.Options, &resp)
7132	return
7133}
7134
7135// Retrieve Blade Bay
7136func (r Hardware_SecurityModule750) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
7137	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getParentBay", nil, &r.Options, &resp)
7138	return
7139}
7140
7141// Retrieve Parent Hardware.
7142func (r Hardware_SecurityModule750) GetParentHardware() (resp datatypes.Hardware, err error) {
7143	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getParentHardware", nil, &r.Options, &resp)
7144	return
7145}
7146
7147// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
7148func (r Hardware_SecurityModule750) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
7149	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPointOfPresenceLocation", nil, &r.Options, &resp)
7150	return
7151}
7152
7153// Retrieve The power components for a hardware object.
7154func (r Hardware_SecurityModule750) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
7155	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPowerComponents", nil, &r.Options, &resp)
7156	return
7157}
7158
7159// Retrieve Information regarding a piece of hardware's power supply.
7160func (r Hardware_SecurityModule750) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
7161	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPowerSupply", nil, &r.Options, &resp)
7162	return
7163}
7164
7165// Retrieve The hardware's primary private IP address.
7166func (r Hardware_SecurityModule750) GetPrimaryBackendIpAddress() (resp string, err error) {
7167	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
7168	return
7169}
7170
7171// Retrieve Information regarding the hardware's primary back-end network component.
7172func (r Hardware_SecurityModule750) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
7173	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
7174	return
7175}
7176
7177// no documentation yet
7178func (r Hardware_SecurityModule750) GetPrimaryDriveSize() (resp int, err error) {
7179	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryDriveSize", nil, &r.Options, &resp)
7180	return
7181}
7182
7183// Retrieve The hardware's primary public IP address.
7184func (r Hardware_SecurityModule750) GetPrimaryIpAddress() (resp string, err error) {
7185	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryIpAddress", nil, &r.Options, &resp)
7186	return
7187}
7188
7189// Retrieve Information regarding the hardware's primary public network component.
7190func (r Hardware_SecurityModule750) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
7191	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
7192	return
7193}
7194
7195// Retrieve a graph of a server's private network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPrivateBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
7196func (r Hardware_SecurityModule750) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
7197	params := []interface{}{
7198		startTime,
7199		endTime,
7200	}
7201	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBandwidthData", params, &r.Options, &resp)
7202	return
7203}
7204
7205// Retrieve a brief summary of a server's private network bandwidth usage. getPrivateBandwidthDataSummary retrieves a server's bandwidth allocation for its billing period, its estimated usage during its billing period, and an estimation of how much bandwidth it will use during its billing period based on its current usage. A server's projected bandwidth usage increases in accuracy as it progresses through its billing period.
7206func (r Hardware_SecurityModule750) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
7207	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
7208	return
7209}
7210
7211// Retrieve a graph of a server's private network bandwidth usage over the specified time frame. If no time frame is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image
7212func (r Hardware_SecurityModule750) GetPrivateBandwidthGraphImage(startTime *string, endTime *string) (resp []byte, err error) {
7213	params := []interface{}{
7214		startTime,
7215		endTime,
7216	}
7217	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBandwidthGraphImage", params, &r.Options, &resp)
7218	return
7219}
7220
7221// Retrieve A server's primary private IP address.
7222func (r Hardware_SecurityModule750) GetPrivateIpAddress() (resp string, err error) {
7223	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateIpAddress", nil, &r.Options, &resp)
7224	return
7225}
7226
7227// Retrieve the private network component attached with this server.
7228func (r Hardware_SecurityModule750) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
7229	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateNetworkComponent", nil, &r.Options, &resp)
7230	return
7231}
7232
7233// Retrieve Whether the hardware only has access to the private network.
7234func (r Hardware_SecurityModule750) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
7235	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
7236	return
7237}
7238
7239// Retrieve the backend VLAN for the primary IP address of the server
7240func (r Hardware_SecurityModule750) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
7241	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateVlan", nil, &r.Options, &resp)
7242	return
7243}
7244
7245// Retrieve a backend network VLAN by searching for an IP address
7246func (r Hardware_SecurityModule750) GetPrivateVlanByIpAddress(ipAddress *string) (resp datatypes.Network_Vlan, err error) {
7247	params := []interface{}{
7248		ipAddress,
7249	}
7250	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateVlanByIpAddress", params, &r.Options, &resp)
7251	return
7252}
7253
7254// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
7255func (r Hardware_SecurityModule750) GetProcessorCoreAmount() (resp uint, err error) {
7256	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessorCoreAmount", nil, &r.Options, &resp)
7257	return
7258}
7259
7260// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
7261func (r Hardware_SecurityModule750) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
7262	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
7263	return
7264}
7265
7266// Retrieve Information regarding a piece of hardware's processors.
7267func (r Hardware_SecurityModule750) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
7268	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessors", nil, &r.Options, &resp)
7269	return
7270}
7271
7272// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
7273func (r Hardware_SecurityModule750) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
7274	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
7275	return
7276}
7277
7278// Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
7279func (r Hardware_SecurityModule750) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
7280	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
7281	return
7282}
7283
7284// no documentation yet
7285func (r Hardware_SecurityModule750) GetProvisionDate() (resp datatypes.Time, err error) {
7286	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProvisionDate", nil, &r.Options, &resp)
7287	return
7288}
7289
7290// Retrieve a graph of a server's public network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
7291func (r Hardware_SecurityModule750) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
7292	params := []interface{}{
7293		startTime,
7294		endTime,
7295	}
7296	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthData", params, &r.Options, &resp)
7297	return
7298}
7299
7300// Retrieve a brief summary of a server's public network bandwidth usage. getPublicBandwidthDataSummary retrieves a server's bandwidth allocation for its billing period, its estimated usage during its billing period, and an estimation of how much bandwidth it will use during its billing period based on its current usage. A server's projected bandwidth usage increases in accuracy as it progresses through its billing period.
7301func (r Hardware_SecurityModule750) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
7302	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
7303	return
7304}
7305
7306// Retrieve a graph of a server's public network bandwidth usage over the specified time frame. If no time frame is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.  THIS METHOD GENERATES GRAPHS BASED ON THE NEW DATA WAREHOUSE REPOSITORY.
7307func (r Hardware_SecurityModule750) GetPublicBandwidthGraphImage(startTime *datatypes.Time, endTime *datatypes.Time) (resp []byte, err error) {
7308	params := []interface{}{
7309		startTime,
7310		endTime,
7311	}
7312	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthGraphImage", params, &r.Options, &resp)
7313	return
7314}
7315
7316// Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
7317func (r Hardware_SecurityModule750) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
7318	params := []interface{}{
7319		startTime,
7320		endTime,
7321	}
7322	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthTotal", params, &r.Options, &resp)
7323	return
7324}
7325
7326// Retrieve a SoftLayer server's public network component. Some servers are only connected to the private network and may not have a public network component. In that case getPublicNetworkComponent returns a null object.
7327func (r Hardware_SecurityModule750) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
7328	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicNetworkComponent", nil, &r.Options, &resp)
7329	return
7330}
7331
7332// Retrieve the frontend VLAN for the primary IP address of the server
7333func (r Hardware_SecurityModule750) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
7334	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicVlan", nil, &r.Options, &resp)
7335	return
7336}
7337
7338// Retrieve the frontend network Vlan by searching the hostname of a server
7339func (r Hardware_SecurityModule750) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
7340	params := []interface{}{
7341		hostname,
7342	}
7343	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicVlanByHostname", params, &r.Options, &resp)
7344	return
7345}
7346
7347// Retrieve
7348func (r Hardware_SecurityModule750) GetRack() (resp datatypes.Location, err error) {
7349	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRack", nil, &r.Options, &resp)
7350	return
7351}
7352
7353// Retrieve The RAID controllers contained within a piece of hardware.
7354func (r Hardware_SecurityModule750) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
7355	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRaidControllers", nil, &r.Options, &resp)
7356	return
7357}
7358
7359// Retrieve Determine if hardware object is vSan Ready Node.
7360func (r Hardware_SecurityModule750) GetReadyNodeFlag() (resp bool, err error) {
7361	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getReadyNodeFlag", nil, &r.Options, &resp)
7362	return
7363}
7364
7365// Retrieve Recent events that impact this hardware.
7366func (r Hardware_SecurityModule750) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
7367	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRecentEvents", nil, &r.Options, &resp)
7368	return
7369}
7370
7371// Retrieve The last five commands issued to the server's remote management card.
7372func (r Hardware_SecurityModule750) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
7373	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
7374	return
7375}
7376
7377// Retrieve
7378func (r Hardware_SecurityModule750) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
7379	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRegionalInternetRegistry", nil, &r.Options, &resp)
7380	return
7381}
7382
7383// Retrieve A server's remote management card.
7384func (r Hardware_SecurityModule750) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
7385	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagement", nil, &r.Options, &resp)
7386	return
7387}
7388
7389// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
7390func (r Hardware_SecurityModule750) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
7391	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementAccounts", nil, &r.Options, &resp)
7392	return
7393}
7394
7395// Retrieve A hardware's associated remote management component. This is normally IPMI.
7396func (r Hardware_SecurityModule750) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
7397	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementComponent", nil, &r.Options, &resp)
7398	return
7399}
7400
7401// Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
7402func (r Hardware_SecurityModule750) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
7403	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementUsers", nil, &r.Options, &resp)
7404	return
7405}
7406
7407// Retrieve
7408func (r Hardware_SecurityModule750) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
7409	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceConfigurations", nil, &r.Options, &resp)
7410	return
7411}
7412
7413// Retrieve
7414func (r Hardware_SecurityModule750) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
7415	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
7416	return
7417}
7418
7419// Retrieve
7420func (r Hardware_SecurityModule750) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
7421	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroupRoles", nil, &r.Options, &resp)
7422	return
7423}
7424
7425// Retrieve The resource groups in which this hardware is a member.
7426func (r Hardware_SecurityModule750) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
7427	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroups", nil, &r.Options, &resp)
7428	return
7429}
7430
7431// Retrieve the reverse domain records associated with this server.
7432func (r Hardware_SecurityModule750) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
7433	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getReverseDomainRecords", nil, &r.Options, &resp)
7434	return
7435}
7436
7437// Retrieve A hardware's routers.
7438func (r Hardware_SecurityModule750) GetRouters() (resp []datatypes.Hardware, err error) {
7439	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRouters", nil, &r.Options, &resp)
7440	return
7441}
7442
7443// Retrieve Collection of scale assets this hardware corresponds to.
7444func (r Hardware_SecurityModule750) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
7445	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getScaleAssets", nil, &r.Options, &resp)
7446	return
7447}
7448
7449// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
7450func (r Hardware_SecurityModule750) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
7451	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSecurityScanRequests", nil, &r.Options, &resp)
7452	return
7453}
7454
7455// Retrieve a server's hardware state via its internal sensors. Remote sensor data is transmitted to the SoftLayer API by way of the server's remote management card. Sensor data measures system temperatures, voltages, and other local server settings. Sensor data is cached for 30 seconds. Calls made to getSensorData for the same server within 30 seconds of each other will return the same data. Subsequent calls will return new data once the cache expires.
7456func (r Hardware_SecurityModule750) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
7457	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSensorData", nil, &r.Options, &resp)
7458	return
7459}
7460
7461// Retrieves the raw data returned from the server's remote management card.  For more details of what is returned please refer to the getSensorData method.  Along with the raw data, graphs for the cpu and system temperatures and fan speeds are also returned.
7462func (r Hardware_SecurityModule750) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
7463	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSensorDataWithGraphs", nil, &r.Options, &resp)
7464	return
7465}
7466
7467// Retrieve a server's hardware components, software, and network components. getServerDetails is an aggregation function that combines the results of [[SoftLayer_Hardware_Server::getComponents]], [[SoftLayer_Hardware_Server::getSoftware]], and [[SoftLayer_Hardware_Server::getNetworkComponents]] in a single container.
7468func (r Hardware_SecurityModule750) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
7469	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerDetails", nil, &r.Options, &resp)
7470	return
7471}
7472
7473// Retrieve the server's fan speeds and displays them using tachometer graphs.  Data used to construct graphs is retrieved from the server's remote management card.  All graphs returned will have a title associated with it.
7474func (r Hardware_SecurityModule750) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
7475	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
7476	return
7477}
7478
7479// Retrieves the power state for the server.  The server's power status is retrieved from its remote management card.  This will return 'on' or 'off'.
7480func (r Hardware_SecurityModule750) GetServerPowerState() (resp string, err error) {
7481	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerPowerState", nil, &r.Options, &resp)
7482	return
7483}
7484
7485// Retrieve Information regarding the server room in which the hardware is located.
7486func (r Hardware_SecurityModule750) GetServerRoom() (resp datatypes.Location, err error) {
7487	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerRoom", nil, &r.Options, &resp)
7488	return
7489}
7490
7491// Retrieve the server's temperature and displays them using thermometer graphs.  Temperatures retrieved are CPU(s) and system temperatures.  Data used to construct graphs is retrieved from the server's remote management card.  All graphs returned will have a title associated with it.
7492func (r Hardware_SecurityModule750) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
7493	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerTemperatureGraphs", nil, &r.Options, &resp)
7494	return
7495}
7496
7497// Retrieve Information regarding the piece of hardware's service provider.
7498func (r Hardware_SecurityModule750) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
7499	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServiceProvider", nil, &r.Options, &resp)
7500	return
7501}
7502
7503// Retrieve Information regarding a piece of hardware's installed software.
7504func (r Hardware_SecurityModule750) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
7505	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSoftwareComponents", nil, &r.Options, &resp)
7506	return
7507}
7508
7509// Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
7510func (r Hardware_SecurityModule750) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
7511	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
7512	return
7513}
7514
7515// Retrieve Information regarding the billing item for a spare pool server.
7516func (r Hardware_SecurityModule750) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
7517	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSparePoolBillingItem", nil, &r.Options, &resp)
7518	return
7519}
7520
7521// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
7522func (r Hardware_SecurityModule750) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
7523	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSshKeys", nil, &r.Options, &resp)
7524	return
7525}
7526
7527// Retrieve A server's remote management card used for statistics.
7528func (r Hardware_SecurityModule750) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
7529	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
7530	return
7531}
7532
7533// Retrieve
7534func (r Hardware_SecurityModule750) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
7535	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getStorageNetworkComponents", nil, &r.Options, &resp)
7536	return
7537}
7538
7539// Retrieve
7540func (r Hardware_SecurityModule750) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
7541	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTagReferences", nil, &r.Options, &resp)
7542	return
7543}
7544
7545// Retrieve
7546func (r Hardware_SecurityModule750) GetTopLevelLocation() (resp datatypes.Location, err error) {
7547	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTopLevelLocation", nil, &r.Options, &resp)
7548	return
7549}
7550
7551//
7552// This method will query transaction history for a piece of hardware.
7553func (r Hardware_SecurityModule750) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
7554	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTransactionHistory", nil, &r.Options, &resp)
7555	return
7556}
7557
7558// Retrieve a list of upgradeable items available to this piece of hardware. Currently, getUpgradeItemPrices retrieves upgrades available for a server's memory, hard drives, network port speed, bandwidth allocation and GPUs.
7559func (r Hardware_SecurityModule750) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
7560	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUpgradeItemPrices", nil, &r.Options, &resp)
7561	return
7562}
7563
7564// Retrieve An account's associated upgrade request object, if any.
7565func (r Hardware_SecurityModule750) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
7566	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUpgradeRequest", nil, &r.Options, &resp)
7567	return
7568}
7569
7570// Retrieve The network device connected to a piece of hardware.
7571func (r Hardware_SecurityModule750) GetUplinkHardware() (resp datatypes.Hardware, err error) {
7572	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUplinkHardware", nil, &r.Options, &resp)
7573	return
7574}
7575
7576// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
7577func (r Hardware_SecurityModule750) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
7578	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUplinkNetworkComponents", nil, &r.Options, &resp)
7579	return
7580}
7581
7582// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
7583func (r Hardware_SecurityModule750) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
7584	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUserData", nil, &r.Options, &resp)
7585	return
7586}
7587
7588// Retrieve A list of users that have access to this computing instance.
7589func (r Hardware_SecurityModule750) GetUsers() (resp []datatypes.User_Customer, err error) {
7590	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUsers", nil, &r.Options, &resp)
7591	return
7592}
7593
7594// This method will return the list of block device template groups that are valid to the host. For instance, it will only retrieve FLEX images.
7595func (r Hardware_SecurityModule750) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
7596	params := []interface{}{
7597		visibility,
7598	}
7599	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
7600	return
7601}
7602
7603// Retrieve Information regarding the virtual chassis for a piece of hardware.
7604func (r Hardware_SecurityModule750) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
7605	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualChassis", nil, &r.Options, &resp)
7606	return
7607}
7608
7609// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
7610func (r Hardware_SecurityModule750) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
7611	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualChassisSiblings", nil, &r.Options, &resp)
7612	return
7613}
7614
7615// Retrieve A hardware server's virtual servers.
7616func (r Hardware_SecurityModule750) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
7617	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualGuests", nil, &r.Options, &resp)
7618	return
7619}
7620
7621// Retrieve A piece of hardware's virtual host record.
7622func (r Hardware_SecurityModule750) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
7623	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualHost", nil, &r.Options, &resp)
7624	return
7625}
7626
7627// Retrieve Information regarding a piece of hardware's virtual software licenses.
7628func (r Hardware_SecurityModule750) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
7629	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualLicenses", nil, &r.Options, &resp)
7630	return
7631}
7632
7633// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
7634func (r Hardware_SecurityModule750) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
7635	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRack", nil, &r.Options, &resp)
7636	return
7637}
7638
7639// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
7640func (r Hardware_SecurityModule750) GetVirtualRackId() (resp int, err error) {
7641	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRackId", nil, &r.Options, &resp)
7642	return
7643}
7644
7645// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
7646func (r Hardware_SecurityModule750) GetVirtualRackName() (resp string, err error) {
7647	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRackName", nil, &r.Options, &resp)
7648	return
7649}
7650
7651// Retrieve A piece of hardware's virtualization platform software.
7652func (r Hardware_SecurityModule750) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
7653	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualizationPlatform", nil, &r.Options, &resp)
7654	return
7655}
7656
7657// Retrieve a list of Windows updates available for a server from the local SoftLayer Windows Server Update Services (WSUS) server. Windows servers provisioned by SoftLayer are configured to use the local WSUS server via the private network by default.
7658func (r Hardware_SecurityModule750) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
7659	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
7660	return
7661}
7662
7663// Retrieve a list of Windows updates installed on a server as reported by the local SoftLayer Windows Server Update Services (WSUS) server. Windows servers provisioned by SoftLayer are configured to use the local WSUS server via the private network by default.
7664func (r Hardware_SecurityModule750) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
7665	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
7666	return
7667}
7668
7669// This method returns an update status record for this server.  That record will specify if the server is missing updates, or has updates that must be reinstalled or require a reboot to go into affect.
7670func (r Hardware_SecurityModule750) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
7671	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateStatus", nil, &r.Options, &resp)
7672	return
7673}
7674
7675// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
7676func (r Hardware_SecurityModule750) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
7677	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "importVirtualHost", nil, &r.Options, &resp)
7678	return
7679}
7680
7681// Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
7682func (r Hardware_SecurityModule750) InitiateIderaBareMetalRestore() (resp bool, err error) {
7683	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
7684	return
7685}
7686
7687// R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
7688func (r Hardware_SecurityModule750) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
7689	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
7690	return
7691}
7692
7693// Issues a ping command and returns the success (true) or failure (false) of the ping command.
7694func (r Hardware_SecurityModule750) IsBackendPingable() (resp bool, err error) {
7695	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isBackendPingable", nil, &r.Options, &resp)
7696	return
7697}
7698
7699// Issues a ping command and returns the success (true) or failure (false) of the ping command.
7700func (r Hardware_SecurityModule750) IsPingable() (resp bool, err error) {
7701	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isPingable", nil, &r.Options, &resp)
7702	return
7703}
7704
7705// Determine if the server runs any version of the Microsoft Windows operating systems. Return ''true'' if it does and ''false if otherwise.
7706func (r Hardware_SecurityModule750) IsWindowsServer() (resp bool, err error) {
7707	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isWindowsServer", nil, &r.Options, &resp)
7708	return
7709}
7710
7711// You can launch firmware updates by selecting from your server list. It will bring your server offline for approximately 20 minutes while the updates are in progress.
7712//
7713// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
7714func (r Hardware_SecurityModule750) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
7715	params := []interface{}{
7716		hardwareIds,
7717		ipmi,
7718		raidController,
7719		bios,
7720		harddrive,
7721	}
7722	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massFirmwareUpdate", params, &r.Options, &resp)
7723	return
7724}
7725
7726// Reloads current or customer specified operating system configuration.
7727//
7728// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
7729//
7730// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
7731//
7732// The reload will take AT MINIMUM 66 minutes.
7733func (r Hardware_SecurityModule750) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
7734	params := []interface{}{
7735		hardwareIds,
7736		token,
7737		config,
7738	}
7739	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massReloadOperatingSystem", params, &r.Options, &resp)
7740	return
7741}
7742
7743// The ability to place multiple bare metal servers in a state where they are powered down and ports closed yet still allocated to the customer as a part of the Spare Pool program.
7744func (r Hardware_SecurityModule750) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
7745	params := []interface{}{
7746		hardwareIds,
7747		action,
7748		newOrder,
7749	}
7750	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massSparePool", params, &r.Options, &resp)
7751	return
7752}
7753
7754// Issues a ping command to the server and returns the ping response.
7755func (r Hardware_SecurityModule750) Ping() (resp string, err error) {
7756	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "ping", nil, &r.Options, &resp)
7757	return
7758}
7759
7760// no documentation yet
7761func (r Hardware_SecurityModule750) PopulateServerRam(ramSerialString *string) (err error) {
7762	var resp datatypes.Void
7763	params := []interface{}{
7764		ramSerialString,
7765	}
7766	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "populateServerRam", params, &r.Options, &resp)
7767	return
7768}
7769
7770// Power off then power on the server via powerstrip.  The power cycle command is equivalent to unplugging the server from the powerstrip and then plugging the server back into the powerstrip.  This should only be used as a last resort.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed. This is to avoid any type of server failures.
7771func (r Hardware_SecurityModule750) PowerCycle() (resp bool, err error) {
7772	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerCycle", nil, &r.Options, &resp)
7773	return
7774}
7775
7776// This method will power off the server via the server's remote management card.
7777func (r Hardware_SecurityModule750) PowerOff() (resp bool, err error) {
7778	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerOff", nil, &r.Options, &resp)
7779	return
7780}
7781
7782// Power on server via its remote management card.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
7783func (r Hardware_SecurityModule750) PowerOn() (resp bool, err error) {
7784	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerOn", nil, &r.Options, &resp)
7785	return
7786}
7787
7788// Attempts to reboot the server by issuing a reset (soft reboot) command to the server's remote management card. If the reset (soft reboot) attempt is unsuccessful, a power cycle command will be issued via the powerstrip. The power cycle command is equivalent to unplugging the server from the powerstrip and then plugging the server back into the powerstrip.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
7789func (r Hardware_SecurityModule750) RebootDefault() (resp bool, err error) {
7790	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootDefault", nil, &r.Options, &resp)
7791	return
7792}
7793
7794// Reboot the server by issuing a cycle command to the server's remote management card.  This is equivalent to pressing the 'Reset' button on the server.  This command is issued immediately and will not wait for processes to shutdown. After this command is issued, the server may take a few moments to boot up as server may run system disks checks. If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
7795func (r Hardware_SecurityModule750) RebootHard() (resp bool, err error) {
7796	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootHard", nil, &r.Options, &resp)
7797	return
7798}
7799
7800// Reboot the server by issuing a reset command to the server's remote management card.  This is a graceful reboot. The servers will allow all process to shutdown gracefully before rebooting.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
7801func (r Hardware_SecurityModule750) RebootSoft() (resp bool, err error) {
7802	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootSoft", nil, &r.Options, &resp)
7803	return
7804}
7805
7806// Reloads current operating system configuration.
7807//
7808// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
7809//
7810// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
7811//
7812// The reload will take AT MINIMUM 66 minutes.
7813func (r Hardware_SecurityModule750) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
7814	params := []interface{}{
7815		token,
7816	}
7817	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
7818	return
7819}
7820
7821// Reloads current or customer specified operating system configuration.
7822//
7823// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
7824//
7825// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
7826//
7827// The reload will take AT MINIMUM 66 minutes.
7828func (r Hardware_SecurityModule750) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
7829	params := []interface{}{
7830		token,
7831		config,
7832	}
7833	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "reloadOperatingSystem", params, &r.Options, &resp)
7834	return
7835}
7836
7837// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
7838func (r Hardware_SecurityModule750) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
7839	params := []interface{}{
7840		networkStorageTemplateObject,
7841	}
7842	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "removeAccessToNetworkStorage", params, &r.Options, &resp)
7843	return
7844}
7845
7846// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
7847func (r Hardware_SecurityModule750) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
7848	params := []interface{}{
7849		networkStorageTemplateObjects,
7850	}
7851	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
7852	return
7853}
7854
7855// You can launch a new Passmark hardware test by selecting from your server list. It will bring your server offline for approximately 20 minutes while the testing is in progress, and will publish a certificate with the results to your hardware details page.
7856//
7857// While the hard drives are tested for the initial deployment, the Passmark Certificate utility will not test the hard drives on your live server. This is to ensure that no data is overwritten. If you would like to test the server's hard drives, you can have the full Passmark suite installed to your server free of charge through a new Support ticket.
7858//
7859// While the test itself does not overwrite any data on the server, it is recommended that you make full off-server backups of all data prior to launching the test. The Passmark hardware test is designed to force any latent hardware issues to the surface, so hardware failure is possible.
7860//
7861// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
7862func (r Hardware_SecurityModule750) RunPassmarkCertificationBenchmark() (resp bool, err error) {
7863	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
7864	return
7865}
7866
7867// Changes the password that we have stored in our database for a servers' Operating System
7868func (r Hardware_SecurityModule750) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
7869	params := []interface{}{
7870		newPassword,
7871	}
7872	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setOperatingSystemPassword", params, &r.Options, &resp)
7873	return
7874}
7875
7876// Sets the private network interface speed to the new speed. Speed values can only be 0 (Disconnect), 10, 100, 1000, and 10000. The new speed must be equal to or less than the max speed of the interface.
7877//
7878// It will take less than a minute to update the switch port speed. The server uplink will not be operational again until the server interface speed is updated.
7879func (r Hardware_SecurityModule750) SetPrivateNetworkInterfaceSpeed(newSpeed *int) (resp bool, err error) {
7880	params := []interface{}{
7881		newSpeed,
7882	}
7883	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
7884	return
7885}
7886
7887// Sets the public network interface speed to the new speed. Speed values can only be 0 (Disconnect), 10, 100, 1000, and 10000. The new speed must be equal to or less than the max speed of the interface.
7888//
7889// It will take less than a minute to update the switch port speed. The server uplink will not be operational again until the server interface speed is updated.
7890func (r Hardware_SecurityModule750) SetPublicNetworkInterfaceSpeed(newSpeed *int) (resp bool, err error) {
7891	params := []interface{}{
7892		newSpeed,
7893	}
7894	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
7895	return
7896}
7897
7898// no documentation yet
7899func (r Hardware_SecurityModule750) SetTags(tags *string) (resp bool, err error) {
7900	params := []interface{}{
7901		tags,
7902	}
7903	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setTags", params, &r.Options, &resp)
7904	return
7905}
7906
7907// Sets the data that will be written to the configuration drive.
7908func (r Hardware_SecurityModule750) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
7909	params := []interface{}{
7910		metadata,
7911	}
7912	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setUserMetadata", params, &r.Options, &resp)
7913	return
7914}
7915
7916// Shuts down the public network port
7917func (r Hardware_SecurityModule750) ShutdownPrivatePort() (resp bool, err error) {
7918	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "shutdownPrivatePort", nil, &r.Options, &resp)
7919	return
7920}
7921
7922// Shuts down the public network port
7923func (r Hardware_SecurityModule750) ShutdownPublicPort() (resp bool, err error) {
7924	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "shutdownPublicPort", nil, &r.Options, &resp)
7925	return
7926}
7927
7928// The ability to place bare metal servers in a state where they are powered down, and ports closed yet still allocated to the customer as a part of the Spare Pool program.
7929func (r Hardware_SecurityModule750) SparePool(action *string, newOrder *bool) (resp bool, err error) {
7930	params := []interface{}{
7931		action,
7932		newOrder,
7933	}
7934	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "sparePool", params, &r.Options, &resp)
7935	return
7936}
7937
7938// This method will update the root IPMI password on this SoftLayer_Hardware.
7939func (r Hardware_SecurityModule750) UpdateIpmiPassword(password *string) (resp bool, err error) {
7940	params := []interface{}{
7941		password,
7942	}
7943	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "updateIpmiPassword", params, &r.Options, &resp)
7944	return
7945}
7946
7947// Validates a collection of partitions for an operating system
7948func (r Hardware_SecurityModule750) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
7949	params := []interface{}{
7950		operatingSystem,
7951		partitions,
7952	}
7953	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
7954	return
7955}
7956
7957// The SoftLayer_Hardware_Server data type contains general information relating to a single SoftLayer server.
7958type Hardware_Server struct {
7959	Session *session.Session
7960	Options sl.Options
7961}
7962
7963// GetHardwareServerService returns an instance of the Hardware_Server SoftLayer service
7964func GetHardwareServerService(sess *session.Session) Hardware_Server {
7965	return Hardware_Server{Session: sess}
7966}
7967
7968func (r Hardware_Server) Id(id int) Hardware_Server {
7969	r.Options.Id = &id
7970	return r
7971}
7972
7973func (r Hardware_Server) Mask(mask string) Hardware_Server {
7974	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
7975		mask = fmt.Sprintf("mask[%s]", mask)
7976	}
7977
7978	r.Options.Mask = mask
7979	return r
7980}
7981
7982func (r Hardware_Server) Filter(filter string) Hardware_Server {
7983	r.Options.Filter = filter
7984	return r
7985}
7986
7987func (r Hardware_Server) Limit(limit int) Hardware_Server {
7988	r.Options.Limit = &limit
7989	return r
7990}
7991
7992func (r Hardware_Server) Offset(offset int) Hardware_Server {
7993	r.Options.Offset = &offset
7994	return r
7995}
7996
7997// Activates the private network port
7998func (r Hardware_Server) ActivatePrivatePort() (resp bool, err error) {
7999	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "activatePrivatePort", nil, &r.Options, &resp)
8000	return
8001}
8002
8003// Activates the public network port
8004func (r Hardware_Server) ActivatePublicPort() (resp bool, err error) {
8005	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "activatePublicPort", nil, &r.Options, &resp)
8006	return
8007}
8008
8009// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
8010func (r Hardware_Server) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
8011	params := []interface{}{
8012		networkStorageTemplateObject,
8013	}
8014	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "allowAccessToNetworkStorage", params, &r.Options, &resp)
8015	return
8016}
8017
8018// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
8019func (r Hardware_Server) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
8020	params := []interface{}{
8021		networkStorageTemplateObjects,
8022	}
8023	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
8024	return
8025}
8026
8027// The Rescue Kernel is designed to provide you with the ability to bring a server online in order to troubleshoot system problems that would normally only be resolved by an OS Reload. The correct Rescue Kernel will be selected based upon the currently installed operating system. When the rescue kernel process is initiated, the server will shutdown and reboot on to the public network with the same IP's assigned to the server to allow for remote connections. It will bring your server offline for approximately 10 minutes while the rescue is in progress. The root/administrator password will be the same as what is listed in the portal for the server.
8028func (r Hardware_Server) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
8029	params := []interface{}{
8030		noOsBootEnvironment,
8031	}
8032	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "bootToRescueLayer", params, &r.Options, &resp)
8033	return
8034}
8035
8036// Captures a Flex Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
8037func (r Hardware_Server) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
8038	params := []interface{}{
8039		captureTemplate,
8040	}
8041	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "captureImage", params, &r.Options, &resp)
8042	return
8043}
8044
8045// Returns monitoring alarm detailed history
8046func (r Hardware_Server) CloseAlarm(alarmId *string) (resp bool, err error) {
8047	params := []interface{}{
8048		alarmId,
8049	}
8050	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "closeAlarm", params, &r.Options, &resp)
8051	return
8052}
8053
8054// You can launch firmware updates by selecting from your server list. It will bring your server offline for approximately 20 minutes while the updates are in progress.
8055//
8056// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
8057func (r Hardware_Server) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int) (resp bool, err error) {
8058	params := []interface{}{
8059		ipmi,
8060		raidController,
8061		bios,
8062		harddrive,
8063	}
8064	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
8065	return
8066}
8067
8068//
8069// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
8070// createObject() enables the creation of servers on an account. This
8071// method is a simplified alternative to interacting with the ordering system directly.
8072//
8073//
8074// In order to create a server, a template object must be sent in with a few required
8075// values.
8076//
8077//
8078// When this method returns an order will have been placed for a server of the specified configuration.
8079//
8080//
8081// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
8082// checking the <code>provisionDate</code> property.
8083// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
8084// as your initialization parameter.
8085//
8086//
8087// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
8088//
8089//
8090// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
8091// <ul class="create_object">
8092//     <li><code>hostname</code>
8093//         <div>Hostname for the server.</div><ul>
8094//             <li><b>Required</b></li>
8095//             <li><b>Type</b> - string</li>
8096//         </ul>
8097//         <br />
8098//     </li>
8099//     <li><code>domain</code>
8100//         <div>Domain for the server.</div><ul>
8101//             <li><b>Required</b></li>
8102//             <li><b>Type</b> - string</li>
8103//         </ul>
8104//         <br />
8105//     </li>
8106//     <li><code>processorCoreAmount</code>
8107//         <div>The number of logical CPU cores to allocate.</div><ul>
8108//             <li><b>Required</b></li>
8109//             <li><b>Type</b> - int</li>
8110//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8111//         </ul>
8112//         <br />
8113//     </li>
8114//     <li><code>memoryCapacity</code>
8115//         <div>The amount of memory to allocate in gigabytes.</div><ul>
8116//             <li><b>Required</b></li>
8117//             <li><b>Type</b> - int</li>
8118//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8119//         </ul>
8120//         <br />
8121//     </li>
8122//     <li><code>hourlyBillingFlag</code>
8123//         <div>Specifies the billing type for the server.</div><ul>
8124//             <li><b>Required</b></li>
8125//             <li><b>Type</b> - boolean</li>
8126//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
8127//         </ul>
8128//         <br />
8129//     </li>
8130//     <li><code>operatingSystemReferenceCode</code>
8131//         <div>An identifier for the operating system to provision the server with.</div><ul>
8132//             <li><b>Required</b></li>
8133//             <li><b>Type</b> - string</li>
8134//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8135//         </ul>
8136//         <br />
8137//     </li>
8138//     <li><code>datacenter.name</code>
8139//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
8140//             <li><b>Required</b></li>
8141//             <li><b>Type</b> - string</li>
8142//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
8143//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8144//         </ul>
8145//         <http title="Example">{
8146//     "datacenter": {
8147//         "name": "dal05"
8148//     }
8149// }</http>
8150//         <br />
8151//     </li>
8152//     <li><code>networkComponents.maxSpeed</code>
8153//         <div>Specifies the connection speed for the server's network components.</div><ul>
8154//             <li><b>Optional</b></li>
8155//             <li><b>Type</b> - int</li>
8156//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
8157//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The <code>maxSpeed</code> property must be set to specify the network uplink speed, in megabits per second, of the server.</li>
8158//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8159//         </ul>
8160//             <http title="Example">{
8161//     "networkComponents": [
8162//         {
8163//             "maxSpeed": 1000
8164//         }
8165//     ]
8166// }</http>
8167//         <br />
8168//     </li>
8169//     <li><code>networkComponents.redundancyEnabledFlag</code>
8170//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
8171//             <li><b>Optional</b></li>
8172//             <li><b>Type</b> - bool</li>
8173//             <li><b>Default</b> - <code>false</code></li>
8174//             <li><b>Description</b> - The <code>networkComponents</code> property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the <code>redundancyEnabledFlag</code> property is true the server's network components will be in redundancy groups.</li>
8175//         </ul>
8176//             <http title="Example">{
8177//     "networkComponents": [
8178//         {
8179//             "redundancyEnabledFlag": false
8180//         }
8181//     ]
8182// }</http>
8183//         <br />
8184//     </li>
8185//     <li><code>privateNetworkOnlyFlag</code>
8186//         <div>Specifies whether or not the server only has access to the private network</div><ul>
8187//             <li><b>Optional</b></li>
8188//             <li><b>Type</b> - boolean</li>
8189//             <li><b>Default</b> - <code>false</code></li>
8190//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
8191//         </ul>
8192//         <br />
8193//     </li>
8194//     <li><code>primaryNetworkComponent.networkVlan.id</code>
8195//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
8196//             <li><b>Optional</b></li>
8197//             <li><b>Type</b> - int</li>
8198//             <li><b>Description</b> - The <code>primaryNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the frontend network vlan of the server.</li>
8199//         </ul>
8200//         <http title="Example">{
8201//     "primaryNetworkComponent": {
8202//         "networkVlan": {
8203//             "id": 1
8204//         }
8205//     }
8206// }</http>
8207//         <br />
8208//     </li>
8209//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
8210//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
8211//             <li><b>Optional</b></li>
8212//             <li><b>Type</b> - int</li>
8213//             <li><b>Description</b> - The <code>primaryBackendNetworkComponent</code> property is a [[SoftLayer_Network_Component (type)|network component]] structure with the <code>networkVlan</code> property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The <code>id</code> property must be set to specify the backend network vlan of the server.</li>
8214//         </ul>
8215//         <http title="Example">{
8216//     "primaryBackendNetworkComponent": {
8217//         "networkVlan": {
8218//             "id": 2
8219//         }
8220//     }
8221// }</http>
8222//         <br />
8223//     </li>
8224//     <li><code>fixedConfigurationPreset.keyName</code>
8225//         <div></div><ul>
8226//             <li><b>Optional</b></li>
8227//             <li><b>Type</b> - string</li>
8228//             <li><b>Description</b> - The <code>fixedConfigurationPreset</code> property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The <code>keyName</code> property must be set to specify preset to use.</li>
8229//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
8230//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8231//         </ul>
8232//         <http title="Example">{
8233//     "fixedConfigurationPreset": {
8234//         "keyName": "SOME_KEY_NAME"
8235//     }
8236// }</http>
8237//         <br />
8238//     </li>
8239//     <li><code>userData.value</code>
8240//         <div>Arbitrary data to be made available to the server.</div><ul>
8241//             <li><b>Optional</b></li>
8242//             <li><b>Type</b> - string</li>
8243//             <li><b>Description</b> - The <code>userData</code> property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the <code>value</code> property set to an arbitrary value.</li>
8244//             <li>This value can be retrieved via the [[SoftLayer_Resource_Metadata/getUserMetadata|getUserMetadata]] method from a request originating from the server. This is primarily useful for providing data to software that may be on the server and configured to execute upon first boot.</li>
8245//         </ul>
8246//         <http title="Example">{
8247//     "userData": [
8248//         {
8249//             "value": "someValue"
8250//         }
8251//     ]
8252// }</http>
8253//         <br />
8254//     </li>
8255//     <li><code>hardDrives</code>
8256//         <div>Hard drive settings for the server</div><ul>
8257//             <li><b>Optional</b></li>
8258//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
8259//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
8260//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
8261//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
8262//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8263//         </ul>
8264//         <http title="Example">{
8265//     "hardDrives": [
8266//         {
8267//             "capacity": 500
8268//         }
8269//     ]
8270// }</http>
8271//         <br />
8272//     </li>
8273//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
8274//         <div>SSH keys to install on the server upon provisioning.</div><ul>
8275//             <li><b>Optional</b></li>
8276//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
8277//             <li><b>Description</b> - The <code>sshKeys</code> property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the <code>id</code> property set to the value of an existing SSH key.</li>
8278//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
8279//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
8280//         </ul>
8281//         <http title="Example">{
8282//     "sshKeys": [
8283//         {
8284//             "id": 123
8285//         }
8286//     ]
8287// }</http>
8288//         <br />
8289//     </li>
8290//     <li><code>postInstallScriptUri</code>
8291//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
8292//             <li><b>Optional</b></li>
8293//             <li><b>Type</b> - string</li>
8294//         </ul>
8295//         <br />
8296//     </li>
8297// </ul>
8298//
8299//
8300// <h1>REST Example</h1>
8301// <http title="Request">curl -X POST -d '{
8302//  "parameters":[
8303//      {
8304//          "hostname": "host1",
8305//          "domain": "example.com",
8306//          "processorCoreAmount": 2,
8307//          "memoryCapacity": 2,
8308//          "hourlyBillingFlag": true,
8309//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
8310//      }
8311//  ]
8312// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
8313// </http>
8314// <http title="Response">HTTP/1.1 201 Created
8315// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
8316//
8317//
8318// {
8319//     "accountId": 232298,
8320//     "bareMetalInstanceFlag": null,
8321//     "domain": "example.com",
8322//     "hardwareStatusId": null,
8323//     "hostname": "host1",
8324//     "id": null,
8325//     "serviceProviderId": null,
8326//     "serviceProviderResourceId": null,
8327//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
8328//     "hourlyBillingFlag": true,
8329//     "memoryCapacity": 2,
8330//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
8331//     "processorCoreAmount": 2
8332// }
8333// </http>
8334func (r Hardware_Server) CreateObject(templateObject *datatypes.Hardware_Server) (resp datatypes.Hardware_Server, err error) {
8335	params := []interface{}{
8336		templateObject,
8337	}
8338	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createObject", params, &r.Options, &resp)
8339	return
8340}
8341
8342// no documentation yet
8343func (r Hardware_Server) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
8344	params := []interface{}{
8345		installCodes,
8346		returnBoolean,
8347	}
8348	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
8349	return
8350}
8351
8352//
8353// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
8354func (r Hardware_Server) DeleteObject() (resp bool, err error) {
8355	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "deleteObject", nil, &r.Options, &resp)
8356	return
8357}
8358
8359// Delete software component passwords.
8360func (r Hardware_Server) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
8361	params := []interface{}{
8362		softwareComponentPasswords,
8363	}
8364	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
8365	return
8366}
8367
8368// Edit a server's properties
8369func (r Hardware_Server) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
8370	params := []interface{}{
8371		templateObject,
8372	}
8373	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "editObject", params, &r.Options, &resp)
8374	return
8375}
8376
8377// Edit the properties of a software component password such as the username, password, and notes.
8378func (r Hardware_Server) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
8379	params := []interface{}{
8380		softwareComponentPasswords,
8381	}
8382	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "editSoftwareComponentPasswords", params, &r.Options, &resp)
8383	return
8384}
8385
8386// Download and run remote script from uri on the hardware.
8387func (r Hardware_Server) ExecuteRemoteScript(uri *string) (err error) {
8388	var resp datatypes.Void
8389	params := []interface{}{
8390		uri,
8391	}
8392	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "executeRemoteScript", params, &r.Options, &resp)
8393	return
8394}
8395
8396// The '''findByIpAddress''' method finds hardware using its primary public or private IP address. IP addresses that have a secondary subnet tied to the hardware will not return the hardware - alternate means of locating the hardware must be used (see '''Associated Methods'''). If no hardware is found, no errors are generated and no data is returned.
8397func (r Hardware_Server) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
8398	params := []interface{}{
8399		ipAddress,
8400	}
8401	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "findByIpAddress", params, &r.Options, &resp)
8402	return
8403}
8404
8405//
8406// Obtain an [[SoftLayer_Container_Product_Order_Hardware_Server (type)|order container]] that can be sent to [[SoftLayer_Product_Order/verifyOrder|verifyOrder]] or [[SoftLayer_Product_Order/placeOrder|placeOrder]].
8407//
8408//
8409// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
8410//
8411//
8412// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
8413func (r Hardware_Server) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
8414	params := []interface{}{
8415		templateObject,
8416	}
8417	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "generateOrderTemplate", params, &r.Options, &resp)
8418	return
8419}
8420
8421// Retrieve The account associated with a piece of hardware.
8422func (r Hardware_Server) GetAccount() (resp datatypes.Account, err error) {
8423	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAccount", nil, &r.Options, &resp)
8424	return
8425}
8426
8427// Retrieve A piece of hardware's active physical components.
8428func (r Hardware_Server) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
8429	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveComponents", nil, &r.Options, &resp)
8430	return
8431}
8432
8433// Retrieve The billing item for a server's attached network firewall.
8434func (r Hardware_Server) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
8435	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
8436	return
8437}
8438
8439// Retrieve A piece of hardware's active network monitoring incidents.
8440func (r Hardware_Server) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
8441	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
8442	return
8443}
8444
8445// Retrieve
8446func (r Hardware_Server) GetActiveTickets() (resp []datatypes.Ticket, err error) {
8447	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTickets", nil, &r.Options, &resp)
8448	return
8449}
8450
8451// Retrieve Transaction currently running for server.
8452func (r Hardware_Server) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
8453	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTransaction", nil, &r.Options, &resp)
8454	return
8455}
8456
8457// Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
8458func (r Hardware_Server) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
8459	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTransactions", nil, &r.Options, &resp)
8460	return
8461}
8462
8463// The '''getAlarmHistory''' method retrieves a detailed history for the monitoring alarm. When calling this method, a start and end date for the history to be retrieved must be entered.
8464func (r Hardware_Server) GetAlarmHistory(startDate *datatypes.Time, endDate *datatypes.Time, alarmId *string) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
8465	params := []interface{}{
8466		startDate,
8467		endDate,
8468		alarmId,
8469	}
8470	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAlarmHistory", params, &r.Options, &resp)
8471	return
8472}
8473
8474// Retrieve
8475func (r Hardware_Server) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
8476	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllPowerComponents", nil, &r.Options, &resp)
8477	return
8478}
8479
8480// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
8481func (r Hardware_Server) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
8482	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedHost", nil, &r.Options, &resp)
8483	return
8484}
8485
8486// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
8487func (r Hardware_Server) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
8488	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedNetworkStorage", nil, &r.Options, &resp)
8489	return
8490}
8491
8492// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
8493func (r Hardware_Server) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
8494	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
8495	return
8496}
8497
8498// Retrieve Information regarding an antivirus/spyware software component object.
8499func (r Hardware_Server) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
8500	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
8501	return
8502}
8503
8504// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
8505func (r Hardware_Server) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
8506	params := []interface{}{
8507		nasType,
8508	}
8509	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAttachedNetworkStorages", params, &r.Options, &resp)
8510	return
8511}
8512
8513// Retrieve Information regarding a piece of hardware's specific attributes.
8514func (r Hardware_Server) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
8515	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAttributes", nil, &r.Options, &resp)
8516	return
8517}
8518
8519// Retrieve An object that stores the maximum level for the monitoring query types and response types.
8520func (r Hardware_Server) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
8521	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAvailableMonitoring", nil, &r.Options, &resp)
8522	return
8523}
8524
8525// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
8526func (r Hardware_Server) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
8527	params := []interface{}{
8528		nasType,
8529	}
8530	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAvailableNetworkStorages", params, &r.Options, &resp)
8531	return
8532}
8533
8534// Retrieve The average daily total bandwidth usage for the current billing cycle.
8535func (r Hardware_Server) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
8536	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
8537	return
8538}
8539
8540// Retrieve The average daily private bandwidth usage for the current billing cycle.
8541func (r Hardware_Server) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
8542	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
8543	return
8544}
8545
8546// Retrieve The average daily public bandwidth usage for the current billing cycle.
8547func (r Hardware_Server) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
8548	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
8549	return
8550}
8551
8552// Use this method to return an array of private bandwidth utilization records between a given date range.
8553//
8554// This method represents the NEW version of getFrontendBandwidthUse
8555func (r Hardware_Server) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
8556	params := []interface{}{
8557		startDate,
8558		endDate,
8559	}
8560	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendBandwidthUsage", params, &r.Options, &resp)
8561	return
8562}
8563
8564// Use this method to return an array of private bandwidth utilization records between a given date range.
8565func (r Hardware_Server) GetBackendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
8566	params := []interface{}{
8567		startDate,
8568		endDate,
8569	}
8570	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendBandwidthUse", params, &r.Options, &resp)
8571	return
8572}
8573
8574// The '''getBackendIncomingBandwidth''' method retrieves the amount of incoming private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
8575func (r Hardware_Server) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8576	params := []interface{}{
8577		startDate,
8578		endDate,
8579	}
8580	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendIncomingBandwidth", params, &r.Options, &resp)
8581	return
8582}
8583
8584// Retrieve A piece of hardware's back-end or private network components.
8585func (r Hardware_Server) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
8586	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendNetworkComponents", nil, &r.Options, &resp)
8587	return
8588}
8589
8590// The '''getBackendOutgoingBandwidth''' method retrieves the amount of outgoing private network traffic used between the given start date and end date parameters. When entering start and end dates, only the month, day and year are used to calculate bandwidth totals - the time (HH:MM:SS) is ignored and defaults to midnight. The amount of bandwidth retrieved is measured in gigabytes.
8591func (r Hardware_Server) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8592	params := []interface{}{
8593		startDate,
8594		endDate,
8595	}
8596	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
8597	return
8598}
8599
8600// Retrieve A hardware's backend or private router.
8601func (r Hardware_Server) GetBackendRouters() (resp []datatypes.Hardware, err error) {
8602	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendRouters", nil, &r.Options, &resp)
8603	return
8604}
8605
8606// Retrieve A hardware's allotted bandwidth (measured in GB).
8607func (r Hardware_Server) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
8608	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthAllocation", nil, &r.Options, &resp)
8609	return
8610}
8611
8612// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
8613func (r Hardware_Server) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
8614	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
8615	return
8616}
8617
8618// Retrieve a collection of bandwidth data from an individual public or private network tracking object. Data is ideal if you with to employ your own traffic storage and graphing systems.
8619func (r Hardware_Server) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
8620	params := []interface{}{
8621		startDate,
8622		endDate,
8623	}
8624	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthForDateRange", params, &r.Options, &resp)
8625	return
8626}
8627
8628// Use this method when needing a bandwidth image for a single server.  It will gather the correct input parameters for the generic graphing utility automatically based on the snapshot specified.  Use the $draw flag to suppress the generation of the actual binary PNG image.
8629func (r Hardware_Server) GetBandwidthImage(networkType *string, snapshotRange *string, draw *bool, dateSpecified *datatypes.Time, dateSpecifiedEnd *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
8630	params := []interface{}{
8631		networkType,
8632		snapshotRange,
8633		draw,
8634		dateSpecified,
8635		dateSpecifiedEnd,
8636	}
8637	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthImage", params, &r.Options, &resp)
8638	return
8639}
8640
8641// Retrieve Information regarding a piece of hardware's benchmark certifications.
8642func (r Hardware_Server) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
8643	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBenchmarkCertifications", nil, &r.Options, &resp)
8644	return
8645}
8646
8647// Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
8648func (r Hardware_Server) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
8649	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
8650	return
8651}
8652
8653// Retrieve The raw private bandwidth usage data for the current billing cycle.
8654func (r Hardware_Server) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
8655	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
8656	return
8657}
8658
8659// Retrieve The raw public bandwidth usage data for the current billing cycle.
8660func (r Hardware_Server) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
8661	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
8662	return
8663}
8664
8665// Retrieve Information regarding the billing item for a server.
8666func (r Hardware_Server) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
8667	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingItem", nil, &r.Options, &resp)
8668	return
8669}
8670
8671// Retrieve A flag indicating that a billing item exists.
8672func (r Hardware_Server) GetBillingItemFlag() (resp bool, err error) {
8673	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingItemFlag", nil, &r.Options, &resp)
8674	return
8675}
8676
8677// Retrieve Determine if BIOS password should be left as null.
8678func (r Hardware_Server) GetBiosPasswordNullFlag() (resp bool, err error) {
8679	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
8680	return
8681}
8682
8683// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
8684func (r Hardware_Server) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
8685	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
8686	return
8687}
8688
8689// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
8690func (r Hardware_Server) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
8691	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
8692	return
8693}
8694
8695// Retrieve Child hardware.
8696func (r Hardware_Server) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
8697	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getChildrenHardware", nil, &r.Options, &resp)
8698	return
8699}
8700
8701// no documentation yet
8702func (r Hardware_Server) GetComponentDetailsXML() (resp string, err error) {
8703	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getComponentDetailsXML", nil, &r.Options, &resp)
8704	return
8705}
8706
8707// Retrieve A piece of hardware's components.
8708func (r Hardware_Server) GetComponents() (resp []datatypes.Hardware_Component, err error) {
8709	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getComponents", nil, &r.Options, &resp)
8710	return
8711}
8712
8713// Retrieve
8714func (r Hardware_Server) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
8715	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
8716	return
8717}
8718
8719// Retrieve A continuous data protection/server backup software component object.
8720func (r Hardware_Server) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
8721	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
8722	return
8723}
8724
8725// Retrieve A server's control panel.
8726func (r Hardware_Server) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
8727	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getControlPanel", nil, &r.Options, &resp)
8728	return
8729}
8730
8731// Retrieve The total cost of a server, measured in US Dollars ($USD).
8732func (r Hardware_Server) GetCost() (resp datatypes.Float64, err error) {
8733	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCost", nil, &r.Options, &resp)
8734	return
8735}
8736
8737//
8738// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
8739//
8740//
8741// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
8742func (r Hardware_Server) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
8743	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCreateObjectOptions", nil, &r.Options, &resp)
8744	return
8745}
8746
8747// Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
8748func (r Hardware_Server) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
8749	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
8750	return
8751}
8752
8753// Attempt to retrieve the file associated with the current benchmark certification result, if such a file exists.  If there is no file for this benchmark certification result, calling this method throws an exception.
8754func (r Hardware_Server) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
8755	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
8756	return
8757}
8758
8759// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
8760func (r Hardware_Server) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
8761	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
8762	return
8763}
8764
8765// Get the billing detail for this instance for the current billing period. This does not include bandwidth usage.
8766func (r Hardware_Server) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
8767	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillingDetail", nil, &r.Options, &resp)
8768	return
8769}
8770
8771// The '''getCurrentBillingTotal''' method retrieves the total bill amount in US Dollars ($) for the current billing period. In addition to the total bill amount, the billing detail also includes all bandwidth used up to the point the method is called on the piece of hardware.
8772func (r Hardware_Server) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
8773	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillingTotal", nil, &r.Options, &resp)
8774	return
8775}
8776
8777// Retrieve bandwidth graph by date.
8778func (r Hardware_Server) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
8779	params := []interface{}{
8780		graphData,
8781	}
8782	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
8783	return
8784}
8785
8786// Retrieve Indicates if a server has a Customer Installed OS
8787func (r Hardware_Server) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
8788	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
8789	return
8790}
8791
8792// Retrieve Indicates if a server is a customer owned device.
8793func (r Hardware_Server) GetCustomerOwnedFlag() (resp bool, err error) {
8794	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCustomerOwnedFlag", nil, &r.Options, &resp)
8795	return
8796}
8797
8798// The '''getDailyAverage''' method calculates the average daily network traffic used by the selected server. Using the required parameter ''dateTime'' to enter a start and end date, the user retrieves this average, measure in gigabytes (GB) for the specified date range. When entering parameters, only the month, day and year are required - time entries are omitted as this method defaults the time to midnight in order to account for the entire day.
8799func (r Hardware_Server) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8800	params := []interface{}{
8801		startDate,
8802		endDate,
8803	}
8804	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDailyAverage", params, &r.Options, &resp)
8805	return
8806}
8807
8808// Retrieve Information regarding the datacenter in which a piece of hardware resides.
8809func (r Hardware_Server) GetDatacenter() (resp datatypes.Location, err error) {
8810	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDatacenter", nil, &r.Options, &resp)
8811	return
8812}
8813
8814// Retrieve The name of the datacenter in which a piece of hardware resides.
8815func (r Hardware_Server) GetDatacenterName() (resp string, err error) {
8816	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDatacenterName", nil, &r.Options, &resp)
8817	return
8818}
8819
8820// Retrieve Number of day(s) a server have been in spare pool.
8821func (r Hardware_Server) GetDaysInSparePool() (resp int, err error) {
8822	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDaysInSparePool", nil, &r.Options, &resp)
8823	return
8824}
8825
8826// Retrieve All hardware that has uplink network connections to a piece of hardware.
8827func (r Hardware_Server) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
8828	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkHardware", nil, &r.Options, &resp)
8829	return
8830}
8831
8832// Retrieve All hardware that has uplink network connections to a piece of hardware.
8833func (r Hardware_Server) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
8834	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
8835	return
8836}
8837
8838// Retrieve Information regarding all servers attached to a piece of network hardware.
8839func (r Hardware_Server) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
8840	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkServers", nil, &r.Options, &resp)
8841	return
8842}
8843
8844// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
8845func (r Hardware_Server) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
8846	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
8847	return
8848}
8849
8850// Retrieve All hardware downstream from a network device.
8851func (r Hardware_Server) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
8852	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
8853	return
8854}
8855
8856// Retrieve All network hardware downstream from the selected piece of hardware.
8857func (r Hardware_Server) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
8858	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
8859	return
8860}
8861
8862// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
8863func (r Hardware_Server) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
8864	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
8865	return
8866}
8867
8868// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
8869func (r Hardware_Server) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
8870	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamServers", nil, &r.Options, &resp)
8871	return
8872}
8873
8874// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
8875func (r Hardware_Server) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
8876	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
8877	return
8878}
8879
8880// Retrieve The drive controllers contained within a piece of hardware.
8881func (r Hardware_Server) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
8882	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDriveControllers", nil, &r.Options, &resp)
8883	return
8884}
8885
8886// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
8887func (r Hardware_Server) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
8888	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getEvaultNetworkStorage", nil, &r.Options, &resp)
8889	return
8890}
8891
8892// Get the subnets associated with this server that are protectable by a network component firewall.
8893func (r Hardware_Server) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
8894	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
8895	return
8896}
8897
8898// Retrieve Information regarding a piece of hardware's firewall services.
8899func (r Hardware_Server) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
8900	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFirewallServiceComponent", nil, &r.Options, &resp)
8901	return
8902}
8903
8904// Retrieve Defines the fixed components in a fixed configuration bare metal server.
8905func (r Hardware_Server) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
8906	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFixedConfigurationPreset", nil, &r.Options, &resp)
8907	return
8908}
8909
8910// Use this method to return an array of public bandwidth utilization records between a given date range.
8911//
8912// This method represents the NEW version of getFrontendBandwidthUse
8913func (r Hardware_Server) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
8914	params := []interface{}{
8915		startDate,
8916		endDate,
8917	}
8918	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendBandwidthUsage", params, &r.Options, &resp)
8919	return
8920}
8921
8922// Use this method to return an array of public bandwidth utilization records between a given date range.
8923func (r Hardware_Server) GetFrontendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
8924	params := []interface{}{
8925		startDate,
8926		endDate,
8927	}
8928	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendBandwidthUse", params, &r.Options, &resp)
8929	return
8930}
8931
8932// The '''getFrontendIncomingBandwidth''' method retrieves the amount of incoming public network traffic used by a server between the given start and end date parameters. When entering the ''dateTime'' parameter, only the month, day and year of the start and end dates are required - the time (hour, minute and second) are set to midnight by default and cannot be changed. The amount of bandwidth retrieved is measured in gigabytes (GB).
8933func (r Hardware_Server) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8934	params := []interface{}{
8935		startDate,
8936		endDate,
8937	}
8938	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
8939	return
8940}
8941
8942// Retrieve A piece of hardware's front-end or public network components.
8943func (r Hardware_Server) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
8944	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendNetworkComponents", nil, &r.Options, &resp)
8945	return
8946}
8947
8948// The '''getFrontendOutgoingBandwidth''' method retrieves the amount of outgoing public network traffic used by a server between the given start and end date parameters. The ''dateTime'' parameter requires only the day, month and year to be entered - the time (hour, minute and second) are set to midnight be default in order to gather the data for the entire start and end date indicated in the parameter. The amount of bandwidth retrieved is measured in gigabytes (GB).
8949func (r Hardware_Server) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8950	params := []interface{}{
8951		startDate,
8952		endDate,
8953	}
8954	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
8955	return
8956}
8957
8958// Retrieve A hardware's frontend or public router.
8959func (r Hardware_Server) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
8960	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendRouters", nil, &r.Options, &resp)
8961	return
8962}
8963
8964// Retrieve A hardware's universally unique identifier.
8965func (r Hardware_Server) GetGlobalIdentifier() (resp string, err error) {
8966	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getGlobalIdentifier", nil, &r.Options, &resp)
8967	return
8968}
8969
8970// Retrieve The hard drives contained within a piece of hardware.
8971func (r Hardware_Server) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
8972	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardDrives", nil, &r.Options, &resp)
8973	return
8974}
8975
8976// Retrieve a server by searching for the primary IP address.
8977func (r Hardware_Server) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
8978	params := []interface{}{
8979		ipAddress,
8980	}
8981	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareByIpAddress", params, &r.Options, &resp)
8982	return
8983}
8984
8985// Retrieve The chassis that a piece of hardware is housed in.
8986func (r Hardware_Server) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
8987	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareChassis", nil, &r.Options, &resp)
8988	return
8989}
8990
8991// Retrieve A hardware's function.
8992func (r Hardware_Server) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
8993	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareFunction", nil, &r.Options, &resp)
8994	return
8995}
8996
8997// Retrieve A hardware's function.
8998func (r Hardware_Server) GetHardwareFunctionDescription() (resp string, err error) {
8999	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareFunctionDescription", nil, &r.Options, &resp)
9000	return
9001}
9002
9003// Retrieve A hardware's status.
9004func (r Hardware_Server) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
9005	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareStatus", nil, &r.Options, &resp)
9006	return
9007}
9008
9009// Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
9010func (r Hardware_Server) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
9011	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
9012	return
9013}
9014
9015// Retrieve Determine in hardware object has TPM enabled.
9016func (r Hardware_Server) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
9017	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
9018	return
9019}
9020
9021// Retrieve Information regarding a host IPS software component object.
9022func (r Hardware_Server) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
9023	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
9024	return
9025}
9026
9027// The '''getHourlyBandwidth''' method retrieves all bandwidth updates hourly for the specified hardware. Because the potential number of data points can become excessive, the method limits the user to obtain data in 24-hour intervals. The required ''dateTime'' parameter is used as the starting point for the query and will be calculated for the 24-hour period starting with the specified date and time. For example, entering a parameter of
9028//
9029// '02/01/2008 0:00'
9030//
9031// results in a return of all bandwidth data for the entire day of February 1, 2008, as 0:00 specifies a midnight start date. Please note that the time entered should be completed using a 24-hour clock (military time, astronomical time).
9032//
9033// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
9034func (r Hardware_Server) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9035	params := []interface{}{
9036		mode,
9037		day,
9038	}
9039	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHourlyBandwidth", params, &r.Options, &resp)
9040	return
9041}
9042
9043// Retrieve A server's hourly billing status.
9044func (r Hardware_Server) GetHourlyBillingFlag() (resp bool, err error) {
9045	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHourlyBillingFlag", nil, &r.Options, &resp)
9046	return
9047}
9048
9049// Retrieve The sum of all the inbound network traffic data for the last 30 days.
9050func (r Hardware_Server) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
9051	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundBandwidthUsage", nil, &r.Options, &resp)
9052	return
9053}
9054
9055// Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
9056func (r Hardware_Server) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
9057	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
9058	return
9059}
9060
9061// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
9062func (r Hardware_Server) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9063	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
9064	return
9065}
9066
9067// Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
9068func (r Hardware_Server) GetIsCloudReadyNodeCertified() (resp bool, err error) {
9069	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
9070	return
9071}
9072
9073// Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
9074func (r Hardware_Server) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
9075	params := []interface{}{
9076		softwareDescriptions,
9077		includeTranslationsFlag,
9078		returnAllPricesFlag,
9079	}
9080	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
9081	return
9082}
9083
9084// Retrieve The last transaction that a server's operating system was loaded.
9085func (r Hardware_Server) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
9086	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLastOperatingSystemReload", nil, &r.Options, &resp)
9087	return
9088}
9089
9090// Retrieve Information regarding the last transaction a server performed.
9091func (r Hardware_Server) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
9092	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLastTransaction", nil, &r.Options, &resp)
9093	return
9094}
9095
9096// Retrieve A piece of hardware's latest network monitoring incident.
9097func (r Hardware_Server) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
9098	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
9099	return
9100}
9101
9102// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
9103func (r Hardware_Server) GetLocation() (resp datatypes.Location, err error) {
9104	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLocation", nil, &r.Options, &resp)
9105	return
9106}
9107
9108// Retrieve
9109func (r Hardware_Server) GetLocationPathString() (resp string, err error) {
9110	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLocationPathString", nil, &r.Options, &resp)
9111	return
9112}
9113
9114// Retrieve Information regarding a lockbox account associated with a server.
9115func (r Hardware_Server) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
9116	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLockboxNetworkStorage", nil, &r.Options, &resp)
9117	return
9118}
9119
9120// Retrieve A flag indicating that the hardware is a managed resource.
9121func (r Hardware_Server) GetManagedResourceFlag() (resp bool, err error) {
9122	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getManagedResourceFlag", nil, &r.Options, &resp)
9123	return
9124}
9125
9126// Retrieve the remote management network component attached with this server.
9127func (r Hardware_Server) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
9128	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getManagementNetworkComponent", nil, &r.Options, &resp)
9129	return
9130}
9131
9132// Retrieve Information regarding a piece of hardware's memory.
9133func (r Hardware_Server) GetMemory() (resp []datatypes.Hardware_Component, err error) {
9134	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMemory", nil, &r.Options, &resp)
9135	return
9136}
9137
9138// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
9139func (r Hardware_Server) GetMemoryCapacity() (resp uint, err error) {
9140	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMemoryCapacity", nil, &r.Options, &resp)
9141	return
9142}
9143
9144// Retrieve A piece of hardware's metric tracking object.
9145func (r Hardware_Server) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
9146	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMetricTrackingObject", nil, &r.Options, &resp)
9147	return
9148}
9149
9150// Retrieve The metric tracking object id for this server.
9151func (r Hardware_Server) GetMetricTrackingObjectId() (resp int, err error) {
9152	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMetricTrackingObjectId", nil, &r.Options, &resp)
9153	return
9154}
9155
9156// Returns open monitoring alarms for a given time period
9157func (r Hardware_Server) GetMonitoringActiveAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
9158	params := []interface{}{
9159		startDate,
9160		endDate,
9161	}
9162	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringActiveAlarms", params, &r.Options, &resp)
9163	return
9164}
9165
9166// Retrieve Information regarding the monitoring agents associated with a piece of hardware.
9167func (r Hardware_Server) GetMonitoringAgents() (resp []datatypes.Monitoring_Agent, err error) {
9168	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringAgents", nil, &r.Options, &resp)
9169	return
9170}
9171
9172// Returns closed monitoring alarms for a given time period
9173func (r Hardware_Server) GetMonitoringClosedAlarms(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Container_Monitoring_Alarm_History, err error) {
9174	params := []interface{}{
9175		startDate,
9176		endDate,
9177	}
9178	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringClosedAlarms", params, &r.Options, &resp)
9179	return
9180}
9181
9182// Retrieve Information regarding the hardware's monitoring robot.
9183func (r Hardware_Server) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
9184	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringRobot", nil, &r.Options, &resp)
9185	return
9186}
9187
9188// Retrieve Information regarding a piece of hardware's network monitoring services.
9189func (r Hardware_Server) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
9190	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringServiceComponent", nil, &r.Options, &resp)
9191	return
9192}
9193
9194// Retrieve The monitoring service flag eligibility status for a piece of hardware.
9195func (r Hardware_Server) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
9196	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
9197	return
9198}
9199
9200// Retrieve The service flag status for a piece of hardware.
9201func (r Hardware_Server) GetMonitoringServiceFlag() (resp bool, err error) {
9202	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringServiceFlag", nil, &r.Options, &resp)
9203	return
9204}
9205
9206// Retrieve 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
9207func (r Hardware_Server) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
9208	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringUserNotification", nil, &r.Options, &resp)
9209	return
9210}
9211
9212// Retrieve Information regarding a piece of hardware's motherboard.
9213func (r Hardware_Server) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
9214	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMotherboard", nil, &r.Options, &resp)
9215	return
9216}
9217
9218// Retrieve Information regarding a piece of hardware's network cards.
9219func (r Hardware_Server) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
9220	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkCards", nil, &r.Options, &resp)
9221	return
9222}
9223
9224// Get the IP addresses associated with this server that are protectable by a network component firewall. Note, this may not return all values for IPv6 subnets for this server. Please use getFirewallProtectableSubnets to get all protectable subnets.
9225func (r Hardware_Server) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
9226	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
9227	return
9228}
9229
9230// Retrieve Returns a hardware's network components.
9231func (r Hardware_Server) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
9232	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkComponents", nil, &r.Options, &resp)
9233	return
9234}
9235
9236// Retrieve The gateway member if this device is part of a network gateway.
9237func (r Hardware_Server) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
9238	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkGatewayMember", nil, &r.Options, &resp)
9239	return
9240}
9241
9242// Retrieve Whether or not this device is part of a network gateway.
9243func (r Hardware_Server) GetNetworkGatewayMemberFlag() (resp bool, err error) {
9244	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
9245	return
9246}
9247
9248// Retrieve A piece of hardware's network management IP address.
9249func (r Hardware_Server) GetNetworkManagementIpAddress() (resp string, err error) {
9250	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
9251	return
9252}
9253
9254// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
9255func (r Hardware_Server) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
9256	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
9257	return
9258}
9259
9260// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
9261func (r Hardware_Server) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9262	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
9263	return
9264}
9265
9266// Retrieve The status of all of a piece of hardware's network monitoring incidents.
9267func (r Hardware_Server) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
9268	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
9269	return
9270}
9271
9272// Retrieve Information regarding a piece of hardware's network monitors.
9273func (r Hardware_Server) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
9274	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitors", nil, &r.Options, &resp)
9275	return
9276}
9277
9278// Retrieve The value of a hardware's network status attribute.
9279func (r Hardware_Server) GetNetworkStatus() (resp string, err error) {
9280	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStatus", nil, &r.Options, &resp)
9281	return
9282}
9283
9284// Retrieve The hardware's related network status attribute.
9285func (r Hardware_Server) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
9286	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStatusAttribute", nil, &r.Options, &resp)
9287	return
9288}
9289
9290// Retrieve Information regarding a piece of hardware's associated network storage service account.
9291func (r Hardware_Server) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
9292	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStorage", nil, &r.Options, &resp)
9293	return
9294}
9295
9296// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
9297func (r Hardware_Server) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
9298	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkVlans", nil, &r.Options, &resp)
9299	return
9300}
9301
9302// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
9303func (r Hardware_Server) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
9304	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
9305	return
9306}
9307
9308// Retrieve
9309func (r Hardware_Server) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
9310	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNotesHistory", nil, &r.Options, &resp)
9311	return
9312}
9313
9314// getObject retrieves the SoftLayer_Hardware_Server object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Hardware service. You can only retrieve servers from the account that your portal user is assigned to.
9315func (r Hardware_Server) GetObject() (resp datatypes.Hardware_Server, err error) {
9316	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getObject", nil, &r.Options, &resp)
9317	return
9318}
9319
9320// Retrieve An open ticket requesting cancellation of this server, if one exists.
9321func (r Hardware_Server) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
9322	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOpenCancellationTicket", nil, &r.Options, &resp)
9323	return
9324}
9325
9326// Retrieve Information regarding a piece of hardware's operating system.
9327func (r Hardware_Server) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
9328	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOperatingSystem", nil, &r.Options, &resp)
9329	return
9330}
9331
9332// Retrieve A hardware's operating system software description.
9333func (r Hardware_Server) GetOperatingSystemReferenceCode() (resp string, err error) {
9334	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
9335	return
9336}
9337
9338// Retrieve The sum of all the outbound network traffic data for the last 30 days.
9339func (r Hardware_Server) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
9340	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
9341	return
9342}
9343
9344// Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
9345func (r Hardware_Server) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
9346	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
9347	return
9348}
9349
9350// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
9351func (r Hardware_Server) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9352	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
9353	return
9354}
9355
9356// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
9357func (r Hardware_Server) GetOverBandwidthAllocationFlag() (resp int, err error) {
9358	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
9359	return
9360}
9361
9362// Retrieve a server's hardware state via its internal sensors. Remote sensor data is transmitted to the SoftLayer API by way of the server's remote management card. Sensor data measures system temperatures, voltages, and other local server settings. Sensor data is cached for 30 seconds. Calls made to getSensorData for the same server within 30 seconds of each other will return the same data. Subsequent calls will return new data once the cache expires.
9363func (r Hardware_Server) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
9364	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPMInfo", nil, &r.Options, &resp)
9365	return
9366}
9367
9368// Retrieve Blade Bay
9369func (r Hardware_Server) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
9370	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getParentBay", nil, &r.Options, &resp)
9371	return
9372}
9373
9374// Retrieve Parent Hardware.
9375func (r Hardware_Server) GetParentHardware() (resp datatypes.Hardware, err error) {
9376	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getParentHardware", nil, &r.Options, &resp)
9377	return
9378}
9379
9380// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
9381func (r Hardware_Server) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
9382	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPointOfPresenceLocation", nil, &r.Options, &resp)
9383	return
9384}
9385
9386// Retrieve The power components for a hardware object.
9387func (r Hardware_Server) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
9388	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPowerComponents", nil, &r.Options, &resp)
9389	return
9390}
9391
9392// Retrieve Information regarding a piece of hardware's power supply.
9393func (r Hardware_Server) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
9394	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPowerSupply", nil, &r.Options, &resp)
9395	return
9396}
9397
9398// Retrieve The hardware's primary private IP address.
9399func (r Hardware_Server) GetPrimaryBackendIpAddress() (resp string, err error) {
9400	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
9401	return
9402}
9403
9404// Retrieve Information regarding the hardware's primary back-end network component.
9405func (r Hardware_Server) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
9406	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
9407	return
9408}
9409
9410// no documentation yet
9411func (r Hardware_Server) GetPrimaryDriveSize() (resp int, err error) {
9412	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryDriveSize", nil, &r.Options, &resp)
9413	return
9414}
9415
9416// Retrieve The hardware's primary public IP address.
9417func (r Hardware_Server) GetPrimaryIpAddress() (resp string, err error) {
9418	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryIpAddress", nil, &r.Options, &resp)
9419	return
9420}
9421
9422// Retrieve Information regarding the hardware's primary public network component.
9423func (r Hardware_Server) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
9424	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
9425	return
9426}
9427
9428// Retrieve a graph of a server's private network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPrivateBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
9429func (r Hardware_Server) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9430	params := []interface{}{
9431		startTime,
9432		endTime,
9433	}
9434	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBandwidthData", params, &r.Options, &resp)
9435	return
9436}
9437
9438// Retrieve a brief summary of a server's private network bandwidth usage. getPrivateBandwidthDataSummary retrieves a server's bandwidth allocation for its billing period, its estimated usage during its billing period, and an estimation of how much bandwidth it will use during its billing period based on its current usage. A server's projected bandwidth usage increases in accuracy as it progresses through its billing period.
9439func (r Hardware_Server) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
9440	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
9441	return
9442}
9443
9444// Retrieve a graph of a server's private network bandwidth usage over the specified time frame. If no time frame is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image
9445func (r Hardware_Server) GetPrivateBandwidthGraphImage(startTime *string, endTime *string) (resp []byte, err error) {
9446	params := []interface{}{
9447		startTime,
9448		endTime,
9449	}
9450	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBandwidthGraphImage", params, &r.Options, &resp)
9451	return
9452}
9453
9454// Retrieve A server's primary private IP address.
9455func (r Hardware_Server) GetPrivateIpAddress() (resp string, err error) {
9456	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateIpAddress", nil, &r.Options, &resp)
9457	return
9458}
9459
9460// Retrieve the private network component attached with this server.
9461func (r Hardware_Server) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
9462	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateNetworkComponent", nil, &r.Options, &resp)
9463	return
9464}
9465
9466// Retrieve Whether the hardware only has access to the private network.
9467func (r Hardware_Server) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
9468	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
9469	return
9470}
9471
9472// Retrieve the backend VLAN for the primary IP address of the server
9473func (r Hardware_Server) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
9474	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateVlan", nil, &r.Options, &resp)
9475	return
9476}
9477
9478// Retrieve a backend network VLAN by searching for an IP address
9479func (r Hardware_Server) GetPrivateVlanByIpAddress(ipAddress *string) (resp datatypes.Network_Vlan, err error) {
9480	params := []interface{}{
9481		ipAddress,
9482	}
9483	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateVlanByIpAddress", params, &r.Options, &resp)
9484	return
9485}
9486
9487// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
9488func (r Hardware_Server) GetProcessorCoreAmount() (resp uint, err error) {
9489	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessorCoreAmount", nil, &r.Options, &resp)
9490	return
9491}
9492
9493// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
9494func (r Hardware_Server) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
9495	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
9496	return
9497}
9498
9499// Retrieve Information regarding a piece of hardware's processors.
9500func (r Hardware_Server) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
9501	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessors", nil, &r.Options, &resp)
9502	return
9503}
9504
9505// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
9506func (r Hardware_Server) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
9507	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
9508	return
9509}
9510
9511// Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
9512func (r Hardware_Server) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9513	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
9514	return
9515}
9516
9517// no documentation yet
9518func (r Hardware_Server) GetProvisionDate() (resp datatypes.Time, err error) {
9519	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProvisionDate", nil, &r.Options, &resp)
9520	return
9521}
9522
9523// Retrieve a graph of a server's public network bandwidth usage over the specified timeframe. If no timeframe is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
9524func (r Hardware_Server) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9525	params := []interface{}{
9526		startTime,
9527		endTime,
9528	}
9529	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthData", params, &r.Options, &resp)
9530	return
9531}
9532
9533// Retrieve a brief summary of a server's public network bandwidth usage. getPublicBandwidthDataSummary retrieves a server's bandwidth allocation for its billing period, its estimated usage during its billing period, and an estimation of how much bandwidth it will use during its billing period based on its current usage. A server's projected bandwidth usage increases in accuracy as it progresses through its billing period.
9534func (r Hardware_Server) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
9535	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
9536	return
9537}
9538
9539// Retrieve a graph of a server's public network bandwidth usage over the specified time frame. If no time frame is specified then getPublicBandwidthGraphImage retrieves the last 24 hours of public bandwidth usage. getPublicBandwidthGraphImage returns a PNG image measuring 827 pixels by 293 pixels.  THIS METHOD GENERATES GRAPHS BASED ON THE NEW DATA WAREHOUSE REPOSITORY.
9540func (r Hardware_Server) GetPublicBandwidthGraphImage(startTime *datatypes.Time, endTime *datatypes.Time) (resp []byte, err error) {
9541	params := []interface{}{
9542		startTime,
9543		endTime,
9544	}
9545	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthGraphImage", params, &r.Options, &resp)
9546	return
9547}
9548
9549// Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
9550func (r Hardware_Server) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
9551	params := []interface{}{
9552		startTime,
9553		endTime,
9554	}
9555	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthTotal", params, &r.Options, &resp)
9556	return
9557}
9558
9559// Retrieve a SoftLayer server's public network component. Some servers are only connected to the private network and may not have a public network component. In that case getPublicNetworkComponent returns a null object.
9560func (r Hardware_Server) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
9561	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicNetworkComponent", nil, &r.Options, &resp)
9562	return
9563}
9564
9565// Retrieve the frontend VLAN for the primary IP address of the server
9566func (r Hardware_Server) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
9567	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicVlan", nil, &r.Options, &resp)
9568	return
9569}
9570
9571// Retrieve the frontend network Vlan by searching the hostname of a server
9572func (r Hardware_Server) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
9573	params := []interface{}{
9574		hostname,
9575	}
9576	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicVlanByHostname", params, &r.Options, &resp)
9577	return
9578}
9579
9580// Retrieve
9581func (r Hardware_Server) GetRack() (resp datatypes.Location, err error) {
9582	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRack", nil, &r.Options, &resp)
9583	return
9584}
9585
9586// Retrieve The RAID controllers contained within a piece of hardware.
9587func (r Hardware_Server) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
9588	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRaidControllers", nil, &r.Options, &resp)
9589	return
9590}
9591
9592// Retrieve Determine if hardware object is vSan Ready Node.
9593func (r Hardware_Server) GetReadyNodeFlag() (resp bool, err error) {
9594	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getReadyNodeFlag", nil, &r.Options, &resp)
9595	return
9596}
9597
9598// Retrieve Recent events that impact this hardware.
9599func (r Hardware_Server) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
9600	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRecentEvents", nil, &r.Options, &resp)
9601	return
9602}
9603
9604// Retrieve The last five commands issued to the server's remote management card.
9605func (r Hardware_Server) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
9606	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
9607	return
9608}
9609
9610// Retrieve
9611func (r Hardware_Server) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
9612	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRegionalInternetRegistry", nil, &r.Options, &resp)
9613	return
9614}
9615
9616// Retrieve A server's remote management card.
9617func (r Hardware_Server) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
9618	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagement", nil, &r.Options, &resp)
9619	return
9620}
9621
9622// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
9623func (r Hardware_Server) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
9624	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementAccounts", nil, &r.Options, &resp)
9625	return
9626}
9627
9628// Retrieve A hardware's associated remote management component. This is normally IPMI.
9629func (r Hardware_Server) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
9630	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementComponent", nil, &r.Options, &resp)
9631	return
9632}
9633
9634// Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
9635func (r Hardware_Server) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
9636	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementUsers", nil, &r.Options, &resp)
9637	return
9638}
9639
9640// Retrieve
9641func (r Hardware_Server) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
9642	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceConfigurations", nil, &r.Options, &resp)
9643	return
9644}
9645
9646// Retrieve
9647func (r Hardware_Server) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
9648	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
9649	return
9650}
9651
9652// Retrieve
9653func (r Hardware_Server) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
9654	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroupRoles", nil, &r.Options, &resp)
9655	return
9656}
9657
9658// Retrieve The resource groups in which this hardware is a member.
9659func (r Hardware_Server) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
9660	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroups", nil, &r.Options, &resp)
9661	return
9662}
9663
9664// Retrieve the reverse domain records associated with this server.
9665func (r Hardware_Server) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
9666	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getReverseDomainRecords", nil, &r.Options, &resp)
9667	return
9668}
9669
9670// Retrieve A hardware's routers.
9671func (r Hardware_Server) GetRouters() (resp []datatypes.Hardware, err error) {
9672	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRouters", nil, &r.Options, &resp)
9673	return
9674}
9675
9676// Retrieve Collection of scale assets this hardware corresponds to.
9677func (r Hardware_Server) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
9678	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getScaleAssets", nil, &r.Options, &resp)
9679	return
9680}
9681
9682// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
9683func (r Hardware_Server) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
9684	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSecurityScanRequests", nil, &r.Options, &resp)
9685	return
9686}
9687
9688// Retrieve a server's hardware state via its internal sensors. Remote sensor data is transmitted to the SoftLayer API by way of the server's remote management card. Sensor data measures system temperatures, voltages, and other local server settings. Sensor data is cached for 30 seconds. Calls made to getSensorData for the same server within 30 seconds of each other will return the same data. Subsequent calls will return new data once the cache expires.
9689func (r Hardware_Server) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
9690	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSensorData", nil, &r.Options, &resp)
9691	return
9692}
9693
9694// Retrieves the raw data returned from the server's remote management card.  For more details of what is returned please refer to the getSensorData method.  Along with the raw data, graphs for the cpu and system temperatures and fan speeds are also returned.
9695func (r Hardware_Server) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
9696	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSensorDataWithGraphs", nil, &r.Options, &resp)
9697	return
9698}
9699
9700// Retrieve a server's hardware components, software, and network components. getServerDetails is an aggregation function that combines the results of [[SoftLayer_Hardware_Server::getComponents]], [[SoftLayer_Hardware_Server::getSoftware]], and [[SoftLayer_Hardware_Server::getNetworkComponents]] in a single container.
9701func (r Hardware_Server) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
9702	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerDetails", nil, &r.Options, &resp)
9703	return
9704}
9705
9706// Retrieve the server's fan speeds and displays them using tachometer graphs.  Data used to construct graphs is retrieved from the server's remote management card.  All graphs returned will have a title associated with it.
9707func (r Hardware_Server) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
9708	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
9709	return
9710}
9711
9712// Retrieves the power state for the server.  The server's power status is retrieved from its remote management card.  This will return 'on' or 'off'.
9713func (r Hardware_Server) GetServerPowerState() (resp string, err error) {
9714	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerPowerState", nil, &r.Options, &resp)
9715	return
9716}
9717
9718// Retrieve Information regarding the server room in which the hardware is located.
9719func (r Hardware_Server) GetServerRoom() (resp datatypes.Location, err error) {
9720	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerRoom", nil, &r.Options, &resp)
9721	return
9722}
9723
9724// Retrieve the server's temperature and displays them using thermometer graphs.  Temperatures retrieved are CPU(s) and system temperatures.  Data used to construct graphs is retrieved from the server's remote management card.  All graphs returned will have a title associated with it.
9725func (r Hardware_Server) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
9726	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerTemperatureGraphs", nil, &r.Options, &resp)
9727	return
9728}
9729
9730// Retrieve Information regarding the piece of hardware's service provider.
9731func (r Hardware_Server) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
9732	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServiceProvider", nil, &r.Options, &resp)
9733	return
9734}
9735
9736// Retrieve Information regarding a piece of hardware's installed software.
9737func (r Hardware_Server) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
9738	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSoftwareComponents", nil, &r.Options, &resp)
9739	return
9740}
9741
9742// Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
9743func (r Hardware_Server) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
9744	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
9745	return
9746}
9747
9748// Retrieve Information regarding the billing item for a spare pool server.
9749func (r Hardware_Server) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
9750	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSparePoolBillingItem", nil, &r.Options, &resp)
9751	return
9752}
9753
9754// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
9755func (r Hardware_Server) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
9756	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSshKeys", nil, &r.Options, &resp)
9757	return
9758}
9759
9760// Retrieve A server's remote management card used for statistics.
9761func (r Hardware_Server) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
9762	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
9763	return
9764}
9765
9766// Retrieve
9767func (r Hardware_Server) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
9768	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getStorageNetworkComponents", nil, &r.Options, &resp)
9769	return
9770}
9771
9772// Retrieve
9773func (r Hardware_Server) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
9774	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTagReferences", nil, &r.Options, &resp)
9775	return
9776}
9777
9778// Retrieve
9779func (r Hardware_Server) GetTopLevelLocation() (resp datatypes.Location, err error) {
9780	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTopLevelLocation", nil, &r.Options, &resp)
9781	return
9782}
9783
9784//
9785// This method will query transaction history for a piece of hardware.
9786func (r Hardware_Server) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
9787	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTransactionHistory", nil, &r.Options, &resp)
9788	return
9789}
9790
9791// Retrieve a list of upgradeable items available to this piece of hardware. Currently, getUpgradeItemPrices retrieves upgrades available for a server's memory, hard drives, network port speed, bandwidth allocation and GPUs.
9792func (r Hardware_Server) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
9793	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUpgradeItemPrices", nil, &r.Options, &resp)
9794	return
9795}
9796
9797// Retrieve An account's associated upgrade request object, if any.
9798func (r Hardware_Server) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
9799	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUpgradeRequest", nil, &r.Options, &resp)
9800	return
9801}
9802
9803// Retrieve The network device connected to a piece of hardware.
9804func (r Hardware_Server) GetUplinkHardware() (resp datatypes.Hardware, err error) {
9805	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUplinkHardware", nil, &r.Options, &resp)
9806	return
9807}
9808
9809// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
9810func (r Hardware_Server) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
9811	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUplinkNetworkComponents", nil, &r.Options, &resp)
9812	return
9813}
9814
9815// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
9816func (r Hardware_Server) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
9817	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUserData", nil, &r.Options, &resp)
9818	return
9819}
9820
9821// Retrieve A list of users that have access to this computing instance.
9822func (r Hardware_Server) GetUsers() (resp []datatypes.User_Customer, err error) {
9823	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUsers", nil, &r.Options, &resp)
9824	return
9825}
9826
9827// This method will return the list of block device template groups that are valid to the host. For instance, it will only retrieve FLEX images.
9828func (r Hardware_Server) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
9829	params := []interface{}{
9830		visibility,
9831	}
9832	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
9833	return
9834}
9835
9836// Retrieve Information regarding the virtual chassis for a piece of hardware.
9837func (r Hardware_Server) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
9838	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualChassis", nil, &r.Options, &resp)
9839	return
9840}
9841
9842// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
9843func (r Hardware_Server) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
9844	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualChassisSiblings", nil, &r.Options, &resp)
9845	return
9846}
9847
9848// Retrieve A hardware server's virtual servers.
9849func (r Hardware_Server) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9850	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualGuests", nil, &r.Options, &resp)
9851	return
9852}
9853
9854// Retrieve A piece of hardware's virtual host record.
9855func (r Hardware_Server) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
9856	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualHost", nil, &r.Options, &resp)
9857	return
9858}
9859
9860// Retrieve Information regarding a piece of hardware's virtual software licenses.
9861func (r Hardware_Server) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
9862	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualLicenses", nil, &r.Options, &resp)
9863	return
9864}
9865
9866// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
9867func (r Hardware_Server) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
9868	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRack", nil, &r.Options, &resp)
9869	return
9870}
9871
9872// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
9873func (r Hardware_Server) GetVirtualRackId() (resp int, err error) {
9874	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRackId", nil, &r.Options, &resp)
9875	return
9876}
9877
9878// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
9879func (r Hardware_Server) GetVirtualRackName() (resp string, err error) {
9880	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRackName", nil, &r.Options, &resp)
9881	return
9882}
9883
9884// Retrieve A piece of hardware's virtualization platform software.
9885func (r Hardware_Server) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
9886	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualizationPlatform", nil, &r.Options, &resp)
9887	return
9888}
9889
9890// Retrieve a list of Windows updates available for a server from the local SoftLayer Windows Server Update Services (WSUS) server. Windows servers provisioned by SoftLayer are configured to use the local WSUS server via the private network by default.
9891func (r Hardware_Server) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
9892	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
9893	return
9894}
9895
9896// Retrieve a list of Windows updates installed on a server as reported by the local SoftLayer Windows Server Update Services (WSUS) server. Windows servers provisioned by SoftLayer are configured to use the local WSUS server via the private network by default.
9897func (r Hardware_Server) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
9898	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
9899	return
9900}
9901
9902// This method returns an update status record for this server.  That record will specify if the server is missing updates, or has updates that must be reinstalled or require a reboot to go into affect.
9903func (r Hardware_Server) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
9904	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateStatus", nil, &r.Options, &resp)
9905	return
9906}
9907
9908// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
9909func (r Hardware_Server) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
9910	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "importVirtualHost", nil, &r.Options, &resp)
9911	return
9912}
9913
9914// Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
9915func (r Hardware_Server) InitiateIderaBareMetalRestore() (resp bool, err error) {
9916	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
9917	return
9918}
9919
9920// R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
9921func (r Hardware_Server) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
9922	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
9923	return
9924}
9925
9926// Issues a ping command and returns the success (true) or failure (false) of the ping command.
9927func (r Hardware_Server) IsBackendPingable() (resp bool, err error) {
9928	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isBackendPingable", nil, &r.Options, &resp)
9929	return
9930}
9931
9932// Issues a ping command and returns the success (true) or failure (false) of the ping command.
9933func (r Hardware_Server) IsPingable() (resp bool, err error) {
9934	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isPingable", nil, &r.Options, &resp)
9935	return
9936}
9937
9938// Determine if the server runs any version of the Microsoft Windows operating systems. Return ''true'' if it does and ''false if otherwise.
9939func (r Hardware_Server) IsWindowsServer() (resp bool, err error) {
9940	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isWindowsServer", nil, &r.Options, &resp)
9941	return
9942}
9943
9944// You can launch firmware updates by selecting from your server list. It will bring your server offline for approximately 20 minutes while the updates are in progress.
9945//
9946// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
9947func (r Hardware_Server) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
9948	params := []interface{}{
9949		hardwareIds,
9950		ipmi,
9951		raidController,
9952		bios,
9953		harddrive,
9954	}
9955	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massFirmwareUpdate", params, &r.Options, &resp)
9956	return
9957}
9958
9959// Reloads current or customer specified operating system configuration.
9960//
9961// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
9962//
9963// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
9964//
9965// The reload will take AT MINIMUM 66 minutes.
9966func (r Hardware_Server) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
9967	params := []interface{}{
9968		hardwareIds,
9969		token,
9970		config,
9971	}
9972	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massReloadOperatingSystem", params, &r.Options, &resp)
9973	return
9974}
9975
9976// The ability to place multiple bare metal servers in a state where they are powered down and ports closed yet still allocated to the customer as a part of the Spare Pool program.
9977func (r Hardware_Server) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
9978	params := []interface{}{
9979		hardwareIds,
9980		action,
9981		newOrder,
9982	}
9983	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massSparePool", params, &r.Options, &resp)
9984	return
9985}
9986
9987// Issues a ping command to the server and returns the ping response.
9988func (r Hardware_Server) Ping() (resp string, err error) {
9989	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "ping", nil, &r.Options, &resp)
9990	return
9991}
9992
9993// no documentation yet
9994func (r Hardware_Server) PopulateServerRam(ramSerialString *string) (err error) {
9995	var resp datatypes.Void
9996	params := []interface{}{
9997		ramSerialString,
9998	}
9999	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "populateServerRam", params, &r.Options, &resp)
10000	return
10001}
10002
10003// Power off then power on the server via powerstrip.  The power cycle command is equivalent to unplugging the server from the powerstrip and then plugging the server back into the powerstrip.  This should only be used as a last resort.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed. This is to avoid any type of server failures.
10004func (r Hardware_Server) PowerCycle() (resp bool, err error) {
10005	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerCycle", nil, &r.Options, &resp)
10006	return
10007}
10008
10009// This method will power off the server via the server's remote management card.
10010func (r Hardware_Server) PowerOff() (resp bool, err error) {
10011	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerOff", nil, &r.Options, &resp)
10012	return
10013}
10014
10015// Power on server via its remote management card.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
10016func (r Hardware_Server) PowerOn() (resp bool, err error) {
10017	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerOn", nil, &r.Options, &resp)
10018	return
10019}
10020
10021// Attempts to reboot the server by issuing a reset (soft reboot) command to the server's remote management card. If the reset (soft reboot) attempt is unsuccessful, a power cycle command will be issued via the powerstrip. The power cycle command is equivalent to unplugging the server from the powerstrip and then plugging the server back into the powerstrip.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
10022func (r Hardware_Server) RebootDefault() (resp bool, err error) {
10023	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootDefault", nil, &r.Options, &resp)
10024	return
10025}
10026
10027// Reboot the server by issuing a cycle command to the server's remote management card.  This is equivalent to pressing the 'Reset' button on the server.  This command is issued immediately and will not wait for processes to shutdown. After this command is issued, the server may take a few moments to boot up as server may run system disks checks. If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
10028func (r Hardware_Server) RebootHard() (resp bool, err error) {
10029	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootHard", nil, &r.Options, &resp)
10030	return
10031}
10032
10033// Reboot the server by issuing a reset command to the server's remote management card.  This is a graceful reboot. The servers will allow all process to shutdown gracefully before rebooting.  If a reboot command has been issued successfully in the past 20 minutes, another remote management command (rebootSoft, rebootHard, powerOn, powerOff and powerCycle) will not be allowed.  This is to avoid any type of server failures.
10034func (r Hardware_Server) RebootSoft() (resp bool, err error) {
10035	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootSoft", nil, &r.Options, &resp)
10036	return
10037}
10038
10039// Reloads current operating system configuration.
10040//
10041// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
10042//
10043// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
10044//
10045// The reload will take AT MINIMUM 66 minutes.
10046func (r Hardware_Server) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
10047	params := []interface{}{
10048		token,
10049	}
10050	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
10051	return
10052}
10053
10054// Reloads current or customer specified operating system configuration.
10055//
10056// This service has a confirmation protocol for proceeding with the reload. To proceed with the reload without confirmation, simply pass in 'FORCE' as the token parameter. To proceed with the reload with confirmation, simply call the service with no parameter. A token string will be returned by this service. The token will remain active for 10 minutes. Use this token as the parameter to confirm that a reload is to be performed for the server.
10057//
10058// As a precaution, we strongly  recommend backing up all data before reloading the operating system. The reload will format the primary disk and will reconfigure the server to the current specifications on record.
10059//
10060// The reload will take AT MINIMUM 66 minutes.
10061func (r Hardware_Server) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
10062	params := []interface{}{
10063		token,
10064		config,
10065	}
10066	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "reloadOperatingSystem", params, &r.Options, &resp)
10067	return
10068}
10069
10070// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
10071func (r Hardware_Server) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
10072	params := []interface{}{
10073		networkStorageTemplateObject,
10074	}
10075	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "removeAccessToNetworkStorage", params, &r.Options, &resp)
10076	return
10077}
10078
10079// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
10080func (r Hardware_Server) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
10081	params := []interface{}{
10082		networkStorageTemplateObjects,
10083	}
10084	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
10085	return
10086}
10087
10088// You can launch a new Passmark hardware test by selecting from your server list. It will bring your server offline for approximately 20 minutes while the testing is in progress, and will publish a certificate with the results to your hardware details page.
10089//
10090// While the hard drives are tested for the initial deployment, the Passmark Certificate utility will not test the hard drives on your live server. This is to ensure that no data is overwritten. If you would like to test the server's hard drives, you can have the full Passmark suite installed to your server free of charge through a new Support ticket.
10091//
10092// While the test itself does not overwrite any data on the server, it is recommended that you make full off-server backups of all data prior to launching the test. The Passmark hardware test is designed to force any latent hardware issues to the surface, so hardware failure is possible.
10093//
10094// In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
10095func (r Hardware_Server) RunPassmarkCertificationBenchmark() (resp bool, err error) {
10096	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
10097	return
10098}
10099
10100// Changes the password that we have stored in our database for a servers' Operating System
10101func (r Hardware_Server) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
10102	params := []interface{}{
10103		newPassword,
10104	}
10105	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setOperatingSystemPassword", params, &r.Options, &resp)
10106	return
10107}
10108
10109// Sets the private network interface speed to the new speed. Speed values can only be 0 (Disconnect), 10, 100, 1000, and 10000. The new speed must be equal to or less than the max speed of the interface.
10110//
10111// It will take less than a minute to update the switch port speed. The server uplink will not be operational again until the server interface speed is updated.
10112func (r Hardware_Server) SetPrivateNetworkInterfaceSpeed(newSpeed *int) (resp bool, err error) {
10113	params := []interface{}{
10114		newSpeed,
10115	}
10116	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
10117	return
10118}
10119
10120// Sets the public network interface speed to the new speed. Speed values can only be 0 (Disconnect), 10, 100, 1000, and 10000. The new speed must be equal to or less than the max speed of the interface.
10121//
10122// It will take less than a minute to update the switch port speed. The server uplink will not be operational again until the server interface speed is updated.
10123func (r Hardware_Server) SetPublicNetworkInterfaceSpeed(newSpeed *int) (resp bool, err error) {
10124	params := []interface{}{
10125		newSpeed,
10126	}
10127	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
10128	return
10129}
10130
10131// no documentation yet
10132func (r Hardware_Server) SetTags(tags *string) (resp bool, err error) {
10133	params := []interface{}{
10134		tags,
10135	}
10136	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setTags", params, &r.Options, &resp)
10137	return
10138}
10139
10140// Sets the data that will be written to the configuration drive.
10141func (r Hardware_Server) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
10142	params := []interface{}{
10143		metadata,
10144	}
10145	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setUserMetadata", params, &r.Options, &resp)
10146	return
10147}
10148
10149// Shuts down the public network port
10150func (r Hardware_Server) ShutdownPrivatePort() (resp bool, err error) {
10151	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "shutdownPrivatePort", nil, &r.Options, &resp)
10152	return
10153}
10154
10155// Shuts down the public network port
10156func (r Hardware_Server) ShutdownPublicPort() (resp bool, err error) {
10157	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "shutdownPublicPort", nil, &r.Options, &resp)
10158	return
10159}
10160
10161// The ability to place bare metal servers in a state where they are powered down, and ports closed yet still allocated to the customer as a part of the Spare Pool program.
10162func (r Hardware_Server) SparePool(action *string, newOrder *bool) (resp bool, err error) {
10163	params := []interface{}{
10164		action,
10165		newOrder,
10166	}
10167	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "sparePool", params, &r.Options, &resp)
10168	return
10169}
10170
10171// This method will update the root IPMI password on this SoftLayer_Hardware.
10172func (r Hardware_Server) UpdateIpmiPassword(password *string) (resp bool, err error) {
10173	params := []interface{}{
10174		password,
10175	}
10176	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "updateIpmiPassword", params, &r.Options, &resp)
10177	return
10178}
10179
10180// Validates a collection of partitions for an operating system
10181func (r Hardware_Server) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
10182	params := []interface{}{
10183		operatingSystem,
10184		partitions,
10185	}
10186	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
10187	return
10188}
10189