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 an 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//
100// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
101// createObject() enables the creation of servers on an account. This
102// method is a simplified alternative to interacting with the ordering system directly.
103//
104//
105// In order to create a server, a template object must be sent in with a few required
106// values.
107//
108//
109// When this method returns an order will have been placed for a server of the specified configuration.
110//
111//
112// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
113// checking the <code>provisionDate</code> property.
114// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
115// as your initialization parameter.
116//
117//
118// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
119//
120//
121// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
122// <ul class="create_object">
123//     <li><code>hostname</code>
124//         <div>Hostname for the server.</div><ul>
125//             <li><b>Required</b></li>
126//             <li><b>Type</b> - string</li>
127//         </ul>
128//         <br />
129//     </li>
130//     <li><code>domain</code>
131//         <div>Domain for the server.</div><ul>
132//             <li><b>Required</b></li>
133//             <li><b>Type</b> - string</li>
134//         </ul>
135//         <br />
136//     </li>
137//     <li><code>processorCoreAmount</code>
138//         <div>The number of logical CPU cores to allocate.</div><ul>
139//             <li><b>Required</b></li>
140//             <li><b>Type</b> - int</li>
141//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
142//         </ul>
143//         <br />
144//     </li>
145//     <li><code>memoryCapacity</code>
146//         <div>The amount of memory to allocate in gigabytes.</div><ul>
147//             <li><b>Required</b></li>
148//             <li><b>Type</b> - int</li>
149//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
150//         </ul>
151//         <br />
152//     </li>
153//     <li><code>hourlyBillingFlag</code>
154//         <div>Specifies the billing type for the server.</div><ul>
155//             <li><b>Required</b></li>
156//             <li><b>Type</b> - boolean</li>
157//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
158//         </ul>
159//         <br />
160//     </li>
161//     <li><code>operatingSystemReferenceCode</code>
162//         <div>An identifier for the operating system to provision the server with.</div><ul>
163//             <li><b>Required</b></li>
164//             <li><b>Type</b> - string</li>
165//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
166//         </ul>
167//         <br />
168//     </li>
169//     <li><code>datacenter.name</code>
170//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
171//             <li><b>Required</b></li>
172//             <li><b>Type</b> - string</li>
173//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
174//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
175//         </ul>
176//         <http title="Example">{
177//     "datacenter": {
178//         "name": "dal05"
179//     }
180// }</http>
181//         <br />
182//     </li>
183//     <li><code>networkComponents.maxSpeed</code>
184//         <div>Specifies the connection speed for the server's network components.</div><ul>
185//             <li><b>Optional</b></li>
186//             <li><b>Type</b> - int</li>
187//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
188//             <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>
189//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
190//         </ul>
191//             <http title="Example">{
192//     "networkComponents": [
193//         {
194//             "maxSpeed": 1000
195//         }
196//     ]
197// }</http>
198//         <br />
199//     </li>
200//     <li><code>networkComponents.redundancyEnabledFlag</code>
201//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
202//             <li><b>Optional</b></li>
203//             <li><b>Type</b> - bool</li>
204//             <li><b>Default</b> - <code>false</code></li>
205//             <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>
206//         </ul>
207//             <http title="Example">{
208//     "networkComponents": [
209//         {
210//             "redundancyEnabledFlag": false
211//         }
212//     ]
213// }</http>
214//         <br />
215//     </li>
216//     <li><code>privateNetworkOnlyFlag</code>
217//         <div>Specifies whether or not the server only has access to the private network</div><ul>
218//             <li><b>Optional</b></li>
219//             <li><b>Type</b> - boolean</li>
220//             <li><b>Default</b> - <code>false</code></li>
221//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
222//         </ul>
223//         <br />
224//     </li>
225//     <li><code>primaryNetworkComponent.networkVlan.id</code>
226//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
227//             <li><b>Optional</b></li>
228//             <li><b>Type</b> - int</li>
229//             <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>
230//         </ul>
231//         <http title="Example">{
232//     "primaryNetworkComponent": {
233//         "networkVlan": {
234//             "id": 1
235//         }
236//     }
237// }</http>
238//         <br />
239//     </li>
240//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
241//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
242//             <li><b>Optional</b></li>
243//             <li><b>Type</b> - int</li>
244//             <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>
245//         </ul>
246//         <http title="Example">{
247//     "primaryBackendNetworkComponent": {
248//         "networkVlan": {
249//             "id": 2
250//         }
251//     }
252// }</http>
253//         <br />
254//     </li>
255//     <li><code>fixedConfigurationPreset.keyName</code>
256//         <div></div><ul>
257//             <li><b>Optional</b></li>
258//             <li><b>Type</b> - string</li>
259//             <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>
260//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
261//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
262//         </ul>
263//         <http title="Example">{
264//     "fixedConfigurationPreset": {
265//         "keyName": "SOME_KEY_NAME"
266//     }
267// }</http>
268//         <br />
269//     </li>
270//     <li><code>userData.value</code>
271//         <div>Arbitrary data to be made available to the server.</div><ul>
272//             <li><b>Optional</b></li>
273//             <li><b>Type</b> - string</li>
274//             <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>
275//             <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>
276//         </ul>
277//         <http title="Example">{
278//     "userData": [
279//         {
280//             "value": "someValue"
281//         }
282//     ]
283// }</http>
284//         <br />
285//     </li>
286//     <li><code>hardDrives</code>
287//         <div>Hard drive settings for the server</div><ul>
288//             <li><b>Optional</b></li>
289//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
290//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
291//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
292//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
293//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
294//         </ul>
295//         <http title="Example">{
296//     "hardDrives": [
297//         {
298//             "capacity": 500
299//         }
300//     ]
301// }</http>
302//         <br />
303//     </li>
304//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
305//         <div>SSH keys to install on the server upon provisioning.</div><ul>
306//             <li><b>Optional</b></li>
307//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
308//             <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>
309//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
310//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
311//         </ul>
312//         <http title="Example">{
313//     "sshKeys": [
314//         {
315//             "id": 123
316//         }
317//     ]
318// }</http>
319//         <br />
320//     </li>
321//     <li><code>postInstallScriptUri</code>
322//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
323//             <li><b>Optional</b></li>
324//             <li><b>Type</b> - string</li>
325//         </ul>
326//         <br />
327//     </li>
328// </ul>
329//
330//
331// <h1>REST Example</h1>
332// <http title="Request">curl -X POST -d '{
333//  "parameters":[
334//      {
335//          "hostname": "host1",
336//          "domain": "example.com",
337//          "processorCoreAmount": 2,
338//          "memoryCapacity": 2,
339//          "hourlyBillingFlag": true,
340//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
341//      }
342//  ]
343// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
344// </http>
345// <http title="Response">HTTP/1.1 201 Created
346// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
347//
348//
349// {
350//     "accountId": 232298,
351//     "bareMetalInstanceFlag": null,
352//     "domain": "example.com",
353//     "hardwareStatusId": null,
354//     "hostname": "host1",
355//     "id": null,
356//     "serviceProviderId": null,
357//     "serviceProviderResourceId": null,
358//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
359//     "hourlyBillingFlag": true,
360//     "memoryCapacity": 2,
361//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
362//     "processorCoreAmount": 2
363// }
364// </http>
365func (r Hardware) CreateObject(templateObject *datatypes.Hardware) (resp datatypes.Hardware, err error) {
366	params := []interface{}{
367		templateObject,
368	}
369	err = r.Session.DoRequest("SoftLayer_Hardware", "createObject", params, &r.Options, &resp)
370	return
371}
372
373//
374// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
375func (r Hardware) DeleteObject() (resp bool, err error) {
376	err = r.Session.DoRequest("SoftLayer_Hardware", "deleteObject", nil, &r.Options, &resp)
377	return
378}
379
380// Delete software component passwords.
381func (r Hardware) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
382	params := []interface{}{
383		softwareComponentPasswords,
384	}
385	err = r.Session.DoRequest("SoftLayer_Hardware", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
386	return
387}
388
389// Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
390func (r Hardware) DeleteTag(tagName *string) (resp bool, err error) {
391	params := []interface{}{
392		tagName,
393	}
394	err = r.Session.DoRequest("SoftLayer_Hardware", "deleteTag", 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. 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// Retrieve
461func (r Hardware) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
462	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllPowerComponents", nil, &r.Options, &resp)
463	return
464}
465
466// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
467func (r Hardware) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
468	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedHost", nil, &r.Options, &resp)
469	return
470}
471
472// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
473func (r Hardware) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
474	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedNetworkStorage", nil, &r.Options, &resp)
475	return
476}
477
478// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
479func (r Hardware) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
480	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
481	return
482}
483
484// Retrieve Information regarding an antivirus/spyware software component object.
485func (r Hardware) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
486	err = r.Session.DoRequest("SoftLayer_Hardware", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
487	return
488}
489
490// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
491func (r Hardware) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
492	params := []interface{}{
493		nasType,
494	}
495	err = r.Session.DoRequest("SoftLayer_Hardware", "getAttachedNetworkStorages", params, &r.Options, &resp)
496	return
497}
498
499// Retrieve Information regarding a piece of hardware's specific attributes.
500func (r Hardware) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
501	err = r.Session.DoRequest("SoftLayer_Hardware", "getAttributes", nil, &r.Options, &resp)
502	return
503}
504
505// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
506func (r Hardware) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
507	params := []interface{}{
508		nasType,
509	}
510	err = r.Session.DoRequest("SoftLayer_Hardware", "getAvailableNetworkStorages", params, &r.Options, &resp)
511	return
512}
513
514// Retrieve The average daily public bandwidth usage for the current billing cycle.
515func (r Hardware) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
516	err = r.Session.DoRequest("SoftLayer_Hardware", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
517	return
518}
519
520// 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.
521func (r Hardware) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
522	params := []interface{}{
523		startDate,
524		endDate,
525	}
526	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendIncomingBandwidth", params, &r.Options, &resp)
527	return
528}
529
530// Retrieve A piece of hardware's back-end or private network components.
531func (r Hardware) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
532	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendNetworkComponents", nil, &r.Options, &resp)
533	return
534}
535
536// 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.
537func (r Hardware) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
538	params := []interface{}{
539		startDate,
540		endDate,
541	}
542	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
543	return
544}
545
546// Retrieve A hardware's backend or private router.
547func (r Hardware) GetBackendRouters() (resp []datatypes.Hardware, err error) {
548	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendRouters", nil, &r.Options, &resp)
549	return
550}
551
552// Retrieve A hardware's allotted bandwidth (measured in GB).
553func (r Hardware) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
554	err = r.Session.DoRequest("SoftLayer_Hardware", "getBandwidthAllocation", nil, &r.Options, &resp)
555	return
556}
557
558// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
559func (r Hardware) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
560	err = r.Session.DoRequest("SoftLayer_Hardware", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
561	return
562}
563
564// Retrieve Information regarding a piece of hardware's benchmark certifications.
565func (r Hardware) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
566	err = r.Session.DoRequest("SoftLayer_Hardware", "getBenchmarkCertifications", nil, &r.Options, &resp)
567	return
568}
569
570// Retrieve Information regarding the billing item for a server.
571func (r Hardware) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
572	err = r.Session.DoRequest("SoftLayer_Hardware", "getBillingItem", nil, &r.Options, &resp)
573	return
574}
575
576// Retrieve A flag indicating that a billing item exists.
577func (r Hardware) GetBillingItemFlag() (resp bool, err error) {
578	err = r.Session.DoRequest("SoftLayer_Hardware", "getBillingItemFlag", nil, &r.Options, &resp)
579	return
580}
581
582// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
583func (r Hardware) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
584	err = r.Session.DoRequest("SoftLayer_Hardware", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
585	return
586}
587
588// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
589func (r Hardware) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
590	err = r.Session.DoRequest("SoftLayer_Hardware", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
591	return
592}
593
594// Retrieve Child hardware.
595func (r Hardware) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
596	err = r.Session.DoRequest("SoftLayer_Hardware", "getChildrenHardware", nil, &r.Options, &resp)
597	return
598}
599
600// no documentation yet
601func (r Hardware) GetComponentDetailsXML() (resp string, err error) {
602	err = r.Session.DoRequest("SoftLayer_Hardware", "getComponentDetailsXML", nil, &r.Options, &resp)
603	return
604}
605
606// Retrieve A piece of hardware's components.
607func (r Hardware) GetComponents() (resp []datatypes.Hardware_Component, err error) {
608	err = r.Session.DoRequest("SoftLayer_Hardware", "getComponents", nil, &r.Options, &resp)
609	return
610}
611
612// Retrieve A continuous data protection/server backup software component object.
613func (r Hardware) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
614	err = r.Session.DoRequest("SoftLayer_Hardware", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
615	return
616}
617
618//
619// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
620//
621//
622// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
623func (r Hardware) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
624	err = r.Session.DoRequest("SoftLayer_Hardware", "getCreateObjectOptions", nil, &r.Options, &resp)
625	return
626}
627
628// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
629func (r Hardware) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
630	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
631	return
632}
633
634// Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
635func (r Hardware) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
636	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillingDetail", nil, &r.Options, &resp)
637	return
638}
639
640// Get the total bill amount in US Dollars ($) for this hardware in the current billing period. This includes all bandwidth used up to the point the method is called on the hardware.
641func (r Hardware) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
642	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillingTotal", nil, &r.Options, &resp)
643	return
644}
645
646// 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.
647func (r Hardware) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
648	params := []interface{}{
649		startDate,
650		endDate,
651	}
652	err = r.Session.DoRequest("SoftLayer_Hardware", "getDailyAverage", params, &r.Options, &resp)
653	return
654}
655
656// Retrieve Information regarding the datacenter in which a piece of hardware resides.
657func (r Hardware) GetDatacenter() (resp datatypes.Location, err error) {
658	err = r.Session.DoRequest("SoftLayer_Hardware", "getDatacenter", nil, &r.Options, &resp)
659	return
660}
661
662// Retrieve The name of the datacenter in which a piece of hardware resides.
663func (r Hardware) GetDatacenterName() (resp string, err error) {
664	err = r.Session.DoRequest("SoftLayer_Hardware", "getDatacenterName", nil, &r.Options, &resp)
665	return
666}
667
668// Retrieve Number of day(s) a server have been in spare pool.
669func (r Hardware) GetDaysInSparePool() (resp int, err error) {
670	err = r.Session.DoRequest("SoftLayer_Hardware", "getDaysInSparePool", nil, &r.Options, &resp)
671	return
672}
673
674// Retrieve All hardware that has uplink network connections to a piece of hardware.
675func (r Hardware) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
676	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkHardware", nil, &r.Options, &resp)
677	return
678}
679
680// Retrieve All hardware that has uplink network connections to a piece of hardware.
681func (r Hardware) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
682	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
683	return
684}
685
686// Retrieve Information regarding all servers attached to a piece of network hardware.
687func (r Hardware) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
688	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkServers", nil, &r.Options, &resp)
689	return
690}
691
692// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
693func (r Hardware) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
694	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
695	return
696}
697
698// Retrieve All hardware downstream from a network device.
699func (r Hardware) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
700	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
701	return
702}
703
704// Retrieve All network hardware downstream from the selected piece of hardware.
705func (r Hardware) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
706	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
707	return
708}
709
710// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
711func (r Hardware) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
712	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
713	return
714}
715
716// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
717func (r Hardware) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
718	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamServers", nil, &r.Options, &resp)
719	return
720}
721
722// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
723func (r Hardware) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
724	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
725	return
726}
727
728// Retrieve The drive controllers contained within a piece of hardware.
729func (r Hardware) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
730	err = r.Session.DoRequest("SoftLayer_Hardware", "getDriveControllers", nil, &r.Options, &resp)
731	return
732}
733
734// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
735func (r Hardware) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
736	err = r.Session.DoRequest("SoftLayer_Hardware", "getEvaultNetworkStorage", nil, &r.Options, &resp)
737	return
738}
739
740// Retrieve Information regarding a piece of hardware's firewall services.
741func (r Hardware) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
742	err = r.Session.DoRequest("SoftLayer_Hardware", "getFirewallServiceComponent", nil, &r.Options, &resp)
743	return
744}
745
746// Retrieve Defines the fixed components in a fixed configuration bare metal server.
747func (r Hardware) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
748	err = r.Session.DoRequest("SoftLayer_Hardware", "getFixedConfigurationPreset", nil, &r.Options, &resp)
749	return
750}
751
752// 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).
753func (r Hardware) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
754	params := []interface{}{
755		startDate,
756		endDate,
757	}
758	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
759	return
760}
761
762// Retrieve A piece of hardware's front-end or public network components.
763func (r Hardware) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
764	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendNetworkComponents", nil, &r.Options, &resp)
765	return
766}
767
768// 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).
769func (r Hardware) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
770	params := []interface{}{
771		startDate,
772		endDate,
773	}
774	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
775	return
776}
777
778// Retrieve A hardware's frontend or public router.
779func (r Hardware) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
780	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendRouters", nil, &r.Options, &resp)
781	return
782}
783
784// Retrieve A hardware's universally unique identifier.
785func (r Hardware) GetGlobalIdentifier() (resp string, err error) {
786	err = r.Session.DoRequest("SoftLayer_Hardware", "getGlobalIdentifier", nil, &r.Options, &resp)
787	return
788}
789
790// Retrieve The hard drives contained within a piece of hardware.
791func (r Hardware) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
792	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardDrives", nil, &r.Options, &resp)
793	return
794}
795
796// Retrieve The chassis that a piece of hardware is housed in.
797func (r Hardware) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
798	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareChassis", nil, &r.Options, &resp)
799	return
800}
801
802// Retrieve A hardware's function.
803func (r Hardware) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
804	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareFunction", nil, &r.Options, &resp)
805	return
806}
807
808// Retrieve A hardware's function.
809func (r Hardware) GetHardwareFunctionDescription() (resp string, err error) {
810	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareFunctionDescription", nil, &r.Options, &resp)
811	return
812}
813
814// Retrieve A hardware's status.
815func (r Hardware) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
816	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareStatus", nil, &r.Options, &resp)
817	return
818}
819
820// Retrieve Determine in hardware object has TPM enabled.
821func (r Hardware) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
822	err = r.Session.DoRequest("SoftLayer_Hardware", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
823	return
824}
825
826// Retrieve Information regarding a host IPS software component object.
827func (r Hardware) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
828	err = r.Session.DoRequest("SoftLayer_Hardware", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
829	return
830}
831
832// 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
833//
834// '02/01/2008 0:00'
835//
836// 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).
837//
838// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
839func (r Hardware) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
840	params := []interface{}{
841		mode,
842		day,
843	}
844	err = r.Session.DoRequest("SoftLayer_Hardware", "getHourlyBandwidth", params, &r.Options, &resp)
845	return
846}
847
848// Retrieve A server's hourly billing status.
849func (r Hardware) GetHourlyBillingFlag() (resp bool, err error) {
850	err = r.Session.DoRequest("SoftLayer_Hardware", "getHourlyBillingFlag", nil, &r.Options, &resp)
851	return
852}
853
854// Retrieve The sum of all the inbound network traffic data for the last 30 days.
855func (r Hardware) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
856	err = r.Session.DoRequest("SoftLayer_Hardware", "getInboundBandwidthUsage", nil, &r.Options, &resp)
857	return
858}
859
860// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
861func (r Hardware) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
862	err = r.Session.DoRequest("SoftLayer_Hardware", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
863	return
864}
865
866// Retrieve Information regarding the last transaction a server performed.
867func (r Hardware) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
868	err = r.Session.DoRequest("SoftLayer_Hardware", "getLastTransaction", nil, &r.Options, &resp)
869	return
870}
871
872// Retrieve A piece of hardware's latest network monitoring incident.
873func (r Hardware) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
874	err = r.Session.DoRequest("SoftLayer_Hardware", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
875	return
876}
877
878// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
879func (r Hardware) GetLocation() (resp datatypes.Location, err error) {
880	err = r.Session.DoRequest("SoftLayer_Hardware", "getLocation", nil, &r.Options, &resp)
881	return
882}
883
884// Retrieve
885func (r Hardware) GetLocationPathString() (resp string, err error) {
886	err = r.Session.DoRequest("SoftLayer_Hardware", "getLocationPathString", nil, &r.Options, &resp)
887	return
888}
889
890// Retrieve Information regarding a lockbox account associated with a server.
891func (r Hardware) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
892	err = r.Session.DoRequest("SoftLayer_Hardware", "getLockboxNetworkStorage", nil, &r.Options, &resp)
893	return
894}
895
896// Retrieve A flag indicating that the hardware is a managed resource.
897func (r Hardware) GetManagedResourceFlag() (resp bool, err error) {
898	err = r.Session.DoRequest("SoftLayer_Hardware", "getManagedResourceFlag", nil, &r.Options, &resp)
899	return
900}
901
902// Retrieve Information regarding a piece of hardware's memory.
903func (r Hardware) GetMemory() (resp []datatypes.Hardware_Component, err error) {
904	err = r.Session.DoRequest("SoftLayer_Hardware", "getMemory", nil, &r.Options, &resp)
905	return
906}
907
908// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
909func (r Hardware) GetMemoryCapacity() (resp uint, err error) {
910	err = r.Session.DoRequest("SoftLayer_Hardware", "getMemoryCapacity", nil, &r.Options, &resp)
911	return
912}
913
914// Retrieve A piece of hardware's metric tracking object.
915func (r Hardware) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
916	err = r.Session.DoRequest("SoftLayer_Hardware", "getMetricTrackingObject", nil, &r.Options, &resp)
917	return
918}
919
920// Retrieve
921func (r Hardware) GetModules() (resp []datatypes.Hardware_Component, err error) {
922	err = r.Session.DoRequest("SoftLayer_Hardware", "getModules", nil, &r.Options, &resp)
923	return
924}
925
926// Retrieve
927func (r Hardware) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
928	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringRobot", nil, &r.Options, &resp)
929	return
930}
931
932// Retrieve Information regarding a piece of hardware's network monitoring services.
933func (r Hardware) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
934	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringServiceComponent", nil, &r.Options, &resp)
935	return
936}
937
938// Retrieve
939func (r Hardware) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
940	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
941	return
942}
943
944// Retrieve Information regarding a piece of hardware's motherboard.
945func (r Hardware) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
946	err = r.Session.DoRequest("SoftLayer_Hardware", "getMotherboard", nil, &r.Options, &resp)
947	return
948}
949
950// Retrieve Information regarding a piece of hardware's network cards.
951func (r Hardware) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
952	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkCards", nil, &r.Options, &resp)
953	return
954}
955
956// Retrieve Returns a hardware's network components.
957func (r Hardware) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
958	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkComponents", nil, &r.Options, &resp)
959	return
960}
961
962// Retrieve The gateway member if this device is part of a network gateway.
963func (r Hardware) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
964	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkGatewayMember", nil, &r.Options, &resp)
965	return
966}
967
968// Retrieve Whether or not this device is part of a network gateway.
969func (r Hardware) GetNetworkGatewayMemberFlag() (resp bool, err error) {
970	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
971	return
972}
973
974// Retrieve A piece of hardware's network management IP address.
975func (r Hardware) GetNetworkManagementIpAddress() (resp string, err error) {
976	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
977	return
978}
979
980// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
981func (r Hardware) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
982	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
983	return
984}
985
986// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
987func (r Hardware) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
988	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
989	return
990}
991
992// Retrieve The status of all of a piece of hardware's network monitoring incidents.
993func (r Hardware) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
994	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
995	return
996}
997
998// Retrieve Information regarding a piece of hardware's network monitors.
999func (r Hardware) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
1000	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitors", nil, &r.Options, &resp)
1001	return
1002}
1003
1004// Retrieve The value of a hardware's network status attribute.
1005func (r Hardware) GetNetworkStatus() (resp string, err error) {
1006	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStatus", nil, &r.Options, &resp)
1007	return
1008}
1009
1010// Retrieve The hardware's related network status attribute.
1011func (r Hardware) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
1012	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStatusAttribute", nil, &r.Options, &resp)
1013	return
1014}
1015
1016// Retrieve Information regarding a piece of hardware's associated network storage service account.
1017func (r Hardware) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
1018	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStorage", nil, &r.Options, &resp)
1019	return
1020}
1021
1022// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
1023func (r Hardware) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
1024	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkVlans", nil, &r.Options, &resp)
1025	return
1026}
1027
1028// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
1029func (r Hardware) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
1030	err = r.Session.DoRequest("SoftLayer_Hardware", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
1031	return
1032}
1033
1034// Retrieve
1035func (r Hardware) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
1036	err = r.Session.DoRequest("SoftLayer_Hardware", "getNotesHistory", nil, &r.Options, &resp)
1037	return
1038}
1039
1040// Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
1041func (r Hardware) GetNvRamCapacity() (resp uint, err error) {
1042	err = r.Session.DoRequest("SoftLayer_Hardware", "getNvRamCapacity", nil, &r.Options, &resp)
1043	return
1044}
1045
1046// Retrieve
1047func (r Hardware) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
1048	err = r.Session.DoRequest("SoftLayer_Hardware", "getNvRamComponentModels", nil, &r.Options, &resp)
1049	return
1050}
1051
1052// 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.
1053func (r Hardware) GetObject() (resp datatypes.Hardware, err error) {
1054	err = r.Session.DoRequest("SoftLayer_Hardware", "getObject", nil, &r.Options, &resp)
1055	return
1056}
1057
1058// Retrieve Information regarding a piece of hardware's operating system.
1059func (r Hardware) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
1060	err = r.Session.DoRequest("SoftLayer_Hardware", "getOperatingSystem", nil, &r.Options, &resp)
1061	return
1062}
1063
1064// Retrieve A hardware's operating system software description.
1065func (r Hardware) GetOperatingSystemReferenceCode() (resp string, err error) {
1066	err = r.Session.DoRequest("SoftLayer_Hardware", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
1067	return
1068}
1069
1070// Retrieve The sum of all the outbound network traffic data for the last 30 days.
1071func (r Hardware) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
1072	err = r.Session.DoRequest("SoftLayer_Hardware", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
1073	return
1074}
1075
1076// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
1077func (r Hardware) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
1078	err = r.Session.DoRequest("SoftLayer_Hardware", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
1079	return
1080}
1081
1082// Retrieve Blade Bay
1083func (r Hardware) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
1084	err = r.Session.DoRequest("SoftLayer_Hardware", "getParentBay", nil, &r.Options, &resp)
1085	return
1086}
1087
1088// Retrieve Parent Hardware.
1089func (r Hardware) GetParentHardware() (resp datatypes.Hardware, err error) {
1090	err = r.Session.DoRequest("SoftLayer_Hardware", "getParentHardware", nil, &r.Options, &resp)
1091	return
1092}
1093
1094// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
1095func (r Hardware) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
1096	err = r.Session.DoRequest("SoftLayer_Hardware", "getPointOfPresenceLocation", nil, &r.Options, &resp)
1097	return
1098}
1099
1100// Retrieve The power components for a hardware object.
1101func (r Hardware) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
1102	err = r.Session.DoRequest("SoftLayer_Hardware", "getPowerComponents", nil, &r.Options, &resp)
1103	return
1104}
1105
1106// Retrieve Information regarding a piece of hardware's power supply.
1107func (r Hardware) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
1108	err = r.Session.DoRequest("SoftLayer_Hardware", "getPowerSupply", nil, &r.Options, &resp)
1109	return
1110}
1111
1112// Retrieve The hardware's primary private IP address.
1113func (r Hardware) GetPrimaryBackendIpAddress() (resp string, err error) {
1114	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
1115	return
1116}
1117
1118// Retrieve Information regarding the hardware's primary back-end network component.
1119func (r Hardware) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
1120	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
1121	return
1122}
1123
1124// Retrieve The hardware's primary public IP address.
1125func (r Hardware) GetPrimaryIpAddress() (resp string, err error) {
1126	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryIpAddress", nil, &r.Options, &resp)
1127	return
1128}
1129
1130// Retrieve Information regarding the hardware's primary public network component.
1131func (r Hardware) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
1132	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
1133	return
1134}
1135
1136// 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.
1137func (r Hardware) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
1138	params := []interface{}{
1139		startTime,
1140		endTime,
1141	}
1142	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrivateBandwidthData", params, &r.Options, &resp)
1143	return
1144}
1145
1146// Retrieve Whether the hardware only has access to the private network.
1147func (r Hardware) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
1148	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
1149	return
1150}
1151
1152// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
1153func (r Hardware) GetProcessorCoreAmount() (resp uint, err error) {
1154	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessorCoreAmount", nil, &r.Options, &resp)
1155	return
1156}
1157
1158// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
1159func (r Hardware) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
1160	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
1161	return
1162}
1163
1164// Retrieve Information regarding a piece of hardware's processors.
1165func (r Hardware) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
1166	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessors", nil, &r.Options, &resp)
1167	return
1168}
1169
1170// 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.
1171func (r Hardware) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
1172	params := []interface{}{
1173		startTime,
1174		endTime,
1175	}
1176	err = r.Session.DoRequest("SoftLayer_Hardware", "getPublicBandwidthData", params, &r.Options, &resp)
1177	return
1178}
1179
1180// Retrieve
1181func (r Hardware) GetRack() (resp datatypes.Location, err error) {
1182	err = r.Session.DoRequest("SoftLayer_Hardware", "getRack", nil, &r.Options, &resp)
1183	return
1184}
1185
1186// Retrieve The RAID controllers contained within a piece of hardware.
1187func (r Hardware) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
1188	err = r.Session.DoRequest("SoftLayer_Hardware", "getRaidControllers", nil, &r.Options, &resp)
1189	return
1190}
1191
1192// Retrieve Recent events that impact this hardware.
1193func (r Hardware) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
1194	err = r.Session.DoRequest("SoftLayer_Hardware", "getRecentEvents", nil, &r.Options, &resp)
1195	return
1196}
1197
1198// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
1199func (r Hardware) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
1200	err = r.Session.DoRequest("SoftLayer_Hardware", "getRemoteManagementAccounts", nil, &r.Options, &resp)
1201	return
1202}
1203
1204// Retrieve A hardware's associated remote management component. This is normally IPMI.
1205func (r Hardware) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
1206	err = r.Session.DoRequest("SoftLayer_Hardware", "getRemoteManagementComponent", nil, &r.Options, &resp)
1207	return
1208}
1209
1210// Retrieve
1211func (r Hardware) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
1212	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceConfigurations", nil, &r.Options, &resp)
1213	return
1214}
1215
1216// Retrieve
1217func (r Hardware) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
1218	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
1219	return
1220}
1221
1222// Retrieve
1223func (r Hardware) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
1224	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroupRoles", nil, &r.Options, &resp)
1225	return
1226}
1227
1228// Retrieve The resource groups in which this hardware is a member.
1229func (r Hardware) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
1230	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroups", nil, &r.Options, &resp)
1231	return
1232}
1233
1234// Retrieve A hardware's routers.
1235func (r Hardware) GetRouters() (resp []datatypes.Hardware, err error) {
1236	err = r.Session.DoRequest("SoftLayer_Hardware", "getRouters", nil, &r.Options, &resp)
1237	return
1238}
1239
1240// Retrieve Collection of scale assets this hardware corresponds to.
1241func (r Hardware) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
1242	err = r.Session.DoRequest("SoftLayer_Hardware", "getScaleAssets", nil, &r.Options, &resp)
1243	return
1244}
1245
1246// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
1247func (r Hardware) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
1248	err = r.Session.DoRequest("SoftLayer_Hardware", "getSecurityScanRequests", nil, &r.Options, &resp)
1249	return
1250}
1251
1252// 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.
1253func (r Hardware) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
1254	err = r.Session.DoRequest("SoftLayer_Hardware", "getSensorData", nil, &r.Options, &resp)
1255	return
1256}
1257
1258// 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.
1259func (r Hardware) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
1260	err = r.Session.DoRequest("SoftLayer_Hardware", "getSensorDataWithGraphs", nil, &r.Options, &resp)
1261	return
1262}
1263
1264// 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.
1265func (r Hardware) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
1266	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
1267	return
1268}
1269
1270// 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.
1271func (r Hardware) GetServerPowerState() (resp string, err error) {
1272	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerPowerState", nil, &r.Options, &resp)
1273	return
1274}
1275
1276// Retrieve Information regarding the server room in which the hardware is located.
1277func (r Hardware) GetServerRoom() (resp datatypes.Location, err error) {
1278	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerRoom", nil, &r.Options, &resp)
1279	return
1280}
1281
1282// 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.
1283func (r Hardware) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
1284	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerTemperatureGraphs", nil, &r.Options, &resp)
1285	return
1286}
1287
1288// Retrieve Information regarding the piece of hardware's service provider.
1289func (r Hardware) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
1290	err = r.Session.DoRequest("SoftLayer_Hardware", "getServiceProvider", nil, &r.Options, &resp)
1291	return
1292}
1293
1294// Retrieve Information regarding a piece of hardware's installed software.
1295func (r Hardware) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
1296	err = r.Session.DoRequest("SoftLayer_Hardware", "getSoftwareComponents", nil, &r.Options, &resp)
1297	return
1298}
1299
1300// Retrieve Information regarding the billing item for a spare pool server.
1301func (r Hardware) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
1302	err = r.Session.DoRequest("SoftLayer_Hardware", "getSparePoolBillingItem", nil, &r.Options, &resp)
1303	return
1304}
1305
1306// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
1307func (r Hardware) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
1308	err = r.Session.DoRequest("SoftLayer_Hardware", "getSshKeys", nil, &r.Options, &resp)
1309	return
1310}
1311
1312// Retrieve
1313func (r Hardware) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
1314	err = r.Session.DoRequest("SoftLayer_Hardware", "getStorageGroups", nil, &r.Options, &resp)
1315	return
1316}
1317
1318// Retrieve A piece of hardware's private storage network components. [Deprecated]
1319func (r Hardware) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
1320	err = r.Session.DoRequest("SoftLayer_Hardware", "getStorageNetworkComponents", nil, &r.Options, &resp)
1321	return
1322}
1323
1324// Retrieve
1325func (r Hardware) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
1326	err = r.Session.DoRequest("SoftLayer_Hardware", "getTagReferences", nil, &r.Options, &resp)
1327	return
1328}
1329
1330// Retrieve
1331func (r Hardware) GetTopLevelLocation() (resp datatypes.Location, err error) {
1332	err = r.Session.DoRequest("SoftLayer_Hardware", "getTopLevelLocation", nil, &r.Options, &resp)
1333	return
1334}
1335
1336//
1337// This method will query transaction history for a piece of hardware.
1338func (r Hardware) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
1339	err = r.Session.DoRequest("SoftLayer_Hardware", "getTransactionHistory", nil, &r.Options, &resp)
1340	return
1341}
1342
1343// 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.
1344func (r Hardware) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
1345	err = r.Session.DoRequest("SoftLayer_Hardware", "getUpgradeItemPrices", nil, &r.Options, &resp)
1346	return
1347}
1348
1349// Retrieve An account's associated upgrade request object, if any.
1350func (r Hardware) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
1351	err = r.Session.DoRequest("SoftLayer_Hardware", "getUpgradeRequest", nil, &r.Options, &resp)
1352	return
1353}
1354
1355// Retrieve The network device connected to a piece of hardware.
1356func (r Hardware) GetUplinkHardware() (resp datatypes.Hardware, err error) {
1357	err = r.Session.DoRequest("SoftLayer_Hardware", "getUplinkHardware", nil, &r.Options, &resp)
1358	return
1359}
1360
1361// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
1362func (r Hardware) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
1363	err = r.Session.DoRequest("SoftLayer_Hardware", "getUplinkNetworkComponents", nil, &r.Options, &resp)
1364	return
1365}
1366
1367// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
1368func (r Hardware) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
1369	err = r.Session.DoRequest("SoftLayer_Hardware", "getUserData", nil, &r.Options, &resp)
1370	return
1371}
1372
1373// Retrieve Information regarding the virtual chassis for a piece of hardware.
1374func (r Hardware) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
1375	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualChassis", nil, &r.Options, &resp)
1376	return
1377}
1378
1379// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
1380func (r Hardware) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
1381	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualChassisSiblings", nil, &r.Options, &resp)
1382	return
1383}
1384
1385// Retrieve A piece of hardware's virtual host record.
1386func (r Hardware) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
1387	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualHost", nil, &r.Options, &resp)
1388	return
1389}
1390
1391// Retrieve Information regarding a piece of hardware's virtual software licenses.
1392func (r Hardware) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
1393	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualLicenses", nil, &r.Options, &resp)
1394	return
1395}
1396
1397// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
1398func (r Hardware) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
1399	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRack", nil, &r.Options, &resp)
1400	return
1401}
1402
1403// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
1404func (r Hardware) GetVirtualRackId() (resp int, err error) {
1405	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRackId", nil, &r.Options, &resp)
1406	return
1407}
1408
1409// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
1410func (r Hardware) GetVirtualRackName() (resp string, err error) {
1411	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRackName", nil, &r.Options, &resp)
1412	return
1413}
1414
1415// Retrieve A piece of hardware's virtualization platform software.
1416func (r Hardware) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
1417	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualizationPlatform", nil, &r.Options, &resp)
1418	return
1419}
1420
1421// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
1422func (r Hardware) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
1423	err = r.Session.DoRequest("SoftLayer_Hardware", "importVirtualHost", nil, &r.Options, &resp)
1424	return
1425}
1426
1427// 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.
1428func (r Hardware) IsPingable() (resp bool, err error) {
1429	err = r.Session.DoRequest("SoftLayer_Hardware", "isPingable", nil, &r.Options, &resp)
1430	return
1431}
1432
1433// Issues a ping command to the server and returns the ping response.
1434func (r Hardware) Ping() (resp string, err error) {
1435	err = r.Session.DoRequest("SoftLayer_Hardware", "ping", nil, &r.Options, &resp)
1436	return
1437}
1438
1439// 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:
1440//
1441// rebootSoft rebootHard powerOn powerOff powerCycle
1442//
1443//
1444func (r Hardware) PowerCycle() (resp bool, err error) {
1445	err = r.Session.DoRequest("SoftLayer_Hardware", "powerCycle", nil, &r.Options, &resp)
1446	return
1447}
1448
1449// This method will power off the server via the server's remote management card.
1450func (r Hardware) PowerOff() (resp bool, err error) {
1451	err = r.Session.DoRequest("SoftLayer_Hardware", "powerOff", nil, &r.Options, &resp)
1452	return
1453}
1454
1455// 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:
1456//
1457// rebootSoft rebootHard powerOn powerOff powerCycle
1458//
1459//
1460func (r Hardware) PowerOn() (resp bool, err error) {
1461	err = r.Session.DoRequest("SoftLayer_Hardware", "powerOn", nil, &r.Options, &resp)
1462	return
1463}
1464
1465// 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:
1466//
1467// rebootSoft rebootHard powerOn powerOff powerCycle
1468//
1469//
1470func (r Hardware) RebootDefault() (resp bool, err error) {
1471	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootDefault", nil, &r.Options, &resp)
1472	return
1473}
1474
1475// 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.
1476//
1477// 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:
1478//
1479// rebootSoft rebootHard powerOn powerOff powerCycle
1480//
1481//
1482func (r Hardware) RebootHard() (resp bool, err error) {
1483	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootHard", nil, &r.Options, &resp)
1484	return
1485}
1486
1487// 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:
1488//
1489// rebootSoft rebootHard powerOn powerOff powerCycle
1490//
1491//
1492func (r Hardware) RebootSoft() (resp bool, err error) {
1493	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootSoft", nil, &r.Options, &resp)
1494	return
1495}
1496
1497// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
1498func (r Hardware) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
1499	params := []interface{}{
1500		networkStorageTemplateObject,
1501	}
1502	err = r.Session.DoRequest("SoftLayer_Hardware", "removeAccessToNetworkStorage", params, &r.Options, &resp)
1503	return
1504}
1505
1506// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
1507func (r Hardware) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
1508	params := []interface{}{
1509		networkStorageTemplateObjects,
1510	}
1511	err = r.Session.DoRequest("SoftLayer_Hardware", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
1512	return
1513}
1514
1515// no documentation yet
1516func (r Hardware) RemoveTags(tags *string) (resp bool, err error) {
1517	params := []interface{}{
1518		tags,
1519	}
1520	err = r.Session.DoRequest("SoftLayer_Hardware", "removeTags", params, &r.Options, &resp)
1521	return
1522}
1523
1524// no documentation yet
1525func (r Hardware) SetTags(tags *string) (resp bool, err error) {
1526	params := []interface{}{
1527		tags,
1528	}
1529	err = r.Session.DoRequest("SoftLayer_Hardware", "setTags", params, &r.Options, &resp)
1530	return
1531}
1532
1533// This method will update the root IPMI password on this SoftLayer_Hardware.
1534func (r Hardware) UpdateIpmiPassword(password *string) (resp bool, err error) {
1535	params := []interface{}{
1536		password,
1537	}
1538	err = r.Session.DoRequest("SoftLayer_Hardware", "updateIpmiPassword", params, &r.Options, &resp)
1539	return
1540}
1541
1542// The SoftLayer_Hardware_Benchmark_Certification data type contains general information relating to a single SoftLayer hardware benchmark certification document.
1543type Hardware_Benchmark_Certification struct {
1544	Session *session.Session
1545	Options sl.Options
1546}
1547
1548// GetHardwareBenchmarkCertificationService returns an instance of the Hardware_Benchmark_Certification SoftLayer service
1549func GetHardwareBenchmarkCertificationService(sess *session.Session) Hardware_Benchmark_Certification {
1550	return Hardware_Benchmark_Certification{Session: sess}
1551}
1552
1553func (r Hardware_Benchmark_Certification) Id(id int) Hardware_Benchmark_Certification {
1554	r.Options.Id = &id
1555	return r
1556}
1557
1558func (r Hardware_Benchmark_Certification) Mask(mask string) Hardware_Benchmark_Certification {
1559	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1560		mask = fmt.Sprintf("mask[%s]", mask)
1561	}
1562
1563	r.Options.Mask = mask
1564	return r
1565}
1566
1567func (r Hardware_Benchmark_Certification) Filter(filter string) Hardware_Benchmark_Certification {
1568	r.Options.Filter = filter
1569	return r
1570}
1571
1572func (r Hardware_Benchmark_Certification) Limit(limit int) Hardware_Benchmark_Certification {
1573	r.Options.Limit = &limit
1574	return r
1575}
1576
1577func (r Hardware_Benchmark_Certification) Offset(offset int) Hardware_Benchmark_Certification {
1578	r.Options.Offset = &offset
1579	return r
1580}
1581
1582// Retrieve Information regarding a benchmark certification result's associated SoftLayer customer account.
1583func (r Hardware_Benchmark_Certification) GetAccount() (resp datatypes.Account, err error) {
1584	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getAccount", nil, &r.Options, &resp)
1585	return
1586}
1587
1588// Retrieve Information regarding the piece of hardware on which a benchmark certification test was performed.
1589func (r Hardware_Benchmark_Certification) GetHardware() (resp datatypes.Hardware, err error) {
1590	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getHardware", nil, &r.Options, &resp)
1591	return
1592}
1593
1594// 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.
1595func (r Hardware_Benchmark_Certification) GetObject() (resp datatypes.Hardware_Benchmark_Certification, err error) {
1596	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getObject", nil, &r.Options, &resp)
1597	return
1598}
1599
1600// 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.
1601func (r Hardware_Benchmark_Certification) GetResultFile() (resp []byte, err error) {
1602	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getResultFile", nil, &r.Options, &resp)
1603	return
1604}
1605
1606// no documentation yet
1607type Hardware_Blade struct {
1608	Session *session.Session
1609	Options sl.Options
1610}
1611
1612// GetHardwareBladeService returns an instance of the Hardware_Blade SoftLayer service
1613func GetHardwareBladeService(sess *session.Session) Hardware_Blade {
1614	return Hardware_Blade{Session: sess}
1615}
1616
1617func (r Hardware_Blade) Id(id int) Hardware_Blade {
1618	r.Options.Id = &id
1619	return r
1620}
1621
1622func (r Hardware_Blade) Mask(mask string) Hardware_Blade {
1623	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1624		mask = fmt.Sprintf("mask[%s]", mask)
1625	}
1626
1627	r.Options.Mask = mask
1628	return r
1629}
1630
1631func (r Hardware_Blade) Filter(filter string) Hardware_Blade {
1632	r.Options.Filter = filter
1633	return r
1634}
1635
1636func (r Hardware_Blade) Limit(limit int) Hardware_Blade {
1637	r.Options.Limit = &limit
1638	return r
1639}
1640
1641func (r Hardware_Blade) Offset(offset int) Hardware_Blade {
1642	r.Options.Offset = &offset
1643	return r
1644}
1645
1646// Retrieve
1647func (r Hardware_Blade) GetHardwareChild() (resp datatypes.Hardware, err error) {
1648	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getHardwareChild", nil, &r.Options, &resp)
1649	return
1650}
1651
1652// Retrieve
1653func (r Hardware_Blade) GetHardwareParent() (resp datatypes.Hardware, err error) {
1654	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getHardwareParent", nil, &r.Options, &resp)
1655	return
1656}
1657
1658// no documentation yet
1659func (r Hardware_Blade) GetObject() (resp datatypes.Hardware_Blade, err error) {
1660	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getObject", nil, &r.Options, &resp)
1661	return
1662}
1663
1664// no documentation yet
1665type Hardware_Component_Locator struct {
1666	Session *session.Session
1667	Options sl.Options
1668}
1669
1670// GetHardwareComponentLocatorService returns an instance of the Hardware_Component_Locator SoftLayer service
1671func GetHardwareComponentLocatorService(sess *session.Session) Hardware_Component_Locator {
1672	return Hardware_Component_Locator{Session: sess}
1673}
1674
1675func (r Hardware_Component_Locator) Id(id int) Hardware_Component_Locator {
1676	r.Options.Id = &id
1677	return r
1678}
1679
1680func (r Hardware_Component_Locator) Mask(mask string) Hardware_Component_Locator {
1681	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1682		mask = fmt.Sprintf("mask[%s]", mask)
1683	}
1684
1685	r.Options.Mask = mask
1686	return r
1687}
1688
1689func (r Hardware_Component_Locator) Filter(filter string) Hardware_Component_Locator {
1690	r.Options.Filter = filter
1691	return r
1692}
1693
1694func (r Hardware_Component_Locator) Limit(limit int) Hardware_Component_Locator {
1695	r.Options.Limit = &limit
1696	return r
1697}
1698
1699func (r Hardware_Component_Locator) Offset(offset int) Hardware_Component_Locator {
1700	r.Options.Offset = &offset
1701	return r
1702}
1703
1704// no documentation yet
1705func (r Hardware_Component_Locator) GetGenericComponentModelAvailability(genericComponentModelIds []int) (resp []datatypes.Hardware_Component_Locator_Result, err error) {
1706	params := []interface{}{
1707		genericComponentModelIds,
1708	}
1709	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Locator", "getGenericComponentModelAvailability", params, &r.Options, &resp)
1710	return
1711}
1712
1713// no documentation yet
1714func (r Hardware_Component_Locator) GetPackageItemsAvailability(packageId *int) (resp []datatypes.Hardware_Component_Locator_Result, err error) {
1715	params := []interface{}{
1716		packageId,
1717	}
1718	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Locator", "getPackageItemsAvailability", params, &r.Options, &resp)
1719	return
1720}
1721
1722// no documentation yet
1723func (r Hardware_Component_Locator) GetServerPackageAvailability() (resp []datatypes.Hardware_Component_Locator_Result, err error) {
1724	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Locator", "getServerPackageAvailability", nil, &r.Options, &resp)
1725	return
1726}
1727
1728// 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.
1729type Hardware_Component_Model struct {
1730	Session *session.Session
1731	Options sl.Options
1732}
1733
1734// GetHardwareComponentModelService returns an instance of the Hardware_Component_Model SoftLayer service
1735func GetHardwareComponentModelService(sess *session.Session) Hardware_Component_Model {
1736	return Hardware_Component_Model{Session: sess}
1737}
1738
1739func (r Hardware_Component_Model) Id(id int) Hardware_Component_Model {
1740	r.Options.Id = &id
1741	return r
1742}
1743
1744func (r Hardware_Component_Model) Mask(mask string) Hardware_Component_Model {
1745	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1746		mask = fmt.Sprintf("mask[%s]", mask)
1747	}
1748
1749	r.Options.Mask = mask
1750	return r
1751}
1752
1753func (r Hardware_Component_Model) Filter(filter string) Hardware_Component_Model {
1754	r.Options.Filter = filter
1755	return r
1756}
1757
1758func (r Hardware_Component_Model) Limit(limit int) Hardware_Component_Model {
1759	r.Options.Limit = &limit
1760	return r
1761}
1762
1763func (r Hardware_Component_Model) Offset(offset int) Hardware_Component_Model {
1764	r.Options.Offset = &offset
1765	return r
1766}
1767
1768// Retrieve
1769func (r Hardware_Component_Model) GetArchitectureType() (resp datatypes.Hardware_Component_Model_Architecture_Type, err error) {
1770	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getArchitectureType", nil, &r.Options, &resp)
1771	return
1772}
1773
1774// Retrieve
1775func (r Hardware_Component_Model) GetAttributes() (resp []datatypes.Hardware_Component_Model_Attribute, err error) {
1776	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getAttributes", nil, &r.Options, &resp)
1777	return
1778}
1779
1780// Retrieve
1781func (r Hardware_Component_Model) GetCompatibleArrayTypes() (resp []datatypes.Configuration_Storage_Group_Array_Type, err error) {
1782	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleArrayTypes", nil, &r.Options, &resp)
1783	return
1784}
1785
1786// Retrieve All the component models that are compatible with a hardware component model.
1787func (r Hardware_Component_Model) GetCompatibleChildComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
1788	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleChildComponentModels", nil, &r.Options, &resp)
1789	return
1790}
1791
1792// Retrieve All the component models that a hardware component model is compatible with.
1793func (r Hardware_Component_Model) GetCompatibleParentComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
1794	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleParentComponentModels", nil, &r.Options, &resp)
1795	return
1796}
1797
1798// Retrieve
1799func (r Hardware_Component_Model) GetFirmwareQuantity() (resp uint, err error) {
1800	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getFirmwareQuantity", nil, &r.Options, &resp)
1801	return
1802}
1803
1804// Retrieve
1805func (r Hardware_Component_Model) GetFirmwares() (resp []datatypes.Hardware_Component_Firmware, err error) {
1806	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getFirmwares", nil, &r.Options, &resp)
1807	return
1808}
1809
1810// Retrieve A hardware component model's physical components in inventory.
1811func (r Hardware_Component_Model) GetHardwareComponents() (resp []datatypes.Hardware_Component, err error) {
1812	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getHardwareComponents", nil, &r.Options, &resp)
1813	return
1814}
1815
1816// Retrieve The non-vendor specific generic component model for a hardware component model.
1817func (r Hardware_Component_Model) GetHardwareGenericComponentModel() (resp datatypes.Hardware_Component_Model_Generic, err error) {
1818	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getHardwareGenericComponentModel", nil, &r.Options, &resp)
1819	return
1820}
1821
1822// Retrieve
1823func (r Hardware_Component_Model) GetInfinibandCompatibleAttribute() (resp datatypes.Hardware_Component_Model_Attribute, err error) {
1824	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getInfinibandCompatibleAttribute", nil, &r.Options, &resp)
1825	return
1826}
1827
1828// Retrieve
1829func (r Hardware_Component_Model) GetIsFlexSkuCompatible() (resp bool, err error) {
1830	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getIsFlexSkuCompatible", nil, &r.Options, &resp)
1831	return
1832}
1833
1834// Retrieve
1835func (r Hardware_Component_Model) GetIsInfinibandCompatible() (resp bool, err error) {
1836	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getIsInfinibandCompatible", nil, &r.Options, &resp)
1837	return
1838}
1839
1840// getObject retrieves the SoftLayer_Hardware_Component_Model object.
1841func (r Hardware_Component_Model) GetObject() (resp datatypes.Hardware_Component_Model, err error) {
1842	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getObject", nil, &r.Options, &resp)
1843	return
1844}
1845
1846// Retrieve A motherboard's average reboot time.
1847func (r Hardware_Component_Model) GetRebootTime() (resp datatypes.Hardware_Component_Motherboard_Reboot_Time, err error) {
1848	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getRebootTime", nil, &r.Options, &resp)
1849	return
1850}
1851
1852// Retrieve A hardware component model's type.
1853func (r Hardware_Component_Model) GetType() (resp string, err error) {
1854	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getType", nil, &r.Options, &resp)
1855	return
1856}
1857
1858// Retrieve The types of attributes that are allowed for a given hardware component model.
1859func (r Hardware_Component_Model) GetValidAttributeTypes() (resp []datatypes.Hardware_Component_Model_Attribute_Type, err error) {
1860	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getValidAttributeTypes", nil, &r.Options, &resp)
1861	return
1862}
1863
1864// The SoftLayer_Hardware_Component_Partition_OperatingSystem data type contains general information relating to a single SoftLayer Operating System Partition Template.
1865type Hardware_Component_Partition_OperatingSystem struct {
1866	Session *session.Session
1867	Options sl.Options
1868}
1869
1870// GetHardwareComponentPartitionOperatingSystemService returns an instance of the Hardware_Component_Partition_OperatingSystem SoftLayer service
1871func GetHardwareComponentPartitionOperatingSystemService(sess *session.Session) Hardware_Component_Partition_OperatingSystem {
1872	return Hardware_Component_Partition_OperatingSystem{Session: sess}
1873}
1874
1875func (r Hardware_Component_Partition_OperatingSystem) Id(id int) Hardware_Component_Partition_OperatingSystem {
1876	r.Options.Id = &id
1877	return r
1878}
1879
1880func (r Hardware_Component_Partition_OperatingSystem) Mask(mask string) Hardware_Component_Partition_OperatingSystem {
1881	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1882		mask = fmt.Sprintf("mask[%s]", mask)
1883	}
1884
1885	r.Options.Mask = mask
1886	return r
1887}
1888
1889func (r Hardware_Component_Partition_OperatingSystem) Filter(filter string) Hardware_Component_Partition_OperatingSystem {
1890	r.Options.Filter = filter
1891	return r
1892}
1893
1894func (r Hardware_Component_Partition_OperatingSystem) Limit(limit int) Hardware_Component_Partition_OperatingSystem {
1895	r.Options.Limit = &limit
1896	return r
1897}
1898
1899func (r Hardware_Component_Partition_OperatingSystem) Offset(offset int) Hardware_Component_Partition_OperatingSystem {
1900	r.Options.Offset = &offset
1901	return r
1902}
1903
1904// no documentation yet
1905func (r Hardware_Component_Partition_OperatingSystem) GetAllObjects() (resp []datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1906	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getAllObjects", nil, &r.Options, &resp)
1907	return
1908}
1909
1910// 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'.
1911func (r Hardware_Component_Partition_OperatingSystem) GetByDescription(description *string) (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1912	params := []interface{}{
1913		description,
1914	}
1915	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getByDescription", params, &r.Options, &resp)
1916	return
1917}
1918
1919// 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
1920func (r Hardware_Component_Partition_OperatingSystem) GetObject() (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1921	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getObject", nil, &r.Options, &resp)
1922	return
1923}
1924
1925// Retrieve Information regarding an operating system's [[SoftLayer_Hardware_Component_Partition_Template|Partition Templates]].
1926func (r Hardware_Component_Partition_OperatingSystem) GetPartitionTemplates() (resp []datatypes.Hardware_Component_Partition_Template, err error) {
1927	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getPartitionTemplates", nil, &r.Options, &resp)
1928	return
1929}
1930
1931// 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.
1932type Hardware_Component_Partition_Template struct {
1933	Session *session.Session
1934	Options sl.Options
1935}
1936
1937// GetHardwareComponentPartitionTemplateService returns an instance of the Hardware_Component_Partition_Template SoftLayer service
1938func GetHardwareComponentPartitionTemplateService(sess *session.Session) Hardware_Component_Partition_Template {
1939	return Hardware_Component_Partition_Template{Session: sess}
1940}
1941
1942func (r Hardware_Component_Partition_Template) Id(id int) Hardware_Component_Partition_Template {
1943	r.Options.Id = &id
1944	return r
1945}
1946
1947func (r Hardware_Component_Partition_Template) Mask(mask string) Hardware_Component_Partition_Template {
1948	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1949		mask = fmt.Sprintf("mask[%s]", mask)
1950	}
1951
1952	r.Options.Mask = mask
1953	return r
1954}
1955
1956func (r Hardware_Component_Partition_Template) Filter(filter string) Hardware_Component_Partition_Template {
1957	r.Options.Filter = filter
1958	return r
1959}
1960
1961func (r Hardware_Component_Partition_Template) Limit(limit int) Hardware_Component_Partition_Template {
1962	r.Options.Limit = &limit
1963	return r
1964}
1965
1966func (r Hardware_Component_Partition_Template) Offset(offset int) Hardware_Component_Partition_Template {
1967	r.Options.Offset = &offset
1968	return r
1969}
1970
1971// Retrieve A partition template's associated [[SoftLayer_Account|Account]].
1972func (r Hardware_Component_Partition_Template) GetAccount() (resp datatypes.Account, err error) {
1973	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getAccount", nil, &r.Options, &resp)
1974	return
1975}
1976
1977// Retrieve An individual partition for a partition template. This is identical to 'partitionTemplatePartition' except this will sort unix partitions.
1978func (r Hardware_Component_Partition_Template) GetData() (resp []datatypes.Hardware_Component_Partition_Template_Partition, err error) {
1979	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getData", nil, &r.Options, &resp)
1980	return
1981}
1982
1983// Retrieve
1984func (r Hardware_Component_Partition_Template) GetExpireDate() (resp string, err error) {
1985	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getExpireDate", nil, &r.Options, &resp)
1986	return
1987}
1988
1989// 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.
1990func (r Hardware_Component_Partition_Template) GetObject() (resp datatypes.Hardware_Component_Partition_Template, err error) {
1991	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getObject", nil, &r.Options, &resp)
1992	return
1993}
1994
1995// Retrieve A partition template's associated [[SoftLayer_Hardware_Component_Partition_OperatingSystem|Operating System]].
1996func (r Hardware_Component_Partition_Template) GetPartitionOperatingSystem() (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1997	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getPartitionOperatingSystem", nil, &r.Options, &resp)
1998	return
1999}
2000
2001// Retrieve An individual partition for a partition template.
2002func (r Hardware_Component_Partition_Template) GetPartitionTemplatePartition() (resp []datatypes.Hardware_Component_Partition_Template_Partition, err error) {
2003	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getPartitionTemplatePartition", nil, &r.Options, &resp)
2004	return
2005}
2006
2007// The SoftLayer_Hardware_Router data type contains general information relating to a single SoftLayer router.
2008type Hardware_Router struct {
2009	Session *session.Session
2010	Options sl.Options
2011}
2012
2013// GetHardwareRouterService returns an instance of the Hardware_Router SoftLayer service
2014func GetHardwareRouterService(sess *session.Session) Hardware_Router {
2015	return Hardware_Router{Session: sess}
2016}
2017
2018func (r Hardware_Router) Id(id int) Hardware_Router {
2019	r.Options.Id = &id
2020	return r
2021}
2022
2023func (r Hardware_Router) Mask(mask string) Hardware_Router {
2024	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2025		mask = fmt.Sprintf("mask[%s]", mask)
2026	}
2027
2028	r.Options.Mask = mask
2029	return r
2030}
2031
2032func (r Hardware_Router) Filter(filter string) Hardware_Router {
2033	r.Options.Filter = filter
2034	return r
2035}
2036
2037func (r Hardware_Router) Limit(limit int) Hardware_Router {
2038	r.Options.Limit = &limit
2039	return r
2040}
2041
2042func (r Hardware_Router) Offset(offset int) Hardware_Router {
2043	r.Options.Offset = &offset
2044	return r
2045}
2046
2047// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
2048func (r Hardware_Router) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
2049	params := []interface{}{
2050		networkStorageTemplateObject,
2051	}
2052	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "allowAccessToNetworkStorage", params, &r.Options, &resp)
2053	return
2054}
2055
2056// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
2057func (r Hardware_Router) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
2058	params := []interface{}{
2059		networkStorageTemplateObjects,
2060	}
2061	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
2062	return
2063}
2064
2065// Captures an Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
2066func (r Hardware_Router) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
2067	params := []interface{}{
2068		captureTemplate,
2069	}
2070	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "captureImage", params, &r.Options, &resp)
2071	return
2072}
2073
2074//
2075// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
2076// createObject() enables the creation of servers on an account. This
2077// method is a simplified alternative to interacting with the ordering system directly.
2078//
2079//
2080// In order to create a server, a template object must be sent in with a few required
2081// values.
2082//
2083//
2084// When this method returns an order will have been placed for a server of the specified configuration.
2085//
2086//
2087// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
2088// checking the <code>provisionDate</code> property.
2089// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
2090// as your initialization parameter.
2091//
2092//
2093// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
2094//
2095//
2096// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
2097// <ul class="create_object">
2098//     <li><code>hostname</code>
2099//         <div>Hostname for the server.</div><ul>
2100//             <li><b>Required</b></li>
2101//             <li><b>Type</b> - string</li>
2102//         </ul>
2103//         <br />
2104//     </li>
2105//     <li><code>domain</code>
2106//         <div>Domain for the server.</div><ul>
2107//             <li><b>Required</b></li>
2108//             <li><b>Type</b> - string</li>
2109//         </ul>
2110//         <br />
2111//     </li>
2112//     <li><code>processorCoreAmount</code>
2113//         <div>The number of logical CPU cores to allocate.</div><ul>
2114//             <li><b>Required</b></li>
2115//             <li><b>Type</b> - int</li>
2116//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2117//         </ul>
2118//         <br />
2119//     </li>
2120//     <li><code>memoryCapacity</code>
2121//         <div>The amount of memory to allocate in gigabytes.</div><ul>
2122//             <li><b>Required</b></li>
2123//             <li><b>Type</b> - int</li>
2124//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2125//         </ul>
2126//         <br />
2127//     </li>
2128//     <li><code>hourlyBillingFlag</code>
2129//         <div>Specifies the billing type for the server.</div><ul>
2130//             <li><b>Required</b></li>
2131//             <li><b>Type</b> - boolean</li>
2132//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
2133//         </ul>
2134//         <br />
2135//     </li>
2136//     <li><code>operatingSystemReferenceCode</code>
2137//         <div>An identifier for the operating system to provision the server with.</div><ul>
2138//             <li><b>Required</b></li>
2139//             <li><b>Type</b> - string</li>
2140//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2141//         </ul>
2142//         <br />
2143//     </li>
2144//     <li><code>datacenter.name</code>
2145//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
2146//             <li><b>Required</b></li>
2147//             <li><b>Type</b> - string</li>
2148//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
2149//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2150//         </ul>
2151//         <http title="Example">{
2152//     "datacenter": {
2153//         "name": "dal05"
2154//     }
2155// }</http>
2156//         <br />
2157//     </li>
2158//     <li><code>networkComponents.maxSpeed</code>
2159//         <div>Specifies the connection speed for the server's network components.</div><ul>
2160//             <li><b>Optional</b></li>
2161//             <li><b>Type</b> - int</li>
2162//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
2163//             <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>
2164//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2165//         </ul>
2166//             <http title="Example">{
2167//     "networkComponents": [
2168//         {
2169//             "maxSpeed": 1000
2170//         }
2171//     ]
2172// }</http>
2173//         <br />
2174//     </li>
2175//     <li><code>networkComponents.redundancyEnabledFlag</code>
2176//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
2177//             <li><b>Optional</b></li>
2178//             <li><b>Type</b> - bool</li>
2179//             <li><b>Default</b> - <code>false</code></li>
2180//             <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>
2181//         </ul>
2182//             <http title="Example">{
2183//     "networkComponents": [
2184//         {
2185//             "redundancyEnabledFlag": false
2186//         }
2187//     ]
2188// }</http>
2189//         <br />
2190//     </li>
2191//     <li><code>privateNetworkOnlyFlag</code>
2192//         <div>Specifies whether or not the server only has access to the private network</div><ul>
2193//             <li><b>Optional</b></li>
2194//             <li><b>Type</b> - boolean</li>
2195//             <li><b>Default</b> - <code>false</code></li>
2196//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
2197//         </ul>
2198//         <br />
2199//     </li>
2200//     <li><code>primaryNetworkComponent.networkVlan.id</code>
2201//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
2202//             <li><b>Optional</b></li>
2203//             <li><b>Type</b> - int</li>
2204//             <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>
2205//         </ul>
2206//         <http title="Example">{
2207//     "primaryNetworkComponent": {
2208//         "networkVlan": {
2209//             "id": 1
2210//         }
2211//     }
2212// }</http>
2213//         <br />
2214//     </li>
2215//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
2216//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
2217//             <li><b>Optional</b></li>
2218//             <li><b>Type</b> - int</li>
2219//             <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>
2220//         </ul>
2221//         <http title="Example">{
2222//     "primaryBackendNetworkComponent": {
2223//         "networkVlan": {
2224//             "id": 2
2225//         }
2226//     }
2227// }</http>
2228//         <br />
2229//     </li>
2230//     <li><code>fixedConfigurationPreset.keyName</code>
2231//         <div></div><ul>
2232//             <li><b>Optional</b></li>
2233//             <li><b>Type</b> - string</li>
2234//             <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>
2235//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
2236//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2237//         </ul>
2238//         <http title="Example">{
2239//     "fixedConfigurationPreset": {
2240//         "keyName": "SOME_KEY_NAME"
2241//     }
2242// }</http>
2243//         <br />
2244//     </li>
2245//     <li><code>userData.value</code>
2246//         <div>Arbitrary data to be made available to the server.</div><ul>
2247//             <li><b>Optional</b></li>
2248//             <li><b>Type</b> - string</li>
2249//             <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>
2250//             <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>
2251//         </ul>
2252//         <http title="Example">{
2253//     "userData": [
2254//         {
2255//             "value": "someValue"
2256//         }
2257//     ]
2258// }</http>
2259//         <br />
2260//     </li>
2261//     <li><code>hardDrives</code>
2262//         <div>Hard drive settings for the server</div><ul>
2263//             <li><b>Optional</b></li>
2264//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
2265//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
2266//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
2267//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
2268//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2269//         </ul>
2270//         <http title="Example">{
2271//     "hardDrives": [
2272//         {
2273//             "capacity": 500
2274//         }
2275//     ]
2276// }</http>
2277//         <br />
2278//     </li>
2279//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
2280//         <div>SSH keys to install on the server upon provisioning.</div><ul>
2281//             <li><b>Optional</b></li>
2282//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
2283//             <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>
2284//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
2285//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
2286//         </ul>
2287//         <http title="Example">{
2288//     "sshKeys": [
2289//         {
2290//             "id": 123
2291//         }
2292//     ]
2293// }</http>
2294//         <br />
2295//     </li>
2296//     <li><code>postInstallScriptUri</code>
2297//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
2298//             <li><b>Optional</b></li>
2299//             <li><b>Type</b> - string</li>
2300//         </ul>
2301//         <br />
2302//     </li>
2303// </ul>
2304//
2305//
2306// <h1>REST Example</h1>
2307// <http title="Request">curl -X POST -d '{
2308//  "parameters":[
2309//      {
2310//          "hostname": "host1",
2311//          "domain": "example.com",
2312//          "processorCoreAmount": 2,
2313//          "memoryCapacity": 2,
2314//          "hourlyBillingFlag": true,
2315//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
2316//      }
2317//  ]
2318// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
2319// </http>
2320// <http title="Response">HTTP/1.1 201 Created
2321// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
2322//
2323//
2324// {
2325//     "accountId": 232298,
2326//     "bareMetalInstanceFlag": null,
2327//     "domain": "example.com",
2328//     "hardwareStatusId": null,
2329//     "hostname": "host1",
2330//     "id": null,
2331//     "serviceProviderId": null,
2332//     "serviceProviderResourceId": null,
2333//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
2334//     "hourlyBillingFlag": true,
2335//     "memoryCapacity": 2,
2336//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
2337//     "processorCoreAmount": 2
2338// }
2339// </http>
2340func (r Hardware_Router) CreateObject(templateObject *datatypes.Hardware) (resp datatypes.Hardware, err error) {
2341	params := []interface{}{
2342		templateObject,
2343	}
2344	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "createObject", params, &r.Options, &resp)
2345	return
2346}
2347
2348//
2349// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
2350func (r Hardware_Router) DeleteObject() (resp bool, err error) {
2351	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "deleteObject", nil, &r.Options, &resp)
2352	return
2353}
2354
2355// Delete software component passwords.
2356func (r Hardware_Router) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
2357	params := []interface{}{
2358		softwareComponentPasswords,
2359	}
2360	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
2361	return
2362}
2363
2364// Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
2365func (r Hardware_Router) DeleteTag(tagName *string) (resp bool, err error) {
2366	params := []interface{}{
2367		tagName,
2368	}
2369	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "deleteTag", params, &r.Options, &resp)
2370	return
2371}
2372
2373// Edit the properties of a software component password such as the username, password, and notes.
2374func (r Hardware_Router) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
2375	params := []interface{}{
2376		softwareComponentPasswords,
2377	}
2378	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "editSoftwareComponentPasswords", params, &r.Options, &resp)
2379	return
2380}
2381
2382// Download and run remote script from uri on the hardware.
2383func (r Hardware_Router) ExecuteRemoteScript(uri *string) (err error) {
2384	var resp datatypes.Void
2385	params := []interface{}{
2386		uri,
2387	}
2388	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "executeRemoteScript", params, &r.Options, &resp)
2389	return
2390}
2391
2392// 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. If no hardware is found, no errors are generated and no data is returned.
2393func (r Hardware_Router) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
2394	params := []interface{}{
2395		ipAddress,
2396	}
2397	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "findByIpAddress", params, &r.Options, &resp)
2398	return
2399}
2400
2401//
2402// 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]].
2403//
2404//
2405// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
2406//
2407//
2408// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
2409func (r Hardware_Router) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
2410	params := []interface{}{
2411		templateObject,
2412	}
2413	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "generateOrderTemplate", params, &r.Options, &resp)
2414	return
2415}
2416
2417// Retrieve The account associated with a piece of hardware.
2418func (r Hardware_Router) GetAccount() (resp datatypes.Account, err error) {
2419	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAccount", nil, &r.Options, &resp)
2420	return
2421}
2422
2423// Retrieve A piece of hardware's active physical components.
2424func (r Hardware_Router) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
2425	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getActiveComponents", nil, &r.Options, &resp)
2426	return
2427}
2428
2429// Retrieve A piece of hardware's active network monitoring incidents.
2430func (r Hardware_Router) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
2431	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
2432	return
2433}
2434
2435// Retrieve
2436func (r Hardware_Router) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
2437	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllPowerComponents", nil, &r.Options, &resp)
2438	return
2439}
2440
2441// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
2442func (r Hardware_Router) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
2443	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedHost", nil, &r.Options, &resp)
2444	return
2445}
2446
2447// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
2448func (r Hardware_Router) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
2449	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedNetworkStorage", nil, &r.Options, &resp)
2450	return
2451}
2452
2453// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
2454func (r Hardware_Router) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
2455	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
2456	return
2457}
2458
2459// Retrieve Information regarding an antivirus/spyware software component object.
2460func (r Hardware_Router) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
2461	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
2462	return
2463}
2464
2465// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
2466func (r Hardware_Router) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
2467	params := []interface{}{
2468		nasType,
2469	}
2470	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAttachedNetworkStorages", params, &r.Options, &resp)
2471	return
2472}
2473
2474// Retrieve Information regarding a piece of hardware's specific attributes.
2475func (r Hardware_Router) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
2476	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAttributes", nil, &r.Options, &resp)
2477	return
2478}
2479
2480// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
2481func (r Hardware_Router) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
2482	params := []interface{}{
2483		nasType,
2484	}
2485	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAvailableNetworkStorages", params, &r.Options, &resp)
2486	return
2487}
2488
2489// Retrieve The average daily public bandwidth usage for the current billing cycle.
2490func (r Hardware_Router) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
2491	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
2492	return
2493}
2494
2495// 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.
2496func (r Hardware_Router) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2497	params := []interface{}{
2498		startDate,
2499		endDate,
2500	}
2501	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendIncomingBandwidth", params, &r.Options, &resp)
2502	return
2503}
2504
2505// Retrieve A piece of hardware's back-end or private network components.
2506func (r Hardware_Router) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
2507	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendNetworkComponents", nil, &r.Options, &resp)
2508	return
2509}
2510
2511// 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.
2512func (r Hardware_Router) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2513	params := []interface{}{
2514		startDate,
2515		endDate,
2516	}
2517	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
2518	return
2519}
2520
2521// Retrieve A hardware's backend or private router.
2522func (r Hardware_Router) GetBackendRouters() (resp []datatypes.Hardware, err error) {
2523	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendRouters", nil, &r.Options, &resp)
2524	return
2525}
2526
2527// Retrieve A hardware's allotted bandwidth (measured in GB).
2528func (r Hardware_Router) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
2529	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBandwidthAllocation", nil, &r.Options, &resp)
2530	return
2531}
2532
2533// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
2534func (r Hardware_Router) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
2535	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
2536	return
2537}
2538
2539// Retrieve Information regarding a piece of hardware's benchmark certifications.
2540func (r Hardware_Router) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
2541	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBenchmarkCertifications", nil, &r.Options, &resp)
2542	return
2543}
2544
2545// Retrieve Information regarding the billing item for a server.
2546func (r Hardware_Router) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
2547	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBillingItem", nil, &r.Options, &resp)
2548	return
2549}
2550
2551// Retrieve A flag indicating that a billing item exists.
2552func (r Hardware_Router) GetBillingItemFlag() (resp bool, err error) {
2553	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBillingItemFlag", nil, &r.Options, &resp)
2554	return
2555}
2556
2557// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
2558func (r Hardware_Router) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
2559	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
2560	return
2561}
2562
2563// Retrieve Associated subnets for a router object.
2564func (r Hardware_Router) GetBoundSubnets() (resp []datatypes.Network_Subnet, err error) {
2565	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBoundSubnets", nil, &r.Options, &resp)
2566	return
2567}
2568
2569// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
2570func (r Hardware_Router) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
2571	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
2572	return
2573}
2574
2575// Retrieve Child hardware.
2576func (r Hardware_Router) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
2577	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getChildrenHardware", nil, &r.Options, &resp)
2578	return
2579}
2580
2581// no documentation yet
2582func (r Hardware_Router) GetComponentDetailsXML() (resp string, err error) {
2583	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getComponentDetailsXML", nil, &r.Options, &resp)
2584	return
2585}
2586
2587// Retrieve A piece of hardware's components.
2588func (r Hardware_Router) GetComponents() (resp []datatypes.Hardware_Component, err error) {
2589	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getComponents", nil, &r.Options, &resp)
2590	return
2591}
2592
2593// Retrieve A continuous data protection/server backup software component object.
2594func (r Hardware_Router) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
2595	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
2596	return
2597}
2598
2599//
2600// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
2601//
2602//
2603// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
2604func (r Hardware_Router) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
2605	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCreateObjectOptions", nil, &r.Options, &resp)
2606	return
2607}
2608
2609// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
2610func (r Hardware_Router) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
2611	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
2612	return
2613}
2614
2615// Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
2616func (r Hardware_Router) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
2617	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillingDetail", nil, &r.Options, &resp)
2618	return
2619}
2620
2621// Get the total bill amount in US Dollars ($) for this hardware in the current billing period. This includes all bandwidth used up to the point the method is called on the hardware.
2622func (r Hardware_Router) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
2623	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillingTotal", nil, &r.Options, &resp)
2624	return
2625}
2626
2627// 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.
2628func (r Hardware_Router) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2629	params := []interface{}{
2630		startDate,
2631		endDate,
2632	}
2633	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDailyAverage", params, &r.Options, &resp)
2634	return
2635}
2636
2637// Retrieve Information regarding the datacenter in which a piece of hardware resides.
2638func (r Hardware_Router) GetDatacenter() (resp datatypes.Location, err error) {
2639	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDatacenter", nil, &r.Options, &resp)
2640	return
2641}
2642
2643// Retrieve The name of the datacenter in which a piece of hardware resides.
2644func (r Hardware_Router) GetDatacenterName() (resp string, err error) {
2645	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDatacenterName", nil, &r.Options, &resp)
2646	return
2647}
2648
2649// Retrieve Number of day(s) a server have been in spare pool.
2650func (r Hardware_Router) GetDaysInSparePool() (resp int, err error) {
2651	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDaysInSparePool", nil, &r.Options, &resp)
2652	return
2653}
2654
2655// Retrieve All hardware that has uplink network connections to a piece of hardware.
2656func (r Hardware_Router) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
2657	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkHardware", nil, &r.Options, &resp)
2658	return
2659}
2660
2661// Retrieve All hardware that has uplink network connections to a piece of hardware.
2662func (r Hardware_Router) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
2663	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
2664	return
2665}
2666
2667// Retrieve Information regarding all servers attached to a piece of network hardware.
2668func (r Hardware_Router) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
2669	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkServers", nil, &r.Options, &resp)
2670	return
2671}
2672
2673// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
2674func (r Hardware_Router) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
2675	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
2676	return
2677}
2678
2679// Retrieve All hardware downstream from a network device.
2680func (r Hardware_Router) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
2681	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
2682	return
2683}
2684
2685// Retrieve All network hardware downstream from the selected piece of hardware.
2686func (r Hardware_Router) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
2687	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
2688	return
2689}
2690
2691// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
2692func (r Hardware_Router) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
2693	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
2694	return
2695}
2696
2697// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
2698func (r Hardware_Router) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
2699	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamServers", nil, &r.Options, &resp)
2700	return
2701}
2702
2703// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
2704func (r Hardware_Router) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
2705	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
2706	return
2707}
2708
2709// Retrieve The drive controllers contained within a piece of hardware.
2710func (r Hardware_Router) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
2711	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDriveControllers", nil, &r.Options, &resp)
2712	return
2713}
2714
2715// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
2716func (r Hardware_Router) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
2717	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getEvaultNetworkStorage", nil, &r.Options, &resp)
2718	return
2719}
2720
2721// Retrieve Information regarding a piece of hardware's firewall services.
2722func (r Hardware_Router) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
2723	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFirewallServiceComponent", nil, &r.Options, &resp)
2724	return
2725}
2726
2727// Retrieve Defines the fixed components in a fixed configuration bare metal server.
2728func (r Hardware_Router) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
2729	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFixedConfigurationPreset", nil, &r.Options, &resp)
2730	return
2731}
2732
2733// 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).
2734func (r Hardware_Router) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2735	params := []interface{}{
2736		startDate,
2737		endDate,
2738	}
2739	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
2740	return
2741}
2742
2743// Retrieve A piece of hardware's front-end or public network components.
2744func (r Hardware_Router) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
2745	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendNetworkComponents", nil, &r.Options, &resp)
2746	return
2747}
2748
2749// 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).
2750func (r Hardware_Router) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2751	params := []interface{}{
2752		startDate,
2753		endDate,
2754	}
2755	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
2756	return
2757}
2758
2759// Retrieve A hardware's frontend or public router.
2760func (r Hardware_Router) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
2761	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendRouters", nil, &r.Options, &resp)
2762	return
2763}
2764
2765// Retrieve A hardware's universally unique identifier.
2766func (r Hardware_Router) GetGlobalIdentifier() (resp string, err error) {
2767	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getGlobalIdentifier", nil, &r.Options, &resp)
2768	return
2769}
2770
2771// Retrieve The hard drives contained within a piece of hardware.
2772func (r Hardware_Router) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
2773	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardDrives", nil, &r.Options, &resp)
2774	return
2775}
2776
2777// Retrieve The chassis that a piece of hardware is housed in.
2778func (r Hardware_Router) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
2779	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareChassis", nil, &r.Options, &resp)
2780	return
2781}
2782
2783// Retrieve A hardware's function.
2784func (r Hardware_Router) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
2785	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareFunction", nil, &r.Options, &resp)
2786	return
2787}
2788
2789// Retrieve A hardware's function.
2790func (r Hardware_Router) GetHardwareFunctionDescription() (resp string, err error) {
2791	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareFunctionDescription", nil, &r.Options, &resp)
2792	return
2793}
2794
2795// Retrieve A hardware's status.
2796func (r Hardware_Router) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
2797	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareStatus", nil, &r.Options, &resp)
2798	return
2799}
2800
2801// Retrieve Determine in hardware object has TPM enabled.
2802func (r Hardware_Router) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
2803	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
2804	return
2805}
2806
2807// Retrieve Information regarding a host IPS software component object.
2808func (r Hardware_Router) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
2809	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
2810	return
2811}
2812
2813// 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
2814//
2815// '02/01/2008 0:00'
2816//
2817// 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).
2818//
2819// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
2820func (r Hardware_Router) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
2821	params := []interface{}{
2822		mode,
2823		day,
2824	}
2825	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHourlyBandwidth", params, &r.Options, &resp)
2826	return
2827}
2828
2829// Retrieve A server's hourly billing status.
2830func (r Hardware_Router) GetHourlyBillingFlag() (resp bool, err error) {
2831	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHourlyBillingFlag", nil, &r.Options, &resp)
2832	return
2833}
2834
2835// Retrieve The sum of all the inbound network traffic data for the last 30 days.
2836func (r Hardware_Router) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
2837	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getInboundBandwidthUsage", nil, &r.Options, &resp)
2838	return
2839}
2840
2841// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
2842func (r Hardware_Router) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
2843	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
2844	return
2845}
2846
2847// Retrieve Information regarding the last transaction a server performed.
2848func (r Hardware_Router) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
2849	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLastTransaction", nil, &r.Options, &resp)
2850	return
2851}
2852
2853// Retrieve A piece of hardware's latest network monitoring incident.
2854func (r Hardware_Router) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
2855	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
2856	return
2857}
2858
2859// Retrieve A flag indicating that a VLAN on the router can be assigned to a host that has local disk functionality.
2860func (r Hardware_Router) GetLocalDiskStorageCapabilityFlag() (resp bool, err error) {
2861	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocalDiskStorageCapabilityFlag", nil, &r.Options, &resp)
2862	return
2863}
2864
2865// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
2866func (r Hardware_Router) GetLocation() (resp datatypes.Location, err error) {
2867	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocation", nil, &r.Options, &resp)
2868	return
2869}
2870
2871// Retrieve
2872func (r Hardware_Router) GetLocationPathString() (resp string, err error) {
2873	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocationPathString", nil, &r.Options, &resp)
2874	return
2875}
2876
2877// Retrieve Information regarding a lockbox account associated with a server.
2878func (r Hardware_Router) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
2879	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLockboxNetworkStorage", nil, &r.Options, &resp)
2880	return
2881}
2882
2883// Retrieve A flag indicating that the hardware is a managed resource.
2884func (r Hardware_Router) GetManagedResourceFlag() (resp bool, err error) {
2885	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getManagedResourceFlag", nil, &r.Options, &resp)
2886	return
2887}
2888
2889// Retrieve Information regarding a piece of hardware's memory.
2890func (r Hardware_Router) GetMemory() (resp []datatypes.Hardware_Component, err error) {
2891	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMemory", nil, &r.Options, &resp)
2892	return
2893}
2894
2895// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
2896func (r Hardware_Router) GetMemoryCapacity() (resp uint, err error) {
2897	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMemoryCapacity", nil, &r.Options, &resp)
2898	return
2899}
2900
2901// Retrieve A piece of hardware's metric tracking object.
2902func (r Hardware_Router) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
2903	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMetricTrackingObject", nil, &r.Options, &resp)
2904	return
2905}
2906
2907// Retrieve
2908func (r Hardware_Router) GetModules() (resp []datatypes.Hardware_Component, err error) {
2909	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getModules", nil, &r.Options, &resp)
2910	return
2911}
2912
2913// Retrieve
2914func (r Hardware_Router) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
2915	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringRobot", nil, &r.Options, &resp)
2916	return
2917}
2918
2919// Retrieve Information regarding a piece of hardware's network monitoring services.
2920func (r Hardware_Router) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
2921	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringServiceComponent", nil, &r.Options, &resp)
2922	return
2923}
2924
2925// Retrieve
2926func (r Hardware_Router) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
2927	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
2928	return
2929}
2930
2931// Retrieve Information regarding a piece of hardware's motherboard.
2932func (r Hardware_Router) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
2933	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMotherboard", nil, &r.Options, &resp)
2934	return
2935}
2936
2937// Retrieve Information regarding a piece of hardware's network cards.
2938func (r Hardware_Router) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
2939	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkCards", nil, &r.Options, &resp)
2940	return
2941}
2942
2943// Retrieve Returns a hardware's network components.
2944func (r Hardware_Router) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
2945	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkComponents", nil, &r.Options, &resp)
2946	return
2947}
2948
2949// Retrieve The gateway member if this device is part of a network gateway.
2950func (r Hardware_Router) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
2951	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkGatewayMember", nil, &r.Options, &resp)
2952	return
2953}
2954
2955// Retrieve Whether or not this device is part of a network gateway.
2956func (r Hardware_Router) GetNetworkGatewayMemberFlag() (resp bool, err error) {
2957	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
2958	return
2959}
2960
2961// Retrieve A piece of hardware's network management IP address.
2962func (r Hardware_Router) GetNetworkManagementIpAddress() (resp string, err error) {
2963	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
2964	return
2965}
2966
2967// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
2968func (r Hardware_Router) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
2969	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
2970	return
2971}
2972
2973// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
2974func (r Hardware_Router) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
2975	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
2976	return
2977}
2978
2979// Retrieve The status of all of a piece of hardware's network monitoring incidents.
2980func (r Hardware_Router) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
2981	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
2982	return
2983}
2984
2985// Retrieve Information regarding a piece of hardware's network monitors.
2986func (r Hardware_Router) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
2987	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitors", nil, &r.Options, &resp)
2988	return
2989}
2990
2991// Retrieve The value of a hardware's network status attribute.
2992func (r Hardware_Router) GetNetworkStatus() (resp string, err error) {
2993	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStatus", nil, &r.Options, &resp)
2994	return
2995}
2996
2997// Retrieve The hardware's related network status attribute.
2998func (r Hardware_Router) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
2999	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStatusAttribute", nil, &r.Options, &resp)
3000	return
3001}
3002
3003// Retrieve Information regarding a piece of hardware's associated network storage service account.
3004func (r Hardware_Router) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
3005	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStorage", nil, &r.Options, &resp)
3006	return
3007}
3008
3009// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
3010func (r Hardware_Router) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
3011	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkVlans", nil, &r.Options, &resp)
3012	return
3013}
3014
3015// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
3016func (r Hardware_Router) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
3017	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
3018	return
3019}
3020
3021// Retrieve
3022func (r Hardware_Router) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
3023	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNotesHistory", nil, &r.Options, &resp)
3024	return
3025}
3026
3027// Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
3028func (r Hardware_Router) GetNvRamCapacity() (resp uint, err error) {
3029	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNvRamCapacity", nil, &r.Options, &resp)
3030	return
3031}
3032
3033// Retrieve
3034func (r Hardware_Router) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
3035	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNvRamComponentModels", nil, &r.Options, &resp)
3036	return
3037}
3038
3039// no documentation yet
3040func (r Hardware_Router) GetObject() (resp datatypes.Hardware_Router, err error) {
3041	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getObject", nil, &r.Options, &resp)
3042	return
3043}
3044
3045// Retrieve Information regarding a piece of hardware's operating system.
3046func (r Hardware_Router) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
3047	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOperatingSystem", nil, &r.Options, &resp)
3048	return
3049}
3050
3051// Retrieve A hardware's operating system software description.
3052func (r Hardware_Router) GetOperatingSystemReferenceCode() (resp string, err error) {
3053	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
3054	return
3055}
3056
3057// Retrieve The sum of all the outbound network traffic data for the last 30 days.
3058func (r Hardware_Router) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
3059	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
3060	return
3061}
3062
3063// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
3064func (r Hardware_Router) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
3065	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
3066	return
3067}
3068
3069// Retrieve Blade Bay
3070func (r Hardware_Router) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
3071	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getParentBay", nil, &r.Options, &resp)
3072	return
3073}
3074
3075// Retrieve Parent Hardware.
3076func (r Hardware_Router) GetParentHardware() (resp datatypes.Hardware, err error) {
3077	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getParentHardware", nil, &r.Options, &resp)
3078	return
3079}
3080
3081// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
3082func (r Hardware_Router) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
3083	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPointOfPresenceLocation", nil, &r.Options, &resp)
3084	return
3085}
3086
3087// Retrieve The power components for a hardware object.
3088func (r Hardware_Router) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
3089	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPowerComponents", nil, &r.Options, &resp)
3090	return
3091}
3092
3093// Retrieve Information regarding a piece of hardware's power supply.
3094func (r Hardware_Router) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
3095	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPowerSupply", nil, &r.Options, &resp)
3096	return
3097}
3098
3099// Retrieve The hardware's primary private IP address.
3100func (r Hardware_Router) GetPrimaryBackendIpAddress() (resp string, err error) {
3101	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
3102	return
3103}
3104
3105// Retrieve Information regarding the hardware's primary back-end network component.
3106func (r Hardware_Router) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
3107	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
3108	return
3109}
3110
3111// Retrieve The hardware's primary public IP address.
3112func (r Hardware_Router) GetPrimaryIpAddress() (resp string, err error) {
3113	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryIpAddress", nil, &r.Options, &resp)
3114	return
3115}
3116
3117// Retrieve Information regarding the hardware's primary public network component.
3118func (r Hardware_Router) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
3119	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
3120	return
3121}
3122
3123// 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.
3124func (r Hardware_Router) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
3125	params := []interface{}{
3126		startTime,
3127		endTime,
3128	}
3129	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrivateBandwidthData", params, &r.Options, &resp)
3130	return
3131}
3132
3133// Retrieve Whether the hardware only has access to the private network.
3134func (r Hardware_Router) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
3135	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
3136	return
3137}
3138
3139// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
3140func (r Hardware_Router) GetProcessorCoreAmount() (resp uint, err error) {
3141	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessorCoreAmount", nil, &r.Options, &resp)
3142	return
3143}
3144
3145// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
3146func (r Hardware_Router) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
3147	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
3148	return
3149}
3150
3151// Retrieve Information regarding a piece of hardware's processors.
3152func (r Hardware_Router) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
3153	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessors", nil, &r.Options, &resp)
3154	return
3155}
3156
3157// 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.
3158func (r Hardware_Router) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
3159	params := []interface{}{
3160		startTime,
3161		endTime,
3162	}
3163	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPublicBandwidthData", params, &r.Options, &resp)
3164	return
3165}
3166
3167// Retrieve
3168func (r Hardware_Router) GetRack() (resp datatypes.Location, err error) {
3169	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRack", nil, &r.Options, &resp)
3170	return
3171}
3172
3173// Retrieve The RAID controllers contained within a piece of hardware.
3174func (r Hardware_Router) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
3175	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRaidControllers", nil, &r.Options, &resp)
3176	return
3177}
3178
3179// Retrieve Recent events that impact this hardware.
3180func (r Hardware_Router) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
3181	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRecentEvents", nil, &r.Options, &resp)
3182	return
3183}
3184
3185// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
3186func (r Hardware_Router) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
3187	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRemoteManagementAccounts", nil, &r.Options, &resp)
3188	return
3189}
3190
3191// Retrieve A hardware's associated remote management component. This is normally IPMI.
3192func (r Hardware_Router) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
3193	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRemoteManagementComponent", nil, &r.Options, &resp)
3194	return
3195}
3196
3197// Retrieve
3198func (r Hardware_Router) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
3199	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceConfigurations", nil, &r.Options, &resp)
3200	return
3201}
3202
3203// Retrieve
3204func (r Hardware_Router) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
3205	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
3206	return
3207}
3208
3209// Retrieve
3210func (r Hardware_Router) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
3211	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroupRoles", nil, &r.Options, &resp)
3212	return
3213}
3214
3215// Retrieve The resource groups in which this hardware is a member.
3216func (r Hardware_Router) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
3217	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroups", nil, &r.Options, &resp)
3218	return
3219}
3220
3221// Retrieve A hardware's routers.
3222func (r Hardware_Router) GetRouters() (resp []datatypes.Hardware, err error) {
3223	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRouters", nil, &r.Options, &resp)
3224	return
3225}
3226
3227// Retrieve A flag indicating that a VLAN on the router can be assigned to a host that has SAN disk functionality.
3228func (r Hardware_Router) GetSanStorageCapabilityFlag() (resp bool, err error) {
3229	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSanStorageCapabilityFlag", nil, &r.Options, &resp)
3230	return
3231}
3232
3233// Retrieve Collection of scale assets this hardware corresponds to.
3234func (r Hardware_Router) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
3235	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getScaleAssets", nil, &r.Options, &resp)
3236	return
3237}
3238
3239// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
3240func (r Hardware_Router) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
3241	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSecurityScanRequests", nil, &r.Options, &resp)
3242	return
3243}
3244
3245// 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.
3246func (r Hardware_Router) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
3247	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSensorData", nil, &r.Options, &resp)
3248	return
3249}
3250
3251// 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.
3252func (r Hardware_Router) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
3253	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSensorDataWithGraphs", nil, &r.Options, &resp)
3254	return
3255}
3256
3257// 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.
3258func (r Hardware_Router) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
3259	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
3260	return
3261}
3262
3263// 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.
3264func (r Hardware_Router) GetServerPowerState() (resp string, err error) {
3265	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerPowerState", nil, &r.Options, &resp)
3266	return
3267}
3268
3269// Retrieve Information regarding the server room in which the hardware is located.
3270func (r Hardware_Router) GetServerRoom() (resp datatypes.Location, err error) {
3271	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerRoom", nil, &r.Options, &resp)
3272	return
3273}
3274
3275// 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.
3276func (r Hardware_Router) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
3277	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerTemperatureGraphs", nil, &r.Options, &resp)
3278	return
3279}
3280
3281// Retrieve Information regarding the piece of hardware's service provider.
3282func (r Hardware_Router) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
3283	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServiceProvider", nil, &r.Options, &resp)
3284	return
3285}
3286
3287// Retrieve Information regarding a piece of hardware's installed software.
3288func (r Hardware_Router) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
3289	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSoftwareComponents", nil, &r.Options, &resp)
3290	return
3291}
3292
3293// Retrieve Information regarding the billing item for a spare pool server.
3294func (r Hardware_Router) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
3295	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSparePoolBillingItem", nil, &r.Options, &resp)
3296	return
3297}
3298
3299// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
3300func (r Hardware_Router) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
3301	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSshKeys", nil, &r.Options, &resp)
3302	return
3303}
3304
3305// Retrieve
3306func (r Hardware_Router) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
3307	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getStorageGroups", nil, &r.Options, &resp)
3308	return
3309}
3310
3311// Retrieve A piece of hardware's private storage network components. [Deprecated]
3312func (r Hardware_Router) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
3313	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getStorageNetworkComponents", nil, &r.Options, &resp)
3314	return
3315}
3316
3317// Retrieve
3318func (r Hardware_Router) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
3319	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTagReferences", nil, &r.Options, &resp)
3320	return
3321}
3322
3323// Retrieve
3324func (r Hardware_Router) GetTopLevelLocation() (resp datatypes.Location, err error) {
3325	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTopLevelLocation", nil, &r.Options, &resp)
3326	return
3327}
3328
3329//
3330// This method will query transaction history for a piece of hardware.
3331func (r Hardware_Router) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
3332	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTransactionHistory", nil, &r.Options, &resp)
3333	return
3334}
3335
3336// 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.
3337func (r Hardware_Router) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
3338	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUpgradeItemPrices", nil, &r.Options, &resp)
3339	return
3340}
3341
3342// Retrieve An account's associated upgrade request object, if any.
3343func (r Hardware_Router) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
3344	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUpgradeRequest", nil, &r.Options, &resp)
3345	return
3346}
3347
3348// Retrieve The network device connected to a piece of hardware.
3349func (r Hardware_Router) GetUplinkHardware() (resp datatypes.Hardware, err error) {
3350	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUplinkHardware", nil, &r.Options, &resp)
3351	return
3352}
3353
3354// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
3355func (r Hardware_Router) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
3356	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUplinkNetworkComponents", nil, &r.Options, &resp)
3357	return
3358}
3359
3360// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
3361func (r Hardware_Router) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
3362	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUserData", nil, &r.Options, &resp)
3363	return
3364}
3365
3366// Retrieve Information regarding the virtual chassis for a piece of hardware.
3367func (r Hardware_Router) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
3368	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualChassis", nil, &r.Options, &resp)
3369	return
3370}
3371
3372// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
3373func (r Hardware_Router) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
3374	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualChassisSiblings", nil, &r.Options, &resp)
3375	return
3376}
3377
3378// Retrieve A piece of hardware's virtual host record.
3379func (r Hardware_Router) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
3380	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualHost", nil, &r.Options, &resp)
3381	return
3382}
3383
3384// Retrieve Information regarding a piece of hardware's virtual software licenses.
3385func (r Hardware_Router) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
3386	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualLicenses", nil, &r.Options, &resp)
3387	return
3388}
3389
3390// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
3391func (r Hardware_Router) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
3392	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRack", nil, &r.Options, &resp)
3393	return
3394}
3395
3396// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
3397func (r Hardware_Router) GetVirtualRackId() (resp int, err error) {
3398	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRackId", nil, &r.Options, &resp)
3399	return
3400}
3401
3402// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
3403func (r Hardware_Router) GetVirtualRackName() (resp string, err error) {
3404	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRackName", nil, &r.Options, &resp)
3405	return
3406}
3407
3408// Retrieve A piece of hardware's virtualization platform software.
3409func (r Hardware_Router) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
3410	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualizationPlatform", nil, &r.Options, &resp)
3411	return
3412}
3413
3414// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
3415func (r Hardware_Router) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
3416	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "importVirtualHost", nil, &r.Options, &resp)
3417	return
3418}
3419
3420// 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.
3421func (r Hardware_Router) IsPingable() (resp bool, err error) {
3422	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "isPingable", nil, &r.Options, &resp)
3423	return
3424}
3425
3426// Issues a ping command to the server and returns the ping response.
3427func (r Hardware_Router) Ping() (resp string, err error) {
3428	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "ping", nil, &r.Options, &resp)
3429	return
3430}
3431
3432// 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:
3433//
3434// rebootSoft rebootHard powerOn powerOff powerCycle
3435//
3436//
3437func (r Hardware_Router) PowerCycle() (resp bool, err error) {
3438	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerCycle", nil, &r.Options, &resp)
3439	return
3440}
3441
3442// This method will power off the server via the server's remote management card.
3443func (r Hardware_Router) PowerOff() (resp bool, err error) {
3444	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerOff", nil, &r.Options, &resp)
3445	return
3446}
3447
3448// 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:
3449//
3450// rebootSoft rebootHard powerOn powerOff powerCycle
3451//
3452//
3453func (r Hardware_Router) PowerOn() (resp bool, err error) {
3454	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerOn", nil, &r.Options, &resp)
3455	return
3456}
3457
3458// 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:
3459//
3460// rebootSoft rebootHard powerOn powerOff powerCycle
3461//
3462//
3463func (r Hardware_Router) RebootDefault() (resp bool, err error) {
3464	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootDefault", nil, &r.Options, &resp)
3465	return
3466}
3467
3468// 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.
3469//
3470// 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:
3471//
3472// rebootSoft rebootHard powerOn powerOff powerCycle
3473//
3474//
3475func (r Hardware_Router) RebootHard() (resp bool, err error) {
3476	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootHard", nil, &r.Options, &resp)
3477	return
3478}
3479
3480// 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:
3481//
3482// rebootSoft rebootHard powerOn powerOff powerCycle
3483//
3484//
3485func (r Hardware_Router) RebootSoft() (resp bool, err error) {
3486	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootSoft", nil, &r.Options, &resp)
3487	return
3488}
3489
3490// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
3491func (r Hardware_Router) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
3492	params := []interface{}{
3493		networkStorageTemplateObject,
3494	}
3495	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "removeAccessToNetworkStorage", params, &r.Options, &resp)
3496	return
3497}
3498
3499// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
3500func (r Hardware_Router) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
3501	params := []interface{}{
3502		networkStorageTemplateObjects,
3503	}
3504	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
3505	return
3506}
3507
3508// no documentation yet
3509func (r Hardware_Router) RemoveTags(tags *string) (resp bool, err error) {
3510	params := []interface{}{
3511		tags,
3512	}
3513	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "removeTags", params, &r.Options, &resp)
3514	return
3515}
3516
3517// no documentation yet
3518func (r Hardware_Router) SetTags(tags *string) (resp bool, err error) {
3519	params := []interface{}{
3520		tags,
3521	}
3522	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "setTags", params, &r.Options, &resp)
3523	return
3524}
3525
3526// This method will update the root IPMI password on this SoftLayer_Hardware.
3527func (r Hardware_Router) UpdateIpmiPassword(password *string) (resp bool, err error) {
3528	params := []interface{}{
3529		password,
3530	}
3531	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "updateIpmiPassword", params, &r.Options, &resp)
3532	return
3533}
3534
3535// no documentation yet
3536type Hardware_SecurityModule struct {
3537	Session *session.Session
3538	Options sl.Options
3539}
3540
3541// GetHardwareSecurityModuleService returns an instance of the Hardware_SecurityModule SoftLayer service
3542func GetHardwareSecurityModuleService(sess *session.Session) Hardware_SecurityModule {
3543	return Hardware_SecurityModule{Session: sess}
3544}
3545
3546func (r Hardware_SecurityModule) Id(id int) Hardware_SecurityModule {
3547	r.Options.Id = &id
3548	return r
3549}
3550
3551func (r Hardware_SecurityModule) Mask(mask string) Hardware_SecurityModule {
3552	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3553		mask = fmt.Sprintf("mask[%s]", mask)
3554	}
3555
3556	r.Options.Mask = mask
3557	return r
3558}
3559
3560func (r Hardware_SecurityModule) Filter(filter string) Hardware_SecurityModule {
3561	r.Options.Filter = filter
3562	return r
3563}
3564
3565func (r Hardware_SecurityModule) Limit(limit int) Hardware_SecurityModule {
3566	r.Options.Limit = &limit
3567	return r
3568}
3569
3570func (r Hardware_SecurityModule) Offset(offset int) Hardware_SecurityModule {
3571	r.Options.Offset = &offset
3572	return r
3573}
3574
3575// Activate a server's private network interface to the maximum available speed. This operation is an alias for [[SoftLayer_Hardware_Server/setPrivateNetworkInterfaceSpeed]] with a $newSpeed of -1 and a $redundancy of "redundant" or unspecified (which results in the best available redundancy state).
3576//
3577// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
3578//
3579// A response of true indicates a change was required to activate the interface; thus changes are pending. A response of false indicates the interface was already active, and thus no changes are pending.
3580func (r Hardware_SecurityModule) ActivatePrivatePort() (resp bool, err error) {
3581	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "activatePrivatePort", nil, &r.Options, &resp)
3582	return
3583}
3584
3585// Activate a server's public network interface to the maximum available speed. This operation is an alias for [[SoftLayer_Hardware_Server/setPublicNetworkInterfaceSpeed]] with a $newSpeed of -1 and a $redundancy of "redundant" or unspecified (which results in the best available redundancy state).
3586//
3587// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
3588//
3589// A response of true indicates a change was required to activate the interface; thus changes are pending. A response of false indicates the interface was already active, and thus no changes are pending.
3590func (r Hardware_SecurityModule) ActivatePublicPort() (resp bool, err error) {
3591	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "activatePublicPort", nil, &r.Options, &resp)
3592	return
3593}
3594
3595// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
3596func (r Hardware_SecurityModule) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
3597	params := []interface{}{
3598		networkStorageTemplateObject,
3599	}
3600	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "allowAccessToNetworkStorage", params, &r.Options, &resp)
3601	return
3602}
3603
3604// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
3605func (r Hardware_SecurityModule) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
3606	params := []interface{}{
3607		networkStorageTemplateObjects,
3608	}
3609	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
3610	return
3611}
3612
3613// 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.
3614func (r Hardware_SecurityModule) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
3615	params := []interface{}{
3616		noOsBootEnvironment,
3617	}
3618	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "bootToRescueLayer", params, &r.Options, &resp)
3619	return
3620}
3621
3622// Captures an Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
3623func (r Hardware_SecurityModule) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
3624	params := []interface{}{
3625		captureTemplate,
3626	}
3627	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "captureImage", params, &r.Options, &resp)
3628	return
3629}
3630
3631// You can launch firmware reflash by selecting from your server list. It will bring your server offline for approximately 60 minutes while the flashes are in progress.
3632//
3633// In the event of a hardware failure during this 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.
3634func (r Hardware_SecurityModule) CreateFirmwareReflashTransaction(ipmi *int, raidController *int, bios *int) (resp bool, err error) {
3635	params := []interface{}{
3636		ipmi,
3637		raidController,
3638		bios,
3639	}
3640	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createFirmwareReflashTransaction", params, &r.Options, &resp)
3641	return
3642}
3643
3644// 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.
3645//
3646// 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.
3647func (r Hardware_SecurityModule) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int) (resp bool, err error) {
3648	params := []interface{}{
3649		ipmi,
3650		raidController,
3651		bios,
3652		harddrive,
3653	}
3654	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
3655	return
3656}
3657
3658// You can launch hyper-threading update by selecting from your server list. It will bring your server offline for approximately 60 minutes while the update is in progress.
3659//
3660// In the event of a hardware failure during this 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.
3661func (r Hardware_SecurityModule) CreateHyperThreadingUpdateTransaction(disableHyperthreading *int) (resp bool, err error) {
3662	params := []interface{}{
3663		disableHyperthreading,
3664	}
3665	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createHyperThreadingUpdateTransaction", params, &r.Options, &resp)
3666	return
3667}
3668
3669//
3670// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
3671// createObject() enables the creation of servers on an account. This
3672// method is a simplified alternative to interacting with the ordering system directly.
3673//
3674//
3675// In order to create a server, a template object must be sent in with a few required
3676// values.
3677//
3678//
3679// When this method returns an order will have been placed for a server of the specified configuration.
3680//
3681//
3682// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
3683// checking the <code>provisionDate</code> property.
3684// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
3685// as your initialization parameter.
3686//
3687//
3688// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
3689//
3690//
3691// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
3692// <ul class="create_object">
3693//     <li><code>hostname</code>
3694//         <div>Hostname for the server.</div><ul>
3695//             <li><b>Required</b></li>
3696//             <li><b>Type</b> - string</li>
3697//         </ul>
3698//         <br />
3699//     </li>
3700//     <li><code>domain</code>
3701//         <div>Domain for the server.</div><ul>
3702//             <li><b>Required</b></li>
3703//             <li><b>Type</b> - string</li>
3704//         </ul>
3705//         <br />
3706//     </li>
3707//     <li><code>processorCoreAmount</code>
3708//         <div>The number of logical CPU cores to allocate.</div><ul>
3709//             <li><b>Required</b></li>
3710//             <li><b>Type</b> - int</li>
3711//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3712//         </ul>
3713//         <br />
3714//     </li>
3715//     <li><code>memoryCapacity</code>
3716//         <div>The amount of memory to allocate in gigabytes.</div><ul>
3717//             <li><b>Required</b></li>
3718//             <li><b>Type</b> - int</li>
3719//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3720//         </ul>
3721//         <br />
3722//     </li>
3723//     <li><code>hourlyBillingFlag</code>
3724//         <div>Specifies the billing type for the server.</div><ul>
3725//             <li><b>Required</b></li>
3726//             <li><b>Type</b> - boolean</li>
3727//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
3728//         </ul>
3729//         <br />
3730//     </li>
3731//     <li><code>operatingSystemReferenceCode</code>
3732//         <div>An identifier for the operating system to provision the server with.</div><ul>
3733//             <li><b>Required</b></li>
3734//             <li><b>Type</b> - string</li>
3735//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3736//         </ul>
3737//         <br />
3738//     </li>
3739//     <li><code>datacenter.name</code>
3740//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
3741//             <li><b>Required</b></li>
3742//             <li><b>Type</b> - string</li>
3743//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
3744//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3745//         </ul>
3746//         <http title="Example">{
3747//     "datacenter": {
3748//         "name": "dal05"
3749//     }
3750// }</http>
3751//         <br />
3752//     </li>
3753//     <li><code>networkComponents.maxSpeed</code>
3754//         <div>Specifies the connection speed for the server's network components.</div><ul>
3755//             <li><b>Optional</b></li>
3756//             <li><b>Type</b> - int</li>
3757//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
3758//             <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>
3759//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3760//         </ul>
3761//             <http title="Example">{
3762//     "networkComponents": [
3763//         {
3764//             "maxSpeed": 1000
3765//         }
3766//     ]
3767// }</http>
3768//         <br />
3769//     </li>
3770//     <li><code>networkComponents.redundancyEnabledFlag</code>
3771//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
3772//             <li><b>Optional</b></li>
3773//             <li><b>Type</b> - bool</li>
3774//             <li><b>Default</b> - <code>false</code></li>
3775//             <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>
3776//         </ul>
3777//             <http title="Example">{
3778//     "networkComponents": [
3779//         {
3780//             "redundancyEnabledFlag": false
3781//         }
3782//     ]
3783// }</http>
3784//         <br />
3785//     </li>
3786//     <li><code>privateNetworkOnlyFlag</code>
3787//         <div>Specifies whether or not the server only has access to the private network</div><ul>
3788//             <li><b>Optional</b></li>
3789//             <li><b>Type</b> - boolean</li>
3790//             <li><b>Default</b> - <code>false</code></li>
3791//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
3792//         </ul>
3793//         <br />
3794//     </li>
3795//     <li><code>primaryNetworkComponent.networkVlan.id</code>
3796//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
3797//             <li><b>Optional</b></li>
3798//             <li><b>Type</b> - int</li>
3799//             <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>
3800//         </ul>
3801//         <http title="Example">{
3802//     "primaryNetworkComponent": {
3803//         "networkVlan": {
3804//             "id": 1
3805//         }
3806//     }
3807// }</http>
3808//         <br />
3809//     </li>
3810//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
3811//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
3812//             <li><b>Optional</b></li>
3813//             <li><b>Type</b> - int</li>
3814//             <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>
3815//         </ul>
3816//         <http title="Example">{
3817//     "primaryBackendNetworkComponent": {
3818//         "networkVlan": {
3819//             "id": 2
3820//         }
3821//     }
3822// }</http>
3823//         <br />
3824//     </li>
3825//     <li><code>fixedConfigurationPreset.keyName</code>
3826//         <div></div><ul>
3827//             <li><b>Optional</b></li>
3828//             <li><b>Type</b> - string</li>
3829//             <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>
3830//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
3831//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3832//         </ul>
3833//         <http title="Example">{
3834//     "fixedConfigurationPreset": {
3835//         "keyName": "SOME_KEY_NAME"
3836//     }
3837// }</http>
3838//         <br />
3839//     </li>
3840//     <li><code>userData.value</code>
3841//         <div>Arbitrary data to be made available to the server.</div><ul>
3842//             <li><b>Optional</b></li>
3843//             <li><b>Type</b> - string</li>
3844//             <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>
3845//             <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>
3846//         </ul>
3847//         <http title="Example">{
3848//     "userData": [
3849//         {
3850//             "value": "someValue"
3851//         }
3852//     ]
3853// }</http>
3854//         <br />
3855//     </li>
3856//     <li><code>hardDrives</code>
3857//         <div>Hard drive settings for the server</div><ul>
3858//             <li><b>Optional</b></li>
3859//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
3860//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
3861//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
3862//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
3863//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3864//         </ul>
3865//         <http title="Example">{
3866//     "hardDrives": [
3867//         {
3868//             "capacity": 500
3869//         }
3870//     ]
3871// }</http>
3872//         <br />
3873//     </li>
3874//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
3875//         <div>SSH keys to install on the server upon provisioning.</div><ul>
3876//             <li><b>Optional</b></li>
3877//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
3878//             <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>
3879//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
3880//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
3881//         </ul>
3882//         <http title="Example">{
3883//     "sshKeys": [
3884//         {
3885//             "id": 123
3886//         }
3887//     ]
3888// }</http>
3889//         <br />
3890//     </li>
3891//     <li><code>postInstallScriptUri</code>
3892//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
3893//             <li><b>Optional</b></li>
3894//             <li><b>Type</b> - string</li>
3895//         </ul>
3896//         <br />
3897//     </li>
3898// </ul>
3899//
3900//
3901// <h1>REST Example</h1>
3902// <http title="Request">curl -X POST -d '{
3903//  "parameters":[
3904//      {
3905//          "hostname": "host1",
3906//          "domain": "example.com",
3907//          "processorCoreAmount": 2,
3908//          "memoryCapacity": 2,
3909//          "hourlyBillingFlag": true,
3910//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
3911//      }
3912//  ]
3913// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
3914// </http>
3915// <http title="Response">HTTP/1.1 201 Created
3916// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
3917//
3918//
3919// {
3920//     "accountId": 232298,
3921//     "bareMetalInstanceFlag": null,
3922//     "domain": "example.com",
3923//     "hardwareStatusId": null,
3924//     "hostname": "host1",
3925//     "id": null,
3926//     "serviceProviderId": null,
3927//     "serviceProviderResourceId": null,
3928//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
3929//     "hourlyBillingFlag": true,
3930//     "memoryCapacity": 2,
3931//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
3932//     "processorCoreAmount": 2
3933// }
3934// </http>
3935func (r Hardware_SecurityModule) CreateObject(templateObject *datatypes.Hardware_SecurityModule) (resp datatypes.Hardware_SecurityModule, err error) {
3936	params := []interface{}{
3937		templateObject,
3938	}
3939	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createObject", params, &r.Options, &resp)
3940	return
3941}
3942
3943// no documentation yet
3944func (r Hardware_SecurityModule) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
3945	params := []interface{}{
3946		installCodes,
3947		returnBoolean,
3948	}
3949	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
3950	return
3951}
3952
3953//
3954// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
3955func (r Hardware_SecurityModule) DeleteObject() (resp bool, err error) {
3956	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "deleteObject", nil, &r.Options, &resp)
3957	return
3958}
3959
3960// Delete software component passwords.
3961func (r Hardware_SecurityModule) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
3962	params := []interface{}{
3963		softwareComponentPasswords,
3964	}
3965	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
3966	return
3967}
3968
3969// Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
3970func (r Hardware_SecurityModule) DeleteTag(tagName *string) (resp bool, err error) {
3971	params := []interface{}{
3972		tagName,
3973	}
3974	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "deleteTag", params, &r.Options, &resp)
3975	return
3976}
3977
3978// Edit a server's properties
3979func (r Hardware_SecurityModule) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
3980	params := []interface{}{
3981		templateObject,
3982	}
3983	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "editObject", params, &r.Options, &resp)
3984	return
3985}
3986
3987// Edit the properties of a software component password such as the username, password, and notes.
3988func (r Hardware_SecurityModule) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
3989	params := []interface{}{
3990		softwareComponentPasswords,
3991	}
3992	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "editSoftwareComponentPasswords", params, &r.Options, &resp)
3993	return
3994}
3995
3996// Download and run remote script from uri on the hardware.
3997func (r Hardware_SecurityModule) ExecuteRemoteScript(uri *string) (err error) {
3998	var resp datatypes.Void
3999	params := []interface{}{
4000		uri,
4001	}
4002	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "executeRemoteScript", params, &r.Options, &resp)
4003	return
4004}
4005
4006// 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. If no hardware is found, no errors are generated and no data is returned.
4007func (r Hardware_SecurityModule) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
4008	params := []interface{}{
4009		ipAddress,
4010	}
4011	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "findByIpAddress", params, &r.Options, &resp)
4012	return
4013}
4014
4015//
4016// 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]].
4017//
4018//
4019// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
4020//
4021//
4022// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
4023func (r Hardware_SecurityModule) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
4024	params := []interface{}{
4025		templateObject,
4026	}
4027	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "generateOrderTemplate", params, &r.Options, &resp)
4028	return
4029}
4030
4031// Retrieve The account associated with a piece of hardware.
4032func (r Hardware_SecurityModule) GetAccount() (resp datatypes.Account, err error) {
4033	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAccount", nil, &r.Options, &resp)
4034	return
4035}
4036
4037// Retrieve A piece of hardware's active physical components.
4038func (r Hardware_SecurityModule) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
4039	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveComponents", nil, &r.Options, &resp)
4040	return
4041}
4042
4043// Retrieve The billing item for a server's attached network firewall.
4044func (r Hardware_SecurityModule) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
4045	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
4046	return
4047}
4048
4049// Retrieve A piece of hardware's active network monitoring incidents.
4050func (r Hardware_SecurityModule) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
4051	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
4052	return
4053}
4054
4055// Retrieve
4056func (r Hardware_SecurityModule) GetActiveTickets() (resp []datatypes.Ticket, err error) {
4057	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTickets", nil, &r.Options, &resp)
4058	return
4059}
4060
4061// Retrieve Transaction currently running for server.
4062func (r Hardware_SecurityModule) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
4063	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTransaction", nil, &r.Options, &resp)
4064	return
4065}
4066
4067// Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
4068func (r Hardware_SecurityModule) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
4069	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTransactions", nil, &r.Options, &resp)
4070	return
4071}
4072
4073// Retrieve
4074func (r Hardware_SecurityModule) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
4075	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllPowerComponents", nil, &r.Options, &resp)
4076	return
4077}
4078
4079// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
4080func (r Hardware_SecurityModule) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
4081	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedHost", nil, &r.Options, &resp)
4082	return
4083}
4084
4085// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
4086func (r Hardware_SecurityModule) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4087	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedNetworkStorage", nil, &r.Options, &resp)
4088	return
4089}
4090
4091// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
4092func (r Hardware_SecurityModule) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
4093	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
4094	return
4095}
4096
4097// Retrieve Information regarding an antivirus/spyware software component object.
4098func (r Hardware_SecurityModule) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
4099	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
4100	return
4101}
4102
4103// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
4104func (r Hardware_SecurityModule) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
4105	params := []interface{}{
4106		nasType,
4107	}
4108	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAttachedNetworkStorages", params, &r.Options, &resp)
4109	return
4110}
4111
4112// Retrieve Information regarding a piece of hardware's specific attributes.
4113func (r Hardware_SecurityModule) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
4114	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAttributes", nil, &r.Options, &resp)
4115	return
4116}
4117
4118// Retrieve An object that stores the maximum level for the monitoring query types and response types.
4119func (r Hardware_SecurityModule) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
4120	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAvailableMonitoring", nil, &r.Options, &resp)
4121	return
4122}
4123
4124// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
4125func (r Hardware_SecurityModule) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
4126	params := []interface{}{
4127		nasType,
4128	}
4129	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAvailableNetworkStorages", params, &r.Options, &resp)
4130	return
4131}
4132
4133// Retrieve The average daily total bandwidth usage for the current billing cycle.
4134func (r Hardware_SecurityModule) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
4135	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
4136	return
4137}
4138
4139// Retrieve The average daily private bandwidth usage for the current billing cycle.
4140func (r Hardware_SecurityModule) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
4141	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
4142	return
4143}
4144
4145// Retrieve The average daily public bandwidth usage for the current billing cycle.
4146func (r Hardware_SecurityModule) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
4147	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
4148	return
4149}
4150
4151// Use this method to return an array of private bandwidth utilization records between a given date range.
4152//
4153// This method represents the NEW version of getFrontendBandwidthUse
4154func (r Hardware_SecurityModule) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4155	params := []interface{}{
4156		startDate,
4157		endDate,
4158	}
4159	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendBandwidthUsage", params, &r.Options, &resp)
4160	return
4161}
4162
4163// Use this method to return an array of private bandwidth utilization records between a given date range.
4164func (r Hardware_SecurityModule) GetBackendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
4165	params := []interface{}{
4166		startDate,
4167		endDate,
4168	}
4169	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendBandwidthUse", params, &r.Options, &resp)
4170	return
4171}
4172
4173// 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.
4174func (r Hardware_SecurityModule) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4175	params := []interface{}{
4176		startDate,
4177		endDate,
4178	}
4179	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendIncomingBandwidth", params, &r.Options, &resp)
4180	return
4181}
4182
4183// Retrieve A piece of hardware's back-end or private network components.
4184func (r Hardware_SecurityModule) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
4185	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendNetworkComponents", nil, &r.Options, &resp)
4186	return
4187}
4188
4189// 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.
4190func (r Hardware_SecurityModule) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4191	params := []interface{}{
4192		startDate,
4193		endDate,
4194	}
4195	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
4196	return
4197}
4198
4199// Retrieve A hardware's backend or private router.
4200func (r Hardware_SecurityModule) GetBackendRouters() (resp []datatypes.Hardware, err error) {
4201	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendRouters", nil, &r.Options, &resp)
4202	return
4203}
4204
4205// Retrieve A hardware's allotted bandwidth (measured in GB).
4206func (r Hardware_SecurityModule) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
4207	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthAllocation", nil, &r.Options, &resp)
4208	return
4209}
4210
4211// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
4212func (r Hardware_SecurityModule) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
4213	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
4214	return
4215}
4216
4217// 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.
4218func (r Hardware_SecurityModule) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4219	params := []interface{}{
4220		startDate,
4221		endDate,
4222	}
4223	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthForDateRange", params, &r.Options, &resp)
4224	return
4225}
4226
4227// 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.
4228func (r Hardware_SecurityModule) GetBandwidthImage(networkType *string, snapshotRange *string, draw *bool, dateSpecified *datatypes.Time, dateSpecifiedEnd *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
4229	params := []interface{}{
4230		networkType,
4231		snapshotRange,
4232		draw,
4233		dateSpecified,
4234		dateSpecifiedEnd,
4235	}
4236	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthImage", params, &r.Options, &resp)
4237	return
4238}
4239
4240// Retrieve Information regarding a piece of hardware's benchmark certifications.
4241func (r Hardware_SecurityModule) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
4242	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBenchmarkCertifications", nil, &r.Options, &resp)
4243	return
4244}
4245
4246// Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
4247func (r Hardware_SecurityModule) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
4248	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
4249	return
4250}
4251
4252// Retrieve The raw private bandwidth usage data for the current billing cycle.
4253func (r Hardware_SecurityModule) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
4254	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
4255	return
4256}
4257
4258// Retrieve The raw public bandwidth usage data for the current billing cycle.
4259func (r Hardware_SecurityModule) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
4260	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
4261	return
4262}
4263
4264// Retrieve Information regarding the billing item for a server.
4265func (r Hardware_SecurityModule) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
4266	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingItem", nil, &r.Options, &resp)
4267	return
4268}
4269
4270// Retrieve A flag indicating that a billing item exists.
4271func (r Hardware_SecurityModule) GetBillingItemFlag() (resp bool, err error) {
4272	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingItemFlag", nil, &r.Options, &resp)
4273	return
4274}
4275
4276// Retrieve Determine if BIOS password should be left as null.
4277func (r Hardware_SecurityModule) GetBiosPasswordNullFlag() (resp bool, err error) {
4278	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
4279	return
4280}
4281
4282// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
4283func (r Hardware_SecurityModule) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
4284	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
4285	return
4286}
4287
4288// Retrieve the valid boot modes for this server
4289func (r Hardware_SecurityModule) GetBootModeOptions() (resp []string, err error) {
4290	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBootModeOptions", nil, &r.Options, &resp)
4291	return
4292}
4293
4294// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
4295func (r Hardware_SecurityModule) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
4296	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
4297	return
4298}
4299
4300// Retrieve Determine if the server is able to be image captured. If unable to image capture a reason will be provided.
4301func (r Hardware_SecurityModule) GetCaptureEnabledFlag() (resp datatypes.Container_Hardware_CaptureEnabled, err error) {
4302	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCaptureEnabledFlag", nil, &r.Options, &resp)
4303	return
4304}
4305
4306// Retrieve Child hardware.
4307func (r Hardware_SecurityModule) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
4308	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getChildrenHardware", nil, &r.Options, &resp)
4309	return
4310}
4311
4312// no documentation yet
4313func (r Hardware_SecurityModule) GetComponentDetailsXML() (resp string, err error) {
4314	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getComponentDetailsXML", nil, &r.Options, &resp)
4315	return
4316}
4317
4318// Retrieve A piece of hardware's components.
4319func (r Hardware_SecurityModule) GetComponents() (resp []datatypes.Hardware_Component, err error) {
4320	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getComponents", nil, &r.Options, &resp)
4321	return
4322}
4323
4324// Retrieve
4325func (r Hardware_SecurityModule) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
4326	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
4327	return
4328}
4329
4330// Retrieve A continuous data protection/server backup software component object.
4331func (r Hardware_SecurityModule) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
4332	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
4333	return
4334}
4335
4336// Retrieve A server's control panel.
4337func (r Hardware_SecurityModule) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
4338	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getControlPanel", nil, &r.Options, &resp)
4339	return
4340}
4341
4342// Retrieve The total cost of a server, measured in US Dollars ($USD).
4343func (r Hardware_SecurityModule) GetCost() (resp datatypes.Float64, err error) {
4344	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCost", nil, &r.Options, &resp)
4345	return
4346}
4347
4348//
4349// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
4350//
4351//
4352// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
4353func (r Hardware_SecurityModule) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
4354	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCreateObjectOptions", nil, &r.Options, &resp)
4355	return
4356}
4357
4358// Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
4359func (r Hardware_SecurityModule) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
4360	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
4361	return
4362}
4363
4364// 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.
4365func (r Hardware_SecurityModule) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
4366	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
4367	return
4368}
4369
4370// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
4371func (r Hardware_SecurityModule) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
4372	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
4373	return
4374}
4375
4376// Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
4377func (r Hardware_SecurityModule) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
4378	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillingDetail", nil, &r.Options, &resp)
4379	return
4380}
4381
4382// Get the total bill amount in US Dollars ($) for this hardware in the current billing period. This includes all bandwidth used up to the point the method is called on the hardware.
4383func (r Hardware_SecurityModule) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
4384	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillingTotal", nil, &r.Options, &resp)
4385	return
4386}
4387
4388// Retrieve bandwidth graph by date.
4389func (r Hardware_SecurityModule) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
4390	params := []interface{}{
4391		graphData,
4392	}
4393	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
4394	return
4395}
4396
4397// Retrieve Indicates if a server has a Customer Installed OS
4398func (r Hardware_SecurityModule) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
4399	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
4400	return
4401}
4402
4403// Retrieve Indicates if a server is a customer owned device.
4404func (r Hardware_SecurityModule) GetCustomerOwnedFlag() (resp bool, err error) {
4405	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCustomerOwnedFlag", nil, &r.Options, &resp)
4406	return
4407}
4408
4409// 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.
4410func (r Hardware_SecurityModule) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4411	params := []interface{}{
4412		startDate,
4413		endDate,
4414	}
4415	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDailyAverage", params, &r.Options, &resp)
4416	return
4417}
4418
4419// Retrieve Information regarding the datacenter in which a piece of hardware resides.
4420func (r Hardware_SecurityModule) GetDatacenter() (resp datatypes.Location, err error) {
4421	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDatacenter", nil, &r.Options, &resp)
4422	return
4423}
4424
4425// Retrieve The name of the datacenter in which a piece of hardware resides.
4426func (r Hardware_SecurityModule) GetDatacenterName() (resp string, err error) {
4427	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDatacenterName", nil, &r.Options, &resp)
4428	return
4429}
4430
4431// Retrieve Number of day(s) a server have been in spare pool.
4432func (r Hardware_SecurityModule) GetDaysInSparePool() (resp int, err error) {
4433	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDaysInSparePool", nil, &r.Options, &resp)
4434	return
4435}
4436
4437// Retrieve All hardware that has uplink network connections to a piece of hardware.
4438func (r Hardware_SecurityModule) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
4439	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkHardware", nil, &r.Options, &resp)
4440	return
4441}
4442
4443// Retrieve All hardware that has uplink network connections to a piece of hardware.
4444func (r Hardware_SecurityModule) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
4445	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
4446	return
4447}
4448
4449// Retrieve Information regarding all servers attached to a piece of network hardware.
4450func (r Hardware_SecurityModule) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
4451	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkServers", nil, &r.Options, &resp)
4452	return
4453}
4454
4455// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
4456func (r Hardware_SecurityModule) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4457	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
4458	return
4459}
4460
4461// Retrieve All hardware downstream from a network device.
4462func (r Hardware_SecurityModule) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
4463	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
4464	return
4465}
4466
4467// Retrieve All network hardware downstream from the selected piece of hardware.
4468func (r Hardware_SecurityModule) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
4469	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
4470	return
4471}
4472
4473// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
4474func (r Hardware_SecurityModule) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
4475	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
4476	return
4477}
4478
4479// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
4480func (r Hardware_SecurityModule) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
4481	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamServers", nil, &r.Options, &resp)
4482	return
4483}
4484
4485// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
4486func (r Hardware_SecurityModule) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4487	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
4488	return
4489}
4490
4491// Retrieve The drive controllers contained within a piece of hardware.
4492func (r Hardware_SecurityModule) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
4493	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDriveControllers", nil, &r.Options, &resp)
4494	return
4495}
4496
4497// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
4498func (r Hardware_SecurityModule) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4499	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getEvaultNetworkStorage", nil, &r.Options, &resp)
4500	return
4501}
4502
4503// Get the subnets associated with this server that are protectable by a network component firewall.
4504func (r Hardware_SecurityModule) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
4505	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
4506	return
4507}
4508
4509// Retrieve Information regarding a piece of hardware's firewall services.
4510func (r Hardware_SecurityModule) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
4511	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFirewallServiceComponent", nil, &r.Options, &resp)
4512	return
4513}
4514
4515// Retrieve Defines the fixed components in a fixed configuration bare metal server.
4516func (r Hardware_SecurityModule) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
4517	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFixedConfigurationPreset", nil, &r.Options, &resp)
4518	return
4519}
4520
4521// Use this method to return an array of public bandwidth utilization records between a given date range.
4522//
4523// This method represents the NEW version of getFrontendBandwidthUse
4524func (r Hardware_SecurityModule) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4525	params := []interface{}{
4526		startDate,
4527		endDate,
4528	}
4529	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendBandwidthUsage", params, &r.Options, &resp)
4530	return
4531}
4532
4533// Use this method to return an array of public bandwidth utilization records between a given date range.
4534func (r Hardware_SecurityModule) GetFrontendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
4535	params := []interface{}{
4536		startDate,
4537		endDate,
4538	}
4539	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendBandwidthUse", params, &r.Options, &resp)
4540	return
4541}
4542
4543// 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).
4544func (r Hardware_SecurityModule) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4545	params := []interface{}{
4546		startDate,
4547		endDate,
4548	}
4549	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
4550	return
4551}
4552
4553// Retrieve A piece of hardware's front-end or public network components.
4554func (r Hardware_SecurityModule) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
4555	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendNetworkComponents", nil, &r.Options, &resp)
4556	return
4557}
4558
4559// 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).
4560func (r Hardware_SecurityModule) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4561	params := []interface{}{
4562		startDate,
4563		endDate,
4564	}
4565	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
4566	return
4567}
4568
4569// Retrieve A hardware's frontend or public router.
4570func (r Hardware_SecurityModule) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
4571	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendRouters", nil, &r.Options, &resp)
4572	return
4573}
4574
4575// Retrieve A hardware's universally unique identifier.
4576func (r Hardware_SecurityModule) GetGlobalIdentifier() (resp string, err error) {
4577	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getGlobalIdentifier", nil, &r.Options, &resp)
4578	return
4579}
4580
4581// Retrieve The hard drives contained within a piece of hardware.
4582func (r Hardware_SecurityModule) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
4583	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardDrives", nil, &r.Options, &resp)
4584	return
4585}
4586
4587// Retrieve a server by searching for the primary IP address.
4588func (r Hardware_SecurityModule) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
4589	params := []interface{}{
4590		ipAddress,
4591	}
4592	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareByIpAddress", params, &r.Options, &resp)
4593	return
4594}
4595
4596// Retrieve The chassis that a piece of hardware is housed in.
4597func (r Hardware_SecurityModule) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
4598	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareChassis", nil, &r.Options, &resp)
4599	return
4600}
4601
4602// Retrieve A hardware's function.
4603func (r Hardware_SecurityModule) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
4604	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareFunction", nil, &r.Options, &resp)
4605	return
4606}
4607
4608// Retrieve A hardware's function.
4609func (r Hardware_SecurityModule) GetHardwareFunctionDescription() (resp string, err error) {
4610	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareFunctionDescription", nil, &r.Options, &resp)
4611	return
4612}
4613
4614// Retrieve A hardware's status.
4615func (r Hardware_SecurityModule) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
4616	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareStatus", nil, &r.Options, &resp)
4617	return
4618}
4619
4620// Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
4621func (r Hardware_SecurityModule) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
4622	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
4623	return
4624}
4625
4626// Retrieve Determine in hardware object has TPM enabled.
4627func (r Hardware_SecurityModule) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
4628	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
4629	return
4630}
4631
4632// Retrieve Information regarding a host IPS software component object.
4633func (r Hardware_SecurityModule) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
4634	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
4635	return
4636}
4637
4638// 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
4639//
4640// '02/01/2008 0:00'
4641//
4642// 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).
4643//
4644// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
4645func (r Hardware_SecurityModule) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4646	params := []interface{}{
4647		mode,
4648		day,
4649	}
4650	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHourlyBandwidth", params, &r.Options, &resp)
4651	return
4652}
4653
4654// Retrieve A server's hourly billing status.
4655func (r Hardware_SecurityModule) GetHourlyBillingFlag() (resp bool, err error) {
4656	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHourlyBillingFlag", nil, &r.Options, &resp)
4657	return
4658}
4659
4660// Retrieve The sum of all the inbound network traffic data for the last 30 days.
4661func (r Hardware_SecurityModule) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
4662	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundBandwidthUsage", nil, &r.Options, &resp)
4663	return
4664}
4665
4666// Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
4667func (r Hardware_SecurityModule) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
4668	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
4669	return
4670}
4671
4672// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
4673func (r Hardware_SecurityModule) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
4674	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
4675	return
4676}
4677
4678// Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
4679func (r Hardware_SecurityModule) GetIsCloudReadyNodeCertified() (resp bool, err error) {
4680	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
4681	return
4682}
4683
4684// Retrieve Determine if remote management has been disabled due to port speed.
4685func (r Hardware_SecurityModule) GetIsIpmiDisabled() (resp bool, err error) {
4686	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsIpmiDisabled", nil, &r.Options, &resp)
4687	return
4688}
4689
4690// Retrieve Determine if hardware object is a Virtual Private Cloud node.
4691func (r Hardware_SecurityModule) GetIsVirtualPrivateCloudNode() (resp bool, err error) {
4692	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsVirtualPrivateCloudNode", nil, &r.Options, &resp)
4693	return
4694}
4695
4696// Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
4697func (r Hardware_SecurityModule) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
4698	params := []interface{}{
4699		softwareDescriptions,
4700		includeTranslationsFlag,
4701		returnAllPricesFlag,
4702	}
4703	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
4704	return
4705}
4706
4707// Retrieve The last transaction that a server's operating system was loaded.
4708func (r Hardware_SecurityModule) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
4709	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLastOperatingSystemReload", nil, &r.Options, &resp)
4710	return
4711}
4712
4713// Retrieve Information regarding the last transaction a server performed.
4714func (r Hardware_SecurityModule) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
4715	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLastTransaction", nil, &r.Options, &resp)
4716	return
4717}
4718
4719// Retrieve A piece of hardware's latest network monitoring incident.
4720func (r Hardware_SecurityModule) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
4721	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
4722	return
4723}
4724
4725// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
4726func (r Hardware_SecurityModule) GetLocation() (resp datatypes.Location, err error) {
4727	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLocation", nil, &r.Options, &resp)
4728	return
4729}
4730
4731// Retrieve
4732func (r Hardware_SecurityModule) GetLocationPathString() (resp string, err error) {
4733	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLocationPathString", nil, &r.Options, &resp)
4734	return
4735}
4736
4737// Retrieve Information regarding a lockbox account associated with a server.
4738func (r Hardware_SecurityModule) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
4739	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLockboxNetworkStorage", nil, &r.Options, &resp)
4740	return
4741}
4742
4743// Retrieve Returns a list of logical volumes on the physical machine.
4744func (r Hardware_SecurityModule) GetLogicalVolumeStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
4745	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLogicalVolumeStorageGroups", nil, &r.Options, &resp)
4746	return
4747}
4748
4749// Retrieve A flag indicating that the hardware is a managed resource.
4750func (r Hardware_SecurityModule) GetManagedResourceFlag() (resp bool, err error) {
4751	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getManagedResourceFlag", nil, &r.Options, &resp)
4752	return
4753}
4754
4755// Retrieve the remote management network component attached with this server.
4756func (r Hardware_SecurityModule) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
4757	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getManagementNetworkComponent", nil, &r.Options, &resp)
4758	return
4759}
4760
4761// Retrieve Information regarding a piece of hardware's memory.
4762func (r Hardware_SecurityModule) GetMemory() (resp []datatypes.Hardware_Component, err error) {
4763	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMemory", nil, &r.Options, &resp)
4764	return
4765}
4766
4767// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
4768func (r Hardware_SecurityModule) GetMemoryCapacity() (resp uint, err error) {
4769	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMemoryCapacity", nil, &r.Options, &resp)
4770	return
4771}
4772
4773// Retrieve A piece of hardware's metric tracking object.
4774func (r Hardware_SecurityModule) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
4775	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMetricTrackingObject", nil, &r.Options, &resp)
4776	return
4777}
4778
4779// Retrieve The metric tracking object id for this server.
4780func (r Hardware_SecurityModule) GetMetricTrackingObjectId() (resp int, err error) {
4781	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMetricTrackingObjectId", nil, &r.Options, &resp)
4782	return
4783}
4784
4785// Retrieve
4786func (r Hardware_SecurityModule) GetModules() (resp []datatypes.Hardware_Component, err error) {
4787	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getModules", nil, &r.Options, &resp)
4788	return
4789}
4790
4791// Retrieve
4792func (r Hardware_SecurityModule) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
4793	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringRobot", nil, &r.Options, &resp)
4794	return
4795}
4796
4797// Retrieve Information regarding a piece of hardware's network monitoring services.
4798func (r Hardware_SecurityModule) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
4799	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringServiceComponent", nil, &r.Options, &resp)
4800	return
4801}
4802
4803// Retrieve
4804func (r Hardware_SecurityModule) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
4805	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
4806	return
4807}
4808
4809// 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
4810func (r Hardware_SecurityModule) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
4811	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringUserNotification", nil, &r.Options, &resp)
4812	return
4813}
4814
4815// Retrieve Information regarding a piece of hardware's motherboard.
4816func (r Hardware_SecurityModule) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
4817	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMotherboard", nil, &r.Options, &resp)
4818	return
4819}
4820
4821// Retrieve Information regarding a piece of hardware's network cards.
4822func (r Hardware_SecurityModule) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
4823	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkCards", nil, &r.Options, &resp)
4824	return
4825}
4826
4827// 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.
4828func (r Hardware_SecurityModule) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
4829	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
4830	return
4831}
4832
4833// Retrieve Returns a hardware's network components.
4834func (r Hardware_SecurityModule) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
4835	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkComponents", nil, &r.Options, &resp)
4836	return
4837}
4838
4839// Retrieve The gateway member if this device is part of a network gateway.
4840func (r Hardware_SecurityModule) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
4841	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkGatewayMember", nil, &r.Options, &resp)
4842	return
4843}
4844
4845// Retrieve Whether or not this device is part of a network gateway.
4846func (r Hardware_SecurityModule) GetNetworkGatewayMemberFlag() (resp bool, err error) {
4847	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
4848	return
4849}
4850
4851// Retrieve A piece of hardware's network management IP address.
4852func (r Hardware_SecurityModule) GetNetworkManagementIpAddress() (resp string, err error) {
4853	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
4854	return
4855}
4856
4857// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
4858func (r Hardware_SecurityModule) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
4859	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
4860	return
4861}
4862
4863// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
4864func (r Hardware_SecurityModule) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4865	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
4866	return
4867}
4868
4869// Retrieve The status of all of a piece of hardware's network monitoring incidents.
4870func (r Hardware_SecurityModule) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
4871	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
4872	return
4873}
4874
4875// Retrieve Information regarding a piece of hardware's network monitors.
4876func (r Hardware_SecurityModule) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
4877	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitors", nil, &r.Options, &resp)
4878	return
4879}
4880
4881// Retrieve The value of a hardware's network status attribute.
4882func (r Hardware_SecurityModule) GetNetworkStatus() (resp string, err error) {
4883	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStatus", nil, &r.Options, &resp)
4884	return
4885}
4886
4887// Retrieve The hardware's related network status attribute.
4888func (r Hardware_SecurityModule) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
4889	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStatusAttribute", nil, &r.Options, &resp)
4890	return
4891}
4892
4893// Retrieve Information regarding a piece of hardware's associated network storage service account.
4894func (r Hardware_SecurityModule) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4895	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStorage", nil, &r.Options, &resp)
4896	return
4897}
4898
4899// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
4900func (r Hardware_SecurityModule) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
4901	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkVlans", nil, &r.Options, &resp)
4902	return
4903}
4904
4905// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
4906func (r Hardware_SecurityModule) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
4907	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
4908	return
4909}
4910
4911// Retrieve
4912func (r Hardware_SecurityModule) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
4913	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNotesHistory", nil, &r.Options, &resp)
4914	return
4915}
4916
4917// Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
4918func (r Hardware_SecurityModule) GetNvRamCapacity() (resp uint, err error) {
4919	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNvRamCapacity", nil, &r.Options, &resp)
4920	return
4921}
4922
4923// Retrieve
4924func (r Hardware_SecurityModule) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
4925	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNvRamComponentModels", nil, &r.Options, &resp)
4926	return
4927}
4928
4929// no documentation yet
4930func (r Hardware_SecurityModule) GetObject() (resp datatypes.Hardware_SecurityModule, err error) {
4931	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getObject", nil, &r.Options, &resp)
4932	return
4933}
4934
4935// Retrieve An open ticket requesting cancellation of this server, if one exists.
4936func (r Hardware_SecurityModule) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
4937	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOpenCancellationTicket", nil, &r.Options, &resp)
4938	return
4939}
4940
4941// Retrieve Information regarding a piece of hardware's operating system.
4942func (r Hardware_SecurityModule) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
4943	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOperatingSystem", nil, &r.Options, &resp)
4944	return
4945}
4946
4947// Retrieve A hardware's operating system software description.
4948func (r Hardware_SecurityModule) GetOperatingSystemReferenceCode() (resp string, err error) {
4949	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
4950	return
4951}
4952
4953// Retrieve The sum of all the outbound network traffic data for the last 30 days.
4954func (r Hardware_SecurityModule) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
4955	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
4956	return
4957}
4958
4959// Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
4960func (r Hardware_SecurityModule) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
4961	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
4962	return
4963}
4964
4965// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
4966func (r Hardware_SecurityModule) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
4967	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
4968	return
4969}
4970
4971// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
4972func (r Hardware_SecurityModule) GetOverBandwidthAllocationFlag() (resp int, err error) {
4973	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
4974	return
4975}
4976
4977// 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.
4978func (r Hardware_SecurityModule) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
4979	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPMInfo", nil, &r.Options, &resp)
4980	return
4981}
4982
4983// Retrieve Blade Bay
4984func (r Hardware_SecurityModule) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
4985	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getParentBay", nil, &r.Options, &resp)
4986	return
4987}
4988
4989// Retrieve Parent Hardware.
4990func (r Hardware_SecurityModule) GetParentHardware() (resp datatypes.Hardware, err error) {
4991	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getParentHardware", nil, &r.Options, &resp)
4992	return
4993}
4994
4995// Retrieve
4996func (r Hardware_SecurityModule) GetPartitions() (resp []datatypes.Hardware_Server_Partition, err error) {
4997	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPartitions", nil, &r.Options, &resp)
4998	return
4999}
5000
5001// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
5002func (r Hardware_SecurityModule) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
5003	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPointOfPresenceLocation", nil, &r.Options, &resp)
5004	return
5005}
5006
5007// Retrieve The power components for a hardware object.
5008func (r Hardware_SecurityModule) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
5009	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPowerComponents", nil, &r.Options, &resp)
5010	return
5011}
5012
5013// Retrieve Information regarding a piece of hardware's power supply.
5014func (r Hardware_SecurityModule) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
5015	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPowerSupply", nil, &r.Options, &resp)
5016	return
5017}
5018
5019// Retrieve The hardware's primary private IP address.
5020func (r Hardware_SecurityModule) GetPrimaryBackendIpAddress() (resp string, err error) {
5021	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
5022	return
5023}
5024
5025// Retrieve Information regarding the hardware's primary back-end network component.
5026func (r Hardware_SecurityModule) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
5027	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
5028	return
5029}
5030
5031// no documentation yet
5032func (r Hardware_SecurityModule) GetPrimaryDriveSize() (resp int, err error) {
5033	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryDriveSize", nil, &r.Options, &resp)
5034	return
5035}
5036
5037// Retrieve The hardware's primary public IP address.
5038func (r Hardware_SecurityModule) GetPrimaryIpAddress() (resp string, err error) {
5039	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryIpAddress", nil, &r.Options, &resp)
5040	return
5041}
5042
5043// Retrieve Information regarding the hardware's primary public network component.
5044func (r Hardware_SecurityModule) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
5045	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
5046	return
5047}
5048
5049// 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.
5050func (r Hardware_SecurityModule) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
5051	params := []interface{}{
5052		startTime,
5053		endTime,
5054	}
5055	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBandwidthData", params, &r.Options, &resp)
5056	return
5057}
5058
5059// 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.
5060func (r Hardware_SecurityModule) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
5061	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
5062	return
5063}
5064
5065// 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
5066func (r Hardware_SecurityModule) GetPrivateBandwidthGraphImage(startTime *string, endTime *string) (resp []byte, err error) {
5067	params := []interface{}{
5068		startTime,
5069		endTime,
5070	}
5071	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBandwidthGraphImage", params, &r.Options, &resp)
5072	return
5073}
5074
5075// Retrieve A server's primary private IP address.
5076func (r Hardware_SecurityModule) GetPrivateIpAddress() (resp string, err error) {
5077	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateIpAddress", nil, &r.Options, &resp)
5078	return
5079}
5080
5081// Retrieve the private network component attached with this server.
5082func (r Hardware_SecurityModule) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
5083	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateNetworkComponent", nil, &r.Options, &resp)
5084	return
5085}
5086
5087// Retrieve Whether the hardware only has access to the private network.
5088func (r Hardware_SecurityModule) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
5089	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
5090	return
5091}
5092
5093// Retrieve the backend VLAN for the primary IP address of the server
5094func (r Hardware_SecurityModule) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
5095	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateVlan", nil, &r.Options, &resp)
5096	return
5097}
5098
5099//
5100// *** DEPRECATED ***
5101// Retrieve a backend network VLAN by searching for an IP address
5102func (r Hardware_SecurityModule) GetPrivateVlanByIpAddress(ipAddress *string) (resp datatypes.Network_Vlan, err error) {
5103	params := []interface{}{
5104		ipAddress,
5105	}
5106	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateVlanByIpAddress", params, &r.Options, &resp)
5107	return
5108}
5109
5110// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
5111func (r Hardware_SecurityModule) GetProcessorCoreAmount() (resp uint, err error) {
5112	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessorCoreAmount", nil, &r.Options, &resp)
5113	return
5114}
5115
5116// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
5117func (r Hardware_SecurityModule) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
5118	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
5119	return
5120}
5121
5122// Retrieve Information regarding a piece of hardware's processors.
5123func (r Hardware_SecurityModule) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
5124	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessors", nil, &r.Options, &resp)
5125	return
5126}
5127
5128// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
5129func (r Hardware_SecurityModule) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
5130	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
5131	return
5132}
5133
5134// Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
5135func (r Hardware_SecurityModule) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
5136	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
5137	return
5138}
5139
5140// no documentation yet
5141func (r Hardware_SecurityModule) GetProvisionDate() (resp datatypes.Time, err error) {
5142	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProvisionDate", nil, &r.Options, &resp)
5143	return
5144}
5145
5146// 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.
5147func (r Hardware_SecurityModule) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
5148	params := []interface{}{
5149		startTime,
5150		endTime,
5151	}
5152	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthData", params, &r.Options, &resp)
5153	return
5154}
5155
5156// 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.
5157func (r Hardware_SecurityModule) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
5158	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
5159	return
5160}
5161
5162// 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.
5163func (r Hardware_SecurityModule) GetPublicBandwidthGraphImage(startTime *datatypes.Time, endTime *datatypes.Time) (resp []byte, err error) {
5164	params := []interface{}{
5165		startTime,
5166		endTime,
5167	}
5168	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthGraphImage", params, &r.Options, &resp)
5169	return
5170}
5171
5172// Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
5173func (r Hardware_SecurityModule) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
5174	params := []interface{}{
5175		startTime,
5176		endTime,
5177	}
5178	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthTotal", params, &r.Options, &resp)
5179	return
5180}
5181
5182// 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.
5183func (r Hardware_SecurityModule) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
5184	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicNetworkComponent", nil, &r.Options, &resp)
5185	return
5186}
5187
5188// Retrieve the frontend VLAN for the primary IP address of the server
5189func (r Hardware_SecurityModule) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
5190	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicVlan", nil, &r.Options, &resp)
5191	return
5192}
5193
5194// Retrieve the frontend network Vlan by searching the hostname of a server
5195func (r Hardware_SecurityModule) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
5196	params := []interface{}{
5197		hostname,
5198	}
5199	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicVlanByHostname", params, &r.Options, &resp)
5200	return
5201}
5202
5203// Retrieve
5204func (r Hardware_SecurityModule) GetRack() (resp datatypes.Location, err error) {
5205	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRack", nil, &r.Options, &resp)
5206	return
5207}
5208
5209// Retrieve The RAID controllers contained within a piece of hardware.
5210func (r Hardware_SecurityModule) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
5211	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRaidControllers", nil, &r.Options, &resp)
5212	return
5213}
5214
5215// Retrieve Determine if hardware object is vSan Ready Node.
5216func (r Hardware_SecurityModule) GetReadyNodeFlag() (resp bool, err error) {
5217	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getReadyNodeFlag", nil, &r.Options, &resp)
5218	return
5219}
5220
5221// Retrieve Recent events that impact this hardware.
5222func (r Hardware_SecurityModule) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
5223	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRecentEvents", nil, &r.Options, &resp)
5224	return
5225}
5226
5227// Retrieve The last five commands issued to the server's remote management card.
5228func (r Hardware_SecurityModule) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
5229	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
5230	return
5231}
5232
5233// Retrieve
5234func (r Hardware_SecurityModule) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
5235	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRegionalInternetRegistry", nil, &r.Options, &resp)
5236	return
5237}
5238
5239// Retrieve A server's remote management card.
5240func (r Hardware_SecurityModule) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
5241	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagement", nil, &r.Options, &resp)
5242	return
5243}
5244
5245// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
5246func (r Hardware_SecurityModule) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
5247	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementAccounts", nil, &r.Options, &resp)
5248	return
5249}
5250
5251// Retrieve A hardware's associated remote management component. This is normally IPMI.
5252func (r Hardware_SecurityModule) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
5253	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementComponent", nil, &r.Options, &resp)
5254	return
5255}
5256
5257// Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
5258func (r Hardware_SecurityModule) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
5259	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementUsers", nil, &r.Options, &resp)
5260	return
5261}
5262
5263// Retrieve
5264func (r Hardware_SecurityModule) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
5265	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceConfigurations", nil, &r.Options, &resp)
5266	return
5267}
5268
5269// Retrieve
5270func (r Hardware_SecurityModule) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
5271	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
5272	return
5273}
5274
5275// Retrieve
5276func (r Hardware_SecurityModule) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
5277	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroupRoles", nil, &r.Options, &resp)
5278	return
5279}
5280
5281// Retrieve The resource groups in which this hardware is a member.
5282func (r Hardware_SecurityModule) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
5283	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroups", nil, &r.Options, &resp)
5284	return
5285}
5286
5287// Retrieve the reverse domain records associated with this server.
5288func (r Hardware_SecurityModule) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
5289	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getReverseDomainRecords", nil, &r.Options, &resp)
5290	return
5291}
5292
5293// Retrieve A hardware's routers.
5294func (r Hardware_SecurityModule) GetRouters() (resp []datatypes.Hardware, err error) {
5295	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRouters", nil, &r.Options, &resp)
5296	return
5297}
5298
5299// Retrieve Collection of scale assets this hardware corresponds to.
5300func (r Hardware_SecurityModule) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
5301	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getScaleAssets", nil, &r.Options, &resp)
5302	return
5303}
5304
5305// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
5306func (r Hardware_SecurityModule) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
5307	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSecurityScanRequests", nil, &r.Options, &resp)
5308	return
5309}
5310
5311// 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.
5312func (r Hardware_SecurityModule) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
5313	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSensorData", nil, &r.Options, &resp)
5314	return
5315}
5316
5317// 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.
5318func (r Hardware_SecurityModule) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
5319	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSensorDataWithGraphs", nil, &r.Options, &resp)
5320	return
5321}
5322
5323// 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.
5324func (r Hardware_SecurityModule) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
5325	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerDetails", nil, &r.Options, &resp)
5326	return
5327}
5328
5329// 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.
5330func (r Hardware_SecurityModule) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
5331	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
5332	return
5333}
5334
5335// 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'.
5336func (r Hardware_SecurityModule) GetServerPowerState() (resp string, err error) {
5337	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerPowerState", nil, &r.Options, &resp)
5338	return
5339}
5340
5341// Retrieve Information regarding the server room in which the hardware is located.
5342func (r Hardware_SecurityModule) GetServerRoom() (resp datatypes.Location, err error) {
5343	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerRoom", nil, &r.Options, &resp)
5344	return
5345}
5346
5347// 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.
5348func (r Hardware_SecurityModule) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
5349	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerTemperatureGraphs", nil, &r.Options, &resp)
5350	return
5351}
5352
5353// Retrieve Information regarding the piece of hardware's service provider.
5354func (r Hardware_SecurityModule) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
5355	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServiceProvider", nil, &r.Options, &resp)
5356	return
5357}
5358
5359// Retrieve Information regarding a piece of hardware's installed software.
5360func (r Hardware_SecurityModule) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
5361	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSoftwareComponents", nil, &r.Options, &resp)
5362	return
5363}
5364
5365// Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
5366func (r Hardware_SecurityModule) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
5367	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
5368	return
5369}
5370
5371// Retrieve Information regarding the billing item for a spare pool server.
5372func (r Hardware_SecurityModule) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
5373	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSparePoolBillingItem", nil, &r.Options, &resp)
5374	return
5375}
5376
5377// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
5378func (r Hardware_SecurityModule) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
5379	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSshKeys", nil, &r.Options, &resp)
5380	return
5381}
5382
5383// Retrieve A server's remote management card used for statistics.
5384func (r Hardware_SecurityModule) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
5385	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
5386	return
5387}
5388
5389// Retrieve
5390func (r Hardware_SecurityModule) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
5391	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getStorageGroups", nil, &r.Options, &resp)
5392	return
5393}
5394
5395// Retrieve A piece of hardware's private storage network components. [Deprecated]
5396func (r Hardware_SecurityModule) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
5397	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getStorageNetworkComponents", nil, &r.Options, &resp)
5398	return
5399}
5400
5401// Retrieve
5402func (r Hardware_SecurityModule) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
5403	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTagReferences", nil, &r.Options, &resp)
5404	return
5405}
5406
5407// Retrieve
5408func (r Hardware_SecurityModule) GetTopLevelLocation() (resp datatypes.Location, err error) {
5409	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTopLevelLocation", nil, &r.Options, &resp)
5410	return
5411}
5412
5413//
5414// This method will query transaction history for a piece of hardware.
5415func (r Hardware_SecurityModule) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
5416	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTransactionHistory", nil, &r.Options, &resp)
5417	return
5418}
5419
5420// Retrieve Whether to use UEFI boot instead of BIOS.
5421func (r Hardware_SecurityModule) GetUefiBootFlag() (resp bool, err error) {
5422	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUefiBootFlag", nil, &r.Options, &resp)
5423	return
5424}
5425
5426// 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.
5427func (r Hardware_SecurityModule) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
5428	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUpgradeItemPrices", nil, &r.Options, &resp)
5429	return
5430}
5431
5432// Retrieve An account's associated upgrade request object, if any.
5433func (r Hardware_SecurityModule) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
5434	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUpgradeRequest", nil, &r.Options, &resp)
5435	return
5436}
5437
5438// Retrieve The network device connected to a piece of hardware.
5439func (r Hardware_SecurityModule) GetUplinkHardware() (resp datatypes.Hardware, err error) {
5440	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUplinkHardware", nil, &r.Options, &resp)
5441	return
5442}
5443
5444// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
5445func (r Hardware_SecurityModule) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
5446	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUplinkNetworkComponents", nil, &r.Options, &resp)
5447	return
5448}
5449
5450// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
5451func (r Hardware_SecurityModule) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
5452	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUserData", nil, &r.Options, &resp)
5453	return
5454}
5455
5456// Retrieve A list of users that have access to this computing instance.
5457func (r Hardware_SecurityModule) GetUsers() (resp []datatypes.User_Customer, err error) {
5458	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUsers", nil, &r.Options, &resp)
5459	return
5460}
5461
5462// 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.
5463func (r Hardware_SecurityModule) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
5464	params := []interface{}{
5465		visibility,
5466	}
5467	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
5468	return
5469}
5470
5471// Retrieve Information regarding the virtual chassis for a piece of hardware.
5472func (r Hardware_SecurityModule) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
5473	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualChassis", nil, &r.Options, &resp)
5474	return
5475}
5476
5477// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
5478func (r Hardware_SecurityModule) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
5479	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualChassisSiblings", nil, &r.Options, &resp)
5480	return
5481}
5482
5483// Retrieve A hardware server's virtual servers.
5484func (r Hardware_SecurityModule) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
5485	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualGuests", nil, &r.Options, &resp)
5486	return
5487}
5488
5489// Retrieve A piece of hardware's virtual host record.
5490func (r Hardware_SecurityModule) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
5491	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualHost", nil, &r.Options, &resp)
5492	return
5493}
5494
5495// Retrieve Information regarding a piece of hardware's virtual software licenses.
5496func (r Hardware_SecurityModule) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
5497	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualLicenses", nil, &r.Options, &resp)
5498	return
5499}
5500
5501// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
5502func (r Hardware_SecurityModule) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
5503	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRack", nil, &r.Options, &resp)
5504	return
5505}
5506
5507// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
5508func (r Hardware_SecurityModule) GetVirtualRackId() (resp int, err error) {
5509	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRackId", nil, &r.Options, &resp)
5510	return
5511}
5512
5513// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
5514func (r Hardware_SecurityModule) GetVirtualRackName() (resp string, err error) {
5515	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRackName", nil, &r.Options, &resp)
5516	return
5517}
5518
5519// Retrieve A piece of hardware's virtualization platform software.
5520func (r Hardware_SecurityModule) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
5521	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualizationPlatform", nil, &r.Options, &resp)
5522	return
5523}
5524
5525// 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.
5526func (r Hardware_SecurityModule) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
5527	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
5528	return
5529}
5530
5531// 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.
5532func (r Hardware_SecurityModule) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
5533	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
5534	return
5535}
5536
5537// 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.
5538func (r Hardware_SecurityModule) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
5539	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateStatus", nil, &r.Options, &resp)
5540	return
5541}
5542
5543// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
5544func (r Hardware_SecurityModule) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
5545	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "importVirtualHost", nil, &r.Options, &resp)
5546	return
5547}
5548
5549// Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
5550func (r Hardware_SecurityModule) InitiateIderaBareMetalRestore() (resp bool, err error) {
5551	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
5552	return
5553}
5554
5555// R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
5556func (r Hardware_SecurityModule) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
5557	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
5558	return
5559}
5560
5561// Issues a ping command and returns the success (true) or failure (false) of the ping command.
5562func (r Hardware_SecurityModule) IsBackendPingable() (resp bool, err error) {
5563	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isBackendPingable", nil, &r.Options, &resp)
5564	return
5565}
5566
5567// Issues a ping command and returns the success (true) or failure (false) of the ping command.
5568func (r Hardware_SecurityModule) IsPingable() (resp bool, err error) {
5569	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isPingable", nil, &r.Options, &resp)
5570	return
5571}
5572
5573// Determine if the server runs any version of the Microsoft Windows operating systems. Return ''true'' if it does and ''false if otherwise.
5574func (r Hardware_SecurityModule) IsWindowsServer() (resp bool, err error) {
5575	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isWindowsServer", nil, &r.Options, &resp)
5576	return
5577}
5578
5579// You can launch firmware reflashes by selecting from your server list. It will bring your server offline for approximately 60 minutes while the reflashes are in progress.
5580//
5581// 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. They will be contact you to ensure that impact on your server is minimal.
5582func (r Hardware_SecurityModule) MassFirmwareReflash(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5583	params := []interface{}{
5584		hardwareIds,
5585		ipmi,
5586		raidController,
5587		bios,
5588	}
5589	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massFirmwareReflash", params, &r.Options, &resp)
5590	return
5591}
5592
5593// 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.
5594//
5595// 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.
5596func (r Hardware_SecurityModule) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5597	params := []interface{}{
5598		hardwareIds,
5599		ipmi,
5600		raidController,
5601		bios,
5602		harddrive,
5603	}
5604	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massFirmwareUpdate", params, &r.Options, &resp)
5605	return
5606}
5607
5608// You can launch hyper-threading update by selecting from your server list. It will bring your server offline for approximately 60 minutes while the updates are in progress.
5609//
5610// In the event of a hardware failure during this update our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online. They will be in contact with you to ensure that impact on your server is minimal.
5611func (r Hardware_SecurityModule) MassHyperThreadingUpdate(hardwareIds []int, disableHyperthreading *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5612	params := []interface{}{
5613		hardwareIds,
5614		disableHyperthreading,
5615	}
5616	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massHyperThreadingUpdate", params, &r.Options, &resp)
5617	return
5618}
5619
5620// Reloads current or customer specified operating system configuration.
5621//
5622// 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.
5623//
5624// 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.
5625//
5626// The reload will take AT MINIMUM 66 minutes.
5627func (r Hardware_SecurityModule) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
5628	params := []interface{}{
5629		hardwareIds,
5630		token,
5631		config,
5632	}
5633	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massReloadOperatingSystem", params, &r.Options, &resp)
5634	return
5635}
5636
5637// 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.
5638func (r Hardware_SecurityModule) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5639	params := []interface{}{
5640		hardwareIds,
5641		action,
5642		newOrder,
5643	}
5644	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massSparePool", params, &r.Options, &resp)
5645	return
5646}
5647
5648// Issues a ping command to the server and returns the ping response.
5649func (r Hardware_SecurityModule) Ping() (resp string, err error) {
5650	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "ping", nil, &r.Options, &resp)
5651	return
5652}
5653
5654// no documentation yet
5655func (r Hardware_SecurityModule) PopulateServerRam(ramSerialString *string) (err error) {
5656	var resp datatypes.Void
5657	params := []interface{}{
5658		ramSerialString,
5659	}
5660	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "populateServerRam", params, &r.Options, &resp)
5661	return
5662}
5663
5664// 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.
5665func (r Hardware_SecurityModule) PowerCycle() (resp bool, err error) {
5666	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerCycle", nil, &r.Options, &resp)
5667	return
5668}
5669
5670// This method will power off the server via the server's remote management card.
5671func (r Hardware_SecurityModule) PowerOff() (resp bool, err error) {
5672	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerOff", nil, &r.Options, &resp)
5673	return
5674}
5675
5676// 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.
5677func (r Hardware_SecurityModule) PowerOn() (resp bool, err error) {
5678	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerOn", nil, &r.Options, &resp)
5679	return
5680}
5681
5682// 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.
5683func (r Hardware_SecurityModule) RebootDefault() (resp bool, err error) {
5684	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootDefault", nil, &r.Options, &resp)
5685	return
5686}
5687
5688// 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.
5689func (r Hardware_SecurityModule) RebootHard() (resp bool, err error) {
5690	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootHard", nil, &r.Options, &resp)
5691	return
5692}
5693
5694// 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.
5695func (r Hardware_SecurityModule) RebootSoft() (resp bool, err error) {
5696	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootSoft", nil, &r.Options, &resp)
5697	return
5698}
5699
5700// Reloads current operating system configuration.
5701//
5702// 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.
5703//
5704// 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.
5705//
5706// The reload will take AT MINIMUM 66 minutes.
5707func (r Hardware_SecurityModule) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
5708	params := []interface{}{
5709		token,
5710	}
5711	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
5712	return
5713}
5714
5715// Reloads current or customer specified operating system configuration.
5716//
5717// 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.
5718//
5719// 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.
5720//
5721// The reload will take AT MINIMUM 66 minutes.
5722func (r Hardware_SecurityModule) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
5723	params := []interface{}{
5724		token,
5725		config,
5726	}
5727	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "reloadOperatingSystem", params, &r.Options, &resp)
5728	return
5729}
5730
5731// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
5732func (r Hardware_SecurityModule) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
5733	params := []interface{}{
5734		networkStorageTemplateObject,
5735	}
5736	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "removeAccessToNetworkStorage", params, &r.Options, &resp)
5737	return
5738}
5739
5740// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
5741func (r Hardware_SecurityModule) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
5742	params := []interface{}{
5743		networkStorageTemplateObjects,
5744	}
5745	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
5746	return
5747}
5748
5749// no documentation yet
5750func (r Hardware_SecurityModule) RemoveTags(tags *string) (resp bool, err error) {
5751	params := []interface{}{
5752		tags,
5753	}
5754	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "removeTags", params, &r.Options, &resp)
5755	return
5756}
5757
5758// 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.
5759//
5760// 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.
5761//
5762// 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.
5763//
5764// 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.
5765func (r Hardware_SecurityModule) RunPassmarkCertificationBenchmark() (resp bool, err error) {
5766	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
5767	return
5768}
5769
5770// Changes the password that we have stored in our database for a servers' Operating System
5771func (r Hardware_SecurityModule) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
5772	params := []interface{}{
5773		newPassword,
5774	}
5775	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setOperatingSystemPassword", params, &r.Options, &resp)
5776	return
5777}
5778
5779// Set the private network interface speed and redundancy configuration.
5780//
5781// Possible $newSpeed values are -1 (maximum available), 0 (disconnect), 10, 100, 1000, and 10000; not all values are available to every server. The maximum speed is limited by the speed requested during provisioning. All intermediate speeds are limited by the capability of the pod the server is deployed in. No guarantee is made that a speed other than what was requested during provisioning will be available.
5782//
5783// If specified, possible $redundancy values are either "redundant" or "degraded". Not specifying a redundancy mode will use the best possible redundancy available to the server. However, specifying a redundacy mode that is not available to the server will result in an error. "redundant" indicates all available interfaces should be active. "degraded" indicates only the primary interface should be active. Irrespective of the number of interfaces available to a server, it is only possible to have either a single interface or all interfaces active.
5784//
5785// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
5786//
5787// A response of true indicates a change was required to achieve the desired interface configuration; thus changes are pending. A response of false indicates the current interface configuration matches the desired configuration, and thus no changes are pending.
5788//
5789// <h4>Backwards Compatibility Until February 27th, 2019</h4>
5790//
5791// In order to provide a period of transition to the new API, some backwards compatible behaviors will be active during this period. <ul> <li> A "doubled" (eg. 200) speed value will be translated to a redundancy value of "redundant". If a redundancy value is specified, it is assumed no translation is needed and will result in an error due to doubled speeds no longer being valid.</li> <li> A non-doubled (eg. 100) speed value <i>without</i> a redundancy value will be translated to a redundancy value of "degraded".</li> </ul> After the compatibility period, a doubled speed value will result in an error, and a non-doubled speed value without a redundancy value specified will result in the best available redundancy state. An exception is made for the new relative speed value -1. When using -1 without a redundancy value, the best possible redundancy will be used. Please transition away from using doubled speed values in favor of specifying redundancy (when applicable) or using relative speed values 0 and -1.
5792func (r Hardware_SecurityModule) SetPrivateNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
5793	params := []interface{}{
5794		newSpeed,
5795		redundancy,
5796	}
5797	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
5798	return
5799}
5800
5801// Set the public network interface speed and redundancy configuration.
5802//
5803// Possible $newSpeed values are -1 (maximum available), 0 (disconnect), 10, 100, 1000, and 10000; not all values are available to every server. The maximum speed is limited by the speed requested during provisioning. All intermediate speeds are limited by the capability of the pod the server is deployed in. No guarantee is made that a speed other than what was requested during provisioning will be available.
5804//
5805// If specified, possible $redundancy values are either "redundant" or "degraded". Not specifying a redundancy mode will use the best possible redundancy available to the server. However, specifying a redundacy mode that is not available to the server will result in an error. "redundant" indicates all available interfaces should be active. "degraded" indicates only the primary interface should be active. Irrespective of the number of interfaces available to a server, it is only possible to have either a single interface or all interfaces active.
5806//
5807// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
5808//
5809// A response of true indicates a change was required to achieve the desired interface configuration; thus changes are pending. A response of false indicates the current interface configuration matches the desired configuration, and thus no changes are pending.
5810//
5811// <h4>Backwards Compatibility Until February 27th, 2019</h4>
5812//
5813// In order to provide a period of transition to the new API, some backwards compatible behaviors will be active during this period. <ul> <li> A "doubled" (eg. 200) speed value will be translated to a redundancy value of "redundant". If a redundancy value is specified, it is assumed no translation is needed and will result in an error due to doubled speeds no longer being valid.</li> <li> A non-doubled (eg. 100) speed value <i>without</i> a redundancy value will be translated to a redundancy value of "degraded".</li> </ul> After the compatibility period, a doubled speed value will result in an error, and a non-doubled speed value without a redundancy value specified will result in the best available redundancy state. An exception is made for the new relative speed value -1. When using -1 without a redundancy value, the best possible redundancy will be used. Please transition away from using doubled speed values in favor of specifying redundancy (when applicable) or using relative speed values 0 and -1.
5814func (r Hardware_SecurityModule) SetPublicNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
5815	params := []interface{}{
5816		newSpeed,
5817		redundancy,
5818	}
5819	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
5820	return
5821}
5822
5823// no documentation yet
5824func (r Hardware_SecurityModule) SetTags(tags *string) (resp bool, err error) {
5825	params := []interface{}{
5826		tags,
5827	}
5828	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setTags", params, &r.Options, &resp)
5829	return
5830}
5831
5832// Sets the data that will be written to the configuration drive.
5833func (r Hardware_SecurityModule) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
5834	params := []interface{}{
5835		metadata,
5836	}
5837	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setUserMetadata", params, &r.Options, &resp)
5838	return
5839}
5840
5841// Disconnect a server's private network interface. This operation is an alias for calling [[SoftLayer_Hardware_Server/setPrivateNetworkInterfaceSpeed]] with a $newSpeed of 0 and unspecified $redundancy.
5842//
5843// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
5844//
5845// A response of true indicates a change was required to disconnect the interface; thus changes are pending. A response of false indicates the interface was already disconnected, and thus no changes are pending.
5846func (r Hardware_SecurityModule) ShutdownPrivatePort() (resp bool, err error) {
5847	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "shutdownPrivatePort", nil, &r.Options, &resp)
5848	return
5849}
5850
5851// Disconnect a server's public network interface. This operation is an alias for [[SoftLayer_Hardware_Server/setPublicNetworkInterfaceSpeed]] with a $newSpeed of 0 and unspecified $redundancy.
5852//
5853// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
5854//
5855// A response of true indicates a change was required to disconnect the interface; thus changes are pending. A response of false indicates the interface was already disconnected, and thus no changes are pending.
5856func (r Hardware_SecurityModule) ShutdownPublicPort() (resp bool, err error) {
5857	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "shutdownPublicPort", nil, &r.Options, &resp)
5858	return
5859}
5860
5861// 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.
5862func (r Hardware_SecurityModule) SparePool(action *string, newOrder *bool) (resp bool, err error) {
5863	params := []interface{}{
5864		action,
5865		newOrder,
5866	}
5867	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "sparePool", params, &r.Options, &resp)
5868	return
5869}
5870
5871// Test the RAID Alert service by sending the service a request to store a test email for this server. The server must have an account ID and MAC address.  A RAID controller must also be installed.
5872func (r Hardware_SecurityModule) TestRaidAlertService() (resp bool, err error) {
5873	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "testRaidAlertService", nil, &r.Options, &resp)
5874	return
5875}
5876
5877// Attempt to toggle the IPMI interface.  If there is an active transaction on the server, it will throw an exception. This method creates a transaction to toggle the interface.  It is not instant.
5878func (r Hardware_SecurityModule) ToggleManagementInterface(enabled *bool) (resp bool, err error) {
5879	params := []interface{}{
5880		enabled,
5881	}
5882	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "toggleManagementInterface", params, &r.Options, &resp)
5883	return
5884}
5885
5886// This method will update the root IPMI password on this SoftLayer_Hardware.
5887func (r Hardware_SecurityModule) UpdateIpmiPassword(password *string) (resp bool, err error) {
5888	params := []interface{}{
5889		password,
5890	}
5891	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "updateIpmiPassword", params, &r.Options, &resp)
5892	return
5893}
5894
5895// Validates a collection of partitions for an operating system
5896func (r Hardware_SecurityModule) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
5897	params := []interface{}{
5898		operatingSystem,
5899		partitions,
5900	}
5901	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
5902	return
5903}
5904
5905// no documentation yet
5906type Hardware_SecurityModule750 struct {
5907	Session *session.Session
5908	Options sl.Options
5909}
5910
5911// GetHardwareSecurityModule750Service returns an instance of the Hardware_SecurityModule750 SoftLayer service
5912func GetHardwareSecurityModule750Service(sess *session.Session) Hardware_SecurityModule750 {
5913	return Hardware_SecurityModule750{Session: sess}
5914}
5915
5916func (r Hardware_SecurityModule750) Id(id int) Hardware_SecurityModule750 {
5917	r.Options.Id = &id
5918	return r
5919}
5920
5921func (r Hardware_SecurityModule750) Mask(mask string) Hardware_SecurityModule750 {
5922	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5923		mask = fmt.Sprintf("mask[%s]", mask)
5924	}
5925
5926	r.Options.Mask = mask
5927	return r
5928}
5929
5930func (r Hardware_SecurityModule750) Filter(filter string) Hardware_SecurityModule750 {
5931	r.Options.Filter = filter
5932	return r
5933}
5934
5935func (r Hardware_SecurityModule750) Limit(limit int) Hardware_SecurityModule750 {
5936	r.Options.Limit = &limit
5937	return r
5938}
5939
5940func (r Hardware_SecurityModule750) Offset(offset int) Hardware_SecurityModule750 {
5941	r.Options.Offset = &offset
5942	return r
5943}
5944
5945// Activate a server's private network interface to the maximum available speed. This operation is an alias for [[SoftLayer_Hardware_Server/setPrivateNetworkInterfaceSpeed]] with a $newSpeed of -1 and a $redundancy of "redundant" or unspecified (which results in the best available redundancy state).
5946//
5947// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
5948//
5949// A response of true indicates a change was required to activate the interface; thus changes are pending. A response of false indicates the interface was already active, and thus no changes are pending.
5950func (r Hardware_SecurityModule750) ActivatePrivatePort() (resp bool, err error) {
5951	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "activatePrivatePort", nil, &r.Options, &resp)
5952	return
5953}
5954
5955// Activate a server's public network interface to the maximum available speed. This operation is an alias for [[SoftLayer_Hardware_Server/setPublicNetworkInterfaceSpeed]] with a $newSpeed of -1 and a $redundancy of "redundant" or unspecified (which results in the best available redundancy state).
5956//
5957// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
5958//
5959// A response of true indicates a change was required to activate the interface; thus changes are pending. A response of false indicates the interface was already active, and thus no changes are pending.
5960func (r Hardware_SecurityModule750) ActivatePublicPort() (resp bool, err error) {
5961	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "activatePublicPort", nil, &r.Options, &resp)
5962	return
5963}
5964
5965// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
5966func (r Hardware_SecurityModule750) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
5967	params := []interface{}{
5968		networkStorageTemplateObject,
5969	}
5970	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "allowAccessToNetworkStorage", params, &r.Options, &resp)
5971	return
5972}
5973
5974// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
5975func (r Hardware_SecurityModule750) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
5976	params := []interface{}{
5977		networkStorageTemplateObjects,
5978	}
5979	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
5980	return
5981}
5982
5983// 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.
5984func (r Hardware_SecurityModule750) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
5985	params := []interface{}{
5986		noOsBootEnvironment,
5987	}
5988	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "bootToRescueLayer", params, &r.Options, &resp)
5989	return
5990}
5991
5992// Captures an Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
5993func (r Hardware_SecurityModule750) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
5994	params := []interface{}{
5995		captureTemplate,
5996	}
5997	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "captureImage", params, &r.Options, &resp)
5998	return
5999}
6000
6001// You can launch firmware reflash by selecting from your server list. It will bring your server offline for approximately 60 minutes while the flashes are in progress.
6002//
6003// In the event of a hardware failure during this 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.
6004func (r Hardware_SecurityModule750) CreateFirmwareReflashTransaction(ipmi *int, raidController *int, bios *int) (resp bool, err error) {
6005	params := []interface{}{
6006		ipmi,
6007		raidController,
6008		bios,
6009	}
6010	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createFirmwareReflashTransaction", params, &r.Options, &resp)
6011	return
6012}
6013
6014// 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.
6015//
6016// 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.
6017func (r Hardware_SecurityModule750) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int) (resp bool, err error) {
6018	params := []interface{}{
6019		ipmi,
6020		raidController,
6021		bios,
6022		harddrive,
6023	}
6024	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
6025	return
6026}
6027
6028// You can launch hyper-threading update by selecting from your server list. It will bring your server offline for approximately 60 minutes while the update is in progress.
6029//
6030// In the event of a hardware failure during this 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.
6031func (r Hardware_SecurityModule750) CreateHyperThreadingUpdateTransaction(disableHyperthreading *int) (resp bool, err error) {
6032	params := []interface{}{
6033		disableHyperthreading,
6034	}
6035	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createHyperThreadingUpdateTransaction", params, &r.Options, &resp)
6036	return
6037}
6038
6039//
6040// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
6041// createObject() enables the creation of servers on an account. This
6042// method is a simplified alternative to interacting with the ordering system directly.
6043//
6044//
6045// In order to create a server, a template object must be sent in with a few required
6046// values.
6047//
6048//
6049// When this method returns an order will have been placed for a server of the specified configuration.
6050//
6051//
6052// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
6053// checking the <code>provisionDate</code> property.
6054// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
6055// as your initialization parameter.
6056//
6057//
6058// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
6059//
6060//
6061// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
6062// <ul class="create_object">
6063//     <li><code>hostname</code>
6064//         <div>Hostname for the server.</div><ul>
6065//             <li><b>Required</b></li>
6066//             <li><b>Type</b> - string</li>
6067//         </ul>
6068//         <br />
6069//     </li>
6070//     <li><code>domain</code>
6071//         <div>Domain for the server.</div><ul>
6072//             <li><b>Required</b></li>
6073//             <li><b>Type</b> - string</li>
6074//         </ul>
6075//         <br />
6076//     </li>
6077//     <li><code>processorCoreAmount</code>
6078//         <div>The number of logical CPU cores to allocate.</div><ul>
6079//             <li><b>Required</b></li>
6080//             <li><b>Type</b> - int</li>
6081//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6082//         </ul>
6083//         <br />
6084//     </li>
6085//     <li><code>memoryCapacity</code>
6086//         <div>The amount of memory to allocate in gigabytes.</div><ul>
6087//             <li><b>Required</b></li>
6088//             <li><b>Type</b> - int</li>
6089//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6090//         </ul>
6091//         <br />
6092//     </li>
6093//     <li><code>hourlyBillingFlag</code>
6094//         <div>Specifies the billing type for the server.</div><ul>
6095//             <li><b>Required</b></li>
6096//             <li><b>Type</b> - boolean</li>
6097//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
6098//         </ul>
6099//         <br />
6100//     </li>
6101//     <li><code>operatingSystemReferenceCode</code>
6102//         <div>An identifier for the operating system to provision the server with.</div><ul>
6103//             <li><b>Required</b></li>
6104//             <li><b>Type</b> - string</li>
6105//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6106//         </ul>
6107//         <br />
6108//     </li>
6109//     <li><code>datacenter.name</code>
6110//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
6111//             <li><b>Required</b></li>
6112//             <li><b>Type</b> - string</li>
6113//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
6114//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6115//         </ul>
6116//         <http title="Example">{
6117//     "datacenter": {
6118//         "name": "dal05"
6119//     }
6120// }</http>
6121//         <br />
6122//     </li>
6123//     <li><code>networkComponents.maxSpeed</code>
6124//         <div>Specifies the connection speed for the server's network components.</div><ul>
6125//             <li><b>Optional</b></li>
6126//             <li><b>Type</b> - int</li>
6127//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
6128//             <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>
6129//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6130//         </ul>
6131//             <http title="Example">{
6132//     "networkComponents": [
6133//         {
6134//             "maxSpeed": 1000
6135//         }
6136//     ]
6137// }</http>
6138//         <br />
6139//     </li>
6140//     <li><code>networkComponents.redundancyEnabledFlag</code>
6141//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
6142//             <li><b>Optional</b></li>
6143//             <li><b>Type</b> - bool</li>
6144//             <li><b>Default</b> - <code>false</code></li>
6145//             <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>
6146//         </ul>
6147//             <http title="Example">{
6148//     "networkComponents": [
6149//         {
6150//             "redundancyEnabledFlag": false
6151//         }
6152//     ]
6153// }</http>
6154//         <br />
6155//     </li>
6156//     <li><code>privateNetworkOnlyFlag</code>
6157//         <div>Specifies whether or not the server only has access to the private network</div><ul>
6158//             <li><b>Optional</b></li>
6159//             <li><b>Type</b> - boolean</li>
6160//             <li><b>Default</b> - <code>false</code></li>
6161//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
6162//         </ul>
6163//         <br />
6164//     </li>
6165//     <li><code>primaryNetworkComponent.networkVlan.id</code>
6166//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
6167//             <li><b>Optional</b></li>
6168//             <li><b>Type</b> - int</li>
6169//             <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>
6170//         </ul>
6171//         <http title="Example">{
6172//     "primaryNetworkComponent": {
6173//         "networkVlan": {
6174//             "id": 1
6175//         }
6176//     }
6177// }</http>
6178//         <br />
6179//     </li>
6180//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
6181//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
6182//             <li><b>Optional</b></li>
6183//             <li><b>Type</b> - int</li>
6184//             <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>
6185//         </ul>
6186//         <http title="Example">{
6187//     "primaryBackendNetworkComponent": {
6188//         "networkVlan": {
6189//             "id": 2
6190//         }
6191//     }
6192// }</http>
6193//         <br />
6194//     </li>
6195//     <li><code>fixedConfigurationPreset.keyName</code>
6196//         <div></div><ul>
6197//             <li><b>Optional</b></li>
6198//             <li><b>Type</b> - string</li>
6199//             <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>
6200//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
6201//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6202//         </ul>
6203//         <http title="Example">{
6204//     "fixedConfigurationPreset": {
6205//         "keyName": "SOME_KEY_NAME"
6206//     }
6207// }</http>
6208//         <br />
6209//     </li>
6210//     <li><code>userData.value</code>
6211//         <div>Arbitrary data to be made available to the server.</div><ul>
6212//             <li><b>Optional</b></li>
6213//             <li><b>Type</b> - string</li>
6214//             <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>
6215//             <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>
6216//         </ul>
6217//         <http title="Example">{
6218//     "userData": [
6219//         {
6220//             "value": "someValue"
6221//         }
6222//     ]
6223// }</http>
6224//         <br />
6225//     </li>
6226//     <li><code>hardDrives</code>
6227//         <div>Hard drive settings for the server</div><ul>
6228//             <li><b>Optional</b></li>
6229//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
6230//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
6231//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
6232//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
6233//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6234//         </ul>
6235//         <http title="Example">{
6236//     "hardDrives": [
6237//         {
6238//             "capacity": 500
6239//         }
6240//     ]
6241// }</http>
6242//         <br />
6243//     </li>
6244//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
6245//         <div>SSH keys to install on the server upon provisioning.</div><ul>
6246//             <li><b>Optional</b></li>
6247//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
6248//             <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>
6249//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
6250//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
6251//         </ul>
6252//         <http title="Example">{
6253//     "sshKeys": [
6254//         {
6255//             "id": 123
6256//         }
6257//     ]
6258// }</http>
6259//         <br />
6260//     </li>
6261//     <li><code>postInstallScriptUri</code>
6262//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
6263//             <li><b>Optional</b></li>
6264//             <li><b>Type</b> - string</li>
6265//         </ul>
6266//         <br />
6267//     </li>
6268// </ul>
6269//
6270//
6271// <h1>REST Example</h1>
6272// <http title="Request">curl -X POST -d '{
6273//  "parameters":[
6274//      {
6275//          "hostname": "host1",
6276//          "domain": "example.com",
6277//          "processorCoreAmount": 2,
6278//          "memoryCapacity": 2,
6279//          "hourlyBillingFlag": true,
6280//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
6281//      }
6282//  ]
6283// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
6284// </http>
6285// <http title="Response">HTTP/1.1 201 Created
6286// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
6287//
6288//
6289// {
6290//     "accountId": 232298,
6291//     "bareMetalInstanceFlag": null,
6292//     "domain": "example.com",
6293//     "hardwareStatusId": null,
6294//     "hostname": "host1",
6295//     "id": null,
6296//     "serviceProviderId": null,
6297//     "serviceProviderResourceId": null,
6298//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
6299//     "hourlyBillingFlag": true,
6300//     "memoryCapacity": 2,
6301//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
6302//     "processorCoreAmount": 2
6303// }
6304// </http>
6305func (r Hardware_SecurityModule750) CreateObject(templateObject *datatypes.Hardware_SecurityModule750) (resp datatypes.Hardware_SecurityModule750, err error) {
6306	params := []interface{}{
6307		templateObject,
6308	}
6309	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createObject", params, &r.Options, &resp)
6310	return
6311}
6312
6313// no documentation yet
6314func (r Hardware_SecurityModule750) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
6315	params := []interface{}{
6316		installCodes,
6317		returnBoolean,
6318	}
6319	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
6320	return
6321}
6322
6323//
6324// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
6325func (r Hardware_SecurityModule750) DeleteObject() (resp bool, err error) {
6326	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "deleteObject", nil, &r.Options, &resp)
6327	return
6328}
6329
6330// Delete software component passwords.
6331func (r Hardware_SecurityModule750) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
6332	params := []interface{}{
6333		softwareComponentPasswords,
6334	}
6335	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
6336	return
6337}
6338
6339// Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
6340func (r Hardware_SecurityModule750) DeleteTag(tagName *string) (resp bool, err error) {
6341	params := []interface{}{
6342		tagName,
6343	}
6344	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "deleteTag", params, &r.Options, &resp)
6345	return
6346}
6347
6348// Edit a server's properties
6349func (r Hardware_SecurityModule750) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
6350	params := []interface{}{
6351		templateObject,
6352	}
6353	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "editObject", params, &r.Options, &resp)
6354	return
6355}
6356
6357// Edit the properties of a software component password such as the username, password, and notes.
6358func (r Hardware_SecurityModule750) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
6359	params := []interface{}{
6360		softwareComponentPasswords,
6361	}
6362	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "editSoftwareComponentPasswords", params, &r.Options, &resp)
6363	return
6364}
6365
6366// Download and run remote script from uri on the hardware.
6367func (r Hardware_SecurityModule750) ExecuteRemoteScript(uri *string) (err error) {
6368	var resp datatypes.Void
6369	params := []interface{}{
6370		uri,
6371	}
6372	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "executeRemoteScript", params, &r.Options, &resp)
6373	return
6374}
6375
6376// 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. If no hardware is found, no errors are generated and no data is returned.
6377func (r Hardware_SecurityModule750) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
6378	params := []interface{}{
6379		ipAddress,
6380	}
6381	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "findByIpAddress", params, &r.Options, &resp)
6382	return
6383}
6384
6385//
6386// 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]].
6387//
6388//
6389// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
6390//
6391//
6392// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
6393func (r Hardware_SecurityModule750) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
6394	params := []interface{}{
6395		templateObject,
6396	}
6397	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "generateOrderTemplate", params, &r.Options, &resp)
6398	return
6399}
6400
6401// Retrieve The account associated with a piece of hardware.
6402func (r Hardware_SecurityModule750) GetAccount() (resp datatypes.Account, err error) {
6403	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAccount", nil, &r.Options, &resp)
6404	return
6405}
6406
6407// Retrieve A piece of hardware's active physical components.
6408func (r Hardware_SecurityModule750) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
6409	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveComponents", nil, &r.Options, &resp)
6410	return
6411}
6412
6413// Retrieve The billing item for a server's attached network firewall.
6414func (r Hardware_SecurityModule750) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
6415	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
6416	return
6417}
6418
6419// Retrieve A piece of hardware's active network monitoring incidents.
6420func (r Hardware_SecurityModule750) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
6421	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
6422	return
6423}
6424
6425// Retrieve
6426func (r Hardware_SecurityModule750) GetActiveTickets() (resp []datatypes.Ticket, err error) {
6427	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTickets", nil, &r.Options, &resp)
6428	return
6429}
6430
6431// Retrieve Transaction currently running for server.
6432func (r Hardware_SecurityModule750) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
6433	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTransaction", nil, &r.Options, &resp)
6434	return
6435}
6436
6437// Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
6438func (r Hardware_SecurityModule750) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
6439	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTransactions", nil, &r.Options, &resp)
6440	return
6441}
6442
6443// Retrieve
6444func (r Hardware_SecurityModule750) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
6445	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllPowerComponents", nil, &r.Options, &resp)
6446	return
6447}
6448
6449// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
6450func (r Hardware_SecurityModule750) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
6451	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedHost", nil, &r.Options, &resp)
6452	return
6453}
6454
6455// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
6456func (r Hardware_SecurityModule750) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
6457	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedNetworkStorage", nil, &r.Options, &resp)
6458	return
6459}
6460
6461// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
6462func (r Hardware_SecurityModule750) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
6463	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
6464	return
6465}
6466
6467// Retrieve Information regarding an antivirus/spyware software component object.
6468func (r Hardware_SecurityModule750) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
6469	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
6470	return
6471}
6472
6473// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
6474func (r Hardware_SecurityModule750) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
6475	params := []interface{}{
6476		nasType,
6477	}
6478	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAttachedNetworkStorages", params, &r.Options, &resp)
6479	return
6480}
6481
6482// Retrieve Information regarding a piece of hardware's specific attributes.
6483func (r Hardware_SecurityModule750) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
6484	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAttributes", nil, &r.Options, &resp)
6485	return
6486}
6487
6488// Retrieve An object that stores the maximum level for the monitoring query types and response types.
6489func (r Hardware_SecurityModule750) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
6490	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAvailableMonitoring", nil, &r.Options, &resp)
6491	return
6492}
6493
6494// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
6495func (r Hardware_SecurityModule750) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
6496	params := []interface{}{
6497		nasType,
6498	}
6499	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAvailableNetworkStorages", params, &r.Options, &resp)
6500	return
6501}
6502
6503// Retrieve The average daily total bandwidth usage for the current billing cycle.
6504func (r Hardware_SecurityModule750) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
6505	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
6506	return
6507}
6508
6509// Retrieve The average daily private bandwidth usage for the current billing cycle.
6510func (r Hardware_SecurityModule750) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
6511	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
6512	return
6513}
6514
6515// Retrieve The average daily public bandwidth usage for the current billing cycle.
6516func (r Hardware_SecurityModule750) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
6517	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
6518	return
6519}
6520
6521// Use this method to return an array of private bandwidth utilization records between a given date range.
6522//
6523// This method represents the NEW version of getFrontendBandwidthUse
6524func (r Hardware_SecurityModule750) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6525	params := []interface{}{
6526		startDate,
6527		endDate,
6528	}
6529	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendBandwidthUsage", params, &r.Options, &resp)
6530	return
6531}
6532
6533// Use this method to return an array of private bandwidth utilization records between a given date range.
6534func (r Hardware_SecurityModule750) GetBackendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
6535	params := []interface{}{
6536		startDate,
6537		endDate,
6538	}
6539	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendBandwidthUse", params, &r.Options, &resp)
6540	return
6541}
6542
6543// 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.
6544func (r Hardware_SecurityModule750) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6545	params := []interface{}{
6546		startDate,
6547		endDate,
6548	}
6549	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendIncomingBandwidth", params, &r.Options, &resp)
6550	return
6551}
6552
6553// Retrieve A piece of hardware's back-end or private network components.
6554func (r Hardware_SecurityModule750) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
6555	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendNetworkComponents", nil, &r.Options, &resp)
6556	return
6557}
6558
6559// 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.
6560func (r Hardware_SecurityModule750) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6561	params := []interface{}{
6562		startDate,
6563		endDate,
6564	}
6565	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
6566	return
6567}
6568
6569// Retrieve A hardware's backend or private router.
6570func (r Hardware_SecurityModule750) GetBackendRouters() (resp []datatypes.Hardware, err error) {
6571	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendRouters", nil, &r.Options, &resp)
6572	return
6573}
6574
6575// Retrieve A hardware's allotted bandwidth (measured in GB).
6576func (r Hardware_SecurityModule750) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
6577	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthAllocation", nil, &r.Options, &resp)
6578	return
6579}
6580
6581// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
6582func (r Hardware_SecurityModule750) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
6583	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
6584	return
6585}
6586
6587// 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.
6588func (r Hardware_SecurityModule750) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6589	params := []interface{}{
6590		startDate,
6591		endDate,
6592	}
6593	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthForDateRange", params, &r.Options, &resp)
6594	return
6595}
6596
6597// 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.
6598func (r Hardware_SecurityModule750) GetBandwidthImage(networkType *string, snapshotRange *string, draw *bool, dateSpecified *datatypes.Time, dateSpecifiedEnd *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
6599	params := []interface{}{
6600		networkType,
6601		snapshotRange,
6602		draw,
6603		dateSpecified,
6604		dateSpecifiedEnd,
6605	}
6606	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthImage", params, &r.Options, &resp)
6607	return
6608}
6609
6610// Retrieve Information regarding a piece of hardware's benchmark certifications.
6611func (r Hardware_SecurityModule750) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
6612	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBenchmarkCertifications", nil, &r.Options, &resp)
6613	return
6614}
6615
6616// Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
6617func (r Hardware_SecurityModule750) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
6618	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
6619	return
6620}
6621
6622// Retrieve The raw private bandwidth usage data for the current billing cycle.
6623func (r Hardware_SecurityModule750) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
6624	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
6625	return
6626}
6627
6628// Retrieve The raw public bandwidth usage data for the current billing cycle.
6629func (r Hardware_SecurityModule750) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
6630	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
6631	return
6632}
6633
6634// Retrieve Information regarding the billing item for a server.
6635func (r Hardware_SecurityModule750) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
6636	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingItem", nil, &r.Options, &resp)
6637	return
6638}
6639
6640// Retrieve A flag indicating that a billing item exists.
6641func (r Hardware_SecurityModule750) GetBillingItemFlag() (resp bool, err error) {
6642	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingItemFlag", nil, &r.Options, &resp)
6643	return
6644}
6645
6646// Retrieve Determine if BIOS password should be left as null.
6647func (r Hardware_SecurityModule750) GetBiosPasswordNullFlag() (resp bool, err error) {
6648	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
6649	return
6650}
6651
6652// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
6653func (r Hardware_SecurityModule750) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
6654	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
6655	return
6656}
6657
6658// Retrieve the valid boot modes for this server
6659func (r Hardware_SecurityModule750) GetBootModeOptions() (resp []string, err error) {
6660	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBootModeOptions", nil, &r.Options, &resp)
6661	return
6662}
6663
6664// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
6665func (r Hardware_SecurityModule750) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
6666	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
6667	return
6668}
6669
6670// Retrieve Determine if the server is able to be image captured. If unable to image capture a reason will be provided.
6671func (r Hardware_SecurityModule750) GetCaptureEnabledFlag() (resp datatypes.Container_Hardware_CaptureEnabled, err error) {
6672	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCaptureEnabledFlag", nil, &r.Options, &resp)
6673	return
6674}
6675
6676// Retrieve Child hardware.
6677func (r Hardware_SecurityModule750) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
6678	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getChildrenHardware", nil, &r.Options, &resp)
6679	return
6680}
6681
6682// no documentation yet
6683func (r Hardware_SecurityModule750) GetComponentDetailsXML() (resp string, err error) {
6684	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getComponentDetailsXML", nil, &r.Options, &resp)
6685	return
6686}
6687
6688// Retrieve A piece of hardware's components.
6689func (r Hardware_SecurityModule750) GetComponents() (resp []datatypes.Hardware_Component, err error) {
6690	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getComponents", nil, &r.Options, &resp)
6691	return
6692}
6693
6694// Retrieve
6695func (r Hardware_SecurityModule750) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
6696	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
6697	return
6698}
6699
6700// Retrieve A continuous data protection/server backup software component object.
6701func (r Hardware_SecurityModule750) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
6702	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
6703	return
6704}
6705
6706// Retrieve A server's control panel.
6707func (r Hardware_SecurityModule750) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
6708	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getControlPanel", nil, &r.Options, &resp)
6709	return
6710}
6711
6712// Retrieve The total cost of a server, measured in US Dollars ($USD).
6713func (r Hardware_SecurityModule750) GetCost() (resp datatypes.Float64, err error) {
6714	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCost", nil, &r.Options, &resp)
6715	return
6716}
6717
6718//
6719// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
6720//
6721//
6722// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
6723func (r Hardware_SecurityModule750) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
6724	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCreateObjectOptions", nil, &r.Options, &resp)
6725	return
6726}
6727
6728// Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
6729func (r Hardware_SecurityModule750) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
6730	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
6731	return
6732}
6733
6734// 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.
6735func (r Hardware_SecurityModule750) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
6736	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
6737	return
6738}
6739
6740// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
6741func (r Hardware_SecurityModule750) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
6742	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
6743	return
6744}
6745
6746// Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
6747func (r Hardware_SecurityModule750) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
6748	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillingDetail", nil, &r.Options, &resp)
6749	return
6750}
6751
6752// Get the total bill amount in US Dollars ($) for this hardware in the current billing period. This includes all bandwidth used up to the point the method is called on the hardware.
6753func (r Hardware_SecurityModule750) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
6754	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillingTotal", nil, &r.Options, &resp)
6755	return
6756}
6757
6758// Retrieve bandwidth graph by date.
6759func (r Hardware_SecurityModule750) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
6760	params := []interface{}{
6761		graphData,
6762	}
6763	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
6764	return
6765}
6766
6767// Retrieve Indicates if a server has a Customer Installed OS
6768func (r Hardware_SecurityModule750) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
6769	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
6770	return
6771}
6772
6773// Retrieve Indicates if a server is a customer owned device.
6774func (r Hardware_SecurityModule750) GetCustomerOwnedFlag() (resp bool, err error) {
6775	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCustomerOwnedFlag", nil, &r.Options, &resp)
6776	return
6777}
6778
6779// 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.
6780func (r Hardware_SecurityModule750) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6781	params := []interface{}{
6782		startDate,
6783		endDate,
6784	}
6785	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDailyAverage", params, &r.Options, &resp)
6786	return
6787}
6788
6789// Retrieve Information regarding the datacenter in which a piece of hardware resides.
6790func (r Hardware_SecurityModule750) GetDatacenter() (resp datatypes.Location, err error) {
6791	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDatacenter", nil, &r.Options, &resp)
6792	return
6793}
6794
6795// Retrieve The name of the datacenter in which a piece of hardware resides.
6796func (r Hardware_SecurityModule750) GetDatacenterName() (resp string, err error) {
6797	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDatacenterName", nil, &r.Options, &resp)
6798	return
6799}
6800
6801// Retrieve Number of day(s) a server have been in spare pool.
6802func (r Hardware_SecurityModule750) GetDaysInSparePool() (resp int, err error) {
6803	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDaysInSparePool", nil, &r.Options, &resp)
6804	return
6805}
6806
6807// Retrieve All hardware that has uplink network connections to a piece of hardware.
6808func (r Hardware_SecurityModule750) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
6809	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkHardware", nil, &r.Options, &resp)
6810	return
6811}
6812
6813// Retrieve All hardware that has uplink network connections to a piece of hardware.
6814func (r Hardware_SecurityModule750) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
6815	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
6816	return
6817}
6818
6819// Retrieve Information regarding all servers attached to a piece of network hardware.
6820func (r Hardware_SecurityModule750) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
6821	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkServers", nil, &r.Options, &resp)
6822	return
6823}
6824
6825// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
6826func (r Hardware_SecurityModule750) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
6827	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
6828	return
6829}
6830
6831// Retrieve All hardware downstream from a network device.
6832func (r Hardware_SecurityModule750) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
6833	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
6834	return
6835}
6836
6837// Retrieve All network hardware downstream from the selected piece of hardware.
6838func (r Hardware_SecurityModule750) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
6839	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
6840	return
6841}
6842
6843// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
6844func (r Hardware_SecurityModule750) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
6845	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
6846	return
6847}
6848
6849// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
6850func (r Hardware_SecurityModule750) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
6851	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamServers", nil, &r.Options, &resp)
6852	return
6853}
6854
6855// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
6856func (r Hardware_SecurityModule750) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
6857	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
6858	return
6859}
6860
6861// Retrieve The drive controllers contained within a piece of hardware.
6862func (r Hardware_SecurityModule750) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
6863	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDriveControllers", nil, &r.Options, &resp)
6864	return
6865}
6866
6867// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
6868func (r Hardware_SecurityModule750) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
6869	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getEvaultNetworkStorage", nil, &r.Options, &resp)
6870	return
6871}
6872
6873// Get the subnets associated with this server that are protectable by a network component firewall.
6874func (r Hardware_SecurityModule750) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
6875	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
6876	return
6877}
6878
6879// Retrieve Information regarding a piece of hardware's firewall services.
6880func (r Hardware_SecurityModule750) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
6881	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFirewallServiceComponent", nil, &r.Options, &resp)
6882	return
6883}
6884
6885// Retrieve Defines the fixed components in a fixed configuration bare metal server.
6886func (r Hardware_SecurityModule750) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
6887	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFixedConfigurationPreset", nil, &r.Options, &resp)
6888	return
6889}
6890
6891// Use this method to return an array of public bandwidth utilization records between a given date range.
6892//
6893// This method represents the NEW version of getFrontendBandwidthUse
6894func (r Hardware_SecurityModule750) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6895	params := []interface{}{
6896		startDate,
6897		endDate,
6898	}
6899	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendBandwidthUsage", params, &r.Options, &resp)
6900	return
6901}
6902
6903// Use this method to return an array of public bandwidth utilization records between a given date range.
6904func (r Hardware_SecurityModule750) GetFrontendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
6905	params := []interface{}{
6906		startDate,
6907		endDate,
6908	}
6909	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendBandwidthUse", params, &r.Options, &resp)
6910	return
6911}
6912
6913// 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).
6914func (r Hardware_SecurityModule750) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6915	params := []interface{}{
6916		startDate,
6917		endDate,
6918	}
6919	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
6920	return
6921}
6922
6923// Retrieve A piece of hardware's front-end or public network components.
6924func (r Hardware_SecurityModule750) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
6925	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendNetworkComponents", nil, &r.Options, &resp)
6926	return
6927}
6928
6929// 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).
6930func (r Hardware_SecurityModule750) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6931	params := []interface{}{
6932		startDate,
6933		endDate,
6934	}
6935	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
6936	return
6937}
6938
6939// Retrieve A hardware's frontend or public router.
6940func (r Hardware_SecurityModule750) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
6941	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendRouters", nil, &r.Options, &resp)
6942	return
6943}
6944
6945// Retrieve A hardware's universally unique identifier.
6946func (r Hardware_SecurityModule750) GetGlobalIdentifier() (resp string, err error) {
6947	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getGlobalIdentifier", nil, &r.Options, &resp)
6948	return
6949}
6950
6951// Retrieve The hard drives contained within a piece of hardware.
6952func (r Hardware_SecurityModule750) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
6953	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardDrives", nil, &r.Options, &resp)
6954	return
6955}
6956
6957// Retrieve a server by searching for the primary IP address.
6958func (r Hardware_SecurityModule750) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
6959	params := []interface{}{
6960		ipAddress,
6961	}
6962	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareByIpAddress", params, &r.Options, &resp)
6963	return
6964}
6965
6966// Retrieve The chassis that a piece of hardware is housed in.
6967func (r Hardware_SecurityModule750) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
6968	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareChassis", nil, &r.Options, &resp)
6969	return
6970}
6971
6972// Retrieve A hardware's function.
6973func (r Hardware_SecurityModule750) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
6974	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareFunction", nil, &r.Options, &resp)
6975	return
6976}
6977
6978// Retrieve A hardware's function.
6979func (r Hardware_SecurityModule750) GetHardwareFunctionDescription() (resp string, err error) {
6980	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareFunctionDescription", nil, &r.Options, &resp)
6981	return
6982}
6983
6984// Retrieve A hardware's status.
6985func (r Hardware_SecurityModule750) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
6986	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareStatus", nil, &r.Options, &resp)
6987	return
6988}
6989
6990// Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
6991func (r Hardware_SecurityModule750) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
6992	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
6993	return
6994}
6995
6996// Retrieve Determine in hardware object has TPM enabled.
6997func (r Hardware_SecurityModule750) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
6998	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
6999	return
7000}
7001
7002// Retrieve Information regarding a host IPS software component object.
7003func (r Hardware_SecurityModule750) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
7004	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
7005	return
7006}
7007
7008// 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
7009//
7010// '02/01/2008 0:00'
7011//
7012// 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).
7013//
7014// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
7015func (r Hardware_SecurityModule750) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
7016	params := []interface{}{
7017		mode,
7018		day,
7019	}
7020	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHourlyBandwidth", params, &r.Options, &resp)
7021	return
7022}
7023
7024// Retrieve A server's hourly billing status.
7025func (r Hardware_SecurityModule750) GetHourlyBillingFlag() (resp bool, err error) {
7026	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHourlyBillingFlag", nil, &r.Options, &resp)
7027	return
7028}
7029
7030// Retrieve The sum of all the inbound network traffic data for the last 30 days.
7031func (r Hardware_SecurityModule750) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
7032	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundBandwidthUsage", nil, &r.Options, &resp)
7033	return
7034}
7035
7036// Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
7037func (r Hardware_SecurityModule750) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
7038	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
7039	return
7040}
7041
7042// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
7043func (r Hardware_SecurityModule750) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
7044	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
7045	return
7046}
7047
7048// Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
7049func (r Hardware_SecurityModule750) GetIsCloudReadyNodeCertified() (resp bool, err error) {
7050	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
7051	return
7052}
7053
7054// Retrieve Determine if remote management has been disabled due to port speed.
7055func (r Hardware_SecurityModule750) GetIsIpmiDisabled() (resp bool, err error) {
7056	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsIpmiDisabled", nil, &r.Options, &resp)
7057	return
7058}
7059
7060// Retrieve Determine if hardware object is a Virtual Private Cloud node.
7061func (r Hardware_SecurityModule750) GetIsVirtualPrivateCloudNode() (resp bool, err error) {
7062	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsVirtualPrivateCloudNode", nil, &r.Options, &resp)
7063	return
7064}
7065
7066// Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
7067func (r Hardware_SecurityModule750) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
7068	params := []interface{}{
7069		softwareDescriptions,
7070		includeTranslationsFlag,
7071		returnAllPricesFlag,
7072	}
7073	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
7074	return
7075}
7076
7077// Retrieve The last transaction that a server's operating system was loaded.
7078func (r Hardware_SecurityModule750) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
7079	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLastOperatingSystemReload", nil, &r.Options, &resp)
7080	return
7081}
7082
7083// Retrieve Information regarding the last transaction a server performed.
7084func (r Hardware_SecurityModule750) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
7085	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLastTransaction", nil, &r.Options, &resp)
7086	return
7087}
7088
7089// Retrieve A piece of hardware's latest network monitoring incident.
7090func (r Hardware_SecurityModule750) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
7091	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
7092	return
7093}
7094
7095// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
7096func (r Hardware_SecurityModule750) GetLocation() (resp datatypes.Location, err error) {
7097	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLocation", nil, &r.Options, &resp)
7098	return
7099}
7100
7101// Retrieve
7102func (r Hardware_SecurityModule750) GetLocationPathString() (resp string, err error) {
7103	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLocationPathString", nil, &r.Options, &resp)
7104	return
7105}
7106
7107// Retrieve Information regarding a lockbox account associated with a server.
7108func (r Hardware_SecurityModule750) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
7109	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLockboxNetworkStorage", nil, &r.Options, &resp)
7110	return
7111}
7112
7113// Retrieve Returns a list of logical volumes on the physical machine.
7114func (r Hardware_SecurityModule750) GetLogicalVolumeStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
7115	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLogicalVolumeStorageGroups", nil, &r.Options, &resp)
7116	return
7117}
7118
7119// Retrieve A flag indicating that the hardware is a managed resource.
7120func (r Hardware_SecurityModule750) GetManagedResourceFlag() (resp bool, err error) {
7121	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getManagedResourceFlag", nil, &r.Options, &resp)
7122	return
7123}
7124
7125// Retrieve the remote management network component attached with this server.
7126func (r Hardware_SecurityModule750) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
7127	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getManagementNetworkComponent", nil, &r.Options, &resp)
7128	return
7129}
7130
7131// Retrieve Information regarding a piece of hardware's memory.
7132func (r Hardware_SecurityModule750) GetMemory() (resp []datatypes.Hardware_Component, err error) {
7133	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMemory", nil, &r.Options, &resp)
7134	return
7135}
7136
7137// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
7138func (r Hardware_SecurityModule750) GetMemoryCapacity() (resp uint, err error) {
7139	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMemoryCapacity", nil, &r.Options, &resp)
7140	return
7141}
7142
7143// Retrieve A piece of hardware's metric tracking object.
7144func (r Hardware_SecurityModule750) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
7145	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMetricTrackingObject", nil, &r.Options, &resp)
7146	return
7147}
7148
7149// Retrieve The metric tracking object id for this server.
7150func (r Hardware_SecurityModule750) GetMetricTrackingObjectId() (resp int, err error) {
7151	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMetricTrackingObjectId", nil, &r.Options, &resp)
7152	return
7153}
7154
7155// Retrieve
7156func (r Hardware_SecurityModule750) GetModules() (resp []datatypes.Hardware_Component, err error) {
7157	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getModules", nil, &r.Options, &resp)
7158	return
7159}
7160
7161// Retrieve
7162func (r Hardware_SecurityModule750) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
7163	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringRobot", nil, &r.Options, &resp)
7164	return
7165}
7166
7167// Retrieve Information regarding a piece of hardware's network monitoring services.
7168func (r Hardware_SecurityModule750) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
7169	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringServiceComponent", nil, &r.Options, &resp)
7170	return
7171}
7172
7173// Retrieve
7174func (r Hardware_SecurityModule750) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
7175	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
7176	return
7177}
7178
7179// 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
7180func (r Hardware_SecurityModule750) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
7181	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringUserNotification", nil, &r.Options, &resp)
7182	return
7183}
7184
7185// Retrieve Information regarding a piece of hardware's motherboard.
7186func (r Hardware_SecurityModule750) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
7187	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMotherboard", nil, &r.Options, &resp)
7188	return
7189}
7190
7191// Retrieve Information regarding a piece of hardware's network cards.
7192func (r Hardware_SecurityModule750) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
7193	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkCards", nil, &r.Options, &resp)
7194	return
7195}
7196
7197// 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.
7198func (r Hardware_SecurityModule750) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
7199	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
7200	return
7201}
7202
7203// Retrieve Returns a hardware's network components.
7204func (r Hardware_SecurityModule750) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
7205	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkComponents", nil, &r.Options, &resp)
7206	return
7207}
7208
7209// Retrieve The gateway member if this device is part of a network gateway.
7210func (r Hardware_SecurityModule750) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
7211	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkGatewayMember", nil, &r.Options, &resp)
7212	return
7213}
7214
7215// Retrieve Whether or not this device is part of a network gateway.
7216func (r Hardware_SecurityModule750) GetNetworkGatewayMemberFlag() (resp bool, err error) {
7217	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
7218	return
7219}
7220
7221// Retrieve A piece of hardware's network management IP address.
7222func (r Hardware_SecurityModule750) GetNetworkManagementIpAddress() (resp string, err error) {
7223	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
7224	return
7225}
7226
7227// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
7228func (r Hardware_SecurityModule750) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
7229	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
7230	return
7231}
7232
7233// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
7234func (r Hardware_SecurityModule750) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
7235	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
7236	return
7237}
7238
7239// Retrieve The status of all of a piece of hardware's network monitoring incidents.
7240func (r Hardware_SecurityModule750) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
7241	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
7242	return
7243}
7244
7245// Retrieve Information regarding a piece of hardware's network monitors.
7246func (r Hardware_SecurityModule750) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
7247	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitors", nil, &r.Options, &resp)
7248	return
7249}
7250
7251// Retrieve The value of a hardware's network status attribute.
7252func (r Hardware_SecurityModule750) GetNetworkStatus() (resp string, err error) {
7253	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStatus", nil, &r.Options, &resp)
7254	return
7255}
7256
7257// Retrieve The hardware's related network status attribute.
7258func (r Hardware_SecurityModule750) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
7259	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStatusAttribute", nil, &r.Options, &resp)
7260	return
7261}
7262
7263// Retrieve Information regarding a piece of hardware's associated network storage service account.
7264func (r Hardware_SecurityModule750) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
7265	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStorage", nil, &r.Options, &resp)
7266	return
7267}
7268
7269// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
7270func (r Hardware_SecurityModule750) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
7271	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkVlans", nil, &r.Options, &resp)
7272	return
7273}
7274
7275// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
7276func (r Hardware_SecurityModule750) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
7277	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
7278	return
7279}
7280
7281// Retrieve
7282func (r Hardware_SecurityModule750) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
7283	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNotesHistory", nil, &r.Options, &resp)
7284	return
7285}
7286
7287// Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
7288func (r Hardware_SecurityModule750) GetNvRamCapacity() (resp uint, err error) {
7289	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNvRamCapacity", nil, &r.Options, &resp)
7290	return
7291}
7292
7293// Retrieve
7294func (r Hardware_SecurityModule750) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
7295	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNvRamComponentModels", nil, &r.Options, &resp)
7296	return
7297}
7298
7299// no documentation yet
7300func (r Hardware_SecurityModule750) GetObject() (resp datatypes.Hardware_SecurityModule750, err error) {
7301	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getObject", nil, &r.Options, &resp)
7302	return
7303}
7304
7305// Retrieve An open ticket requesting cancellation of this server, if one exists.
7306func (r Hardware_SecurityModule750) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
7307	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOpenCancellationTicket", nil, &r.Options, &resp)
7308	return
7309}
7310
7311// Retrieve Information regarding a piece of hardware's operating system.
7312func (r Hardware_SecurityModule750) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
7313	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOperatingSystem", nil, &r.Options, &resp)
7314	return
7315}
7316
7317// Retrieve A hardware's operating system software description.
7318func (r Hardware_SecurityModule750) GetOperatingSystemReferenceCode() (resp string, err error) {
7319	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
7320	return
7321}
7322
7323// Retrieve The sum of all the outbound network traffic data for the last 30 days.
7324func (r Hardware_SecurityModule750) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
7325	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
7326	return
7327}
7328
7329// Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
7330func (r Hardware_SecurityModule750) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
7331	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
7332	return
7333}
7334
7335// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
7336func (r Hardware_SecurityModule750) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
7337	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
7338	return
7339}
7340
7341// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
7342func (r Hardware_SecurityModule750) GetOverBandwidthAllocationFlag() (resp int, err error) {
7343	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
7344	return
7345}
7346
7347// 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.
7348func (r Hardware_SecurityModule750) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
7349	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPMInfo", nil, &r.Options, &resp)
7350	return
7351}
7352
7353// Retrieve Blade Bay
7354func (r Hardware_SecurityModule750) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
7355	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getParentBay", nil, &r.Options, &resp)
7356	return
7357}
7358
7359// Retrieve Parent Hardware.
7360func (r Hardware_SecurityModule750) GetParentHardware() (resp datatypes.Hardware, err error) {
7361	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getParentHardware", nil, &r.Options, &resp)
7362	return
7363}
7364
7365// Retrieve
7366func (r Hardware_SecurityModule750) GetPartitions() (resp []datatypes.Hardware_Server_Partition, err error) {
7367	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPartitions", nil, &r.Options, &resp)
7368	return
7369}
7370
7371// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
7372func (r Hardware_SecurityModule750) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
7373	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPointOfPresenceLocation", nil, &r.Options, &resp)
7374	return
7375}
7376
7377// Retrieve The power components for a hardware object.
7378func (r Hardware_SecurityModule750) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
7379	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPowerComponents", nil, &r.Options, &resp)
7380	return
7381}
7382
7383// Retrieve Information regarding a piece of hardware's power supply.
7384func (r Hardware_SecurityModule750) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
7385	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPowerSupply", nil, &r.Options, &resp)
7386	return
7387}
7388
7389// Retrieve The hardware's primary private IP address.
7390func (r Hardware_SecurityModule750) GetPrimaryBackendIpAddress() (resp string, err error) {
7391	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
7392	return
7393}
7394
7395// Retrieve Information regarding the hardware's primary back-end network component.
7396func (r Hardware_SecurityModule750) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
7397	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
7398	return
7399}
7400
7401// no documentation yet
7402func (r Hardware_SecurityModule750) GetPrimaryDriveSize() (resp int, err error) {
7403	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryDriveSize", nil, &r.Options, &resp)
7404	return
7405}
7406
7407// Retrieve The hardware's primary public IP address.
7408func (r Hardware_SecurityModule750) GetPrimaryIpAddress() (resp string, err error) {
7409	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryIpAddress", nil, &r.Options, &resp)
7410	return
7411}
7412
7413// Retrieve Information regarding the hardware's primary public network component.
7414func (r Hardware_SecurityModule750) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
7415	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
7416	return
7417}
7418
7419// 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.
7420func (r Hardware_SecurityModule750) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
7421	params := []interface{}{
7422		startTime,
7423		endTime,
7424	}
7425	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBandwidthData", params, &r.Options, &resp)
7426	return
7427}
7428
7429// 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.
7430func (r Hardware_SecurityModule750) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
7431	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
7432	return
7433}
7434
7435// 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
7436func (r Hardware_SecurityModule750) GetPrivateBandwidthGraphImage(startTime *string, endTime *string) (resp []byte, err error) {
7437	params := []interface{}{
7438		startTime,
7439		endTime,
7440	}
7441	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBandwidthGraphImage", params, &r.Options, &resp)
7442	return
7443}
7444
7445// Retrieve A server's primary private IP address.
7446func (r Hardware_SecurityModule750) GetPrivateIpAddress() (resp string, err error) {
7447	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateIpAddress", nil, &r.Options, &resp)
7448	return
7449}
7450
7451// Retrieve the private network component attached with this server.
7452func (r Hardware_SecurityModule750) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
7453	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateNetworkComponent", nil, &r.Options, &resp)
7454	return
7455}
7456
7457// Retrieve Whether the hardware only has access to the private network.
7458func (r Hardware_SecurityModule750) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
7459	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
7460	return
7461}
7462
7463// Retrieve the backend VLAN for the primary IP address of the server
7464func (r Hardware_SecurityModule750) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
7465	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateVlan", nil, &r.Options, &resp)
7466	return
7467}
7468
7469//
7470// *** DEPRECATED ***
7471// Retrieve a backend network VLAN by searching for an IP address
7472func (r Hardware_SecurityModule750) GetPrivateVlanByIpAddress(ipAddress *string) (resp datatypes.Network_Vlan, err error) {
7473	params := []interface{}{
7474		ipAddress,
7475	}
7476	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateVlanByIpAddress", params, &r.Options, &resp)
7477	return
7478}
7479
7480// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
7481func (r Hardware_SecurityModule750) GetProcessorCoreAmount() (resp uint, err error) {
7482	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessorCoreAmount", nil, &r.Options, &resp)
7483	return
7484}
7485
7486// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
7487func (r Hardware_SecurityModule750) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
7488	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
7489	return
7490}
7491
7492// Retrieve Information regarding a piece of hardware's processors.
7493func (r Hardware_SecurityModule750) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
7494	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessors", nil, &r.Options, &resp)
7495	return
7496}
7497
7498// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
7499func (r Hardware_SecurityModule750) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
7500	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
7501	return
7502}
7503
7504// Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
7505func (r Hardware_SecurityModule750) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
7506	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
7507	return
7508}
7509
7510// no documentation yet
7511func (r Hardware_SecurityModule750) GetProvisionDate() (resp datatypes.Time, err error) {
7512	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProvisionDate", nil, &r.Options, &resp)
7513	return
7514}
7515
7516// 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.
7517func (r Hardware_SecurityModule750) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
7518	params := []interface{}{
7519		startTime,
7520		endTime,
7521	}
7522	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthData", params, &r.Options, &resp)
7523	return
7524}
7525
7526// 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.
7527func (r Hardware_SecurityModule750) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
7528	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
7529	return
7530}
7531
7532// 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.
7533func (r Hardware_SecurityModule750) GetPublicBandwidthGraphImage(startTime *datatypes.Time, endTime *datatypes.Time) (resp []byte, err error) {
7534	params := []interface{}{
7535		startTime,
7536		endTime,
7537	}
7538	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthGraphImage", params, &r.Options, &resp)
7539	return
7540}
7541
7542// Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
7543func (r Hardware_SecurityModule750) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
7544	params := []interface{}{
7545		startTime,
7546		endTime,
7547	}
7548	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthTotal", params, &r.Options, &resp)
7549	return
7550}
7551
7552// 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.
7553func (r Hardware_SecurityModule750) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
7554	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicNetworkComponent", nil, &r.Options, &resp)
7555	return
7556}
7557
7558// Retrieve the frontend VLAN for the primary IP address of the server
7559func (r Hardware_SecurityModule750) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
7560	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicVlan", nil, &r.Options, &resp)
7561	return
7562}
7563
7564// Retrieve the frontend network Vlan by searching the hostname of a server
7565func (r Hardware_SecurityModule750) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
7566	params := []interface{}{
7567		hostname,
7568	}
7569	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicVlanByHostname", params, &r.Options, &resp)
7570	return
7571}
7572
7573// Retrieve
7574func (r Hardware_SecurityModule750) GetRack() (resp datatypes.Location, err error) {
7575	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRack", nil, &r.Options, &resp)
7576	return
7577}
7578
7579// Retrieve The RAID controllers contained within a piece of hardware.
7580func (r Hardware_SecurityModule750) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
7581	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRaidControllers", nil, &r.Options, &resp)
7582	return
7583}
7584
7585// Retrieve Determine if hardware object is vSan Ready Node.
7586func (r Hardware_SecurityModule750) GetReadyNodeFlag() (resp bool, err error) {
7587	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getReadyNodeFlag", nil, &r.Options, &resp)
7588	return
7589}
7590
7591// Retrieve Recent events that impact this hardware.
7592func (r Hardware_SecurityModule750) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
7593	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRecentEvents", nil, &r.Options, &resp)
7594	return
7595}
7596
7597// Retrieve The last five commands issued to the server's remote management card.
7598func (r Hardware_SecurityModule750) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
7599	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
7600	return
7601}
7602
7603// Retrieve
7604func (r Hardware_SecurityModule750) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
7605	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRegionalInternetRegistry", nil, &r.Options, &resp)
7606	return
7607}
7608
7609// Retrieve A server's remote management card.
7610func (r Hardware_SecurityModule750) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
7611	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagement", nil, &r.Options, &resp)
7612	return
7613}
7614
7615// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
7616func (r Hardware_SecurityModule750) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
7617	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementAccounts", nil, &r.Options, &resp)
7618	return
7619}
7620
7621// Retrieve A hardware's associated remote management component. This is normally IPMI.
7622func (r Hardware_SecurityModule750) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
7623	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementComponent", nil, &r.Options, &resp)
7624	return
7625}
7626
7627// Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
7628func (r Hardware_SecurityModule750) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
7629	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementUsers", nil, &r.Options, &resp)
7630	return
7631}
7632
7633// Retrieve
7634func (r Hardware_SecurityModule750) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
7635	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceConfigurations", nil, &r.Options, &resp)
7636	return
7637}
7638
7639// Retrieve
7640func (r Hardware_SecurityModule750) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
7641	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
7642	return
7643}
7644
7645// Retrieve
7646func (r Hardware_SecurityModule750) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
7647	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroupRoles", nil, &r.Options, &resp)
7648	return
7649}
7650
7651// Retrieve The resource groups in which this hardware is a member.
7652func (r Hardware_SecurityModule750) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
7653	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroups", nil, &r.Options, &resp)
7654	return
7655}
7656
7657// Retrieve the reverse domain records associated with this server.
7658func (r Hardware_SecurityModule750) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
7659	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getReverseDomainRecords", nil, &r.Options, &resp)
7660	return
7661}
7662
7663// Retrieve A hardware's routers.
7664func (r Hardware_SecurityModule750) GetRouters() (resp []datatypes.Hardware, err error) {
7665	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRouters", nil, &r.Options, &resp)
7666	return
7667}
7668
7669// Retrieve Collection of scale assets this hardware corresponds to.
7670func (r Hardware_SecurityModule750) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
7671	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getScaleAssets", nil, &r.Options, &resp)
7672	return
7673}
7674
7675// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
7676func (r Hardware_SecurityModule750) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
7677	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSecurityScanRequests", nil, &r.Options, &resp)
7678	return
7679}
7680
7681// 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.
7682func (r Hardware_SecurityModule750) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
7683	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSensorData", nil, &r.Options, &resp)
7684	return
7685}
7686
7687// 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.
7688func (r Hardware_SecurityModule750) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
7689	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSensorDataWithGraphs", nil, &r.Options, &resp)
7690	return
7691}
7692
7693// 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.
7694func (r Hardware_SecurityModule750) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
7695	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerDetails", nil, &r.Options, &resp)
7696	return
7697}
7698
7699// 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.
7700func (r Hardware_SecurityModule750) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
7701	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
7702	return
7703}
7704
7705// 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'.
7706func (r Hardware_SecurityModule750) GetServerPowerState() (resp string, err error) {
7707	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerPowerState", nil, &r.Options, &resp)
7708	return
7709}
7710
7711// Retrieve Information regarding the server room in which the hardware is located.
7712func (r Hardware_SecurityModule750) GetServerRoom() (resp datatypes.Location, err error) {
7713	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerRoom", nil, &r.Options, &resp)
7714	return
7715}
7716
7717// 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.
7718func (r Hardware_SecurityModule750) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
7719	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerTemperatureGraphs", nil, &r.Options, &resp)
7720	return
7721}
7722
7723// Retrieve Information regarding the piece of hardware's service provider.
7724func (r Hardware_SecurityModule750) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
7725	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServiceProvider", nil, &r.Options, &resp)
7726	return
7727}
7728
7729// Retrieve Information regarding a piece of hardware's installed software.
7730func (r Hardware_SecurityModule750) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
7731	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSoftwareComponents", nil, &r.Options, &resp)
7732	return
7733}
7734
7735// Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
7736func (r Hardware_SecurityModule750) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
7737	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
7738	return
7739}
7740
7741// Retrieve Information regarding the billing item for a spare pool server.
7742func (r Hardware_SecurityModule750) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
7743	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSparePoolBillingItem", nil, &r.Options, &resp)
7744	return
7745}
7746
7747// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
7748func (r Hardware_SecurityModule750) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
7749	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSshKeys", nil, &r.Options, &resp)
7750	return
7751}
7752
7753// Retrieve A server's remote management card used for statistics.
7754func (r Hardware_SecurityModule750) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
7755	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
7756	return
7757}
7758
7759// Retrieve
7760func (r Hardware_SecurityModule750) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
7761	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getStorageGroups", nil, &r.Options, &resp)
7762	return
7763}
7764
7765// Retrieve A piece of hardware's private storage network components. [Deprecated]
7766func (r Hardware_SecurityModule750) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
7767	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getStorageNetworkComponents", nil, &r.Options, &resp)
7768	return
7769}
7770
7771// Retrieve
7772func (r Hardware_SecurityModule750) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
7773	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTagReferences", nil, &r.Options, &resp)
7774	return
7775}
7776
7777// Retrieve
7778func (r Hardware_SecurityModule750) GetTopLevelLocation() (resp datatypes.Location, err error) {
7779	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTopLevelLocation", nil, &r.Options, &resp)
7780	return
7781}
7782
7783//
7784// This method will query transaction history for a piece of hardware.
7785func (r Hardware_SecurityModule750) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
7786	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTransactionHistory", nil, &r.Options, &resp)
7787	return
7788}
7789
7790// Retrieve Whether to use UEFI boot instead of BIOS.
7791func (r Hardware_SecurityModule750) GetUefiBootFlag() (resp bool, err error) {
7792	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUefiBootFlag", nil, &r.Options, &resp)
7793	return
7794}
7795
7796// 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.
7797func (r Hardware_SecurityModule750) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
7798	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUpgradeItemPrices", nil, &r.Options, &resp)
7799	return
7800}
7801
7802// Retrieve An account's associated upgrade request object, if any.
7803func (r Hardware_SecurityModule750) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
7804	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUpgradeRequest", nil, &r.Options, &resp)
7805	return
7806}
7807
7808// Retrieve The network device connected to a piece of hardware.
7809func (r Hardware_SecurityModule750) GetUplinkHardware() (resp datatypes.Hardware, err error) {
7810	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUplinkHardware", nil, &r.Options, &resp)
7811	return
7812}
7813
7814// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
7815func (r Hardware_SecurityModule750) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
7816	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUplinkNetworkComponents", nil, &r.Options, &resp)
7817	return
7818}
7819
7820// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
7821func (r Hardware_SecurityModule750) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
7822	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUserData", nil, &r.Options, &resp)
7823	return
7824}
7825
7826// Retrieve A list of users that have access to this computing instance.
7827func (r Hardware_SecurityModule750) GetUsers() (resp []datatypes.User_Customer, err error) {
7828	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUsers", nil, &r.Options, &resp)
7829	return
7830}
7831
7832// 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.
7833func (r Hardware_SecurityModule750) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
7834	params := []interface{}{
7835		visibility,
7836	}
7837	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
7838	return
7839}
7840
7841// Retrieve Information regarding the virtual chassis for a piece of hardware.
7842func (r Hardware_SecurityModule750) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
7843	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualChassis", nil, &r.Options, &resp)
7844	return
7845}
7846
7847// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
7848func (r Hardware_SecurityModule750) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
7849	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualChassisSiblings", nil, &r.Options, &resp)
7850	return
7851}
7852
7853// Retrieve A hardware server's virtual servers.
7854func (r Hardware_SecurityModule750) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
7855	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualGuests", nil, &r.Options, &resp)
7856	return
7857}
7858
7859// Retrieve A piece of hardware's virtual host record.
7860func (r Hardware_SecurityModule750) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
7861	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualHost", nil, &r.Options, &resp)
7862	return
7863}
7864
7865// Retrieve Information regarding a piece of hardware's virtual software licenses.
7866func (r Hardware_SecurityModule750) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
7867	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualLicenses", nil, &r.Options, &resp)
7868	return
7869}
7870
7871// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
7872func (r Hardware_SecurityModule750) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
7873	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRack", nil, &r.Options, &resp)
7874	return
7875}
7876
7877// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
7878func (r Hardware_SecurityModule750) GetVirtualRackId() (resp int, err error) {
7879	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRackId", nil, &r.Options, &resp)
7880	return
7881}
7882
7883// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
7884func (r Hardware_SecurityModule750) GetVirtualRackName() (resp string, err error) {
7885	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRackName", nil, &r.Options, &resp)
7886	return
7887}
7888
7889// Retrieve A piece of hardware's virtualization platform software.
7890func (r Hardware_SecurityModule750) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
7891	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualizationPlatform", nil, &r.Options, &resp)
7892	return
7893}
7894
7895// 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.
7896func (r Hardware_SecurityModule750) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
7897	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
7898	return
7899}
7900
7901// 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.
7902func (r Hardware_SecurityModule750) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
7903	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
7904	return
7905}
7906
7907// 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.
7908func (r Hardware_SecurityModule750) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
7909	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateStatus", nil, &r.Options, &resp)
7910	return
7911}
7912
7913// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
7914func (r Hardware_SecurityModule750) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
7915	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "importVirtualHost", nil, &r.Options, &resp)
7916	return
7917}
7918
7919// Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
7920func (r Hardware_SecurityModule750) InitiateIderaBareMetalRestore() (resp bool, err error) {
7921	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
7922	return
7923}
7924
7925// R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
7926func (r Hardware_SecurityModule750) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
7927	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
7928	return
7929}
7930
7931// Issues a ping command and returns the success (true) or failure (false) of the ping command.
7932func (r Hardware_SecurityModule750) IsBackendPingable() (resp bool, err error) {
7933	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isBackendPingable", nil, &r.Options, &resp)
7934	return
7935}
7936
7937// Issues a ping command and returns the success (true) or failure (false) of the ping command.
7938func (r Hardware_SecurityModule750) IsPingable() (resp bool, err error) {
7939	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isPingable", nil, &r.Options, &resp)
7940	return
7941}
7942
7943// Determine if the server runs any version of the Microsoft Windows operating systems. Return ''true'' if it does and ''false if otherwise.
7944func (r Hardware_SecurityModule750) IsWindowsServer() (resp bool, err error) {
7945	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isWindowsServer", nil, &r.Options, &resp)
7946	return
7947}
7948
7949// You can launch firmware reflashes by selecting from your server list. It will bring your server offline for approximately 60 minutes while the reflashes are in progress.
7950//
7951// 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. They will be contact you to ensure that impact on your server is minimal.
7952func (r Hardware_SecurityModule750) MassFirmwareReflash(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
7953	params := []interface{}{
7954		hardwareIds,
7955		ipmi,
7956		raidController,
7957		bios,
7958	}
7959	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massFirmwareReflash", params, &r.Options, &resp)
7960	return
7961}
7962
7963// 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.
7964//
7965// 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.
7966func (r Hardware_SecurityModule750) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
7967	params := []interface{}{
7968		hardwareIds,
7969		ipmi,
7970		raidController,
7971		bios,
7972		harddrive,
7973	}
7974	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massFirmwareUpdate", params, &r.Options, &resp)
7975	return
7976}
7977
7978// You can launch hyper-threading update by selecting from your server list. It will bring your server offline for approximately 60 minutes while the updates are in progress.
7979//
7980// In the event of a hardware failure during this update our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online. They will be in contact with you to ensure that impact on your server is minimal.
7981func (r Hardware_SecurityModule750) MassHyperThreadingUpdate(hardwareIds []int, disableHyperthreading *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
7982	params := []interface{}{
7983		hardwareIds,
7984		disableHyperthreading,
7985	}
7986	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massHyperThreadingUpdate", params, &r.Options, &resp)
7987	return
7988}
7989
7990// Reloads current or customer specified operating system configuration.
7991//
7992// 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.
7993//
7994// 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.
7995//
7996// The reload will take AT MINIMUM 66 minutes.
7997func (r Hardware_SecurityModule750) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
7998	params := []interface{}{
7999		hardwareIds,
8000		token,
8001		config,
8002	}
8003	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massReloadOperatingSystem", params, &r.Options, &resp)
8004	return
8005}
8006
8007// 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.
8008func (r Hardware_SecurityModule750) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
8009	params := []interface{}{
8010		hardwareIds,
8011		action,
8012		newOrder,
8013	}
8014	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massSparePool", params, &r.Options, &resp)
8015	return
8016}
8017
8018// Issues a ping command to the server and returns the ping response.
8019func (r Hardware_SecurityModule750) Ping() (resp string, err error) {
8020	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "ping", nil, &r.Options, &resp)
8021	return
8022}
8023
8024// no documentation yet
8025func (r Hardware_SecurityModule750) PopulateServerRam(ramSerialString *string) (err error) {
8026	var resp datatypes.Void
8027	params := []interface{}{
8028		ramSerialString,
8029	}
8030	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "populateServerRam", params, &r.Options, &resp)
8031	return
8032}
8033
8034// 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.
8035func (r Hardware_SecurityModule750) PowerCycle() (resp bool, err error) {
8036	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerCycle", nil, &r.Options, &resp)
8037	return
8038}
8039
8040// This method will power off the server via the server's remote management card.
8041func (r Hardware_SecurityModule750) PowerOff() (resp bool, err error) {
8042	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerOff", nil, &r.Options, &resp)
8043	return
8044}
8045
8046// 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.
8047func (r Hardware_SecurityModule750) PowerOn() (resp bool, err error) {
8048	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerOn", nil, &r.Options, &resp)
8049	return
8050}
8051
8052// 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.
8053func (r Hardware_SecurityModule750) RebootDefault() (resp bool, err error) {
8054	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootDefault", nil, &r.Options, &resp)
8055	return
8056}
8057
8058// 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.
8059func (r Hardware_SecurityModule750) RebootHard() (resp bool, err error) {
8060	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootHard", nil, &r.Options, &resp)
8061	return
8062}
8063
8064// 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.
8065func (r Hardware_SecurityModule750) RebootSoft() (resp bool, err error) {
8066	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootSoft", nil, &r.Options, &resp)
8067	return
8068}
8069
8070// Reloads current operating system configuration.
8071//
8072// 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.
8073//
8074// 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.
8075//
8076// The reload will take AT MINIMUM 66 minutes.
8077func (r Hardware_SecurityModule750) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
8078	params := []interface{}{
8079		token,
8080	}
8081	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
8082	return
8083}
8084
8085// Reloads current or customer specified operating system configuration.
8086//
8087// 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.
8088//
8089// 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.
8090//
8091// The reload will take AT MINIMUM 66 minutes.
8092func (r Hardware_SecurityModule750) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
8093	params := []interface{}{
8094		token,
8095		config,
8096	}
8097	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "reloadOperatingSystem", params, &r.Options, &resp)
8098	return
8099}
8100
8101// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
8102func (r Hardware_SecurityModule750) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
8103	params := []interface{}{
8104		networkStorageTemplateObject,
8105	}
8106	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "removeAccessToNetworkStorage", params, &r.Options, &resp)
8107	return
8108}
8109
8110// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
8111func (r Hardware_SecurityModule750) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
8112	params := []interface{}{
8113		networkStorageTemplateObjects,
8114	}
8115	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
8116	return
8117}
8118
8119// no documentation yet
8120func (r Hardware_SecurityModule750) RemoveTags(tags *string) (resp bool, err error) {
8121	params := []interface{}{
8122		tags,
8123	}
8124	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "removeTags", params, &r.Options, &resp)
8125	return
8126}
8127
8128// 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.
8129//
8130// 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.
8131//
8132// 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.
8133//
8134// 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.
8135func (r Hardware_SecurityModule750) RunPassmarkCertificationBenchmark() (resp bool, err error) {
8136	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
8137	return
8138}
8139
8140// Changes the password that we have stored in our database for a servers' Operating System
8141func (r Hardware_SecurityModule750) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
8142	params := []interface{}{
8143		newPassword,
8144	}
8145	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setOperatingSystemPassword", params, &r.Options, &resp)
8146	return
8147}
8148
8149// Set the private network interface speed and redundancy configuration.
8150//
8151// Possible $newSpeed values are -1 (maximum available), 0 (disconnect), 10, 100, 1000, and 10000; not all values are available to every server. The maximum speed is limited by the speed requested during provisioning. All intermediate speeds are limited by the capability of the pod the server is deployed in. No guarantee is made that a speed other than what was requested during provisioning will be available.
8152//
8153// If specified, possible $redundancy values are either "redundant" or "degraded". Not specifying a redundancy mode will use the best possible redundancy available to the server. However, specifying a redundacy mode that is not available to the server will result in an error. "redundant" indicates all available interfaces should be active. "degraded" indicates only the primary interface should be active. Irrespective of the number of interfaces available to a server, it is only possible to have either a single interface or all interfaces active.
8154//
8155// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
8156//
8157// A response of true indicates a change was required to achieve the desired interface configuration; thus changes are pending. A response of false indicates the current interface configuration matches the desired configuration, and thus no changes are pending.
8158//
8159// <h4>Backwards Compatibility Until February 27th, 2019</h4>
8160//
8161// In order to provide a period of transition to the new API, some backwards compatible behaviors will be active during this period. <ul> <li> A "doubled" (eg. 200) speed value will be translated to a redundancy value of "redundant". If a redundancy value is specified, it is assumed no translation is needed and will result in an error due to doubled speeds no longer being valid.</li> <li> A non-doubled (eg. 100) speed value <i>without</i> a redundancy value will be translated to a redundancy value of "degraded".</li> </ul> After the compatibility period, a doubled speed value will result in an error, and a non-doubled speed value without a redundancy value specified will result in the best available redundancy state. An exception is made for the new relative speed value -1. When using -1 without a redundancy value, the best possible redundancy will be used. Please transition away from using doubled speed values in favor of specifying redundancy (when applicable) or using relative speed values 0 and -1.
8162func (r Hardware_SecurityModule750) SetPrivateNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
8163	params := []interface{}{
8164		newSpeed,
8165		redundancy,
8166	}
8167	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
8168	return
8169}
8170
8171// Set the public network interface speed and redundancy configuration.
8172//
8173// Possible $newSpeed values are -1 (maximum available), 0 (disconnect), 10, 100, 1000, and 10000; not all values are available to every server. The maximum speed is limited by the speed requested during provisioning. All intermediate speeds are limited by the capability of the pod the server is deployed in. No guarantee is made that a speed other than what was requested during provisioning will be available.
8174//
8175// If specified, possible $redundancy values are either "redundant" or "degraded". Not specifying a redundancy mode will use the best possible redundancy available to the server. However, specifying a redundacy mode that is not available to the server will result in an error. "redundant" indicates all available interfaces should be active. "degraded" indicates only the primary interface should be active. Irrespective of the number of interfaces available to a server, it is only possible to have either a single interface or all interfaces active.
8176//
8177// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
8178//
8179// A response of true indicates a change was required to achieve the desired interface configuration; thus changes are pending. A response of false indicates the current interface configuration matches the desired configuration, and thus no changes are pending.
8180//
8181// <h4>Backwards Compatibility Until February 27th, 2019</h4>
8182//
8183// In order to provide a period of transition to the new API, some backwards compatible behaviors will be active during this period. <ul> <li> A "doubled" (eg. 200) speed value will be translated to a redundancy value of "redundant". If a redundancy value is specified, it is assumed no translation is needed and will result in an error due to doubled speeds no longer being valid.</li> <li> A non-doubled (eg. 100) speed value <i>without</i> a redundancy value will be translated to a redundancy value of "degraded".</li> </ul> After the compatibility period, a doubled speed value will result in an error, and a non-doubled speed value without a redundancy value specified will result in the best available redundancy state. An exception is made for the new relative speed value -1. When using -1 without a redundancy value, the best possible redundancy will be used. Please transition away from using doubled speed values in favor of specifying redundancy (when applicable) or using relative speed values 0 and -1.
8184func (r Hardware_SecurityModule750) SetPublicNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
8185	params := []interface{}{
8186		newSpeed,
8187		redundancy,
8188	}
8189	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
8190	return
8191}
8192
8193// no documentation yet
8194func (r Hardware_SecurityModule750) SetTags(tags *string) (resp bool, err error) {
8195	params := []interface{}{
8196		tags,
8197	}
8198	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setTags", params, &r.Options, &resp)
8199	return
8200}
8201
8202// Sets the data that will be written to the configuration drive.
8203func (r Hardware_SecurityModule750) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
8204	params := []interface{}{
8205		metadata,
8206	}
8207	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setUserMetadata", params, &r.Options, &resp)
8208	return
8209}
8210
8211// Disconnect a server's private network interface. This operation is an alias for calling [[SoftLayer_Hardware_Server/setPrivateNetworkInterfaceSpeed]] with a $newSpeed of 0 and unspecified $redundancy.
8212//
8213// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
8214//
8215// A response of true indicates a change was required to disconnect the interface; thus changes are pending. A response of false indicates the interface was already disconnected, and thus no changes are pending.
8216func (r Hardware_SecurityModule750) ShutdownPrivatePort() (resp bool, err error) {
8217	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "shutdownPrivatePort", nil, &r.Options, &resp)
8218	return
8219}
8220
8221// Disconnect a server's public network interface. This operation is an alias for [[SoftLayer_Hardware_Server/setPublicNetworkInterfaceSpeed]] with a $newSpeed of 0 and unspecified $redundancy.
8222//
8223// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
8224//
8225// A response of true indicates a change was required to disconnect the interface; thus changes are pending. A response of false indicates the interface was already disconnected, and thus no changes are pending.
8226func (r Hardware_SecurityModule750) ShutdownPublicPort() (resp bool, err error) {
8227	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "shutdownPublicPort", nil, &r.Options, &resp)
8228	return
8229}
8230
8231// 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.
8232func (r Hardware_SecurityModule750) SparePool(action *string, newOrder *bool) (resp bool, err error) {
8233	params := []interface{}{
8234		action,
8235		newOrder,
8236	}
8237	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "sparePool", params, &r.Options, &resp)
8238	return
8239}
8240
8241// Test the RAID Alert service by sending the service a request to store a test email for this server. The server must have an account ID and MAC address.  A RAID controller must also be installed.
8242func (r Hardware_SecurityModule750) TestRaidAlertService() (resp bool, err error) {
8243	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "testRaidAlertService", nil, &r.Options, &resp)
8244	return
8245}
8246
8247// Attempt to toggle the IPMI interface.  If there is an active transaction on the server, it will throw an exception. This method creates a transaction to toggle the interface.  It is not instant.
8248func (r Hardware_SecurityModule750) ToggleManagementInterface(enabled *bool) (resp bool, err error) {
8249	params := []interface{}{
8250		enabled,
8251	}
8252	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "toggleManagementInterface", params, &r.Options, &resp)
8253	return
8254}
8255
8256// This method will update the root IPMI password on this SoftLayer_Hardware.
8257func (r Hardware_SecurityModule750) UpdateIpmiPassword(password *string) (resp bool, err error) {
8258	params := []interface{}{
8259		password,
8260	}
8261	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "updateIpmiPassword", params, &r.Options, &resp)
8262	return
8263}
8264
8265// Validates a collection of partitions for an operating system
8266func (r Hardware_SecurityModule750) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
8267	params := []interface{}{
8268		operatingSystem,
8269		partitions,
8270	}
8271	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
8272	return
8273}
8274
8275// The SoftLayer_Hardware_Server data type contains general information relating to a single SoftLayer server.
8276type Hardware_Server struct {
8277	Session *session.Session
8278	Options sl.Options
8279}
8280
8281// GetHardwareServerService returns an instance of the Hardware_Server SoftLayer service
8282func GetHardwareServerService(sess *session.Session) Hardware_Server {
8283	return Hardware_Server{Session: sess}
8284}
8285
8286func (r Hardware_Server) Id(id int) Hardware_Server {
8287	r.Options.Id = &id
8288	return r
8289}
8290
8291func (r Hardware_Server) Mask(mask string) Hardware_Server {
8292	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
8293		mask = fmt.Sprintf("mask[%s]", mask)
8294	}
8295
8296	r.Options.Mask = mask
8297	return r
8298}
8299
8300func (r Hardware_Server) Filter(filter string) Hardware_Server {
8301	r.Options.Filter = filter
8302	return r
8303}
8304
8305func (r Hardware_Server) Limit(limit int) Hardware_Server {
8306	r.Options.Limit = &limit
8307	return r
8308}
8309
8310func (r Hardware_Server) Offset(offset int) Hardware_Server {
8311	r.Options.Offset = &offset
8312	return r
8313}
8314
8315// Activate a server's private network interface to the maximum available speed. This operation is an alias for [[SoftLayer_Hardware_Server/setPrivateNetworkInterfaceSpeed]] with a $newSpeed of -1 and a $redundancy of "redundant" or unspecified (which results in the best available redundancy state).
8316//
8317// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
8318//
8319// A response of true indicates a change was required to activate the interface; thus changes are pending. A response of false indicates the interface was already active, and thus no changes are pending.
8320func (r Hardware_Server) ActivatePrivatePort() (resp bool, err error) {
8321	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "activatePrivatePort", nil, &r.Options, &resp)
8322	return
8323}
8324
8325// Activate a server's public network interface to the maximum available speed. This operation is an alias for [[SoftLayer_Hardware_Server/setPublicNetworkInterfaceSpeed]] with a $newSpeed of -1 and a $redundancy of "redundant" or unspecified (which results in the best available redundancy state).
8326//
8327// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
8328//
8329// A response of true indicates a change was required to activate the interface; thus changes are pending. A response of false indicates the interface was already active, and thus no changes are pending.
8330func (r Hardware_Server) ActivatePublicPort() (resp bool, err error) {
8331	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "activatePublicPort", nil, &r.Options, &resp)
8332	return
8333}
8334
8335// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
8336func (r Hardware_Server) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
8337	params := []interface{}{
8338		networkStorageTemplateObject,
8339	}
8340	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "allowAccessToNetworkStorage", params, &r.Options, &resp)
8341	return
8342}
8343
8344// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
8345func (r Hardware_Server) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
8346	params := []interface{}{
8347		networkStorageTemplateObjects,
8348	}
8349	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
8350	return
8351}
8352
8353// 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.
8354func (r Hardware_Server) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
8355	params := []interface{}{
8356		noOsBootEnvironment,
8357	}
8358	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "bootToRescueLayer", params, &r.Options, &resp)
8359	return
8360}
8361
8362// Captures an Image of the hard disk on the physical machine, based on the capture template parameter. Returns the image template group containing the disk image.
8363func (r Hardware_Server) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
8364	params := []interface{}{
8365		captureTemplate,
8366	}
8367	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "captureImage", params, &r.Options, &resp)
8368	return
8369}
8370
8371// You can launch firmware reflash by selecting from your server list. It will bring your server offline for approximately 60 minutes while the flashes are in progress.
8372//
8373// In the event of a hardware failure during this 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.
8374func (r Hardware_Server) CreateFirmwareReflashTransaction(ipmi *int, raidController *int, bios *int) (resp bool, err error) {
8375	params := []interface{}{
8376		ipmi,
8377		raidController,
8378		bios,
8379	}
8380	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createFirmwareReflashTransaction", params, &r.Options, &resp)
8381	return
8382}
8383
8384// 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.
8385//
8386// 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.
8387func (r Hardware_Server) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int) (resp bool, err error) {
8388	params := []interface{}{
8389		ipmi,
8390		raidController,
8391		bios,
8392		harddrive,
8393	}
8394	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
8395	return
8396}
8397
8398// You can launch hyper-threading update by selecting from your server list. It will bring your server offline for approximately 60 minutes while the update is in progress.
8399//
8400// In the event of a hardware failure during this 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.
8401func (r Hardware_Server) CreateHyperThreadingUpdateTransaction(disableHyperthreading *int) (resp bool, err error) {
8402	params := []interface{}{
8403		disableHyperthreading,
8404	}
8405	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createHyperThreadingUpdateTransaction", params, &r.Options, &resp)
8406	return
8407}
8408
8409//
8410// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
8411// createObject() enables the creation of servers on an account. This
8412// method is a simplified alternative to interacting with the ordering system directly.
8413//
8414//
8415// In order to create a server, a template object must be sent in with a few required
8416// values.
8417//
8418//
8419// When this method returns an order will have been placed for a server of the specified configuration.
8420//
8421//
8422// To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
8423// checking the <code>provisionDate</code> property.
8424// When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
8425// as your initialization parameter.
8426//
8427//
8428// <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
8429//
8430//
8431// <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
8432// <ul class="create_object">
8433//     <li><code>hostname</code>
8434//         <div>Hostname for the server.</div><ul>
8435//             <li><b>Required</b></li>
8436//             <li><b>Type</b> - string</li>
8437//         </ul>
8438//         <br />
8439//     </li>
8440//     <li><code>domain</code>
8441//         <div>Domain for the server.</div><ul>
8442//             <li><b>Required</b></li>
8443//             <li><b>Type</b> - string</li>
8444//         </ul>
8445//         <br />
8446//     </li>
8447//     <li><code>processorCoreAmount</code>
8448//         <div>The number of logical CPU cores to allocate.</div><ul>
8449//             <li><b>Required</b></li>
8450//             <li><b>Type</b> - int</li>
8451//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8452//         </ul>
8453//         <br />
8454//     </li>
8455//     <li><code>memoryCapacity</code>
8456//         <div>The amount of memory to allocate in gigabytes.</div><ul>
8457//             <li><b>Required</b></li>
8458//             <li><b>Type</b> - int</li>
8459//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8460//         </ul>
8461//         <br />
8462//     </li>
8463//     <li><code>hourlyBillingFlag</code>
8464//         <div>Specifies the billing type for the server.</div><ul>
8465//             <li><b>Required</b></li>
8466//             <li><b>Type</b> - boolean</li>
8467//             <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
8468//         </ul>
8469//         <br />
8470//     </li>
8471//     <li><code>operatingSystemReferenceCode</code>
8472//         <div>An identifier for the operating system to provision the server with.</div><ul>
8473//             <li><b>Required</b></li>
8474//             <li><b>Type</b> - string</li>
8475//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8476//         </ul>
8477//         <br />
8478//     </li>
8479//     <li><code>datacenter.name</code>
8480//         <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
8481//             <li><b>Required</b></li>
8482//             <li><b>Type</b> - string</li>
8483//             <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
8484//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8485//         </ul>
8486//         <http title="Example">{
8487//     "datacenter": {
8488//         "name": "dal05"
8489//     }
8490// }</http>
8491//         <br />
8492//     </li>
8493//     <li><code>networkComponents.maxSpeed</code>
8494//         <div>Specifies the connection speed for the server's network components.</div><ul>
8495//             <li><b>Optional</b></li>
8496//             <li><b>Type</b> - int</li>
8497//             <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
8498//             <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>
8499//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8500//         </ul>
8501//             <http title="Example">{
8502//     "networkComponents": [
8503//         {
8504//             "maxSpeed": 1000
8505//         }
8506//     ]
8507// }</http>
8508//         <br />
8509//     </li>
8510//     <li><code>networkComponents.redundancyEnabledFlag</code>
8511//         <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
8512//             <li><b>Optional</b></li>
8513//             <li><b>Type</b> - bool</li>
8514//             <li><b>Default</b> - <code>false</code></li>
8515//             <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>
8516//         </ul>
8517//             <http title="Example">{
8518//     "networkComponents": [
8519//         {
8520//             "redundancyEnabledFlag": false
8521//         }
8522//     ]
8523// }</http>
8524//         <br />
8525//     </li>
8526//     <li><code>privateNetworkOnlyFlag</code>
8527//         <div>Specifies whether or not the server only has access to the private network</div><ul>
8528//             <li><b>Optional</b></li>
8529//             <li><b>Type</b> - boolean</li>
8530//             <li><b>Default</b> - <code>false</code></li>
8531//             <li>When true this flag specifies that a server is to only have access to the private network.</li>
8532//         </ul>
8533//         <br />
8534//     </li>
8535//     <li><code>primaryNetworkComponent.networkVlan.id</code>
8536//         <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
8537//             <li><b>Optional</b></li>
8538//             <li><b>Type</b> - int</li>
8539//             <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>
8540//         </ul>
8541//         <http title="Example">{
8542//     "primaryNetworkComponent": {
8543//         "networkVlan": {
8544//             "id": 1
8545//         }
8546//     }
8547// }</http>
8548//         <br />
8549//     </li>
8550//     <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
8551//         <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
8552//             <li><b>Optional</b></li>
8553//             <li><b>Type</b> - int</li>
8554//             <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>
8555//         </ul>
8556//         <http title="Example">{
8557//     "primaryBackendNetworkComponent": {
8558//         "networkVlan": {
8559//             "id": 2
8560//         }
8561//     }
8562// }</http>
8563//         <br />
8564//     </li>
8565//     <li><code>fixedConfigurationPreset.keyName</code>
8566//         <div></div><ul>
8567//             <li><b>Optional</b></li>
8568//             <li><b>Type</b> - string</li>
8569//             <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>
8570//             <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
8571//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8572//         </ul>
8573//         <http title="Example">{
8574//     "fixedConfigurationPreset": {
8575//         "keyName": "SOME_KEY_NAME"
8576//     }
8577// }</http>
8578//         <br />
8579//     </li>
8580//     <li><code>userData.value</code>
8581//         <div>Arbitrary data to be made available to the server.</div><ul>
8582//             <li><b>Optional</b></li>
8583//             <li><b>Type</b> - string</li>
8584//             <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>
8585//             <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>
8586//         </ul>
8587//         <http title="Example">{
8588//     "userData": [
8589//         {
8590//             "value": "someValue"
8591//         }
8592//     ]
8593// }</http>
8594//         <br />
8595//     </li>
8596//     <li><code>hardDrives</code>
8597//         <div>Hard drive settings for the server</div><ul>
8598//             <li><b>Optional</b></li>
8599//             <li><b>Type</b> - SoftLayer_Hardware_Component</li>
8600//             <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
8601//             <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
8602//             <li>Each hard drive must specify the <code>capacity</code> property.</li>
8603//             <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8604//         </ul>
8605//         <http title="Example">{
8606//     "hardDrives": [
8607//         {
8608//             "capacity": 500
8609//         }
8610//     ]
8611// }</http>
8612//         <br />
8613//     </li>
8614//     <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
8615//         <div>SSH keys to install on the server upon provisioning.</div><ul>
8616//             <li><b>Optional</b></li>
8617//             <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
8618//             <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>
8619//             <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
8620//             <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
8621//         </ul>
8622//         <http title="Example">{
8623//     "sshKeys": [
8624//         {
8625//             "id": 123
8626//         }
8627//     ]
8628// }</http>
8629//         <br />
8630//     </li>
8631//     <li><code>postInstallScriptUri</code>
8632//         <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
8633//             <li><b>Optional</b></li>
8634//             <li><b>Type</b> - string</li>
8635//         </ul>
8636//         <br />
8637//     </li>
8638// </ul>
8639//
8640//
8641// <h1>REST Example</h1>
8642// <http title="Request">curl -X POST -d '{
8643//  "parameters":[
8644//      {
8645//          "hostname": "host1",
8646//          "domain": "example.com",
8647//          "processorCoreAmount": 2,
8648//          "memoryCapacity": 2,
8649//          "hourlyBillingFlag": true,
8650//          "operatingSystemReferenceCode": "UBUNTU_LATEST"
8651//      }
8652//  ]
8653// }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
8654// </http>
8655// <http title="Response">HTTP/1.1 201 Created
8656// Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
8657//
8658//
8659// {
8660//     "accountId": 232298,
8661//     "bareMetalInstanceFlag": null,
8662//     "domain": "example.com",
8663//     "hardwareStatusId": null,
8664//     "hostname": "host1",
8665//     "id": null,
8666//     "serviceProviderId": null,
8667//     "serviceProviderResourceId": null,
8668//     "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
8669//     "hourlyBillingFlag": true,
8670//     "memoryCapacity": 2,
8671//     "operatingSystemReferenceCode": "UBUNTU_LATEST",
8672//     "processorCoreAmount": 2
8673// }
8674// </http>
8675func (r Hardware_Server) CreateObject(templateObject *datatypes.Hardware_Server) (resp datatypes.Hardware_Server, err error) {
8676	params := []interface{}{
8677		templateObject,
8678	}
8679	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createObject", params, &r.Options, &resp)
8680	return
8681}
8682
8683// no documentation yet
8684func (r Hardware_Server) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
8685	params := []interface{}{
8686		installCodes,
8687		returnBoolean,
8688	}
8689	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
8690	return
8691}
8692
8693//
8694// This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
8695func (r Hardware_Server) DeleteObject() (resp bool, err error) {
8696	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "deleteObject", nil, &r.Options, &resp)
8697	return
8698}
8699
8700// Delete software component passwords.
8701func (r Hardware_Server) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
8702	params := []interface{}{
8703		softwareComponentPasswords,
8704	}
8705	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
8706	return
8707}
8708
8709// Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
8710func (r Hardware_Server) DeleteTag(tagName *string) (resp bool, err error) {
8711	params := []interface{}{
8712		tagName,
8713	}
8714	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "deleteTag", params, &r.Options, &resp)
8715	return
8716}
8717
8718// Edit a server's properties
8719func (r Hardware_Server) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
8720	params := []interface{}{
8721		templateObject,
8722	}
8723	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "editObject", params, &r.Options, &resp)
8724	return
8725}
8726
8727// Edit the properties of a software component password such as the username, password, and notes.
8728func (r Hardware_Server) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
8729	params := []interface{}{
8730		softwareComponentPasswords,
8731	}
8732	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "editSoftwareComponentPasswords", params, &r.Options, &resp)
8733	return
8734}
8735
8736// Download and run remote script from uri on the hardware.
8737func (r Hardware_Server) ExecuteRemoteScript(uri *string) (err error) {
8738	var resp datatypes.Void
8739	params := []interface{}{
8740		uri,
8741	}
8742	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "executeRemoteScript", params, &r.Options, &resp)
8743	return
8744}
8745
8746// 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. If no hardware is found, no errors are generated and no data is returned.
8747func (r Hardware_Server) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
8748	params := []interface{}{
8749		ipAddress,
8750	}
8751	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "findByIpAddress", params, &r.Options, &resp)
8752	return
8753}
8754
8755//
8756// 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]].
8757//
8758//
8759// This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
8760//
8761//
8762// See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
8763func (r Hardware_Server) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
8764	params := []interface{}{
8765		templateObject,
8766	}
8767	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "generateOrderTemplate", params, &r.Options, &resp)
8768	return
8769}
8770
8771// Retrieve The account associated with a piece of hardware.
8772func (r Hardware_Server) GetAccount() (resp datatypes.Account, err error) {
8773	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAccount", nil, &r.Options, &resp)
8774	return
8775}
8776
8777// Retrieve A piece of hardware's active physical components.
8778func (r Hardware_Server) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
8779	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveComponents", nil, &r.Options, &resp)
8780	return
8781}
8782
8783// Retrieve The billing item for a server's attached network firewall.
8784func (r Hardware_Server) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
8785	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
8786	return
8787}
8788
8789// Retrieve A piece of hardware's active network monitoring incidents.
8790func (r Hardware_Server) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
8791	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
8792	return
8793}
8794
8795// Retrieve
8796func (r Hardware_Server) GetActiveTickets() (resp []datatypes.Ticket, err error) {
8797	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTickets", nil, &r.Options, &resp)
8798	return
8799}
8800
8801// Retrieve Transaction currently running for server.
8802func (r Hardware_Server) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
8803	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTransaction", nil, &r.Options, &resp)
8804	return
8805}
8806
8807// Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
8808func (r Hardware_Server) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
8809	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTransactions", nil, &r.Options, &resp)
8810	return
8811}
8812
8813// Retrieve
8814func (r Hardware_Server) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
8815	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllPowerComponents", nil, &r.Options, &resp)
8816	return
8817}
8818
8819// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
8820func (r Hardware_Server) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
8821	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedHost", nil, &r.Options, &resp)
8822	return
8823}
8824
8825// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
8826func (r Hardware_Server) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
8827	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedNetworkStorage", nil, &r.Options, &resp)
8828	return
8829}
8830
8831// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
8832func (r Hardware_Server) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
8833	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
8834	return
8835}
8836
8837// Retrieve Information regarding an antivirus/spyware software component object.
8838func (r Hardware_Server) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
8839	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
8840	return
8841}
8842
8843// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
8844func (r Hardware_Server) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
8845	params := []interface{}{
8846		nasType,
8847	}
8848	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAttachedNetworkStorages", params, &r.Options, &resp)
8849	return
8850}
8851
8852// Retrieve Information regarding a piece of hardware's specific attributes.
8853func (r Hardware_Server) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
8854	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAttributes", nil, &r.Options, &resp)
8855	return
8856}
8857
8858// Retrieve An object that stores the maximum level for the monitoring query types and response types.
8859func (r Hardware_Server) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
8860	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAvailableMonitoring", nil, &r.Options, &resp)
8861	return
8862}
8863
8864// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
8865func (r Hardware_Server) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
8866	params := []interface{}{
8867		nasType,
8868	}
8869	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAvailableNetworkStorages", params, &r.Options, &resp)
8870	return
8871}
8872
8873// Retrieve The average daily total bandwidth usage for the current billing cycle.
8874func (r Hardware_Server) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
8875	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
8876	return
8877}
8878
8879// Retrieve The average daily private bandwidth usage for the current billing cycle.
8880func (r Hardware_Server) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
8881	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
8882	return
8883}
8884
8885// Retrieve The average daily public bandwidth usage for the current billing cycle.
8886func (r Hardware_Server) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
8887	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
8888	return
8889}
8890
8891// Use this method to return an array of private bandwidth utilization records between a given date range.
8892//
8893// This method represents the NEW version of getFrontendBandwidthUse
8894func (r Hardware_Server) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
8895	params := []interface{}{
8896		startDate,
8897		endDate,
8898	}
8899	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendBandwidthUsage", params, &r.Options, &resp)
8900	return
8901}
8902
8903// Use this method to return an array of private bandwidth utilization records between a given date range.
8904func (r Hardware_Server) GetBackendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
8905	params := []interface{}{
8906		startDate,
8907		endDate,
8908	}
8909	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendBandwidthUse", params, &r.Options, &resp)
8910	return
8911}
8912
8913// 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.
8914func (r Hardware_Server) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8915	params := []interface{}{
8916		startDate,
8917		endDate,
8918	}
8919	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendIncomingBandwidth", params, &r.Options, &resp)
8920	return
8921}
8922
8923// Retrieve A piece of hardware's back-end or private network components.
8924func (r Hardware_Server) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
8925	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendNetworkComponents", nil, &r.Options, &resp)
8926	return
8927}
8928
8929// 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.
8930func (r Hardware_Server) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8931	params := []interface{}{
8932		startDate,
8933		endDate,
8934	}
8935	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
8936	return
8937}
8938
8939// Retrieve A hardware's backend or private router.
8940func (r Hardware_Server) GetBackendRouters() (resp []datatypes.Hardware, err error) {
8941	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendRouters", nil, &r.Options, &resp)
8942	return
8943}
8944
8945// Retrieve A hardware's allotted bandwidth (measured in GB).
8946func (r Hardware_Server) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
8947	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthAllocation", nil, &r.Options, &resp)
8948	return
8949}
8950
8951// Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
8952func (r Hardware_Server) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
8953	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
8954	return
8955}
8956
8957// 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.
8958func (r Hardware_Server) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
8959	params := []interface{}{
8960		startDate,
8961		endDate,
8962	}
8963	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthForDateRange", params, &r.Options, &resp)
8964	return
8965}
8966
8967// 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.
8968func (r Hardware_Server) GetBandwidthImage(networkType *string, snapshotRange *string, draw *bool, dateSpecified *datatypes.Time, dateSpecifiedEnd *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
8969	params := []interface{}{
8970		networkType,
8971		snapshotRange,
8972		draw,
8973		dateSpecified,
8974		dateSpecifiedEnd,
8975	}
8976	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthImage", params, &r.Options, &resp)
8977	return
8978}
8979
8980// Retrieve Information regarding a piece of hardware's benchmark certifications.
8981func (r Hardware_Server) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
8982	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBenchmarkCertifications", nil, &r.Options, &resp)
8983	return
8984}
8985
8986// Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
8987func (r Hardware_Server) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
8988	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
8989	return
8990}
8991
8992// Retrieve The raw private bandwidth usage data for the current billing cycle.
8993func (r Hardware_Server) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
8994	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
8995	return
8996}
8997
8998// Retrieve The raw public bandwidth usage data for the current billing cycle.
8999func (r Hardware_Server) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
9000	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
9001	return
9002}
9003
9004// Retrieve Information regarding the billing item for a server.
9005func (r Hardware_Server) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
9006	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingItem", nil, &r.Options, &resp)
9007	return
9008}
9009
9010// Retrieve A flag indicating that a billing item exists.
9011func (r Hardware_Server) GetBillingItemFlag() (resp bool, err error) {
9012	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingItemFlag", nil, &r.Options, &resp)
9013	return
9014}
9015
9016// Retrieve Determine if BIOS password should be left as null.
9017func (r Hardware_Server) GetBiosPasswordNullFlag() (resp bool, err error) {
9018	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
9019	return
9020}
9021
9022// Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
9023func (r Hardware_Server) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
9024	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
9025	return
9026}
9027
9028// Retrieve the valid boot modes for this server
9029func (r Hardware_Server) GetBootModeOptions() (resp []string, err error) {
9030	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBootModeOptions", nil, &r.Options, &resp)
9031	return
9032}
9033
9034// Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
9035func (r Hardware_Server) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
9036	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
9037	return
9038}
9039
9040// Retrieve Determine if the server is able to be image captured. If unable to image capture a reason will be provided.
9041func (r Hardware_Server) GetCaptureEnabledFlag() (resp datatypes.Container_Hardware_CaptureEnabled, err error) {
9042	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCaptureEnabledFlag", nil, &r.Options, &resp)
9043	return
9044}
9045
9046// Retrieve Child hardware.
9047func (r Hardware_Server) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
9048	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getChildrenHardware", nil, &r.Options, &resp)
9049	return
9050}
9051
9052// no documentation yet
9053func (r Hardware_Server) GetComponentDetailsXML() (resp string, err error) {
9054	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getComponentDetailsXML", nil, &r.Options, &resp)
9055	return
9056}
9057
9058// Retrieve A piece of hardware's components.
9059func (r Hardware_Server) GetComponents() (resp []datatypes.Hardware_Component, err error) {
9060	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getComponents", nil, &r.Options, &resp)
9061	return
9062}
9063
9064// Retrieve
9065func (r Hardware_Server) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
9066	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
9067	return
9068}
9069
9070// Retrieve A continuous data protection/server backup software component object.
9071func (r Hardware_Server) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
9072	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
9073	return
9074}
9075
9076// Retrieve A server's control panel.
9077func (r Hardware_Server) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
9078	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getControlPanel", nil, &r.Options, &resp)
9079	return
9080}
9081
9082// Retrieve The total cost of a server, measured in US Dollars ($USD).
9083func (r Hardware_Server) GetCost() (resp datatypes.Float64, err error) {
9084	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCost", nil, &r.Options, &resp)
9085	return
9086}
9087
9088//
9089// There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
9090//
9091//
9092// Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
9093func (r Hardware_Server) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
9094	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCreateObjectOptions", nil, &r.Options, &resp)
9095	return
9096}
9097
9098// Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
9099func (r Hardware_Server) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
9100	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
9101	return
9102}
9103
9104// 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.
9105func (r Hardware_Server) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
9106	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
9107	return
9108}
9109
9110// Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
9111func (r Hardware_Server) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
9112	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
9113	return
9114}
9115
9116// Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
9117func (r Hardware_Server) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
9118	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillingDetail", nil, &r.Options, &resp)
9119	return
9120}
9121
9122// Get the total bill amount in US Dollars ($) for this hardware in the current billing period. This includes all bandwidth used up to the point the method is called on the hardware.
9123func (r Hardware_Server) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
9124	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillingTotal", nil, &r.Options, &resp)
9125	return
9126}
9127
9128// Retrieve bandwidth graph by date.
9129func (r Hardware_Server) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
9130	params := []interface{}{
9131		graphData,
9132	}
9133	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
9134	return
9135}
9136
9137// Retrieve Indicates if a server has a Customer Installed OS
9138func (r Hardware_Server) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
9139	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
9140	return
9141}
9142
9143// Retrieve Indicates if a server is a customer owned device.
9144func (r Hardware_Server) GetCustomerOwnedFlag() (resp bool, err error) {
9145	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCustomerOwnedFlag", nil, &r.Options, &resp)
9146	return
9147}
9148
9149// 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.
9150func (r Hardware_Server) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
9151	params := []interface{}{
9152		startDate,
9153		endDate,
9154	}
9155	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDailyAverage", params, &r.Options, &resp)
9156	return
9157}
9158
9159// Retrieve Information regarding the datacenter in which a piece of hardware resides.
9160func (r Hardware_Server) GetDatacenter() (resp datatypes.Location, err error) {
9161	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDatacenter", nil, &r.Options, &resp)
9162	return
9163}
9164
9165// Retrieve The name of the datacenter in which a piece of hardware resides.
9166func (r Hardware_Server) GetDatacenterName() (resp string, err error) {
9167	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDatacenterName", nil, &r.Options, &resp)
9168	return
9169}
9170
9171// Retrieve Number of day(s) a server have been in spare pool.
9172func (r Hardware_Server) GetDaysInSparePool() (resp int, err error) {
9173	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDaysInSparePool", nil, &r.Options, &resp)
9174	return
9175}
9176
9177// Retrieve All hardware that has uplink network connections to a piece of hardware.
9178func (r Hardware_Server) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
9179	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkHardware", nil, &r.Options, &resp)
9180	return
9181}
9182
9183// Retrieve All hardware that has uplink network connections to a piece of hardware.
9184func (r Hardware_Server) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
9185	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
9186	return
9187}
9188
9189// Retrieve Information regarding all servers attached to a piece of network hardware.
9190func (r Hardware_Server) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
9191	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkServers", nil, &r.Options, &resp)
9192	return
9193}
9194
9195// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
9196func (r Hardware_Server) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9197	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
9198	return
9199}
9200
9201// Retrieve All hardware downstream from a network device.
9202func (r Hardware_Server) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
9203	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
9204	return
9205}
9206
9207// Retrieve All network hardware downstream from the selected piece of hardware.
9208func (r Hardware_Server) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
9209	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
9210	return
9211}
9212
9213// Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware.
9214func (r Hardware_Server) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
9215	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
9216	return
9217}
9218
9219// Retrieve Information regarding all servers attached downstream to a piece of network hardware.
9220func (r Hardware_Server) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
9221	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamServers", nil, &r.Options, &resp)
9222	return
9223}
9224
9225// Retrieve Information regarding all virtual guests attached to a piece of network hardware.
9226func (r Hardware_Server) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9227	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
9228	return
9229}
9230
9231// Retrieve The drive controllers contained within a piece of hardware.
9232func (r Hardware_Server) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
9233	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDriveControllers", nil, &r.Options, &resp)
9234	return
9235}
9236
9237// Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
9238func (r Hardware_Server) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
9239	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getEvaultNetworkStorage", nil, &r.Options, &resp)
9240	return
9241}
9242
9243// Get the subnets associated with this server that are protectable by a network component firewall.
9244func (r Hardware_Server) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
9245	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
9246	return
9247}
9248
9249// Retrieve Information regarding a piece of hardware's firewall services.
9250func (r Hardware_Server) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
9251	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFirewallServiceComponent", nil, &r.Options, &resp)
9252	return
9253}
9254
9255// Retrieve Defines the fixed components in a fixed configuration bare metal server.
9256func (r Hardware_Server) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
9257	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFixedConfigurationPreset", nil, &r.Options, &resp)
9258	return
9259}
9260
9261// Use this method to return an array of public bandwidth utilization records between a given date range.
9262//
9263// This method represents the NEW version of getFrontendBandwidthUse
9264func (r Hardware_Server) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9265	params := []interface{}{
9266		startDate,
9267		endDate,
9268	}
9269	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendBandwidthUsage", params, &r.Options, &resp)
9270	return
9271}
9272
9273// Use this method to return an array of public bandwidth utilization records between a given date range.
9274func (r Hardware_Server) GetFrontendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
9275	params := []interface{}{
9276		startDate,
9277		endDate,
9278	}
9279	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendBandwidthUse", params, &r.Options, &resp)
9280	return
9281}
9282
9283// 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).
9284func (r Hardware_Server) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
9285	params := []interface{}{
9286		startDate,
9287		endDate,
9288	}
9289	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
9290	return
9291}
9292
9293// Retrieve A piece of hardware's front-end or public network components.
9294func (r Hardware_Server) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
9295	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendNetworkComponents", nil, &r.Options, &resp)
9296	return
9297}
9298
9299// 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).
9300func (r Hardware_Server) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
9301	params := []interface{}{
9302		startDate,
9303		endDate,
9304	}
9305	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
9306	return
9307}
9308
9309// Retrieve A hardware's frontend or public router.
9310func (r Hardware_Server) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
9311	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendRouters", nil, &r.Options, &resp)
9312	return
9313}
9314
9315// Retrieve A hardware's universally unique identifier.
9316func (r Hardware_Server) GetGlobalIdentifier() (resp string, err error) {
9317	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getGlobalIdentifier", nil, &r.Options, &resp)
9318	return
9319}
9320
9321// Retrieve The hard drives contained within a piece of hardware.
9322func (r Hardware_Server) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
9323	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardDrives", nil, &r.Options, &resp)
9324	return
9325}
9326
9327// Retrieve a server by searching for the primary IP address.
9328func (r Hardware_Server) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
9329	params := []interface{}{
9330		ipAddress,
9331	}
9332	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareByIpAddress", params, &r.Options, &resp)
9333	return
9334}
9335
9336// Retrieve The chassis that a piece of hardware is housed in.
9337func (r Hardware_Server) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
9338	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareChassis", nil, &r.Options, &resp)
9339	return
9340}
9341
9342// Retrieve A hardware's function.
9343func (r Hardware_Server) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
9344	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareFunction", nil, &r.Options, &resp)
9345	return
9346}
9347
9348// Retrieve A hardware's function.
9349func (r Hardware_Server) GetHardwareFunctionDescription() (resp string, err error) {
9350	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareFunctionDescription", nil, &r.Options, &resp)
9351	return
9352}
9353
9354// Retrieve A hardware's status.
9355func (r Hardware_Server) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
9356	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareStatus", nil, &r.Options, &resp)
9357	return
9358}
9359
9360// Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
9361func (r Hardware_Server) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
9362	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
9363	return
9364}
9365
9366// Retrieve Determine in hardware object has TPM enabled.
9367func (r Hardware_Server) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
9368	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
9369	return
9370}
9371
9372// Retrieve Information regarding a host IPS software component object.
9373func (r Hardware_Server) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
9374	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
9375	return
9376}
9377
9378// 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
9379//
9380// '02/01/2008 0:00'
9381//
9382// 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).
9383//
9384// For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
9385func (r Hardware_Server) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9386	params := []interface{}{
9387		mode,
9388		day,
9389	}
9390	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHourlyBandwidth", params, &r.Options, &resp)
9391	return
9392}
9393
9394// Retrieve A server's hourly billing status.
9395func (r Hardware_Server) GetHourlyBillingFlag() (resp bool, err error) {
9396	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHourlyBillingFlag", nil, &r.Options, &resp)
9397	return
9398}
9399
9400// Retrieve The sum of all the inbound network traffic data for the last 30 days.
9401func (r Hardware_Server) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
9402	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundBandwidthUsage", nil, &r.Options, &resp)
9403	return
9404}
9405
9406// Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
9407func (r Hardware_Server) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
9408	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
9409	return
9410}
9411
9412// Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
9413func (r Hardware_Server) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9414	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
9415	return
9416}
9417
9418// Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
9419func (r Hardware_Server) GetIsCloudReadyNodeCertified() (resp bool, err error) {
9420	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
9421	return
9422}
9423
9424// Retrieve Determine if remote management has been disabled due to port speed.
9425func (r Hardware_Server) GetIsIpmiDisabled() (resp bool, err error) {
9426	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsIpmiDisabled", nil, &r.Options, &resp)
9427	return
9428}
9429
9430// Retrieve Determine if hardware object is a Virtual Private Cloud node.
9431func (r Hardware_Server) GetIsVirtualPrivateCloudNode() (resp bool, err error) {
9432	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsVirtualPrivateCloudNode", nil, &r.Options, &resp)
9433	return
9434}
9435
9436// Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
9437func (r Hardware_Server) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
9438	params := []interface{}{
9439		softwareDescriptions,
9440		includeTranslationsFlag,
9441		returnAllPricesFlag,
9442	}
9443	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
9444	return
9445}
9446
9447// Retrieve The last transaction that a server's operating system was loaded.
9448func (r Hardware_Server) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
9449	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLastOperatingSystemReload", nil, &r.Options, &resp)
9450	return
9451}
9452
9453// Retrieve Information regarding the last transaction a server performed.
9454func (r Hardware_Server) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
9455	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLastTransaction", nil, &r.Options, &resp)
9456	return
9457}
9458
9459// Retrieve A piece of hardware's latest network monitoring incident.
9460func (r Hardware_Server) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
9461	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
9462	return
9463}
9464
9465// Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
9466func (r Hardware_Server) GetLocation() (resp datatypes.Location, err error) {
9467	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLocation", nil, &r.Options, &resp)
9468	return
9469}
9470
9471// Retrieve
9472func (r Hardware_Server) GetLocationPathString() (resp string, err error) {
9473	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLocationPathString", nil, &r.Options, &resp)
9474	return
9475}
9476
9477// Retrieve Information regarding a lockbox account associated with a server.
9478func (r Hardware_Server) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
9479	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLockboxNetworkStorage", nil, &r.Options, &resp)
9480	return
9481}
9482
9483// Retrieve Returns a list of logical volumes on the physical machine.
9484func (r Hardware_Server) GetLogicalVolumeStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
9485	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLogicalVolumeStorageGroups", nil, &r.Options, &resp)
9486	return
9487}
9488
9489// Retrieve A flag indicating that the hardware is a managed resource.
9490func (r Hardware_Server) GetManagedResourceFlag() (resp bool, err error) {
9491	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getManagedResourceFlag", nil, &r.Options, &resp)
9492	return
9493}
9494
9495// Retrieve the remote management network component attached with this server.
9496func (r Hardware_Server) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
9497	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getManagementNetworkComponent", nil, &r.Options, &resp)
9498	return
9499}
9500
9501// Retrieve Information regarding a piece of hardware's memory.
9502func (r Hardware_Server) GetMemory() (resp []datatypes.Hardware_Component, err error) {
9503	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMemory", nil, &r.Options, &resp)
9504	return
9505}
9506
9507// Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
9508func (r Hardware_Server) GetMemoryCapacity() (resp uint, err error) {
9509	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMemoryCapacity", nil, &r.Options, &resp)
9510	return
9511}
9512
9513// Retrieve A piece of hardware's metric tracking object.
9514func (r Hardware_Server) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_HardwareServer, err error) {
9515	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMetricTrackingObject", nil, &r.Options, &resp)
9516	return
9517}
9518
9519// Retrieve The metric tracking object id for this server.
9520func (r Hardware_Server) GetMetricTrackingObjectId() (resp int, err error) {
9521	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMetricTrackingObjectId", nil, &r.Options, &resp)
9522	return
9523}
9524
9525// Retrieve
9526func (r Hardware_Server) GetModules() (resp []datatypes.Hardware_Component, err error) {
9527	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getModules", nil, &r.Options, &resp)
9528	return
9529}
9530
9531// Retrieve
9532func (r Hardware_Server) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
9533	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringRobot", nil, &r.Options, &resp)
9534	return
9535}
9536
9537// Retrieve Information regarding a piece of hardware's network monitoring services.
9538func (r Hardware_Server) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
9539	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringServiceComponent", nil, &r.Options, &resp)
9540	return
9541}
9542
9543// Retrieve
9544func (r Hardware_Server) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
9545	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
9546	return
9547}
9548
9549// 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
9550func (r Hardware_Server) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
9551	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringUserNotification", nil, &r.Options, &resp)
9552	return
9553}
9554
9555// Retrieve Information regarding a piece of hardware's motherboard.
9556func (r Hardware_Server) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
9557	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMotherboard", nil, &r.Options, &resp)
9558	return
9559}
9560
9561// Retrieve Information regarding a piece of hardware's network cards.
9562func (r Hardware_Server) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
9563	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkCards", nil, &r.Options, &resp)
9564	return
9565}
9566
9567// 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.
9568func (r Hardware_Server) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
9569	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
9570	return
9571}
9572
9573// Retrieve Returns a hardware's network components.
9574func (r Hardware_Server) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
9575	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkComponents", nil, &r.Options, &resp)
9576	return
9577}
9578
9579// Retrieve The gateway member if this device is part of a network gateway.
9580func (r Hardware_Server) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
9581	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkGatewayMember", nil, &r.Options, &resp)
9582	return
9583}
9584
9585// Retrieve Whether or not this device is part of a network gateway.
9586func (r Hardware_Server) GetNetworkGatewayMemberFlag() (resp bool, err error) {
9587	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
9588	return
9589}
9590
9591// Retrieve A piece of hardware's network management IP address.
9592func (r Hardware_Server) GetNetworkManagementIpAddress() (resp string, err error) {
9593	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
9594	return
9595}
9596
9597// Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
9598func (r Hardware_Server) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
9599	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
9600	return
9601}
9602
9603// Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
9604func (r Hardware_Server) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9605	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
9606	return
9607}
9608
9609// Retrieve The status of all of a piece of hardware's network monitoring incidents.
9610func (r Hardware_Server) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
9611	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
9612	return
9613}
9614
9615// Retrieve Information regarding a piece of hardware's network monitors.
9616func (r Hardware_Server) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
9617	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitors", nil, &r.Options, &resp)
9618	return
9619}
9620
9621// Retrieve The value of a hardware's network status attribute.
9622func (r Hardware_Server) GetNetworkStatus() (resp string, err error) {
9623	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStatus", nil, &r.Options, &resp)
9624	return
9625}
9626
9627// Retrieve The hardware's related network status attribute.
9628func (r Hardware_Server) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
9629	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStatusAttribute", nil, &r.Options, &resp)
9630	return
9631}
9632
9633// Retrieve Information regarding a piece of hardware's associated network storage service account.
9634func (r Hardware_Server) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
9635	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStorage", nil, &r.Options, &resp)
9636	return
9637}
9638
9639// Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
9640func (r Hardware_Server) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
9641	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkVlans", nil, &r.Options, &resp)
9642	return
9643}
9644
9645// Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
9646func (r Hardware_Server) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
9647	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
9648	return
9649}
9650
9651// Retrieve
9652func (r Hardware_Server) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
9653	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNotesHistory", nil, &r.Options, &resp)
9654	return
9655}
9656
9657// Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
9658func (r Hardware_Server) GetNvRamCapacity() (resp uint, err error) {
9659	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNvRamCapacity", nil, &r.Options, &resp)
9660	return
9661}
9662
9663// Retrieve
9664func (r Hardware_Server) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
9665	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNvRamComponentModels", nil, &r.Options, &resp)
9666	return
9667}
9668
9669// 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.
9670func (r Hardware_Server) GetObject() (resp datatypes.Hardware_Server, err error) {
9671	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getObject", nil, &r.Options, &resp)
9672	return
9673}
9674
9675// Retrieve An open ticket requesting cancellation of this server, if one exists.
9676func (r Hardware_Server) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
9677	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOpenCancellationTicket", nil, &r.Options, &resp)
9678	return
9679}
9680
9681// Retrieve Information regarding a piece of hardware's operating system.
9682func (r Hardware_Server) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
9683	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOperatingSystem", nil, &r.Options, &resp)
9684	return
9685}
9686
9687// Retrieve A hardware's operating system software description.
9688func (r Hardware_Server) GetOperatingSystemReferenceCode() (resp string, err error) {
9689	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
9690	return
9691}
9692
9693// Retrieve The sum of all the outbound network traffic data for the last 30 days.
9694func (r Hardware_Server) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
9695	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
9696	return
9697}
9698
9699// Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
9700func (r Hardware_Server) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
9701	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
9702	return
9703}
9704
9705// Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
9706func (r Hardware_Server) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9707	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
9708	return
9709}
9710
9711// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
9712func (r Hardware_Server) GetOverBandwidthAllocationFlag() (resp int, err error) {
9713	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
9714	return
9715}
9716
9717// 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.
9718func (r Hardware_Server) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
9719	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPMInfo", nil, &r.Options, &resp)
9720	return
9721}
9722
9723// Retrieve Blade Bay
9724func (r Hardware_Server) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
9725	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getParentBay", nil, &r.Options, &resp)
9726	return
9727}
9728
9729// Retrieve Parent Hardware.
9730func (r Hardware_Server) GetParentHardware() (resp datatypes.Hardware, err error) {
9731	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getParentHardware", nil, &r.Options, &resp)
9732	return
9733}
9734
9735// Retrieve
9736func (r Hardware_Server) GetPartitions() (resp []datatypes.Hardware_Server_Partition, err error) {
9737	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPartitions", nil, &r.Options, &resp)
9738	return
9739}
9740
9741// Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
9742func (r Hardware_Server) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
9743	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPointOfPresenceLocation", nil, &r.Options, &resp)
9744	return
9745}
9746
9747// Retrieve The power components for a hardware object.
9748func (r Hardware_Server) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
9749	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPowerComponents", nil, &r.Options, &resp)
9750	return
9751}
9752
9753// Retrieve Information regarding a piece of hardware's power supply.
9754func (r Hardware_Server) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
9755	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPowerSupply", nil, &r.Options, &resp)
9756	return
9757}
9758
9759// Retrieve The hardware's primary private IP address.
9760func (r Hardware_Server) GetPrimaryBackendIpAddress() (resp string, err error) {
9761	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
9762	return
9763}
9764
9765// Retrieve Information regarding the hardware's primary back-end network component.
9766func (r Hardware_Server) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
9767	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
9768	return
9769}
9770
9771// no documentation yet
9772func (r Hardware_Server) GetPrimaryDriveSize() (resp int, err error) {
9773	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryDriveSize", nil, &r.Options, &resp)
9774	return
9775}
9776
9777// Retrieve The hardware's primary public IP address.
9778func (r Hardware_Server) GetPrimaryIpAddress() (resp string, err error) {
9779	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryIpAddress", nil, &r.Options, &resp)
9780	return
9781}
9782
9783// Retrieve Information regarding the hardware's primary public network component.
9784func (r Hardware_Server) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
9785	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
9786	return
9787}
9788
9789// 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.
9790func (r Hardware_Server) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9791	params := []interface{}{
9792		startTime,
9793		endTime,
9794	}
9795	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBandwidthData", params, &r.Options, &resp)
9796	return
9797}
9798
9799// 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.
9800func (r Hardware_Server) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
9801	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
9802	return
9803}
9804
9805// 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
9806func (r Hardware_Server) GetPrivateBandwidthGraphImage(startTime *string, endTime *string) (resp []byte, err error) {
9807	params := []interface{}{
9808		startTime,
9809		endTime,
9810	}
9811	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBandwidthGraphImage", params, &r.Options, &resp)
9812	return
9813}
9814
9815// Retrieve A server's primary private IP address.
9816func (r Hardware_Server) GetPrivateIpAddress() (resp string, err error) {
9817	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateIpAddress", nil, &r.Options, &resp)
9818	return
9819}
9820
9821// Retrieve the private network component attached with this server.
9822func (r Hardware_Server) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
9823	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateNetworkComponent", nil, &r.Options, &resp)
9824	return
9825}
9826
9827// Retrieve Whether the hardware only has access to the private network.
9828func (r Hardware_Server) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
9829	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
9830	return
9831}
9832
9833// Retrieve the backend VLAN for the primary IP address of the server
9834func (r Hardware_Server) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
9835	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateVlan", nil, &r.Options, &resp)
9836	return
9837}
9838
9839//
9840// *** DEPRECATED ***
9841// Retrieve a backend network VLAN by searching for an IP address
9842func (r Hardware_Server) GetPrivateVlanByIpAddress(ipAddress *string) (resp datatypes.Network_Vlan, err error) {
9843	params := []interface{}{
9844		ipAddress,
9845	}
9846	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateVlanByIpAddress", params, &r.Options, &resp)
9847	return
9848}
9849
9850// Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
9851func (r Hardware_Server) GetProcessorCoreAmount() (resp uint, err error) {
9852	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessorCoreAmount", nil, &r.Options, &resp)
9853	return
9854}
9855
9856// Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
9857func (r Hardware_Server) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
9858	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
9859	return
9860}
9861
9862// Retrieve Information regarding a piece of hardware's processors.
9863func (r Hardware_Server) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
9864	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessors", nil, &r.Options, &resp)
9865	return
9866}
9867
9868// Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
9869func (r Hardware_Server) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
9870	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
9871	return
9872}
9873
9874// Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
9875func (r Hardware_Server) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9876	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
9877	return
9878}
9879
9880// no documentation yet
9881func (r Hardware_Server) GetProvisionDate() (resp datatypes.Time, err error) {
9882	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProvisionDate", nil, &r.Options, &resp)
9883	return
9884}
9885
9886// 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.
9887func (r Hardware_Server) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9888	params := []interface{}{
9889		startTime,
9890		endTime,
9891	}
9892	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthData", params, &r.Options, &resp)
9893	return
9894}
9895
9896// 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.
9897func (r Hardware_Server) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
9898	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
9899	return
9900}
9901
9902// 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.
9903func (r Hardware_Server) GetPublicBandwidthGraphImage(startTime *datatypes.Time, endTime *datatypes.Time) (resp []byte, err error) {
9904	params := []interface{}{
9905		startTime,
9906		endTime,
9907	}
9908	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthGraphImage", params, &r.Options, &resp)
9909	return
9910}
9911
9912// Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
9913func (r Hardware_Server) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
9914	params := []interface{}{
9915		startTime,
9916		endTime,
9917	}
9918	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthTotal", params, &r.Options, &resp)
9919	return
9920}
9921
9922// 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.
9923func (r Hardware_Server) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
9924	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicNetworkComponent", nil, &r.Options, &resp)
9925	return
9926}
9927
9928// Retrieve the frontend VLAN for the primary IP address of the server
9929func (r Hardware_Server) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
9930	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicVlan", nil, &r.Options, &resp)
9931	return
9932}
9933
9934// Retrieve the frontend network Vlan by searching the hostname of a server
9935func (r Hardware_Server) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
9936	params := []interface{}{
9937		hostname,
9938	}
9939	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicVlanByHostname", params, &r.Options, &resp)
9940	return
9941}
9942
9943// Retrieve
9944func (r Hardware_Server) GetRack() (resp datatypes.Location, err error) {
9945	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRack", nil, &r.Options, &resp)
9946	return
9947}
9948
9949// Retrieve The RAID controllers contained within a piece of hardware.
9950func (r Hardware_Server) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
9951	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRaidControllers", nil, &r.Options, &resp)
9952	return
9953}
9954
9955// Retrieve Determine if hardware object is vSan Ready Node.
9956func (r Hardware_Server) GetReadyNodeFlag() (resp bool, err error) {
9957	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getReadyNodeFlag", nil, &r.Options, &resp)
9958	return
9959}
9960
9961// Retrieve Recent events that impact this hardware.
9962func (r Hardware_Server) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
9963	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRecentEvents", nil, &r.Options, &resp)
9964	return
9965}
9966
9967// Retrieve The last five commands issued to the server's remote management card.
9968func (r Hardware_Server) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
9969	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
9970	return
9971}
9972
9973// Retrieve
9974func (r Hardware_Server) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
9975	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRegionalInternetRegistry", nil, &r.Options, &resp)
9976	return
9977}
9978
9979// Retrieve A server's remote management card.
9980func (r Hardware_Server) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
9981	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagement", nil, &r.Options, &resp)
9982	return
9983}
9984
9985// Retrieve User credentials to issue commands and/or interact with the server's remote management card.
9986func (r Hardware_Server) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
9987	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementAccounts", nil, &r.Options, &resp)
9988	return
9989}
9990
9991// Retrieve A hardware's associated remote management component. This is normally IPMI.
9992func (r Hardware_Server) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
9993	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementComponent", nil, &r.Options, &resp)
9994	return
9995}
9996
9997// Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
9998func (r Hardware_Server) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
9999	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementUsers", nil, &r.Options, &resp)
10000	return
10001}
10002
10003// Retrieve
10004func (r Hardware_Server) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
10005	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceConfigurations", nil, &r.Options, &resp)
10006	return
10007}
10008
10009// Retrieve
10010func (r Hardware_Server) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
10011	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
10012	return
10013}
10014
10015// Retrieve
10016func (r Hardware_Server) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
10017	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroupRoles", nil, &r.Options, &resp)
10018	return
10019}
10020
10021// Retrieve The resource groups in which this hardware is a member.
10022func (r Hardware_Server) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
10023	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroups", nil, &r.Options, &resp)
10024	return
10025}
10026
10027// Retrieve the reverse domain records associated with this server.
10028func (r Hardware_Server) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
10029	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getReverseDomainRecords", nil, &r.Options, &resp)
10030	return
10031}
10032
10033// Retrieve A hardware's routers.
10034func (r Hardware_Server) GetRouters() (resp []datatypes.Hardware, err error) {
10035	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRouters", nil, &r.Options, &resp)
10036	return
10037}
10038
10039// Retrieve Collection of scale assets this hardware corresponds to.
10040func (r Hardware_Server) GetScaleAssets() (resp []datatypes.Scale_Asset, err error) {
10041	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getScaleAssets", nil, &r.Options, &resp)
10042	return
10043}
10044
10045// Retrieve Information regarding a piece of hardware's vulnerability scan requests.
10046func (r Hardware_Server) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
10047	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSecurityScanRequests", nil, &r.Options, &resp)
10048	return
10049}
10050
10051// 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.
10052func (r Hardware_Server) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
10053	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSensorData", nil, &r.Options, &resp)
10054	return
10055}
10056
10057// 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.
10058func (r Hardware_Server) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
10059	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSensorDataWithGraphs", nil, &r.Options, &resp)
10060	return
10061}
10062
10063// 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.
10064func (r Hardware_Server) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
10065	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerDetails", nil, &r.Options, &resp)
10066	return
10067}
10068
10069// 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.
10070func (r Hardware_Server) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
10071	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
10072	return
10073}
10074
10075// 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'.
10076func (r Hardware_Server) GetServerPowerState() (resp string, err error) {
10077	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerPowerState", nil, &r.Options, &resp)
10078	return
10079}
10080
10081// Retrieve Information regarding the server room in which the hardware is located.
10082func (r Hardware_Server) GetServerRoom() (resp datatypes.Location, err error) {
10083	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerRoom", nil, &r.Options, &resp)
10084	return
10085}
10086
10087// 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.
10088func (r Hardware_Server) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
10089	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerTemperatureGraphs", nil, &r.Options, &resp)
10090	return
10091}
10092
10093// Retrieve Information regarding the piece of hardware's service provider.
10094func (r Hardware_Server) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
10095	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServiceProvider", nil, &r.Options, &resp)
10096	return
10097}
10098
10099// Retrieve Information regarding a piece of hardware's installed software.
10100func (r Hardware_Server) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
10101	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSoftwareComponents", nil, &r.Options, &resp)
10102	return
10103}
10104
10105// Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
10106func (r Hardware_Server) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
10107	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
10108	return
10109}
10110
10111// Retrieve Information regarding the billing item for a spare pool server.
10112func (r Hardware_Server) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
10113	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSparePoolBillingItem", nil, &r.Options, &resp)
10114	return
10115}
10116
10117// Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
10118func (r Hardware_Server) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
10119	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSshKeys", nil, &r.Options, &resp)
10120	return
10121}
10122
10123// Retrieve A server's remote management card used for statistics.
10124func (r Hardware_Server) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
10125	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
10126	return
10127}
10128
10129// Retrieve
10130func (r Hardware_Server) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
10131	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getStorageGroups", nil, &r.Options, &resp)
10132	return
10133}
10134
10135// Retrieve A piece of hardware's private storage network components. [Deprecated]
10136func (r Hardware_Server) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
10137	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getStorageNetworkComponents", nil, &r.Options, &resp)
10138	return
10139}
10140
10141// Retrieve
10142func (r Hardware_Server) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
10143	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTagReferences", nil, &r.Options, &resp)
10144	return
10145}
10146
10147// Retrieve
10148func (r Hardware_Server) GetTopLevelLocation() (resp datatypes.Location, err error) {
10149	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTopLevelLocation", nil, &r.Options, &resp)
10150	return
10151}
10152
10153//
10154// This method will query transaction history for a piece of hardware.
10155func (r Hardware_Server) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
10156	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTransactionHistory", nil, &r.Options, &resp)
10157	return
10158}
10159
10160// Retrieve Whether to use UEFI boot instead of BIOS.
10161func (r Hardware_Server) GetUefiBootFlag() (resp bool, err error) {
10162	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUefiBootFlag", nil, &r.Options, &resp)
10163	return
10164}
10165
10166// 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.
10167func (r Hardware_Server) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
10168	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUpgradeItemPrices", nil, &r.Options, &resp)
10169	return
10170}
10171
10172// Retrieve An account's associated upgrade request object, if any.
10173func (r Hardware_Server) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
10174	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUpgradeRequest", nil, &r.Options, &resp)
10175	return
10176}
10177
10178// Retrieve The network device connected to a piece of hardware.
10179func (r Hardware_Server) GetUplinkHardware() (resp datatypes.Hardware, err error) {
10180	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUplinkHardware", nil, &r.Options, &resp)
10181	return
10182}
10183
10184// Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
10185func (r Hardware_Server) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
10186	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUplinkNetworkComponents", nil, &r.Options, &resp)
10187	return
10188}
10189
10190// Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
10191func (r Hardware_Server) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
10192	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUserData", nil, &r.Options, &resp)
10193	return
10194}
10195
10196// Retrieve A list of users that have access to this computing instance.
10197func (r Hardware_Server) GetUsers() (resp []datatypes.User_Customer, err error) {
10198	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUsers", nil, &r.Options, &resp)
10199	return
10200}
10201
10202// 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.
10203func (r Hardware_Server) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
10204	params := []interface{}{
10205		visibility,
10206	}
10207	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
10208	return
10209}
10210
10211// Retrieve Information regarding the virtual chassis for a piece of hardware.
10212func (r Hardware_Server) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
10213	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualChassis", nil, &r.Options, &resp)
10214	return
10215}
10216
10217// Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
10218func (r Hardware_Server) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
10219	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualChassisSiblings", nil, &r.Options, &resp)
10220	return
10221}
10222
10223// Retrieve A hardware server's virtual servers.
10224func (r Hardware_Server) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
10225	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualGuests", nil, &r.Options, &resp)
10226	return
10227}
10228
10229// Retrieve A piece of hardware's virtual host record.
10230func (r Hardware_Server) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
10231	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualHost", nil, &r.Options, &resp)
10232	return
10233}
10234
10235// Retrieve Information regarding a piece of hardware's virtual software licenses.
10236func (r Hardware_Server) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
10237	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualLicenses", nil, &r.Options, &resp)
10238	return
10239}
10240
10241// Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
10242func (r Hardware_Server) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
10243	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRack", nil, &r.Options, &resp)
10244	return
10245}
10246
10247// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
10248func (r Hardware_Server) GetVirtualRackId() (resp int, err error) {
10249	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRackId", nil, &r.Options, &resp)
10250	return
10251}
10252
10253// Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
10254func (r Hardware_Server) GetVirtualRackName() (resp string, err error) {
10255	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRackName", nil, &r.Options, &resp)
10256	return
10257}
10258
10259// Retrieve A piece of hardware's virtualization platform software.
10260func (r Hardware_Server) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
10261	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualizationPlatform", nil, &r.Options, &resp)
10262	return
10263}
10264
10265// 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.
10266func (r Hardware_Server) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
10267	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
10268	return
10269}
10270
10271// 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.
10272func (r Hardware_Server) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
10273	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
10274	return
10275}
10276
10277// 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.
10278func (r Hardware_Server) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
10279	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateStatus", nil, &r.Options, &resp)
10280	return
10281}
10282
10283// The '''importVirtualHost''' method attempts to import the host record for the virtualization platform running on a server.
10284func (r Hardware_Server) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
10285	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "importVirtualHost", nil, &r.Options, &resp)
10286	return
10287}
10288
10289// Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
10290func (r Hardware_Server) InitiateIderaBareMetalRestore() (resp bool, err error) {
10291	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
10292	return
10293}
10294
10295// R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
10296func (r Hardware_Server) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
10297	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
10298	return
10299}
10300
10301// Issues a ping command and returns the success (true) or failure (false) of the ping command.
10302func (r Hardware_Server) IsBackendPingable() (resp bool, err error) {
10303	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isBackendPingable", nil, &r.Options, &resp)
10304	return
10305}
10306
10307// Issues a ping command and returns the success (true) or failure (false) of the ping command.
10308func (r Hardware_Server) IsPingable() (resp bool, err error) {
10309	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isPingable", nil, &r.Options, &resp)
10310	return
10311}
10312
10313// Determine if the server runs any version of the Microsoft Windows operating systems. Return ''true'' if it does and ''false if otherwise.
10314func (r Hardware_Server) IsWindowsServer() (resp bool, err error) {
10315	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isWindowsServer", nil, &r.Options, &resp)
10316	return
10317}
10318
10319// You can launch firmware reflashes by selecting from your server list. It will bring your server offline for approximately 60 minutes while the reflashes are in progress.
10320//
10321// 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. They will be contact you to ensure that impact on your server is minimal.
10322func (r Hardware_Server) MassFirmwareReflash(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
10323	params := []interface{}{
10324		hardwareIds,
10325		ipmi,
10326		raidController,
10327		bios,
10328	}
10329	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massFirmwareReflash", params, &r.Options, &resp)
10330	return
10331}
10332
10333// 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.
10334//
10335// 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.
10336func (r Hardware_Server) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
10337	params := []interface{}{
10338		hardwareIds,
10339		ipmi,
10340		raidController,
10341		bios,
10342		harddrive,
10343	}
10344	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massFirmwareUpdate", params, &r.Options, &resp)
10345	return
10346}
10347
10348// You can launch hyper-threading update by selecting from your server list. It will bring your server offline for approximately 60 minutes while the updates are in progress.
10349//
10350// In the event of a hardware failure during this update our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online. They will be in contact with you to ensure that impact on your server is minimal.
10351func (r Hardware_Server) MassHyperThreadingUpdate(hardwareIds []int, disableHyperthreading *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
10352	params := []interface{}{
10353		hardwareIds,
10354		disableHyperthreading,
10355	}
10356	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massHyperThreadingUpdate", params, &r.Options, &resp)
10357	return
10358}
10359
10360// Reloads current or customer specified operating system configuration.
10361//
10362// 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.
10363//
10364// 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.
10365//
10366// The reload will take AT MINIMUM 66 minutes.
10367func (r Hardware_Server) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
10368	params := []interface{}{
10369		hardwareIds,
10370		token,
10371		config,
10372	}
10373	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massReloadOperatingSystem", params, &r.Options, &resp)
10374	return
10375}
10376
10377// 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.
10378func (r Hardware_Server) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
10379	params := []interface{}{
10380		hardwareIds,
10381		action,
10382		newOrder,
10383	}
10384	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massSparePool", params, &r.Options, &resp)
10385	return
10386}
10387
10388// Issues a ping command to the server and returns the ping response.
10389func (r Hardware_Server) Ping() (resp string, err error) {
10390	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "ping", nil, &r.Options, &resp)
10391	return
10392}
10393
10394// no documentation yet
10395func (r Hardware_Server) PopulateServerRam(ramSerialString *string) (err error) {
10396	var resp datatypes.Void
10397	params := []interface{}{
10398		ramSerialString,
10399	}
10400	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "populateServerRam", params, &r.Options, &resp)
10401	return
10402}
10403
10404// 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.
10405func (r Hardware_Server) PowerCycle() (resp bool, err error) {
10406	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerCycle", nil, &r.Options, &resp)
10407	return
10408}
10409
10410// This method will power off the server via the server's remote management card.
10411func (r Hardware_Server) PowerOff() (resp bool, err error) {
10412	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerOff", nil, &r.Options, &resp)
10413	return
10414}
10415
10416// 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.
10417func (r Hardware_Server) PowerOn() (resp bool, err error) {
10418	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerOn", nil, &r.Options, &resp)
10419	return
10420}
10421
10422// 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.
10423func (r Hardware_Server) RebootDefault() (resp bool, err error) {
10424	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootDefault", nil, &r.Options, &resp)
10425	return
10426}
10427
10428// 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.
10429func (r Hardware_Server) RebootHard() (resp bool, err error) {
10430	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootHard", nil, &r.Options, &resp)
10431	return
10432}
10433
10434// 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.
10435func (r Hardware_Server) RebootSoft() (resp bool, err error) {
10436	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootSoft", nil, &r.Options, &resp)
10437	return
10438}
10439
10440// Reloads current operating system configuration.
10441//
10442// 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.
10443//
10444// 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.
10445//
10446// The reload will take AT MINIMUM 66 minutes.
10447func (r Hardware_Server) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
10448	params := []interface{}{
10449		token,
10450	}
10451	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
10452	return
10453}
10454
10455// Reloads current or customer specified operating system configuration.
10456//
10457// 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.
10458//
10459// 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.
10460//
10461// The reload will take AT MINIMUM 66 minutes.
10462func (r Hardware_Server) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
10463	params := []interface{}{
10464		token,
10465		config,
10466	}
10467	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "reloadOperatingSystem", params, &r.Options, &resp)
10468	return
10469}
10470
10471// This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
10472func (r Hardware_Server) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
10473	params := []interface{}{
10474		networkStorageTemplateObject,
10475	}
10476	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "removeAccessToNetworkStorage", params, &r.Options, &resp)
10477	return
10478}
10479
10480// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
10481func (r Hardware_Server) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
10482	params := []interface{}{
10483		networkStorageTemplateObjects,
10484	}
10485	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
10486	return
10487}
10488
10489// no documentation yet
10490func (r Hardware_Server) RemoveTags(tags *string) (resp bool, err error) {
10491	params := []interface{}{
10492		tags,
10493	}
10494	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "removeTags", params, &r.Options, &resp)
10495	return
10496}
10497
10498// 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.
10499//
10500// 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.
10501//
10502// 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.
10503//
10504// 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.
10505func (r Hardware_Server) RunPassmarkCertificationBenchmark() (resp bool, err error) {
10506	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
10507	return
10508}
10509
10510// Changes the password that we have stored in our database for a servers' Operating System
10511func (r Hardware_Server) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
10512	params := []interface{}{
10513		newPassword,
10514	}
10515	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setOperatingSystemPassword", params, &r.Options, &resp)
10516	return
10517}
10518
10519// Set the private network interface speed and redundancy configuration.
10520//
10521// Possible $newSpeed values are -1 (maximum available), 0 (disconnect), 10, 100, 1000, and 10000; not all values are available to every server. The maximum speed is limited by the speed requested during provisioning. All intermediate speeds are limited by the capability of the pod the server is deployed in. No guarantee is made that a speed other than what was requested during provisioning will be available.
10522//
10523// If specified, possible $redundancy values are either "redundant" or "degraded". Not specifying a redundancy mode will use the best possible redundancy available to the server. However, specifying a redundacy mode that is not available to the server will result in an error. "redundant" indicates all available interfaces should be active. "degraded" indicates only the primary interface should be active. Irrespective of the number of interfaces available to a server, it is only possible to have either a single interface or all interfaces active.
10524//
10525// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
10526//
10527// A response of true indicates a change was required to achieve the desired interface configuration; thus changes are pending. A response of false indicates the current interface configuration matches the desired configuration, and thus no changes are pending.
10528//
10529// <h4>Backwards Compatibility Until February 27th, 2019</h4>
10530//
10531// In order to provide a period of transition to the new API, some backwards compatible behaviors will be active during this period. <ul> <li> A "doubled" (eg. 200) speed value will be translated to a redundancy value of "redundant". If a redundancy value is specified, it is assumed no translation is needed and will result in an error due to doubled speeds no longer being valid.</li> <li> A non-doubled (eg. 100) speed value <i>without</i> a redundancy value will be translated to a redundancy value of "degraded".</li> </ul> After the compatibility period, a doubled speed value will result in an error, and a non-doubled speed value without a redundancy value specified will result in the best available redundancy state. An exception is made for the new relative speed value -1. When using -1 without a redundancy value, the best possible redundancy will be used. Please transition away from using doubled speed values in favor of specifying redundancy (when applicable) or using relative speed values 0 and -1.
10532func (r Hardware_Server) SetPrivateNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
10533	params := []interface{}{
10534		newSpeed,
10535		redundancy,
10536	}
10537	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
10538	return
10539}
10540
10541// Set the public network interface speed and redundancy configuration.
10542//
10543// Possible $newSpeed values are -1 (maximum available), 0 (disconnect), 10, 100, 1000, and 10000; not all values are available to every server. The maximum speed is limited by the speed requested during provisioning. All intermediate speeds are limited by the capability of the pod the server is deployed in. No guarantee is made that a speed other than what was requested during provisioning will be available.
10544//
10545// If specified, possible $redundancy values are either "redundant" or "degraded". Not specifying a redundancy mode will use the best possible redundancy available to the server. However, specifying a redundacy mode that is not available to the server will result in an error. "redundant" indicates all available interfaces should be active. "degraded" indicates only the primary interface should be active. Irrespective of the number of interfaces available to a server, it is only possible to have either a single interface or all interfaces active.
10546//
10547// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
10548//
10549// A response of true indicates a change was required to achieve the desired interface configuration; thus changes are pending. A response of false indicates the current interface configuration matches the desired configuration, and thus no changes are pending.
10550//
10551// <h4>Backwards Compatibility Until February 27th, 2019</h4>
10552//
10553// In order to provide a period of transition to the new API, some backwards compatible behaviors will be active during this period. <ul> <li> A "doubled" (eg. 200) speed value will be translated to a redundancy value of "redundant". If a redundancy value is specified, it is assumed no translation is needed and will result in an error due to doubled speeds no longer being valid.</li> <li> A non-doubled (eg. 100) speed value <i>without</i> a redundancy value will be translated to a redundancy value of "degraded".</li> </ul> After the compatibility period, a doubled speed value will result in an error, and a non-doubled speed value without a redundancy value specified will result in the best available redundancy state. An exception is made for the new relative speed value -1. When using -1 without a redundancy value, the best possible redundancy will be used. Please transition away from using doubled speed values in favor of specifying redundancy (when applicable) or using relative speed values 0 and -1.
10554func (r Hardware_Server) SetPublicNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
10555	params := []interface{}{
10556		newSpeed,
10557		redundancy,
10558	}
10559	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
10560	return
10561}
10562
10563// no documentation yet
10564func (r Hardware_Server) SetTags(tags *string) (resp bool, err error) {
10565	params := []interface{}{
10566		tags,
10567	}
10568	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setTags", params, &r.Options, &resp)
10569	return
10570}
10571
10572// Sets the data that will be written to the configuration drive.
10573func (r Hardware_Server) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
10574	params := []interface{}{
10575		metadata,
10576	}
10577	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setUserMetadata", params, &r.Options, &resp)
10578	return
10579}
10580
10581// Disconnect a server's private network interface. This operation is an alias for calling [[SoftLayer_Hardware_Server/setPrivateNetworkInterfaceSpeed]] with a $newSpeed of 0 and unspecified $redundancy.
10582//
10583// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
10584//
10585// A response of true indicates a change was required to disconnect the interface; thus changes are pending. A response of false indicates the interface was already disconnected, and thus no changes are pending.
10586func (r Hardware_Server) ShutdownPrivatePort() (resp bool, err error) {
10587	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "shutdownPrivatePort", nil, &r.Options, &resp)
10588	return
10589}
10590
10591// Disconnect a server's public network interface. This operation is an alias for [[SoftLayer_Hardware_Server/setPublicNetworkInterfaceSpeed]] with a $newSpeed of 0 and unspecified $redundancy.
10592//
10593// Receipt of a response does not indicate completion of the configuration change. Any subsequent attempts to request the interface change speed or state, while changes are pending, will result in a busy error.
10594//
10595// A response of true indicates a change was required to disconnect the interface; thus changes are pending. A response of false indicates the interface was already disconnected, and thus no changes are pending.
10596func (r Hardware_Server) ShutdownPublicPort() (resp bool, err error) {
10597	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "shutdownPublicPort", nil, &r.Options, &resp)
10598	return
10599}
10600
10601// 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.
10602func (r Hardware_Server) SparePool(action *string, newOrder *bool) (resp bool, err error) {
10603	params := []interface{}{
10604		action,
10605		newOrder,
10606	}
10607	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "sparePool", params, &r.Options, &resp)
10608	return
10609}
10610
10611// Test the RAID Alert service by sending the service a request to store a test email for this server. The server must have an account ID and MAC address.  A RAID controller must also be installed.
10612func (r Hardware_Server) TestRaidAlertService() (resp bool, err error) {
10613	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "testRaidAlertService", nil, &r.Options, &resp)
10614	return
10615}
10616
10617// Attempt to toggle the IPMI interface.  If there is an active transaction on the server, it will throw an exception. This method creates a transaction to toggle the interface.  It is not instant.
10618func (r Hardware_Server) ToggleManagementInterface(enabled *bool) (resp bool, err error) {
10619	params := []interface{}{
10620		enabled,
10621	}
10622	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "toggleManagementInterface", params, &r.Options, &resp)
10623	return
10624}
10625
10626// This method will update the root IPMI password on this SoftLayer_Hardware.
10627func (r Hardware_Server) UpdateIpmiPassword(password *string) (resp bool, err error) {
10628	params := []interface{}{
10629		password,
10630	}
10631	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "updateIpmiPassword", params, &r.Options, &resp)
10632	return
10633}
10634
10635// Validates a collection of partitions for an operating system
10636func (r Hardware_Server) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
10637	params := []interface{}{
10638		operatingSystem,
10639		partitions,
10640	}
10641	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
10642	return
10643}
10644