hardware.go raw

   1  /**
   2   * Copyright 2016-2024 IBM Corp.
   3   *
   4   * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
   5   * the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
   6   *
   7   * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
   8   * on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   9   * See the License for the specific language governing permissions and limitations under the License.
  10   */
  11  
  12  // AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
  13  
  14  package services
  15  
  16  import (
  17  	"fmt"
  18  	"strings"
  19  
  20  	"github.com/softlayer/softlayer-go/datatypes"
  21  	"github.com/softlayer/softlayer-go/session"
  22  	"github.com/softlayer/softlayer-go/sl"
  23  )
  24  
  25  // The SoftLayer_Hardware data type contains general information relating to a single SoftLayer hardware.
  26  type Hardware struct {
  27  	Session session.SLSession
  28  	Options sl.Options
  29  }
  30  
  31  // GetHardwareService returns an instance of the Hardware SoftLayer service
  32  func GetHardwareService(sess session.SLSession) Hardware {
  33  	return Hardware{Session: sess}
  34  }
  35  
  36  func (r Hardware) Id(id int) Hardware {
  37  	r.Options.Id = &id
  38  	return r
  39  }
  40  
  41  func (r Hardware) Mask(mask string) Hardware {
  42  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
  43  		mask = fmt.Sprintf("mask[%s]", mask)
  44  	}
  45  
  46  	r.Options.Mask = mask
  47  	return r
  48  }
  49  
  50  func (r Hardware) Filter(filter string) Hardware {
  51  	r.Options.Filter = filter
  52  	return r
  53  }
  54  
  55  func (r Hardware) Limit(limit int) Hardware {
  56  	r.Options.Limit = &limit
  57  	return r
  58  }
  59  
  60  func (r Hardware) Offset(offset int) Hardware {
  61  	r.Options.Offset = &offset
  62  	return r
  63  }
  64  
  65  // This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
  66  func (r Hardware) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
  67  	params := []interface{}{
  68  		networkStorageTemplateObject,
  69  	}
  70  	err = r.Session.DoRequest("SoftLayer_Hardware", "allowAccessToNetworkStorage", params, &r.Options, &resp)
  71  	return
  72  }
  73  
  74  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
  75  func (r Hardware) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
  76  	params := []interface{}{
  77  		networkStorageTemplateObjects,
  78  	}
  79  	err = r.Session.DoRequest("SoftLayer_Hardware", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
  80  	return
  81  }
  82  
  83  // 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.
  84  func (r Hardware) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
  85  	params := []interface{}{
  86  		captureTemplate,
  87  	}
  88  	err = r.Session.DoRequest("SoftLayer_Hardware", "captureImage", params, &r.Options, &resp)
  89  	return
  90  }
  91  
  92  // <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
  93  // createObject() enables the creation of servers on an account. This
  94  // method is a simplified alternative to interacting with the ordering system directly.
  95  //
  96  // In order to create a server, a template object must be sent in with a few required
  97  // values.
  98  //
  99  // When this method returns an order will have been placed for a server of the specified configuration.
 100  //
 101  // To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
 102  // checking the <code>provisionDate</code> property.
 103  // When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
 104  // as your initialization parameter.
 105  //
 106  // <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
 107  //
 108  // <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
 109  // <ul class="create_object">
 110  //
 111  //	    <li><code>hostname</code>
 112  //	        <div>Hostname for the server.</div><ul>
 113  //	            <li><b>Required</b></li>
 114  //	            <li><b>Type</b> - string</li>
 115  //	        </ul>
 116  //	        <br />
 117  //	    </li>
 118  //	    <li><code>domain</code>
 119  //	        <div>Domain for the server.</div><ul>
 120  //	            <li><b>Required</b></li>
 121  //	            <li><b>Type</b> - string</li>
 122  //	        </ul>
 123  //	        <br />
 124  //	    </li>
 125  //	    <li><code>processorCoreAmount</code>
 126  //	        <div>The number of logical CPU cores to allocate.</div><ul>
 127  //	            <li><b>Required</b></li>
 128  //	            <li><b>Type</b> - int</li>
 129  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
 130  //	        </ul>
 131  //	        <br />
 132  //	    </li>
 133  //	    <li><code>memoryCapacity</code>
 134  //	        <div>The amount of memory to allocate in gigabytes.</div><ul>
 135  //	            <li><b>Required</b></li>
 136  //	            <li><b>Type</b> - int</li>
 137  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
 138  //	        </ul>
 139  //	        <br />
 140  //	    </li>
 141  //	    <li><code>hourlyBillingFlag</code>
 142  //	        <div>Specifies the billing type for the server.</div><ul>
 143  //	            <li><b>Required</b></li>
 144  //	            <li><b>Type</b> - boolean</li>
 145  //	            <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
 146  //	        </ul>
 147  //	        <br />
 148  //	    </li>
 149  //	    <li><code>operatingSystemReferenceCode</code>
 150  //	        <div>An identifier for the operating system to provision the server with.</div><ul>
 151  //	            <li><b>Required</b></li>
 152  //	            <li><b>Type</b> - string</li>
 153  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
 154  //	        </ul>
 155  //	        <br />
 156  //	    </li>
 157  //	    <li><code>datacenter.name</code>
 158  //	        <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
 159  //	            <li><b>Required</b></li>
 160  //	            <li><b>Type</b> - string</li>
 161  //	            <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
 162  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
 163  //	        </ul>
 164  //	        <http title="Example">{
 165  //	    "datacenter": {
 166  //	        "name": "dal05"
 167  //	    }
 168  //	}</http>
 169  //
 170  //	        <br />
 171  //	    </li>
 172  //	    <li><code>networkComponents.maxSpeed</code>
 173  //	        <div>Specifies the connection speed for the server's network components.</div><ul>
 174  //	            <li><b>Optional</b></li>
 175  //	            <li><b>Type</b> - int</li>
 176  //	            <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
 177  //	            <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>
 178  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
 179  //	        </ul>
 180  //	            <http title="Example">{
 181  //	    "networkComponents": [
 182  //	        {
 183  //	            "maxSpeed": 1000
 184  //	        }
 185  //	    ]
 186  //	}</http>
 187  //
 188  //	        <br />
 189  //	    </li>
 190  //	    <li><code>networkComponents.redundancyEnabledFlag</code>
 191  //	        <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
 192  //	            <li><b>Optional</b></li>
 193  //	            <li><b>Type</b> - bool</li>
 194  //	            <li><b>Default</b> - <code>false</code></li>
 195  //	            <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>
 196  //	        </ul>
 197  //	            <http title="Example">{
 198  //	    "networkComponents": [
 199  //	        {
 200  //	            "redundancyEnabledFlag": false
 201  //	        }
 202  //	    ]
 203  //	}</http>
 204  //
 205  //	        <br />
 206  //	    </li>
 207  //	    <li><code>privateNetworkOnlyFlag</code>
 208  //	        <div>Specifies whether or not the server only has access to the private network</div><ul>
 209  //	            <li><b>Optional</b></li>
 210  //	            <li><b>Type</b> - boolean</li>
 211  //	            <li><b>Default</b> - <code>false</code></li>
 212  //	            <li>When true this flag specifies that a server is to only have access to the private network.</li>
 213  //	        </ul>
 214  //	        <br />
 215  //	    </li>
 216  //	    <li><code>primaryNetworkComponent.networkVlan.id</code>
 217  //	        <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
 218  //	            <li><b>Optional</b></li>
 219  //	            <li><b>Type</b> - int</li>
 220  //	            <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>
 221  //	        </ul>
 222  //	        <http title="Example">{
 223  //	    "primaryNetworkComponent": {
 224  //	        "networkVlan": {
 225  //	            "id": 1
 226  //	        }
 227  //	    }
 228  //	}</http>
 229  //
 230  //	        <br />
 231  //	    </li>
 232  //	    <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
 233  //	        <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
 234  //	            <li><b>Optional</b></li>
 235  //	            <li><b>Type</b> - int</li>
 236  //	            <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>
 237  //	        </ul>
 238  //	        <http title="Example">{
 239  //	    "primaryBackendNetworkComponent": {
 240  //	        "networkVlan": {
 241  //	            "id": 2
 242  //	        }
 243  //	    }
 244  //	}</http>
 245  //
 246  //	        <br />
 247  //	    </li>
 248  //	    <li><code>fixedConfigurationPreset.keyName</code>
 249  //	        <div></div><ul>
 250  //	            <li><b>Optional</b></li>
 251  //	            <li><b>Type</b> - string</li>
 252  //	            <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>
 253  //	            <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
 254  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
 255  //	        </ul>
 256  //	        <http title="Example">{
 257  //	    "fixedConfigurationPreset": {
 258  //	        "keyName": "SOME_KEY_NAME"
 259  //	    }
 260  //	}</http>
 261  //
 262  //	        <br />
 263  //	    </li>
 264  //	    <li><code>userData.value</code>
 265  //	        <div>Arbitrary data to be made available to the server.</div><ul>
 266  //	            <li><b>Optional</b></li>
 267  //	            <li><b>Type</b> - string</li>
 268  //	            <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>
 269  //	            <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>
 270  //	        </ul>
 271  //	        <http title="Example">{
 272  //	    "userData": [
 273  //	        {
 274  //	            "value": "someValue"
 275  //	        }
 276  //	    ]
 277  //	}</http>
 278  //
 279  //	        <br />
 280  //	    </li>
 281  //	    <li><code>hardDrives</code>
 282  //	        <div>Hard drive settings for the server</div><ul>
 283  //	            <li><b>Optional</b></li>
 284  //	            <li><b>Type</b> - SoftLayer_Hardware_Component</li>
 285  //	            <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
 286  //	            <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
 287  //	            <li>Each hard drive must specify the <code>capacity</code> property.</li>
 288  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
 289  //	        </ul>
 290  //	        <http title="Example">{
 291  //	    "hardDrives": [
 292  //	        {
 293  //	            "capacity": 500
 294  //	        }
 295  //	    ]
 296  //	}</http>
 297  //
 298  //	        <br />
 299  //	    </li>
 300  //	    <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
 301  //	        <div>SSH keys to install on the server upon provisioning.</div><ul>
 302  //	            <li><b>Optional</b></li>
 303  //	            <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
 304  //	            <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>
 305  //	            <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
 306  //	            <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
 307  //	        </ul>
 308  //	        <http title="Example">{
 309  //	    "sshKeys": [
 310  //	        {
 311  //	            "id": 123
 312  //	        }
 313  //	    ]
 314  //	}</http>
 315  //
 316  //	    <br />
 317  //	</li>
 318  //	<li><code>postInstallScriptUri</code>
 319  //	    <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
 320  //	        <li><b>Optional</b></li>
 321  //	        <li><b>Type</b> - string</li>
 322  //	    </ul>
 323  //	    <br />
 324  //	</li>
 325  //
 326  // </ul>
 327  //
 328  // <h1>REST Example</h1>
 329  //
 330  //	<http title="Request">curl -X POST -d '{
 331  //	 "parameters":[
 332  //	     {
 333  //	         "hostname": "host1",
 334  //	         "domain": "example.com",
 335  //	         "processorCoreAmount": 2,
 336  //	         "memoryCapacity": 2,
 337  //	         "hourlyBillingFlag": true,
 338  //	         "operatingSystemReferenceCode": "UBUNTU_LATEST"
 339  //	     }
 340  //	 ]
 341  //	}' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
 342  //
 343  // </http>
 344  // <http title="Response">HTTP/1.1 201 Created
 345  // Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
 346  //
 347  //	{
 348  //	    "accountId": 232298,
 349  //	    "bareMetalInstanceFlag": null,
 350  //	    "domain": "example.com",
 351  //	    "hardwareStatusId": null,
 352  //	    "hostname": "host1",
 353  //	    "id": null,
 354  //	    "serviceProviderId": null,
 355  //	    "serviceProviderResourceId": null,
 356  //	    "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
 357  //	    "hourlyBillingFlag": true,
 358  //	    "memoryCapacity": 2,
 359  //	    "operatingSystemReferenceCode": "UBUNTU_LATEST",
 360  //	    "processorCoreAmount": 2
 361  //	}
 362  //
 363  // </http>
 364  func (r Hardware) CreateObject(templateObject *datatypes.Hardware) (resp datatypes.Hardware, err error) {
 365  	params := []interface{}{
 366  		templateObject,
 367  	}
 368  	err = r.Session.DoRequest("SoftLayer_Hardware", "createObject", params, &r.Options, &resp)
 369  	return
 370  }
 371  
 372  // This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
 373  func (r Hardware) DeleteObject() (resp bool, err error) {
 374  	err = r.Session.DoRequest("SoftLayer_Hardware", "deleteObject", nil, &r.Options, &resp)
 375  	return
 376  }
 377  
 378  // Delete software component passwords.
 379  func (r Hardware) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
 380  	params := []interface{}{
 381  		softwareComponentPasswords,
 382  	}
 383  	err = r.Session.DoRequest("SoftLayer_Hardware", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
 384  	return
 385  }
 386  
 387  // Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
 388  func (r Hardware) DeleteTag(tagName *string) (resp bool, err error) {
 389  	params := []interface{}{
 390  		tagName,
 391  	}
 392  	err = r.Session.DoRequest("SoftLayer_Hardware", "deleteTag", params, &r.Options, &resp)
 393  	return
 394  }
 395  
 396  // Edit the properties of a software component password such as the username, password, and notes.
 397  func (r Hardware) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
 398  	params := []interface{}{
 399  		softwareComponentPasswords,
 400  	}
 401  	err = r.Session.DoRequest("SoftLayer_Hardware", "editSoftwareComponentPasswords", params, &r.Options, &resp)
 402  	return
 403  }
 404  
 405  // Download and run remote script from uri on the hardware.
 406  func (r Hardware) ExecuteRemoteScript(uri *string) (err error) {
 407  	var resp datatypes.Void
 408  	params := []interface{}{
 409  		uri,
 410  	}
 411  	err = r.Session.DoRequest("SoftLayer_Hardware", "executeRemoteScript", params, &r.Options, &resp)
 412  	return
 413  }
 414  
 415  // 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.
 416  func (r Hardware) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
 417  	params := []interface{}{
 418  		ipAddress,
 419  	}
 420  	err = r.Session.DoRequest("SoftLayer_Hardware", "findByIpAddress", params, &r.Options, &resp)
 421  	return
 422  }
 423  
 424  // 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]].
 425  //
 426  // This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
 427  //
 428  // See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
 429  func (r Hardware) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
 430  	params := []interface{}{
 431  		templateObject,
 432  	}
 433  	err = r.Session.DoRequest("SoftLayer_Hardware", "generateOrderTemplate", params, &r.Options, &resp)
 434  	return
 435  }
 436  
 437  // Retrieve The account associated with a piece of hardware.
 438  func (r Hardware) GetAccount() (resp datatypes.Account, err error) {
 439  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAccount", nil, &r.Options, &resp)
 440  	return
 441  }
 442  
 443  // Retrieve A piece of hardware's active physical components.
 444  func (r Hardware) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
 445  	err = r.Session.DoRequest("SoftLayer_Hardware", "getActiveComponents", nil, &r.Options, &resp)
 446  	return
 447  }
 448  
 449  // Retrieve A piece of hardware's active network monitoring incidents.
 450  func (r Hardware) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
 451  	err = r.Session.DoRequest("SoftLayer_Hardware", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
 452  	return
 453  }
 454  
 455  // Retrieve
 456  func (r Hardware) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
 457  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllPowerComponents", nil, &r.Options, &resp)
 458  	return
 459  }
 460  
 461  // Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
 462  func (r Hardware) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
 463  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedHost", nil, &r.Options, &resp)
 464  	return
 465  }
 466  
 467  // Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
 468  func (r Hardware) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
 469  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedNetworkStorage", nil, &r.Options, &resp)
 470  	return
 471  }
 472  
 473  // Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
 474  func (r Hardware) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
 475  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
 476  	return
 477  }
 478  
 479  // Retrieve Information regarding an antivirus/spyware software component object.
 480  func (r Hardware) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
 481  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
 482  	return
 483  }
 484  
 485  // This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
 486  func (r Hardware) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
 487  	params := []interface{}{
 488  		nasType,
 489  	}
 490  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAttachedNetworkStorages", params, &r.Options, &resp)
 491  	return
 492  }
 493  
 494  // Retrieve Information regarding a piece of hardware's specific attributes.
 495  func (r Hardware) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
 496  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAttributes", nil, &r.Options, &resp)
 497  	return
 498  }
 499  
 500  // Retrieves a list of available term prices to this hardware. Currently, price terms are only available for increasing term length to monthly billed servers.
 501  func (r Hardware) GetAvailableBillingTermChangePrices() (resp []datatypes.Product_Item_Price, err error) {
 502  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAvailableBillingTermChangePrices", nil, &r.Options, &resp)
 503  	return
 504  }
 505  
 506  // This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
 507  func (r Hardware) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
 508  	params := []interface{}{
 509  		nasType,
 510  	}
 511  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAvailableNetworkStorages", params, &r.Options, &resp)
 512  	return
 513  }
 514  
 515  // Retrieve The average daily public bandwidth usage for the current billing cycle.
 516  func (r Hardware) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
 517  	err = r.Session.DoRequest("SoftLayer_Hardware", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
 518  	return
 519  }
 520  
 521  // 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.
 522  func (r Hardware) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
 523  	params := []interface{}{
 524  		startDate,
 525  		endDate,
 526  	}
 527  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendIncomingBandwidth", params, &r.Options, &resp)
 528  	return
 529  }
 530  
 531  // Retrieve A piece of hardware's back-end or private network components.
 532  func (r Hardware) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
 533  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendNetworkComponents", nil, &r.Options, &resp)
 534  	return
 535  }
 536  
 537  // 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.
 538  func (r Hardware) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
 539  	params := []interface{}{
 540  		startDate,
 541  		endDate,
 542  	}
 543  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
 544  	return
 545  }
 546  
 547  // Retrieve A hardware's backend or private router.
 548  func (r Hardware) GetBackendRouters() (resp []datatypes.Hardware, err error) {
 549  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBackendRouters", nil, &r.Options, &resp)
 550  	return
 551  }
 552  
 553  // Retrieve A hardware's allotted bandwidth (measured in GB).
 554  func (r Hardware) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
 555  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBandwidthAllocation", nil, &r.Options, &resp)
 556  	return
 557  }
 558  
 559  // Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
 560  func (r Hardware) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
 561  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
 562  	return
 563  }
 564  
 565  // Retrieve Information regarding a piece of hardware's benchmark certifications.
 566  func (r Hardware) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
 567  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBenchmarkCertifications", nil, &r.Options, &resp)
 568  	return
 569  }
 570  
 571  // Retrieve Information regarding the billing item for a server.
 572  func (r Hardware) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
 573  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBillingItem", nil, &r.Options, &resp)
 574  	return
 575  }
 576  
 577  // Retrieve A flag indicating that a billing item exists.
 578  func (r Hardware) GetBillingItemFlag() (resp bool, err error) {
 579  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBillingItemFlag", nil, &r.Options, &resp)
 580  	return
 581  }
 582  
 583  // Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
 584  func (r Hardware) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
 585  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
 586  	return
 587  }
 588  
 589  // Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
 590  func (r Hardware) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
 591  	err = r.Session.DoRequest("SoftLayer_Hardware", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
 592  	return
 593  }
 594  
 595  // Retrieve Child hardware.
 596  func (r Hardware) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
 597  	err = r.Session.DoRequest("SoftLayer_Hardware", "getChildrenHardware", nil, &r.Options, &resp)
 598  	return
 599  }
 600  
 601  // no documentation yet
 602  func (r Hardware) GetComponentDetailsXML() (resp string, err error) {
 603  	err = r.Session.DoRequest("SoftLayer_Hardware", "getComponentDetailsXML", nil, &r.Options, &resp)
 604  	return
 605  }
 606  
 607  // Retrieve A piece of hardware's components.
 608  func (r Hardware) GetComponents() (resp []datatypes.Hardware_Component, err error) {
 609  	err = r.Session.DoRequest("SoftLayer_Hardware", "getComponents", nil, &r.Options, &resp)
 610  	return
 611  }
 612  
 613  // Retrieve A continuous data protection/server backup software component object.
 614  func (r Hardware) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
 615  	err = r.Session.DoRequest("SoftLayer_Hardware", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
 616  	return
 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  // Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
 622  func (r Hardware) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
 623  	err = r.Session.DoRequest("SoftLayer_Hardware", "getCreateObjectOptions", nil, &r.Options, &resp)
 624  	return
 625  }
 626  
 627  // Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
 628  func (r Hardware) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
 629  	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
 630  	return
 631  }
 632  
 633  // Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
 634  func (r Hardware) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
 635  	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillingDetail", nil, &r.Options, &resp)
 636  	return
 637  }
 638  
 639  // 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.
 640  func (r Hardware) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
 641  	err = r.Session.DoRequest("SoftLayer_Hardware", "getCurrentBillingTotal", nil, &r.Options, &resp)
 642  	return
 643  }
 644  
 645  // 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.
 646  func (r Hardware) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
 647  	params := []interface{}{
 648  		startDate,
 649  		endDate,
 650  	}
 651  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDailyAverage", params, &r.Options, &resp)
 652  	return
 653  }
 654  
 655  // Retrieve Information regarding the datacenter in which a piece of hardware resides.
 656  func (r Hardware) GetDatacenter() (resp datatypes.Location, err error) {
 657  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDatacenter", nil, &r.Options, &resp)
 658  	return
 659  }
 660  
 661  // Retrieve The name of the datacenter in which a piece of hardware resides.
 662  func (r Hardware) GetDatacenterName() (resp string, err error) {
 663  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDatacenterName", nil, &r.Options, &resp)
 664  	return
 665  }
 666  
 667  // Retrieve Number of day(s) a server have been in spare pool.
 668  func (r Hardware) GetDaysInSparePool() (resp int, err error) {
 669  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDaysInSparePool", nil, &r.Options, &resp)
 670  	return
 671  }
 672  
 673  // Retrieve All hardware that has uplink network connections to a piece of hardware.
 674  func (r Hardware) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
 675  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkHardware", nil, &r.Options, &resp)
 676  	return
 677  }
 678  
 679  // Retrieve All hardware that has uplink network connections to a piece of hardware.
 680  func (r Hardware) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
 681  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
 682  	return
 683  }
 684  
 685  // Retrieve Information regarding all servers attached to a piece of network hardware.
 686  func (r Hardware) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
 687  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkServers", nil, &r.Options, &resp)
 688  	return
 689  }
 690  
 691  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
 692  func (r Hardware) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
 693  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
 694  	return
 695  }
 696  
 697  // Retrieve All hardware downstream from a network device.
 698  func (r Hardware) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
 699  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
 700  	return
 701  }
 702  
 703  // Retrieve All network hardware downstream from the selected piece of hardware.
 704  func (r Hardware) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
 705  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
 706  	return
 707  }
 708  
 709  // Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware. [DEPRECATED]
 710  func (r Hardware) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
 711  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
 712  	return
 713  }
 714  
 715  // Retrieve Information regarding all servers attached downstream to a piece of network hardware.
 716  func (r Hardware) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
 717  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamServers", nil, &r.Options, &resp)
 718  	return
 719  }
 720  
 721  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
 722  func (r Hardware) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
 723  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
 724  	return
 725  }
 726  
 727  // Retrieve The drive controllers contained within a piece of hardware.
 728  func (r Hardware) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
 729  	err = r.Session.DoRequest("SoftLayer_Hardware", "getDriveControllers", nil, &r.Options, &resp)
 730  	return
 731  }
 732  
 733  // Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
 734  func (r Hardware) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
 735  	err = r.Session.DoRequest("SoftLayer_Hardware", "getEvaultNetworkStorage", nil, &r.Options, &resp)
 736  	return
 737  }
 738  
 739  // Retrieve Information regarding a piece of hardware's firewall services.
 740  func (r Hardware) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
 741  	err = r.Session.DoRequest("SoftLayer_Hardware", "getFirewallServiceComponent", nil, &r.Options, &resp)
 742  	return
 743  }
 744  
 745  // Retrieve Defines the fixed components in a fixed configuration bare metal server.
 746  func (r Hardware) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
 747  	err = r.Session.DoRequest("SoftLayer_Hardware", "getFixedConfigurationPreset", nil, &r.Options, &resp)
 748  	return
 749  }
 750  
 751  // 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).
 752  func (r Hardware) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
 753  	params := []interface{}{
 754  		startDate,
 755  		endDate,
 756  	}
 757  	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
 758  	return
 759  }
 760  
 761  // Retrieve A piece of hardware's front-end or public network components.
 762  func (r Hardware) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
 763  	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendNetworkComponents", nil, &r.Options, &resp)
 764  	return
 765  }
 766  
 767  // 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).
 768  func (r Hardware) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
 769  	params := []interface{}{
 770  		startDate,
 771  		endDate,
 772  	}
 773  	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
 774  	return
 775  }
 776  
 777  // Retrieve A hardware's frontend or public router.
 778  func (r Hardware) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
 779  	err = r.Session.DoRequest("SoftLayer_Hardware", "getFrontendRouters", nil, &r.Options, &resp)
 780  	return
 781  }
 782  
 783  // Retrieve Information regarding the future billing item for a server.
 784  func (r Hardware) GetFutureBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
 785  	err = r.Session.DoRequest("SoftLayer_Hardware", "getFutureBillingItem", nil, &r.Options, &resp)
 786  	return
 787  }
 788  
 789  // Retrieve A hardware's universally unique identifier.
 790  func (r Hardware) GetGlobalIdentifier() (resp string, err error) {
 791  	err = r.Session.DoRequest("SoftLayer_Hardware", "getGlobalIdentifier", nil, &r.Options, &resp)
 792  	return
 793  }
 794  
 795  // Retrieve The hard drives contained within a piece of hardware.
 796  func (r Hardware) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
 797  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardDrives", nil, &r.Options, &resp)
 798  	return
 799  }
 800  
 801  // Retrieve The chassis that a piece of hardware is housed in.
 802  func (r Hardware) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
 803  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareChassis", nil, &r.Options, &resp)
 804  	return
 805  }
 806  
 807  // Retrieve A hardware's function.
 808  func (r Hardware) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
 809  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareFunction", nil, &r.Options, &resp)
 810  	return
 811  }
 812  
 813  // Retrieve A hardware's function.
 814  func (r Hardware) GetHardwareFunctionDescription() (resp string, err error) {
 815  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareFunctionDescription", nil, &r.Options, &resp)
 816  	return
 817  }
 818  
 819  // Retrieve A hardware's power/transaction state.
 820  func (r Hardware) GetHardwareState() (resp datatypes.Hardware_State, err error) {
 821  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareState", nil, &r.Options, &resp)
 822  	return
 823  }
 824  
 825  // Retrieve A hardware's status.
 826  func (r Hardware) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
 827  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHardwareStatus", nil, &r.Options, &resp)
 828  	return
 829  }
 830  
 831  // Retrieve Determine in hardware object has TPM enabled.
 832  func (r Hardware) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
 833  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
 834  	return
 835  }
 836  
 837  // Retrieve Information regarding a host IPS software component object.
 838  func (r Hardware) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
 839  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
 840  	return
 841  }
 842  
 843  // The ”'getHourlyBandwidth”' method retrieves all bandwidth updates hourly for the specified hardware. Because the potential number of data points can become excessive, the method limits the user to obtain data in 24-hour intervals. The required ”dateTime” parameter is used as the starting point for the query and will be calculated for the 24-hour period starting with the specified date and time. For example, entering a parameter of
 844  //
 845  // '02/01/2008 0:00'
 846  //
 847  // results in a return of all bandwidth data for the entire day of February 1, 2008, as 0:00 specifies a midnight start date. Please note that the time entered should be completed using a 24-hour clock (military time, astronomical time).
 848  //
 849  // For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
 850  func (r Hardware) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
 851  	params := []interface{}{
 852  		mode,
 853  		day,
 854  	}
 855  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHourlyBandwidth", params, &r.Options, &resp)
 856  	return
 857  }
 858  
 859  // Retrieve A server's hourly billing status.
 860  func (r Hardware) GetHourlyBillingFlag() (resp bool, err error) {
 861  	err = r.Session.DoRequest("SoftLayer_Hardware", "getHourlyBillingFlag", nil, &r.Options, &resp)
 862  	return
 863  }
 864  
 865  // Retrieve The sum of all the inbound network traffic data for the last 30 days.
 866  func (r Hardware) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
 867  	err = r.Session.DoRequest("SoftLayer_Hardware", "getInboundBandwidthUsage", nil, &r.Options, &resp)
 868  	return
 869  }
 870  
 871  // Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
 872  func (r Hardware) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
 873  	err = r.Session.DoRequest("SoftLayer_Hardware", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
 874  	return
 875  }
 876  
 877  // Retrieve Whether or not this hardware object is eligible to change to term billing.
 878  func (r Hardware) GetIsBillingTermChangeAvailableFlag() (resp bool, err error) {
 879  	err = r.Session.DoRequest("SoftLayer_Hardware", "getIsBillingTermChangeAvailableFlag", nil, &r.Options, &resp)
 880  	return
 881  }
 882  
 883  // Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
 884  func (r Hardware) GetIsCloudReadyNodeCertified() (resp bool, err error) {
 885  	err = r.Session.DoRequest("SoftLayer_Hardware", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
 886  	return
 887  }
 888  
 889  // Retrieve Information regarding the last transaction a server performed.
 890  func (r Hardware) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
 891  	err = r.Session.DoRequest("SoftLayer_Hardware", "getLastTransaction", nil, &r.Options, &resp)
 892  	return
 893  }
 894  
 895  // Retrieve A piece of hardware's latest network monitoring incident.
 896  func (r Hardware) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
 897  	err = r.Session.DoRequest("SoftLayer_Hardware", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
 898  	return
 899  }
 900  
 901  // Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
 902  func (r Hardware) GetLocation() (resp datatypes.Location, err error) {
 903  	err = r.Session.DoRequest("SoftLayer_Hardware", "getLocation", nil, &r.Options, &resp)
 904  	return
 905  }
 906  
 907  // Retrieve
 908  func (r Hardware) GetLocationPathString() (resp string, err error) {
 909  	err = r.Session.DoRequest("SoftLayer_Hardware", "getLocationPathString", nil, &r.Options, &resp)
 910  	return
 911  }
 912  
 913  // Retrieve Information regarding a lockbox account associated with a server.
 914  func (r Hardware) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
 915  	err = r.Session.DoRequest("SoftLayer_Hardware", "getLockboxNetworkStorage", nil, &r.Options, &resp)
 916  	return
 917  }
 918  
 919  // Retrieve A flag indicating that the hardware is a managed resource.
 920  func (r Hardware) GetManagedResourceFlag() (resp bool, err error) {
 921  	err = r.Session.DoRequest("SoftLayer_Hardware", "getManagedResourceFlag", nil, &r.Options, &resp)
 922  	return
 923  }
 924  
 925  // Retrieve Information regarding a piece of hardware's memory.
 926  func (r Hardware) GetMemory() (resp []datatypes.Hardware_Component, err error) {
 927  	err = r.Session.DoRequest("SoftLayer_Hardware", "getMemory", nil, &r.Options, &resp)
 928  	return
 929  }
 930  
 931  // Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
 932  func (r Hardware) GetMemoryCapacity() (resp uint, err error) {
 933  	err = r.Session.DoRequest("SoftLayer_Hardware", "getMemoryCapacity", nil, &r.Options, &resp)
 934  	return
 935  }
 936  
 937  // Retrieve A piece of hardware's metric tracking object.
 938  func (r Hardware) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
 939  	err = r.Session.DoRequest("SoftLayer_Hardware", "getMetricTrackingObject", nil, &r.Options, &resp)
 940  	return
 941  }
 942  
 943  // Retrieve
 944  func (r Hardware) GetModules() (resp []datatypes.Hardware_Component, err error) {
 945  	err = r.Session.DoRequest("SoftLayer_Hardware", "getModules", nil, &r.Options, &resp)
 946  	return
 947  }
 948  
 949  // Retrieve
 950  func (r Hardware) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
 951  	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringRobot", nil, &r.Options, &resp)
 952  	return
 953  }
 954  
 955  // Retrieve Information regarding a piece of hardware's network monitoring services.
 956  func (r Hardware) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
 957  	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringServiceComponent", nil, &r.Options, &resp)
 958  	return
 959  }
 960  
 961  // Retrieve
 962  func (r Hardware) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
 963  	err = r.Session.DoRequest("SoftLayer_Hardware", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
 964  	return
 965  }
 966  
 967  // Retrieve Information regarding a piece of hardware's motherboard.
 968  func (r Hardware) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
 969  	err = r.Session.DoRequest("SoftLayer_Hardware", "getMotherboard", nil, &r.Options, &resp)
 970  	return
 971  }
 972  
 973  // Retrieve Information regarding a piece of hardware's network cards.
 974  func (r Hardware) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
 975  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkCards", nil, &r.Options, &resp)
 976  	return
 977  }
 978  
 979  // Retrieve Returns a hardware's network components.
 980  func (r Hardware) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
 981  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkComponents", nil, &r.Options, &resp)
 982  	return
 983  }
 984  
 985  // Retrieve The gateway member if this device is part of a network gateway.
 986  func (r Hardware) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
 987  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkGatewayMember", nil, &r.Options, &resp)
 988  	return
 989  }
 990  
 991  // Retrieve Whether or not this device is part of a network gateway.
 992  func (r Hardware) GetNetworkGatewayMemberFlag() (resp bool, err error) {
 993  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
 994  	return
 995  }
 996  
 997  // Retrieve A piece of hardware's network management IP address.
 998  func (r Hardware) GetNetworkManagementIpAddress() (resp string, err error) {
 999  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
1000  	return
1001  }
1002  
1003  // Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
1004  func (r Hardware) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
1005  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
1006  	return
1007  }
1008  
1009  // Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
1010  func (r Hardware) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
1011  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
1012  	return
1013  }
1014  
1015  // Retrieve The status of all of a piece of hardware's network monitoring incidents.
1016  func (r Hardware) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
1017  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
1018  	return
1019  }
1020  
1021  // Retrieve Information regarding a piece of hardware's network monitors.
1022  func (r Hardware) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
1023  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkMonitors", nil, &r.Options, &resp)
1024  	return
1025  }
1026  
1027  // Retrieve The value of a hardware's network status attribute. [DEPRECATED]
1028  func (r Hardware) GetNetworkStatus() (resp string, err error) {
1029  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStatus", nil, &r.Options, &resp)
1030  	return
1031  }
1032  
1033  // Retrieve The hardware's related network status attribute. [DEPRECATED]
1034  func (r Hardware) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
1035  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStatusAttribute", nil, &r.Options, &resp)
1036  	return
1037  }
1038  
1039  // Retrieve Information regarding a piece of hardware's associated network storage service account.
1040  func (r Hardware) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
1041  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkStorage", nil, &r.Options, &resp)
1042  	return
1043  }
1044  
1045  // Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
1046  func (r Hardware) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
1047  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNetworkVlans", nil, &r.Options, &resp)
1048  	return
1049  }
1050  
1051  // Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
1052  func (r Hardware) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
1053  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
1054  	return
1055  }
1056  
1057  // Retrieve
1058  func (r Hardware) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
1059  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNotesHistory", nil, &r.Options, &resp)
1060  	return
1061  }
1062  
1063  // Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
1064  func (r Hardware) GetNvRamCapacity() (resp uint, err error) {
1065  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNvRamCapacity", nil, &r.Options, &resp)
1066  	return
1067  }
1068  
1069  // Retrieve
1070  func (r Hardware) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
1071  	err = r.Session.DoRequest("SoftLayer_Hardware", "getNvRamComponentModels", nil, &r.Options, &resp)
1072  	return
1073  }
1074  
1075  // 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.
1076  func (r Hardware) GetObject() (resp datatypes.Hardware, err error) {
1077  	err = r.Session.DoRequest("SoftLayer_Hardware", "getObject", nil, &r.Options, &resp)
1078  	return
1079  }
1080  
1081  // Retrieve Information regarding a piece of hardware's operating system.
1082  func (r Hardware) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
1083  	err = r.Session.DoRequest("SoftLayer_Hardware", "getOperatingSystem", nil, &r.Options, &resp)
1084  	return
1085  }
1086  
1087  // Retrieve A hardware's operating system software description.
1088  func (r Hardware) GetOperatingSystemReferenceCode() (resp string, err error) {
1089  	err = r.Session.DoRequest("SoftLayer_Hardware", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
1090  	return
1091  }
1092  
1093  // Retrieve The sum of all the outbound network traffic data for the last 30 days.
1094  func (r Hardware) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
1095  	err = r.Session.DoRequest("SoftLayer_Hardware", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
1096  	return
1097  }
1098  
1099  // Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
1100  func (r Hardware) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
1101  	err = r.Session.DoRequest("SoftLayer_Hardware", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
1102  	return
1103  }
1104  
1105  // Retrieve Blade Bay
1106  func (r Hardware) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
1107  	err = r.Session.DoRequest("SoftLayer_Hardware", "getParentBay", nil, &r.Options, &resp)
1108  	return
1109  }
1110  
1111  // Retrieve Parent Hardware.
1112  func (r Hardware) GetParentHardware() (resp datatypes.Hardware, err error) {
1113  	err = r.Session.DoRequest("SoftLayer_Hardware", "getParentHardware", nil, &r.Options, &resp)
1114  	return
1115  }
1116  
1117  // Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
1118  func (r Hardware) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
1119  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPointOfPresenceLocation", nil, &r.Options, &resp)
1120  	return
1121  }
1122  
1123  // Retrieve The power components for a hardware object.
1124  func (r Hardware) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
1125  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPowerComponents", nil, &r.Options, &resp)
1126  	return
1127  }
1128  
1129  // Retrieve Information regarding a piece of hardware's power supply.
1130  func (r Hardware) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
1131  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPowerSupply", nil, &r.Options, &resp)
1132  	return
1133  }
1134  
1135  // Retrieve The hardware's primary private IP address.
1136  func (r Hardware) GetPrimaryBackendIpAddress() (resp string, err error) {
1137  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
1138  	return
1139  }
1140  
1141  // Retrieve Information regarding the hardware's primary back-end network component.
1142  func (r Hardware) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
1143  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
1144  	return
1145  }
1146  
1147  // Retrieve The hardware's primary public IP address.
1148  func (r Hardware) GetPrimaryIpAddress() (resp string, err error) {
1149  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryIpAddress", nil, &r.Options, &resp)
1150  	return
1151  }
1152  
1153  // Retrieve Information regarding the hardware's primary public network component.
1154  func (r Hardware) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
1155  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
1156  	return
1157  }
1158  
1159  // Retrieve this server's private bandwidth data. If no timeframe is specified then getPrivateBandwidthData retrieves the last 24 hours of public bandwidth usage.
1160  func (r Hardware) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
1161  	params := []interface{}{
1162  		startTime,
1163  		endTime,
1164  	}
1165  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrivateBandwidthData", params, &r.Options, &resp)
1166  	return
1167  }
1168  
1169  // Retrieve Whether the hardware only has access to the private network.
1170  func (r Hardware) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
1171  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
1172  	return
1173  }
1174  
1175  // Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
1176  func (r Hardware) GetProcessorCoreAmount() (resp uint, err error) {
1177  	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessorCoreAmount", nil, &r.Options, &resp)
1178  	return
1179  }
1180  
1181  // Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
1182  func (r Hardware) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
1183  	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
1184  	return
1185  }
1186  
1187  // Retrieve Information regarding a piece of hardware's processors.
1188  func (r Hardware) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
1189  	err = r.Session.DoRequest("SoftLayer_Hardware", "getProcessors", nil, &r.Options, &resp)
1190  	return
1191  }
1192  
1193  // Retrieve this server's public bandwidth data. If no timeframe is specified then getPublicBandwidthData retrieves the last 24 hours of public bandwidth usage.
1194  func (r Hardware) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
1195  	params := []interface{}{
1196  		startTime,
1197  		endTime,
1198  	}
1199  	err = r.Session.DoRequest("SoftLayer_Hardware", "getPublicBandwidthData", params, &r.Options, &resp)
1200  	return
1201  }
1202  
1203  // Retrieve
1204  func (r Hardware) GetRack() (resp datatypes.Location, err error) {
1205  	err = r.Session.DoRequest("SoftLayer_Hardware", "getRack", nil, &r.Options, &resp)
1206  	return
1207  }
1208  
1209  // Retrieve The RAID controllers contained within a piece of hardware.
1210  func (r Hardware) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
1211  	err = r.Session.DoRequest("SoftLayer_Hardware", "getRaidControllers", nil, &r.Options, &resp)
1212  	return
1213  }
1214  
1215  // Retrieve Recent events that impact this hardware.
1216  func (r Hardware) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
1217  	err = r.Session.DoRequest("SoftLayer_Hardware", "getRecentEvents", nil, &r.Options, &resp)
1218  	return
1219  }
1220  
1221  // Retrieve User credentials to issue commands and/or interact with the server's remote management card.
1222  func (r Hardware) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
1223  	err = r.Session.DoRequest("SoftLayer_Hardware", "getRemoteManagementAccounts", nil, &r.Options, &resp)
1224  	return
1225  }
1226  
1227  // Retrieve A hardware's associated remote management component. This is normally IPMI.
1228  func (r Hardware) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
1229  	err = r.Session.DoRequest("SoftLayer_Hardware", "getRemoteManagementComponent", nil, &r.Options, &resp)
1230  	return
1231  }
1232  
1233  // Retrieve
1234  func (r Hardware) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
1235  	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceConfigurations", nil, &r.Options, &resp)
1236  	return
1237  }
1238  
1239  // Retrieve
1240  func (r Hardware) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
1241  	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
1242  	return
1243  }
1244  
1245  // Retrieve
1246  func (r Hardware) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
1247  	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroupRoles", nil, &r.Options, &resp)
1248  	return
1249  }
1250  
1251  // Retrieve The resource groups in which this hardware is a member.
1252  func (r Hardware) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
1253  	err = r.Session.DoRequest("SoftLayer_Hardware", "getResourceGroups", nil, &r.Options, &resp)
1254  	return
1255  }
1256  
1257  // Retrieve A hardware's routers.
1258  func (r Hardware) GetRouters() (resp []datatypes.Hardware, err error) {
1259  	err = r.Session.DoRequest("SoftLayer_Hardware", "getRouters", nil, &r.Options, &resp)
1260  	return
1261  }
1262  
1263  // Retrieve Information regarding a piece of hardware's vulnerability scan requests.
1264  func (r Hardware) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
1265  	err = r.Session.DoRequest("SoftLayer_Hardware", "getSecurityScanRequests", nil, &r.Options, &resp)
1266  	return
1267  }
1268  
1269  // 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.
1270  func (r Hardware) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
1271  	err = r.Session.DoRequest("SoftLayer_Hardware", "getSensorData", nil, &r.Options, &resp)
1272  	return
1273  }
1274  
1275  // 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.
1276  func (r Hardware) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
1277  	err = r.Session.DoRequest("SoftLayer_Hardware", "getSensorDataWithGraphs", nil, &r.Options, &resp)
1278  	return
1279  }
1280  
1281  // 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.
1282  func (r Hardware) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
1283  	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
1284  	return
1285  }
1286  
1287  // 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.
1288  func (r Hardware) GetServerPowerState() (resp string, err error) {
1289  	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerPowerState", nil, &r.Options, &resp)
1290  	return
1291  }
1292  
1293  // Retrieve Information regarding the server room in which the hardware is located.
1294  func (r Hardware) GetServerRoom() (resp datatypes.Location, err error) {
1295  	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerRoom", nil, &r.Options, &resp)
1296  	return
1297  }
1298  
1299  // 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.
1300  func (r Hardware) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
1301  	err = r.Session.DoRequest("SoftLayer_Hardware", "getServerTemperatureGraphs", nil, &r.Options, &resp)
1302  	return
1303  }
1304  
1305  // Retrieve Information regarding the piece of hardware's service provider.
1306  func (r Hardware) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
1307  	err = r.Session.DoRequest("SoftLayer_Hardware", "getServiceProvider", nil, &r.Options, &resp)
1308  	return
1309  }
1310  
1311  // Retrieve Information regarding a piece of hardware's installed software.
1312  func (r Hardware) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
1313  	err = r.Session.DoRequest("SoftLayer_Hardware", "getSoftwareComponents", nil, &r.Options, &resp)
1314  	return
1315  }
1316  
1317  // Retrieve Information regarding the billing item for a spare pool server.
1318  func (r Hardware) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
1319  	err = r.Session.DoRequest("SoftLayer_Hardware", "getSparePoolBillingItem", nil, &r.Options, &resp)
1320  	return
1321  }
1322  
1323  // Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
1324  func (r Hardware) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
1325  	err = r.Session.DoRequest("SoftLayer_Hardware", "getSshKeys", nil, &r.Options, &resp)
1326  	return
1327  }
1328  
1329  // Retrieve
1330  func (r Hardware) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
1331  	err = r.Session.DoRequest("SoftLayer_Hardware", "getStorageGroups", nil, &r.Options, &resp)
1332  	return
1333  }
1334  
1335  // Retrieve A piece of hardware's private storage network components. [Deprecated]
1336  func (r Hardware) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
1337  	err = r.Session.DoRequest("SoftLayer_Hardware", "getStorageNetworkComponents", nil, &r.Options, &resp)
1338  	return
1339  }
1340  
1341  // Retrieve
1342  func (r Hardware) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
1343  	err = r.Session.DoRequest("SoftLayer_Hardware", "getTagReferences", nil, &r.Options, &resp)
1344  	return
1345  }
1346  
1347  // Retrieve
1348  func (r Hardware) GetTopLevelLocation() (resp datatypes.Location, err error) {
1349  	err = r.Session.DoRequest("SoftLayer_Hardware", "getTopLevelLocation", nil, &r.Options, &resp)
1350  	return
1351  }
1352  
1353  // This method will query transaction history for a piece of hardware.
1354  func (r Hardware) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
1355  	err = r.Session.DoRequest("SoftLayer_Hardware", "getTransactionHistory", nil, &r.Options, &resp)
1356  	return
1357  }
1358  
1359  // 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.
1360  func (r Hardware) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
1361  	err = r.Session.DoRequest("SoftLayer_Hardware", "getUpgradeItemPrices", nil, &r.Options, &resp)
1362  	return
1363  }
1364  
1365  // Retrieve An account's associated upgrade request object, if any.
1366  func (r Hardware) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
1367  	err = r.Session.DoRequest("SoftLayer_Hardware", "getUpgradeRequest", nil, &r.Options, &resp)
1368  	return
1369  }
1370  
1371  // Retrieve A piece of hardware's active upgradeable physical components.
1372  func (r Hardware) GetUpgradeableActiveComponents() (resp []datatypes.Hardware_Component, err error) {
1373  	err = r.Session.DoRequest("SoftLayer_Hardware", "getUpgradeableActiveComponents", nil, &r.Options, &resp)
1374  	return
1375  }
1376  
1377  // Retrieve The network device connected to a piece of hardware.
1378  func (r Hardware) GetUplinkHardware() (resp datatypes.Hardware, err error) {
1379  	err = r.Session.DoRequest("SoftLayer_Hardware", "getUplinkHardware", nil, &r.Options, &resp)
1380  	return
1381  }
1382  
1383  // Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
1384  func (r Hardware) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
1385  	err = r.Session.DoRequest("SoftLayer_Hardware", "getUplinkNetworkComponents", nil, &r.Options, &resp)
1386  	return
1387  }
1388  
1389  // Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
1390  func (r Hardware) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
1391  	err = r.Session.DoRequest("SoftLayer_Hardware", "getUserData", nil, &r.Options, &resp)
1392  	return
1393  }
1394  
1395  // Retrieve Information regarding the virtual chassis for a piece of hardware.
1396  func (r Hardware) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
1397  	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualChassis", nil, &r.Options, &resp)
1398  	return
1399  }
1400  
1401  // Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
1402  func (r Hardware) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
1403  	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualChassisSiblings", nil, &r.Options, &resp)
1404  	return
1405  }
1406  
1407  // Retrieve A piece of hardware's virtual host record.
1408  func (r Hardware) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
1409  	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualHost", nil, &r.Options, &resp)
1410  	return
1411  }
1412  
1413  // Retrieve Information regarding a piece of hardware's virtual software licenses.
1414  func (r Hardware) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
1415  	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualLicenses", nil, &r.Options, &resp)
1416  	return
1417  }
1418  
1419  // Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
1420  func (r Hardware) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
1421  	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRack", nil, &r.Options, &resp)
1422  	return
1423  }
1424  
1425  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
1426  func (r Hardware) GetVirtualRackId() (resp int, err error) {
1427  	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRackId", nil, &r.Options, &resp)
1428  	return
1429  }
1430  
1431  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
1432  func (r Hardware) GetVirtualRackName() (resp string, err error) {
1433  	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualRackName", nil, &r.Options, &resp)
1434  	return
1435  }
1436  
1437  // Retrieve A piece of hardware's virtualization platform software.
1438  func (r Hardware) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
1439  	err = r.Session.DoRequest("SoftLayer_Hardware", "getVirtualizationPlatform", nil, &r.Options, &resp)
1440  	return
1441  }
1442  
1443  // The ”'importVirtualHost”' method attempts to import the host record for the virtualization platform running on a server.
1444  func (r Hardware) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
1445  	err = r.Session.DoRequest("SoftLayer_Hardware", "importVirtualHost", nil, &r.Options, &resp)
1446  	return
1447  }
1448  
1449  // 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.
1450  func (r Hardware) IsPingable() (resp bool, err error) {
1451  	err = r.Session.DoRequest("SoftLayer_Hardware", "isPingable", nil, &r.Options, &resp)
1452  	return
1453  }
1454  
1455  // Issues a ping command to the server and returns the ping response.
1456  func (r Hardware) Ping() (resp string, err error) {
1457  	err = r.Session.DoRequest("SoftLayer_Hardware", "ping", nil, &r.Options, &resp)
1458  	return
1459  }
1460  
1461  // 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:
1462  //
1463  // rebootSoft rebootHard powerOn powerOff powerCycle
1464  func (r Hardware) PowerCycle() (resp bool, err error) {
1465  	err = r.Session.DoRequest("SoftLayer_Hardware", "powerCycle", nil, &r.Options, &resp)
1466  	return
1467  }
1468  
1469  // This method will power off the server via the server's remote management card.
1470  func (r Hardware) PowerOff() (resp bool, err error) {
1471  	err = r.Session.DoRequest("SoftLayer_Hardware", "powerOff", nil, &r.Options, &resp)
1472  	return
1473  }
1474  
1475  // 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:
1476  //
1477  // rebootSoft rebootHard powerOn powerOff powerCycle
1478  func (r Hardware) PowerOn() (resp bool, err error) {
1479  	err = r.Session.DoRequest("SoftLayer_Hardware", "powerOn", nil, &r.Options, &resp)
1480  	return
1481  }
1482  
1483  // 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:
1484  //
1485  // rebootSoft rebootHard powerOn powerOff powerCycle
1486  func (r Hardware) RebootDefault() (resp bool, err error) {
1487  	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootDefault", nil, &r.Options, &resp)
1488  	return
1489  }
1490  
1491  // 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.
1492  //
1493  // 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:
1494  //
1495  // rebootSoft rebootHard powerOn powerOff powerCycle
1496  func (r Hardware) RebootHard() (resp bool, err error) {
1497  	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootHard", nil, &r.Options, &resp)
1498  	return
1499  }
1500  
1501  // 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:
1502  //
1503  // rebootSoft rebootHard powerOn powerOff powerCycle
1504  func (r Hardware) RebootSoft() (resp bool, err error) {
1505  	err = r.Session.DoRequest("SoftLayer_Hardware", "rebootSoft", nil, &r.Options, &resp)
1506  	return
1507  }
1508  
1509  // no documentation yet
1510  func (r Hardware) RefreshDeviceStatus() (resp datatypes.Hardware_State, err error) {
1511  	err = r.Session.DoRequest("SoftLayer_Hardware", "refreshDeviceStatus", nil, &r.Options, &resp)
1512  	return
1513  }
1514  
1515  // This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
1516  func (r Hardware) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
1517  	params := []interface{}{
1518  		networkStorageTemplateObject,
1519  	}
1520  	err = r.Session.DoRequest("SoftLayer_Hardware", "removeAccessToNetworkStorage", params, &r.Options, &resp)
1521  	return
1522  }
1523  
1524  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
1525  func (r Hardware) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
1526  	params := []interface{}{
1527  		networkStorageTemplateObjects,
1528  	}
1529  	err = r.Session.DoRequest("SoftLayer_Hardware", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
1530  	return
1531  }
1532  
1533  // no documentation yet
1534  func (r Hardware) RemoveTags(tags *string) (resp bool, err error) {
1535  	params := []interface{}{
1536  		tags,
1537  	}
1538  	err = r.Session.DoRequest("SoftLayer_Hardware", "removeTags", params, &r.Options, &resp)
1539  	return
1540  }
1541  
1542  // no documentation yet
1543  func (r Hardware) SetTags(tags *string) (resp bool, err error) {
1544  	params := []interface{}{
1545  		tags,
1546  	}
1547  	err = r.Session.DoRequest("SoftLayer_Hardware", "setTags", params, &r.Options, &resp)
1548  	return
1549  }
1550  
1551  // This method will update the root IPMI password on this SoftLayer_Hardware.
1552  func (r Hardware) UpdateIpmiPassword(password *string) (resp bool, err error) {
1553  	params := []interface{}{
1554  		password,
1555  	}
1556  	err = r.Session.DoRequest("SoftLayer_Hardware", "updateIpmiPassword", params, &r.Options, &resp)
1557  	return
1558  }
1559  
1560  // The SoftLayer_Hardware_Benchmark_Certification data type contains general information relating to a single SoftLayer hardware benchmark certification document.
1561  type Hardware_Benchmark_Certification struct {
1562  	Session session.SLSession
1563  	Options sl.Options
1564  }
1565  
1566  // GetHardwareBenchmarkCertificationService returns an instance of the Hardware_Benchmark_Certification SoftLayer service
1567  func GetHardwareBenchmarkCertificationService(sess session.SLSession) Hardware_Benchmark_Certification {
1568  	return Hardware_Benchmark_Certification{Session: sess}
1569  }
1570  
1571  func (r Hardware_Benchmark_Certification) Id(id int) Hardware_Benchmark_Certification {
1572  	r.Options.Id = &id
1573  	return r
1574  }
1575  
1576  func (r Hardware_Benchmark_Certification) Mask(mask string) Hardware_Benchmark_Certification {
1577  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1578  		mask = fmt.Sprintf("mask[%s]", mask)
1579  	}
1580  
1581  	r.Options.Mask = mask
1582  	return r
1583  }
1584  
1585  func (r Hardware_Benchmark_Certification) Filter(filter string) Hardware_Benchmark_Certification {
1586  	r.Options.Filter = filter
1587  	return r
1588  }
1589  
1590  func (r Hardware_Benchmark_Certification) Limit(limit int) Hardware_Benchmark_Certification {
1591  	r.Options.Limit = &limit
1592  	return r
1593  }
1594  
1595  func (r Hardware_Benchmark_Certification) Offset(offset int) Hardware_Benchmark_Certification {
1596  	r.Options.Offset = &offset
1597  	return r
1598  }
1599  
1600  // Retrieve Information regarding a benchmark certification result's associated SoftLayer customer account.
1601  func (r Hardware_Benchmark_Certification) GetAccount() (resp datatypes.Account, err error) {
1602  	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getAccount", nil, &r.Options, &resp)
1603  	return
1604  }
1605  
1606  // Retrieve Information regarding the piece of hardware on which a benchmark certification test was performed.
1607  func (r Hardware_Benchmark_Certification) GetHardware() (resp datatypes.Hardware, err error) {
1608  	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getHardware", nil, &r.Options, &resp)
1609  	return
1610  }
1611  
1612  // 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.
1613  func (r Hardware_Benchmark_Certification) GetObject() (resp datatypes.Hardware_Benchmark_Certification, err error) {
1614  	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getObject", nil, &r.Options, &resp)
1615  	return
1616  }
1617  
1618  // 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.
1619  func (r Hardware_Benchmark_Certification) GetResultFile() (resp []byte, err error) {
1620  	err = r.Session.DoRequest("SoftLayer_Hardware_Benchmark_Certification", "getResultFile", nil, &r.Options, &resp)
1621  	return
1622  }
1623  
1624  // no documentation yet
1625  type Hardware_Blade struct {
1626  	Session session.SLSession
1627  	Options sl.Options
1628  }
1629  
1630  // GetHardwareBladeService returns an instance of the Hardware_Blade SoftLayer service
1631  func GetHardwareBladeService(sess session.SLSession) Hardware_Blade {
1632  	return Hardware_Blade{Session: sess}
1633  }
1634  
1635  func (r Hardware_Blade) Id(id int) Hardware_Blade {
1636  	r.Options.Id = &id
1637  	return r
1638  }
1639  
1640  func (r Hardware_Blade) Mask(mask string) Hardware_Blade {
1641  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1642  		mask = fmt.Sprintf("mask[%s]", mask)
1643  	}
1644  
1645  	r.Options.Mask = mask
1646  	return r
1647  }
1648  
1649  func (r Hardware_Blade) Filter(filter string) Hardware_Blade {
1650  	r.Options.Filter = filter
1651  	return r
1652  }
1653  
1654  func (r Hardware_Blade) Limit(limit int) Hardware_Blade {
1655  	r.Options.Limit = &limit
1656  	return r
1657  }
1658  
1659  func (r Hardware_Blade) Offset(offset int) Hardware_Blade {
1660  	r.Options.Offset = &offset
1661  	return r
1662  }
1663  
1664  // Retrieve
1665  func (r Hardware_Blade) GetHardwareChild() (resp datatypes.Hardware, err error) {
1666  	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getHardwareChild", nil, &r.Options, &resp)
1667  	return
1668  }
1669  
1670  // Retrieve
1671  func (r Hardware_Blade) GetHardwareParent() (resp datatypes.Hardware, err error) {
1672  	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getHardwareParent", nil, &r.Options, &resp)
1673  	return
1674  }
1675  
1676  // no documentation yet
1677  func (r Hardware_Blade) GetObject() (resp datatypes.Hardware_Blade, err error) {
1678  	err = r.Session.DoRequest("SoftLayer_Hardware_Blade", "getObject", nil, &r.Options, &resp)
1679  	return
1680  }
1681  
1682  // no documentation yet
1683  type Hardware_Component_Locator struct {
1684  	Session session.SLSession
1685  	Options sl.Options
1686  }
1687  
1688  // GetHardwareComponentLocatorService returns an instance of the Hardware_Component_Locator SoftLayer service
1689  func GetHardwareComponentLocatorService(sess session.SLSession) Hardware_Component_Locator {
1690  	return Hardware_Component_Locator{Session: sess}
1691  }
1692  
1693  func (r Hardware_Component_Locator) Id(id int) Hardware_Component_Locator {
1694  	r.Options.Id = &id
1695  	return r
1696  }
1697  
1698  func (r Hardware_Component_Locator) Mask(mask string) Hardware_Component_Locator {
1699  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1700  		mask = fmt.Sprintf("mask[%s]", mask)
1701  	}
1702  
1703  	r.Options.Mask = mask
1704  	return r
1705  }
1706  
1707  func (r Hardware_Component_Locator) Filter(filter string) Hardware_Component_Locator {
1708  	r.Options.Filter = filter
1709  	return r
1710  }
1711  
1712  func (r Hardware_Component_Locator) Limit(limit int) Hardware_Component_Locator {
1713  	r.Options.Limit = &limit
1714  	return r
1715  }
1716  
1717  func (r Hardware_Component_Locator) Offset(offset int) Hardware_Component_Locator {
1718  	r.Options.Offset = &offset
1719  	return r
1720  }
1721  
1722  // no documentation yet
1723  func (r Hardware_Component_Locator) GetGenericComponentModelAvailability(genericComponentModelIds []int) (resp []datatypes.Hardware_Component_Locator_Result, err error) {
1724  	params := []interface{}{
1725  		genericComponentModelIds,
1726  	}
1727  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Locator", "getGenericComponentModelAvailability", params, &r.Options, &resp)
1728  	return
1729  }
1730  
1731  // no documentation yet
1732  func (r Hardware_Component_Locator) GetPackageItemsAvailability(packageId *int) (resp []datatypes.Hardware_Component_Locator_Result, err error) {
1733  	params := []interface{}{
1734  		packageId,
1735  	}
1736  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Locator", "getPackageItemsAvailability", params, &r.Options, &resp)
1737  	return
1738  }
1739  
1740  // no documentation yet
1741  func (r Hardware_Component_Locator) GetServerPackageAvailability() (resp []datatypes.Hardware_Component_Locator_Result, err error) {
1742  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Locator", "getServerPackageAvailability", nil, &r.Options, &resp)
1743  	return
1744  }
1745  
1746  // 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.
1747  type Hardware_Component_Model struct {
1748  	Session session.SLSession
1749  	Options sl.Options
1750  }
1751  
1752  // GetHardwareComponentModelService returns an instance of the Hardware_Component_Model SoftLayer service
1753  func GetHardwareComponentModelService(sess session.SLSession) Hardware_Component_Model {
1754  	return Hardware_Component_Model{Session: sess}
1755  }
1756  
1757  func (r Hardware_Component_Model) Id(id int) Hardware_Component_Model {
1758  	r.Options.Id = &id
1759  	return r
1760  }
1761  
1762  func (r Hardware_Component_Model) Mask(mask string) Hardware_Component_Model {
1763  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1764  		mask = fmt.Sprintf("mask[%s]", mask)
1765  	}
1766  
1767  	r.Options.Mask = mask
1768  	return r
1769  }
1770  
1771  func (r Hardware_Component_Model) Filter(filter string) Hardware_Component_Model {
1772  	r.Options.Filter = filter
1773  	return r
1774  }
1775  
1776  func (r Hardware_Component_Model) Limit(limit int) Hardware_Component_Model {
1777  	r.Options.Limit = &limit
1778  	return r
1779  }
1780  
1781  func (r Hardware_Component_Model) Offset(offset int) Hardware_Component_Model {
1782  	r.Options.Offset = &offset
1783  	return r
1784  }
1785  
1786  // Retrieve
1787  func (r Hardware_Component_Model) GetArchitectureType() (resp datatypes.Hardware_Component_Model_Architecture_Type, err error) {
1788  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getArchitectureType", nil, &r.Options, &resp)
1789  	return
1790  }
1791  
1792  // Retrieve
1793  func (r Hardware_Component_Model) GetAttributes() (resp []datatypes.Hardware_Component_Model_Attribute, err error) {
1794  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getAttributes", nil, &r.Options, &resp)
1795  	return
1796  }
1797  
1798  // Retrieve
1799  func (r Hardware_Component_Model) GetCompatibleArrayTypes() (resp []datatypes.Configuration_Storage_Group_Array_Type, err error) {
1800  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleArrayTypes", nil, &r.Options, &resp)
1801  	return
1802  }
1803  
1804  // Retrieve All the component models that are compatible with a hardware component model.
1805  func (r Hardware_Component_Model) GetCompatibleChildComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
1806  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleChildComponentModels", nil, &r.Options, &resp)
1807  	return
1808  }
1809  
1810  // Retrieve All the component models that a hardware component model is compatible with.
1811  func (r Hardware_Component_Model) GetCompatibleParentComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
1812  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getCompatibleParentComponentModels", nil, &r.Options, &resp)
1813  	return
1814  }
1815  
1816  // Retrieve
1817  func (r Hardware_Component_Model) GetFirmwareQuantity() (resp uint, err error) {
1818  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getFirmwareQuantity", nil, &r.Options, &resp)
1819  	return
1820  }
1821  
1822  // Retrieve
1823  func (r Hardware_Component_Model) GetFirmwares() (resp []datatypes.Hardware_Component_Firmware, err error) {
1824  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getFirmwares", nil, &r.Options, &resp)
1825  	return
1826  }
1827  
1828  // Retrieve A hardware component model's physical components in inventory.
1829  func (r Hardware_Component_Model) GetHardwareComponents() (resp []datatypes.Hardware_Component, err error) {
1830  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getHardwareComponents", nil, &r.Options, &resp)
1831  	return
1832  }
1833  
1834  // Retrieve The non-vendor specific generic component model for a hardware component model.
1835  func (r Hardware_Component_Model) GetHardwareGenericComponentModel() (resp datatypes.Hardware_Component_Model_Generic, err error) {
1836  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getHardwareGenericComponentModel", nil, &r.Options, &resp)
1837  	return
1838  }
1839  
1840  // Retrieve
1841  func (r Hardware_Component_Model) GetInfinibandCompatibleAttribute() (resp datatypes.Hardware_Component_Model_Attribute, err error) {
1842  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getInfinibandCompatibleAttribute", nil, &r.Options, &resp)
1843  	return
1844  }
1845  
1846  // Retrieve
1847  func (r Hardware_Component_Model) GetIsFlexSkuCompatible() (resp bool, err error) {
1848  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getIsFlexSkuCompatible", nil, &r.Options, &resp)
1849  	return
1850  }
1851  
1852  // Retrieve
1853  func (r Hardware_Component_Model) GetIsInfinibandCompatible() (resp bool, err error) {
1854  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getIsInfinibandCompatible", nil, &r.Options, &resp)
1855  	return
1856  }
1857  
1858  // getObject retrieves the SoftLayer_Hardware_Component_Model object.
1859  func (r Hardware_Component_Model) GetObject() (resp datatypes.Hardware_Component_Model, err error) {
1860  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getObject", nil, &r.Options, &resp)
1861  	return
1862  }
1863  
1864  // Retrieve
1865  func (r Hardware_Component_Model) GetQualifiedFirmwares() (resp []datatypes.Hardware_Component_Firmware, err error) {
1866  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getQualifiedFirmwares", nil, &r.Options, &resp)
1867  	return
1868  }
1869  
1870  // Retrieve A motherboard's average reboot time.
1871  func (r Hardware_Component_Model) GetRebootTime() (resp datatypes.Hardware_Component_Motherboard_Reboot_Time, err error) {
1872  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getRebootTime", nil, &r.Options, &resp)
1873  	return
1874  }
1875  
1876  // Retrieve A hardware component model's type.
1877  func (r Hardware_Component_Model) GetType() (resp string, err error) {
1878  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getType", nil, &r.Options, &resp)
1879  	return
1880  }
1881  
1882  // Retrieve The types of attributes that are allowed for a given hardware component model.
1883  func (r Hardware_Component_Model) GetValidAttributeTypes() (resp []datatypes.Hardware_Component_Model_Attribute_Type, err error) {
1884  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getValidAttributeTypes", nil, &r.Options, &resp)
1885  	return
1886  }
1887  
1888  // Retrieve
1889  func (r Hardware_Component_Model) GetVmwareQualifiedFirmwares() (resp []datatypes.Hardware_Component_Firmware, err error) {
1890  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Model", "getVmwareQualifiedFirmwares", nil, &r.Options, &resp)
1891  	return
1892  }
1893  
1894  // The SoftLayer_Hardware_Component_Partition_OperatingSystem data type contains general information relating to a single SoftLayer Operating System Partition Template.
1895  type Hardware_Component_Partition_OperatingSystem struct {
1896  	Session session.SLSession
1897  	Options sl.Options
1898  }
1899  
1900  // GetHardwareComponentPartitionOperatingSystemService returns an instance of the Hardware_Component_Partition_OperatingSystem SoftLayer service
1901  func GetHardwareComponentPartitionOperatingSystemService(sess session.SLSession) Hardware_Component_Partition_OperatingSystem {
1902  	return Hardware_Component_Partition_OperatingSystem{Session: sess}
1903  }
1904  
1905  func (r Hardware_Component_Partition_OperatingSystem) Id(id int) Hardware_Component_Partition_OperatingSystem {
1906  	r.Options.Id = &id
1907  	return r
1908  }
1909  
1910  func (r Hardware_Component_Partition_OperatingSystem) Mask(mask string) Hardware_Component_Partition_OperatingSystem {
1911  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1912  		mask = fmt.Sprintf("mask[%s]", mask)
1913  	}
1914  
1915  	r.Options.Mask = mask
1916  	return r
1917  }
1918  
1919  func (r Hardware_Component_Partition_OperatingSystem) Filter(filter string) Hardware_Component_Partition_OperatingSystem {
1920  	r.Options.Filter = filter
1921  	return r
1922  }
1923  
1924  func (r Hardware_Component_Partition_OperatingSystem) Limit(limit int) Hardware_Component_Partition_OperatingSystem {
1925  	r.Options.Limit = &limit
1926  	return r
1927  }
1928  
1929  func (r Hardware_Component_Partition_OperatingSystem) Offset(offset int) Hardware_Component_Partition_OperatingSystem {
1930  	r.Options.Offset = &offset
1931  	return r
1932  }
1933  
1934  // no documentation yet
1935  func (r Hardware_Component_Partition_OperatingSystem) GetAllObjects() (resp []datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1936  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getAllObjects", nil, &r.Options, &resp)
1937  	return
1938  }
1939  
1940  // 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'.
1941  func (r Hardware_Component_Partition_OperatingSystem) GetByDescription(description *string) (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1942  	params := []interface{}{
1943  		description,
1944  	}
1945  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getByDescription", params, &r.Options, &resp)
1946  	return
1947  }
1948  
1949  // 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
1950  func (r Hardware_Component_Partition_OperatingSystem) GetObject() (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
1951  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getObject", nil, &r.Options, &resp)
1952  	return
1953  }
1954  
1955  // Retrieve Information regarding an operating system's [[SoftLayer_Hardware_Component_Partition_Template|Partition Templates]].
1956  func (r Hardware_Component_Partition_OperatingSystem) GetPartitionTemplates() (resp []datatypes.Hardware_Component_Partition_Template, err error) {
1957  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_OperatingSystem", "getPartitionTemplates", nil, &r.Options, &resp)
1958  	return
1959  }
1960  
1961  // 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.
1962  type Hardware_Component_Partition_Template struct {
1963  	Session session.SLSession
1964  	Options sl.Options
1965  }
1966  
1967  // GetHardwareComponentPartitionTemplateService returns an instance of the Hardware_Component_Partition_Template SoftLayer service
1968  func GetHardwareComponentPartitionTemplateService(sess session.SLSession) Hardware_Component_Partition_Template {
1969  	return Hardware_Component_Partition_Template{Session: sess}
1970  }
1971  
1972  func (r Hardware_Component_Partition_Template) Id(id int) Hardware_Component_Partition_Template {
1973  	r.Options.Id = &id
1974  	return r
1975  }
1976  
1977  func (r Hardware_Component_Partition_Template) Mask(mask string) Hardware_Component_Partition_Template {
1978  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1979  		mask = fmt.Sprintf("mask[%s]", mask)
1980  	}
1981  
1982  	r.Options.Mask = mask
1983  	return r
1984  }
1985  
1986  func (r Hardware_Component_Partition_Template) Filter(filter string) Hardware_Component_Partition_Template {
1987  	r.Options.Filter = filter
1988  	return r
1989  }
1990  
1991  func (r Hardware_Component_Partition_Template) Limit(limit int) Hardware_Component_Partition_Template {
1992  	r.Options.Limit = &limit
1993  	return r
1994  }
1995  
1996  func (r Hardware_Component_Partition_Template) Offset(offset int) Hardware_Component_Partition_Template {
1997  	r.Options.Offset = &offset
1998  	return r
1999  }
2000  
2001  // Retrieve A partition template's associated [[SoftLayer_Account|Account]].
2002  func (r Hardware_Component_Partition_Template) GetAccount() (resp datatypes.Account, err error) {
2003  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getAccount", nil, &r.Options, &resp)
2004  	return
2005  }
2006  
2007  // Retrieve An individual partition for a partition template. This is identical to 'partitionTemplatePartition' except this will sort unix partitions.
2008  func (r Hardware_Component_Partition_Template) GetData() (resp []datatypes.Hardware_Component_Partition_Template_Partition, err error) {
2009  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getData", nil, &r.Options, &resp)
2010  	return
2011  }
2012  
2013  // Retrieve
2014  func (r Hardware_Component_Partition_Template) GetExpireDate() (resp string, err error) {
2015  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getExpireDate", nil, &r.Options, &resp)
2016  	return
2017  }
2018  
2019  // 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.
2020  func (r Hardware_Component_Partition_Template) GetObject() (resp datatypes.Hardware_Component_Partition_Template, err error) {
2021  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getObject", nil, &r.Options, &resp)
2022  	return
2023  }
2024  
2025  // Retrieve A partition template's associated [[SoftLayer_Hardware_Component_Partition_OperatingSystem|Operating System]].
2026  func (r Hardware_Component_Partition_Template) GetPartitionOperatingSystem() (resp datatypes.Hardware_Component_Partition_OperatingSystem, err error) {
2027  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getPartitionOperatingSystem", nil, &r.Options, &resp)
2028  	return
2029  }
2030  
2031  // Retrieve An individual partition for a partition template.
2032  func (r Hardware_Component_Partition_Template) GetPartitionTemplatePartition() (resp []datatypes.Hardware_Component_Partition_Template_Partition, err error) {
2033  	err = r.Session.DoRequest("SoftLayer_Hardware_Component_Partition_Template", "getPartitionTemplatePartition", nil, &r.Options, &resp)
2034  	return
2035  }
2036  
2037  // The SoftLayer_Hardware_Router data type contains general information relating to a single SoftLayer router.
2038  type Hardware_Router struct {
2039  	Session session.SLSession
2040  	Options sl.Options
2041  }
2042  
2043  // GetHardwareRouterService returns an instance of the Hardware_Router SoftLayer service
2044  func GetHardwareRouterService(sess session.SLSession) Hardware_Router {
2045  	return Hardware_Router{Session: sess}
2046  }
2047  
2048  func (r Hardware_Router) Id(id int) Hardware_Router {
2049  	r.Options.Id = &id
2050  	return r
2051  }
2052  
2053  func (r Hardware_Router) Mask(mask string) Hardware_Router {
2054  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2055  		mask = fmt.Sprintf("mask[%s]", mask)
2056  	}
2057  
2058  	r.Options.Mask = mask
2059  	return r
2060  }
2061  
2062  func (r Hardware_Router) Filter(filter string) Hardware_Router {
2063  	r.Options.Filter = filter
2064  	return r
2065  }
2066  
2067  func (r Hardware_Router) Limit(limit int) Hardware_Router {
2068  	r.Options.Limit = &limit
2069  	return r
2070  }
2071  
2072  func (r Hardware_Router) Offset(offset int) Hardware_Router {
2073  	r.Options.Offset = &offset
2074  	return r
2075  }
2076  
2077  // This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
2078  func (r Hardware_Router) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
2079  	params := []interface{}{
2080  		networkStorageTemplateObject,
2081  	}
2082  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "allowAccessToNetworkStorage", params, &r.Options, &resp)
2083  	return
2084  }
2085  
2086  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
2087  func (r Hardware_Router) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
2088  	params := []interface{}{
2089  		networkStorageTemplateObjects,
2090  	}
2091  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
2092  	return
2093  }
2094  
2095  // 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.
2096  func (r Hardware_Router) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
2097  	params := []interface{}{
2098  		captureTemplate,
2099  	}
2100  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "captureImage", params, &r.Options, &resp)
2101  	return
2102  }
2103  
2104  // <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
2105  // createObject() enables the creation of servers on an account. This
2106  // method is a simplified alternative to interacting with the ordering system directly.
2107  //
2108  // In order to create a server, a template object must be sent in with a few required
2109  // values.
2110  //
2111  // When this method returns an order will have been placed for a server of the specified configuration.
2112  //
2113  // To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
2114  // checking the <code>provisionDate</code> property.
2115  // When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
2116  // as your initialization parameter.
2117  //
2118  // <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
2119  //
2120  // <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
2121  // <ul class="create_object">
2122  //
2123  //	    <li><code>hostname</code>
2124  //	        <div>Hostname for the server.</div><ul>
2125  //	            <li><b>Required</b></li>
2126  //	            <li><b>Type</b> - string</li>
2127  //	        </ul>
2128  //	        <br />
2129  //	    </li>
2130  //	    <li><code>domain</code>
2131  //	        <div>Domain for the server.</div><ul>
2132  //	            <li><b>Required</b></li>
2133  //	            <li><b>Type</b> - string</li>
2134  //	        </ul>
2135  //	        <br />
2136  //	    </li>
2137  //	    <li><code>processorCoreAmount</code>
2138  //	        <div>The number of logical CPU cores to allocate.</div><ul>
2139  //	            <li><b>Required</b></li>
2140  //	            <li><b>Type</b> - int</li>
2141  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2142  //	        </ul>
2143  //	        <br />
2144  //	    </li>
2145  //	    <li><code>memoryCapacity</code>
2146  //	        <div>The amount of memory to allocate in gigabytes.</div><ul>
2147  //	            <li><b>Required</b></li>
2148  //	            <li><b>Type</b> - int</li>
2149  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2150  //	        </ul>
2151  //	        <br />
2152  //	    </li>
2153  //	    <li><code>hourlyBillingFlag</code>
2154  //	        <div>Specifies the billing type for the server.</div><ul>
2155  //	            <li><b>Required</b></li>
2156  //	            <li><b>Type</b> - boolean</li>
2157  //	            <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
2158  //	        </ul>
2159  //	        <br />
2160  //	    </li>
2161  //	    <li><code>operatingSystemReferenceCode</code>
2162  //	        <div>An identifier for the operating system to provision the server with.</div><ul>
2163  //	            <li><b>Required</b></li>
2164  //	            <li><b>Type</b> - string</li>
2165  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2166  //	        </ul>
2167  //	        <br />
2168  //	    </li>
2169  //	    <li><code>datacenter.name</code>
2170  //	        <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
2171  //	            <li><b>Required</b></li>
2172  //	            <li><b>Type</b> - string</li>
2173  //	            <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
2174  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2175  //	        </ul>
2176  //	        <http title="Example">{
2177  //	    "datacenter": {
2178  //	        "name": "dal05"
2179  //	    }
2180  //	}</http>
2181  //
2182  //	        <br />
2183  //	    </li>
2184  //	    <li><code>networkComponents.maxSpeed</code>
2185  //	        <div>Specifies the connection speed for the server's network components.</div><ul>
2186  //	            <li><b>Optional</b></li>
2187  //	            <li><b>Type</b> - int</li>
2188  //	            <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
2189  //	            <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>
2190  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2191  //	        </ul>
2192  //	            <http title="Example">{
2193  //	    "networkComponents": [
2194  //	        {
2195  //	            "maxSpeed": 1000
2196  //	        }
2197  //	    ]
2198  //	}</http>
2199  //
2200  //	        <br />
2201  //	    </li>
2202  //	    <li><code>networkComponents.redundancyEnabledFlag</code>
2203  //	        <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
2204  //	            <li><b>Optional</b></li>
2205  //	            <li><b>Type</b> - bool</li>
2206  //	            <li><b>Default</b> - <code>false</code></li>
2207  //	            <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>
2208  //	        </ul>
2209  //	            <http title="Example">{
2210  //	    "networkComponents": [
2211  //	        {
2212  //	            "redundancyEnabledFlag": false
2213  //	        }
2214  //	    ]
2215  //	}</http>
2216  //
2217  //	        <br />
2218  //	    </li>
2219  //	    <li><code>privateNetworkOnlyFlag</code>
2220  //	        <div>Specifies whether or not the server only has access to the private network</div><ul>
2221  //	            <li><b>Optional</b></li>
2222  //	            <li><b>Type</b> - boolean</li>
2223  //	            <li><b>Default</b> - <code>false</code></li>
2224  //	            <li>When true this flag specifies that a server is to only have access to the private network.</li>
2225  //	        </ul>
2226  //	        <br />
2227  //	    </li>
2228  //	    <li><code>primaryNetworkComponent.networkVlan.id</code>
2229  //	        <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
2230  //	            <li><b>Optional</b></li>
2231  //	            <li><b>Type</b> - int</li>
2232  //	            <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>
2233  //	        </ul>
2234  //	        <http title="Example">{
2235  //	    "primaryNetworkComponent": {
2236  //	        "networkVlan": {
2237  //	            "id": 1
2238  //	        }
2239  //	    }
2240  //	}</http>
2241  //
2242  //	        <br />
2243  //	    </li>
2244  //	    <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
2245  //	        <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
2246  //	            <li><b>Optional</b></li>
2247  //	            <li><b>Type</b> - int</li>
2248  //	            <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>
2249  //	        </ul>
2250  //	        <http title="Example">{
2251  //	    "primaryBackendNetworkComponent": {
2252  //	        "networkVlan": {
2253  //	            "id": 2
2254  //	        }
2255  //	    }
2256  //	}</http>
2257  //
2258  //	        <br />
2259  //	    </li>
2260  //	    <li><code>fixedConfigurationPreset.keyName</code>
2261  //	        <div></div><ul>
2262  //	            <li><b>Optional</b></li>
2263  //	            <li><b>Type</b> - string</li>
2264  //	            <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>
2265  //	            <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
2266  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2267  //	        </ul>
2268  //	        <http title="Example">{
2269  //	    "fixedConfigurationPreset": {
2270  //	        "keyName": "SOME_KEY_NAME"
2271  //	    }
2272  //	}</http>
2273  //
2274  //	        <br />
2275  //	    </li>
2276  //	    <li><code>userData.value</code>
2277  //	        <div>Arbitrary data to be made available to the server.</div><ul>
2278  //	            <li><b>Optional</b></li>
2279  //	            <li><b>Type</b> - string</li>
2280  //	            <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>
2281  //	            <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>
2282  //	        </ul>
2283  //	        <http title="Example">{
2284  //	    "userData": [
2285  //	        {
2286  //	            "value": "someValue"
2287  //	        }
2288  //	    ]
2289  //	}</http>
2290  //
2291  //	        <br />
2292  //	    </li>
2293  //	    <li><code>hardDrives</code>
2294  //	        <div>Hard drive settings for the server</div><ul>
2295  //	            <li><b>Optional</b></li>
2296  //	            <li><b>Type</b> - SoftLayer_Hardware_Component</li>
2297  //	            <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
2298  //	            <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
2299  //	            <li>Each hard drive must specify the <code>capacity</code> property.</li>
2300  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
2301  //	        </ul>
2302  //	        <http title="Example">{
2303  //	    "hardDrives": [
2304  //	        {
2305  //	            "capacity": 500
2306  //	        }
2307  //	    ]
2308  //	}</http>
2309  //
2310  //	        <br />
2311  //	    </li>
2312  //	    <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
2313  //	        <div>SSH keys to install on the server upon provisioning.</div><ul>
2314  //	            <li><b>Optional</b></li>
2315  //	            <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
2316  //	            <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>
2317  //	            <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
2318  //	            <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
2319  //	        </ul>
2320  //	        <http title="Example">{
2321  //	    "sshKeys": [
2322  //	        {
2323  //	            "id": 123
2324  //	        }
2325  //	    ]
2326  //	}</http>
2327  //
2328  //	    <br />
2329  //	</li>
2330  //	<li><code>postInstallScriptUri</code>
2331  //	    <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
2332  //	        <li><b>Optional</b></li>
2333  //	        <li><b>Type</b> - string</li>
2334  //	    </ul>
2335  //	    <br />
2336  //	</li>
2337  //
2338  // </ul>
2339  //
2340  // <h1>REST Example</h1>
2341  //
2342  //	<http title="Request">curl -X POST -d '{
2343  //	 "parameters":[
2344  //	     {
2345  //	         "hostname": "host1",
2346  //	         "domain": "example.com",
2347  //	         "processorCoreAmount": 2,
2348  //	         "memoryCapacity": 2,
2349  //	         "hourlyBillingFlag": true,
2350  //	         "operatingSystemReferenceCode": "UBUNTU_LATEST"
2351  //	     }
2352  //	 ]
2353  //	}' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
2354  //
2355  // </http>
2356  // <http title="Response">HTTP/1.1 201 Created
2357  // Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
2358  //
2359  //	{
2360  //	    "accountId": 232298,
2361  //	    "bareMetalInstanceFlag": null,
2362  //	    "domain": "example.com",
2363  //	    "hardwareStatusId": null,
2364  //	    "hostname": "host1",
2365  //	    "id": null,
2366  //	    "serviceProviderId": null,
2367  //	    "serviceProviderResourceId": null,
2368  //	    "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
2369  //	    "hourlyBillingFlag": true,
2370  //	    "memoryCapacity": 2,
2371  //	    "operatingSystemReferenceCode": "UBUNTU_LATEST",
2372  //	    "processorCoreAmount": 2
2373  //	}
2374  //
2375  // </http>
2376  func (r Hardware_Router) CreateObject(templateObject *datatypes.Hardware) (resp datatypes.Hardware, err error) {
2377  	params := []interface{}{
2378  		templateObject,
2379  	}
2380  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "createObject", params, &r.Options, &resp)
2381  	return
2382  }
2383  
2384  // This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
2385  func (r Hardware_Router) DeleteObject() (resp bool, err error) {
2386  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "deleteObject", nil, &r.Options, &resp)
2387  	return
2388  }
2389  
2390  // Delete software component passwords.
2391  func (r Hardware_Router) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
2392  	params := []interface{}{
2393  		softwareComponentPasswords,
2394  	}
2395  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
2396  	return
2397  }
2398  
2399  // Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
2400  func (r Hardware_Router) DeleteTag(tagName *string) (resp bool, err error) {
2401  	params := []interface{}{
2402  		tagName,
2403  	}
2404  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "deleteTag", params, &r.Options, &resp)
2405  	return
2406  }
2407  
2408  // Edit the properties of a software component password such as the username, password, and notes.
2409  func (r Hardware_Router) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
2410  	params := []interface{}{
2411  		softwareComponentPasswords,
2412  	}
2413  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "editSoftwareComponentPasswords", params, &r.Options, &resp)
2414  	return
2415  }
2416  
2417  // Download and run remote script from uri on the hardware.
2418  func (r Hardware_Router) ExecuteRemoteScript(uri *string) (err error) {
2419  	var resp datatypes.Void
2420  	params := []interface{}{
2421  		uri,
2422  	}
2423  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "executeRemoteScript", params, &r.Options, &resp)
2424  	return
2425  }
2426  
2427  // 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.
2428  func (r Hardware_Router) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
2429  	params := []interface{}{
2430  		ipAddress,
2431  	}
2432  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "findByIpAddress", params, &r.Options, &resp)
2433  	return
2434  }
2435  
2436  // 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]].
2437  //
2438  // This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
2439  //
2440  // See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
2441  func (r Hardware_Router) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
2442  	params := []interface{}{
2443  		templateObject,
2444  	}
2445  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "generateOrderTemplate", params, &r.Options, &resp)
2446  	return
2447  }
2448  
2449  // Retrieve The account associated with a piece of hardware.
2450  func (r Hardware_Router) GetAccount() (resp datatypes.Account, err error) {
2451  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAccount", nil, &r.Options, &resp)
2452  	return
2453  }
2454  
2455  // Retrieve A piece of hardware's active physical components.
2456  func (r Hardware_Router) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
2457  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getActiveComponents", nil, &r.Options, &resp)
2458  	return
2459  }
2460  
2461  // Retrieve A piece of hardware's active network monitoring incidents.
2462  func (r Hardware_Router) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
2463  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
2464  	return
2465  }
2466  
2467  // Retrieve
2468  func (r Hardware_Router) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
2469  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllPowerComponents", nil, &r.Options, &resp)
2470  	return
2471  }
2472  
2473  // Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
2474  func (r Hardware_Router) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
2475  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedHost", nil, &r.Options, &resp)
2476  	return
2477  }
2478  
2479  // Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
2480  func (r Hardware_Router) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
2481  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedNetworkStorage", nil, &r.Options, &resp)
2482  	return
2483  }
2484  
2485  // Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
2486  func (r Hardware_Router) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
2487  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
2488  	return
2489  }
2490  
2491  // Retrieve Information regarding an antivirus/spyware software component object.
2492  func (r Hardware_Router) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
2493  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
2494  	return
2495  }
2496  
2497  // This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
2498  func (r Hardware_Router) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
2499  	params := []interface{}{
2500  		nasType,
2501  	}
2502  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAttachedNetworkStorages", params, &r.Options, &resp)
2503  	return
2504  }
2505  
2506  // Retrieve Information regarding a piece of hardware's specific attributes.
2507  func (r Hardware_Router) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
2508  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAttributes", nil, &r.Options, &resp)
2509  	return
2510  }
2511  
2512  // Retrieves a list of available term prices to this hardware. Currently, price terms are only available for increasing term length to monthly billed servers.
2513  func (r Hardware_Router) GetAvailableBillingTermChangePrices() (resp []datatypes.Product_Item_Price, err error) {
2514  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAvailableBillingTermChangePrices", nil, &r.Options, &resp)
2515  	return
2516  }
2517  
2518  // This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
2519  func (r Hardware_Router) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
2520  	params := []interface{}{
2521  		nasType,
2522  	}
2523  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAvailableNetworkStorages", params, &r.Options, &resp)
2524  	return
2525  }
2526  
2527  // Retrieve The average daily public bandwidth usage for the current billing cycle.
2528  func (r Hardware_Router) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
2529  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
2530  	return
2531  }
2532  
2533  // 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.
2534  func (r Hardware_Router) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2535  	params := []interface{}{
2536  		startDate,
2537  		endDate,
2538  	}
2539  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendIncomingBandwidth", params, &r.Options, &resp)
2540  	return
2541  }
2542  
2543  // Retrieve A piece of hardware's back-end or private network components.
2544  func (r Hardware_Router) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
2545  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendNetworkComponents", nil, &r.Options, &resp)
2546  	return
2547  }
2548  
2549  // 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.
2550  func (r Hardware_Router) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2551  	params := []interface{}{
2552  		startDate,
2553  		endDate,
2554  	}
2555  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
2556  	return
2557  }
2558  
2559  // Retrieve A hardware's backend or private router.
2560  func (r Hardware_Router) GetBackendRouters() (resp []datatypes.Hardware, err error) {
2561  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBackendRouters", nil, &r.Options, &resp)
2562  	return
2563  }
2564  
2565  // Retrieve A hardware's allotted bandwidth (measured in GB).
2566  func (r Hardware_Router) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
2567  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBandwidthAllocation", nil, &r.Options, &resp)
2568  	return
2569  }
2570  
2571  // Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
2572  func (r Hardware_Router) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
2573  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
2574  	return
2575  }
2576  
2577  // Retrieve Information regarding a piece of hardware's benchmark certifications.
2578  func (r Hardware_Router) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
2579  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBenchmarkCertifications", nil, &r.Options, &resp)
2580  	return
2581  }
2582  
2583  // Retrieve Information regarding the billing item for a server.
2584  func (r Hardware_Router) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
2585  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBillingItem", nil, &r.Options, &resp)
2586  	return
2587  }
2588  
2589  // Retrieve A flag indicating that a billing item exists.
2590  func (r Hardware_Router) GetBillingItemFlag() (resp bool, err error) {
2591  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBillingItemFlag", nil, &r.Options, &resp)
2592  	return
2593  }
2594  
2595  // Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
2596  func (r Hardware_Router) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
2597  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
2598  	return
2599  }
2600  
2601  // Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
2602  func (r Hardware_Router) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
2603  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
2604  	return
2605  }
2606  
2607  // Retrieve Child hardware.
2608  func (r Hardware_Router) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
2609  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getChildrenHardware", nil, &r.Options, &resp)
2610  	return
2611  }
2612  
2613  // no documentation yet
2614  func (r Hardware_Router) GetComponentDetailsXML() (resp string, err error) {
2615  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getComponentDetailsXML", nil, &r.Options, &resp)
2616  	return
2617  }
2618  
2619  // Retrieve A piece of hardware's components.
2620  func (r Hardware_Router) GetComponents() (resp []datatypes.Hardware_Component, err error) {
2621  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getComponents", nil, &r.Options, &resp)
2622  	return
2623  }
2624  
2625  // Retrieve A continuous data protection/server backup software component object.
2626  func (r Hardware_Router) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
2627  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
2628  	return
2629  }
2630  
2631  // There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
2632  //
2633  // Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
2634  func (r Hardware_Router) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
2635  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCreateObjectOptions", nil, &r.Options, &resp)
2636  	return
2637  }
2638  
2639  // Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
2640  func (r Hardware_Router) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
2641  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
2642  	return
2643  }
2644  
2645  // Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
2646  func (r Hardware_Router) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
2647  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillingDetail", nil, &r.Options, &resp)
2648  	return
2649  }
2650  
2651  // 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.
2652  func (r Hardware_Router) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
2653  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getCurrentBillingTotal", nil, &r.Options, &resp)
2654  	return
2655  }
2656  
2657  // 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.
2658  func (r Hardware_Router) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2659  	params := []interface{}{
2660  		startDate,
2661  		endDate,
2662  	}
2663  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDailyAverage", params, &r.Options, &resp)
2664  	return
2665  }
2666  
2667  // Retrieve Information regarding the datacenter in which a piece of hardware resides.
2668  func (r Hardware_Router) GetDatacenter() (resp datatypes.Location, err error) {
2669  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDatacenter", nil, &r.Options, &resp)
2670  	return
2671  }
2672  
2673  // Retrieve The name of the datacenter in which a piece of hardware resides.
2674  func (r Hardware_Router) GetDatacenterName() (resp string, err error) {
2675  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDatacenterName", nil, &r.Options, &resp)
2676  	return
2677  }
2678  
2679  // Retrieve Number of day(s) a server have been in spare pool.
2680  func (r Hardware_Router) GetDaysInSparePool() (resp int, err error) {
2681  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDaysInSparePool", nil, &r.Options, &resp)
2682  	return
2683  }
2684  
2685  // Retrieve All hardware that has uplink network connections to a piece of hardware.
2686  func (r Hardware_Router) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
2687  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkHardware", nil, &r.Options, &resp)
2688  	return
2689  }
2690  
2691  // Retrieve All hardware that has uplink network connections to a piece of hardware.
2692  func (r Hardware_Router) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
2693  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
2694  	return
2695  }
2696  
2697  // Retrieve Information regarding all servers attached to a piece of network hardware.
2698  func (r Hardware_Router) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
2699  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkServers", nil, &r.Options, &resp)
2700  	return
2701  }
2702  
2703  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
2704  func (r Hardware_Router) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
2705  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
2706  	return
2707  }
2708  
2709  // Retrieve All hardware downstream from a network device.
2710  func (r Hardware_Router) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
2711  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
2712  	return
2713  }
2714  
2715  // Retrieve All network hardware downstream from the selected piece of hardware.
2716  func (r Hardware_Router) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
2717  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
2718  	return
2719  }
2720  
2721  // Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware. [DEPRECATED]
2722  func (r Hardware_Router) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
2723  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
2724  	return
2725  }
2726  
2727  // Retrieve Information regarding all servers attached downstream to a piece of network hardware.
2728  func (r Hardware_Router) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
2729  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamServers", nil, &r.Options, &resp)
2730  	return
2731  }
2732  
2733  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
2734  func (r Hardware_Router) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
2735  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
2736  	return
2737  }
2738  
2739  // Retrieve The drive controllers contained within a piece of hardware.
2740  func (r Hardware_Router) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
2741  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getDriveControllers", nil, &r.Options, &resp)
2742  	return
2743  }
2744  
2745  // Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
2746  func (r Hardware_Router) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
2747  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getEvaultNetworkStorage", nil, &r.Options, &resp)
2748  	return
2749  }
2750  
2751  // Retrieve Information regarding a piece of hardware's firewall services.
2752  func (r Hardware_Router) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
2753  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFirewallServiceComponent", nil, &r.Options, &resp)
2754  	return
2755  }
2756  
2757  // Retrieve Defines the fixed components in a fixed configuration bare metal server.
2758  func (r Hardware_Router) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
2759  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFixedConfigurationPreset", nil, &r.Options, &resp)
2760  	return
2761  }
2762  
2763  // 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).
2764  func (r Hardware_Router) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2765  	params := []interface{}{
2766  		startDate,
2767  		endDate,
2768  	}
2769  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
2770  	return
2771  }
2772  
2773  // Retrieve A piece of hardware's front-end or public network components.
2774  func (r Hardware_Router) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
2775  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendNetworkComponents", nil, &r.Options, &resp)
2776  	return
2777  }
2778  
2779  // 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).
2780  func (r Hardware_Router) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
2781  	params := []interface{}{
2782  		startDate,
2783  		endDate,
2784  	}
2785  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
2786  	return
2787  }
2788  
2789  // Retrieve A hardware's frontend or public router.
2790  func (r Hardware_Router) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
2791  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFrontendRouters", nil, &r.Options, &resp)
2792  	return
2793  }
2794  
2795  // Retrieve Information regarding the future billing item for a server.
2796  func (r Hardware_Router) GetFutureBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
2797  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getFutureBillingItem", nil, &r.Options, &resp)
2798  	return
2799  }
2800  
2801  // Retrieve A hardware's universally unique identifier.
2802  func (r Hardware_Router) GetGlobalIdentifier() (resp string, err error) {
2803  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getGlobalIdentifier", nil, &r.Options, &resp)
2804  	return
2805  }
2806  
2807  // Retrieve The hard drives contained within a piece of hardware.
2808  func (r Hardware_Router) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
2809  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardDrives", nil, &r.Options, &resp)
2810  	return
2811  }
2812  
2813  // Retrieve The chassis that a piece of hardware is housed in.
2814  func (r Hardware_Router) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
2815  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareChassis", nil, &r.Options, &resp)
2816  	return
2817  }
2818  
2819  // Retrieve A hardware's function.
2820  func (r Hardware_Router) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
2821  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareFunction", nil, &r.Options, &resp)
2822  	return
2823  }
2824  
2825  // Retrieve A hardware's function.
2826  func (r Hardware_Router) GetHardwareFunctionDescription() (resp string, err error) {
2827  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareFunctionDescription", nil, &r.Options, &resp)
2828  	return
2829  }
2830  
2831  // Retrieve A hardware's power/transaction state.
2832  func (r Hardware_Router) GetHardwareState() (resp datatypes.Hardware_State, err error) {
2833  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareState", nil, &r.Options, &resp)
2834  	return
2835  }
2836  
2837  // Retrieve A hardware's status.
2838  func (r Hardware_Router) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
2839  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHardwareStatus", nil, &r.Options, &resp)
2840  	return
2841  }
2842  
2843  // Retrieve Determine in hardware object has TPM enabled.
2844  func (r Hardware_Router) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
2845  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
2846  	return
2847  }
2848  
2849  // Retrieve Information regarding a host IPS software component object.
2850  func (r Hardware_Router) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
2851  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
2852  	return
2853  }
2854  
2855  // 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
2856  //
2857  // '02/01/2008 0:00'
2858  //
2859  // 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).
2860  //
2861  // For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
2862  func (r Hardware_Router) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
2863  	params := []interface{}{
2864  		mode,
2865  		day,
2866  	}
2867  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHourlyBandwidth", params, &r.Options, &resp)
2868  	return
2869  }
2870  
2871  // Retrieve A server's hourly billing status.
2872  func (r Hardware_Router) GetHourlyBillingFlag() (resp bool, err error) {
2873  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getHourlyBillingFlag", nil, &r.Options, &resp)
2874  	return
2875  }
2876  
2877  // Retrieve The sum of all the inbound network traffic data for the last 30 days.
2878  func (r Hardware_Router) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
2879  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getInboundBandwidthUsage", nil, &r.Options, &resp)
2880  	return
2881  }
2882  
2883  // Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
2884  func (r Hardware_Router) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
2885  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
2886  	return
2887  }
2888  
2889  // Retrieve Whether or not this hardware object is eligible to change to term billing.
2890  func (r Hardware_Router) GetIsBillingTermChangeAvailableFlag() (resp bool, err error) {
2891  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getIsBillingTermChangeAvailableFlag", nil, &r.Options, &resp)
2892  	return
2893  }
2894  
2895  // Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
2896  func (r Hardware_Router) GetIsCloudReadyNodeCertified() (resp bool, err error) {
2897  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
2898  	return
2899  }
2900  
2901  // Retrieve Information regarding the last transaction a server performed.
2902  func (r Hardware_Router) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
2903  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLastTransaction", nil, &r.Options, &resp)
2904  	return
2905  }
2906  
2907  // Retrieve A piece of hardware's latest network monitoring incident.
2908  func (r Hardware_Router) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
2909  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
2910  	return
2911  }
2912  
2913  // Retrieve A flag indicating that a VLAN on the router can be assigned to a host that has local disk functionality.
2914  func (r Hardware_Router) GetLocalDiskStorageCapabilityFlag() (resp bool, err error) {
2915  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocalDiskStorageCapabilityFlag", nil, &r.Options, &resp)
2916  	return
2917  }
2918  
2919  // Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
2920  func (r Hardware_Router) GetLocation() (resp datatypes.Location, err error) {
2921  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocation", nil, &r.Options, &resp)
2922  	return
2923  }
2924  
2925  // Retrieve
2926  func (r Hardware_Router) GetLocationPathString() (resp string, err error) {
2927  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLocationPathString", nil, &r.Options, &resp)
2928  	return
2929  }
2930  
2931  // Retrieve Information regarding a lockbox account associated with a server.
2932  func (r Hardware_Router) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
2933  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getLockboxNetworkStorage", nil, &r.Options, &resp)
2934  	return
2935  }
2936  
2937  // Retrieve A flag indicating that the hardware is a managed resource.
2938  func (r Hardware_Router) GetManagedResourceFlag() (resp bool, err error) {
2939  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getManagedResourceFlag", nil, &r.Options, &resp)
2940  	return
2941  }
2942  
2943  // Retrieve Information regarding a piece of hardware's memory.
2944  func (r Hardware_Router) GetMemory() (resp []datatypes.Hardware_Component, err error) {
2945  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMemory", nil, &r.Options, &resp)
2946  	return
2947  }
2948  
2949  // Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
2950  func (r Hardware_Router) GetMemoryCapacity() (resp uint, err error) {
2951  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMemoryCapacity", nil, &r.Options, &resp)
2952  	return
2953  }
2954  
2955  // Retrieve A piece of hardware's metric tracking object.
2956  func (r Hardware_Router) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
2957  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMetricTrackingObject", nil, &r.Options, &resp)
2958  	return
2959  }
2960  
2961  // Retrieve
2962  func (r Hardware_Router) GetModules() (resp []datatypes.Hardware_Component, err error) {
2963  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getModules", nil, &r.Options, &resp)
2964  	return
2965  }
2966  
2967  // Retrieve
2968  func (r Hardware_Router) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
2969  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringRobot", nil, &r.Options, &resp)
2970  	return
2971  }
2972  
2973  // Retrieve Information regarding a piece of hardware's network monitoring services.
2974  func (r Hardware_Router) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
2975  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringServiceComponent", nil, &r.Options, &resp)
2976  	return
2977  }
2978  
2979  // Retrieve
2980  func (r Hardware_Router) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
2981  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
2982  	return
2983  }
2984  
2985  // Retrieve Information regarding a piece of hardware's motherboard.
2986  func (r Hardware_Router) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
2987  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getMotherboard", nil, &r.Options, &resp)
2988  	return
2989  }
2990  
2991  // Retrieve Information regarding a piece of hardware's network cards.
2992  func (r Hardware_Router) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
2993  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkCards", nil, &r.Options, &resp)
2994  	return
2995  }
2996  
2997  // Retrieve Returns a hardware's network components.
2998  func (r Hardware_Router) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
2999  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkComponents", nil, &r.Options, &resp)
3000  	return
3001  }
3002  
3003  // Retrieve The gateway member if this device is part of a network gateway.
3004  func (r Hardware_Router) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
3005  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkGatewayMember", nil, &r.Options, &resp)
3006  	return
3007  }
3008  
3009  // Retrieve Whether or not this device is part of a network gateway.
3010  func (r Hardware_Router) GetNetworkGatewayMemberFlag() (resp bool, err error) {
3011  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
3012  	return
3013  }
3014  
3015  // Retrieve A piece of hardware's network management IP address.
3016  func (r Hardware_Router) GetNetworkManagementIpAddress() (resp string, err error) {
3017  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
3018  	return
3019  }
3020  
3021  // Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
3022  func (r Hardware_Router) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
3023  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
3024  	return
3025  }
3026  
3027  // Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
3028  func (r Hardware_Router) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
3029  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
3030  	return
3031  }
3032  
3033  // Retrieve The status of all of a piece of hardware's network monitoring incidents.
3034  func (r Hardware_Router) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
3035  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
3036  	return
3037  }
3038  
3039  // Retrieve Information regarding a piece of hardware's network monitors.
3040  func (r Hardware_Router) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
3041  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkMonitors", nil, &r.Options, &resp)
3042  	return
3043  }
3044  
3045  // Retrieve The value of a hardware's network status attribute. [DEPRECATED]
3046  func (r Hardware_Router) GetNetworkStatus() (resp string, err error) {
3047  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStatus", nil, &r.Options, &resp)
3048  	return
3049  }
3050  
3051  // Retrieve The hardware's related network status attribute. [DEPRECATED]
3052  func (r Hardware_Router) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
3053  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStatusAttribute", nil, &r.Options, &resp)
3054  	return
3055  }
3056  
3057  // Retrieve Information regarding a piece of hardware's associated network storage service account.
3058  func (r Hardware_Router) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
3059  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkStorage", nil, &r.Options, &resp)
3060  	return
3061  }
3062  
3063  // Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
3064  func (r Hardware_Router) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
3065  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNetworkVlans", nil, &r.Options, &resp)
3066  	return
3067  }
3068  
3069  // Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
3070  func (r Hardware_Router) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
3071  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
3072  	return
3073  }
3074  
3075  // Retrieve
3076  func (r Hardware_Router) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
3077  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNotesHistory", nil, &r.Options, &resp)
3078  	return
3079  }
3080  
3081  // Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
3082  func (r Hardware_Router) GetNvRamCapacity() (resp uint, err error) {
3083  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNvRamCapacity", nil, &r.Options, &resp)
3084  	return
3085  }
3086  
3087  // Retrieve
3088  func (r Hardware_Router) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
3089  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getNvRamComponentModels", nil, &r.Options, &resp)
3090  	return
3091  }
3092  
3093  // no documentation yet
3094  func (r Hardware_Router) GetObject() (resp datatypes.Hardware_Router, err error) {
3095  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getObject", nil, &r.Options, &resp)
3096  	return
3097  }
3098  
3099  // Retrieve Information regarding a piece of hardware's operating system.
3100  func (r Hardware_Router) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
3101  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOperatingSystem", nil, &r.Options, &resp)
3102  	return
3103  }
3104  
3105  // Retrieve A hardware's operating system software description.
3106  func (r Hardware_Router) GetOperatingSystemReferenceCode() (resp string, err error) {
3107  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
3108  	return
3109  }
3110  
3111  // Retrieve The sum of all the outbound network traffic data for the last 30 days.
3112  func (r Hardware_Router) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
3113  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
3114  	return
3115  }
3116  
3117  // Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
3118  func (r Hardware_Router) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
3119  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
3120  	return
3121  }
3122  
3123  // Retrieve Blade Bay
3124  func (r Hardware_Router) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
3125  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getParentBay", nil, &r.Options, &resp)
3126  	return
3127  }
3128  
3129  // Retrieve Parent Hardware.
3130  func (r Hardware_Router) GetParentHardware() (resp datatypes.Hardware, err error) {
3131  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getParentHardware", nil, &r.Options, &resp)
3132  	return
3133  }
3134  
3135  // Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
3136  func (r Hardware_Router) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
3137  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPointOfPresenceLocation", nil, &r.Options, &resp)
3138  	return
3139  }
3140  
3141  // Retrieve The power components for a hardware object.
3142  func (r Hardware_Router) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
3143  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPowerComponents", nil, &r.Options, &resp)
3144  	return
3145  }
3146  
3147  // Retrieve Information regarding a piece of hardware's power supply.
3148  func (r Hardware_Router) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
3149  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPowerSupply", nil, &r.Options, &resp)
3150  	return
3151  }
3152  
3153  // Retrieve The hardware's primary private IP address.
3154  func (r Hardware_Router) GetPrimaryBackendIpAddress() (resp string, err error) {
3155  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
3156  	return
3157  }
3158  
3159  // Retrieve Information regarding the hardware's primary back-end network component.
3160  func (r Hardware_Router) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
3161  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
3162  	return
3163  }
3164  
3165  // Retrieve The hardware's primary public IP address.
3166  func (r Hardware_Router) GetPrimaryIpAddress() (resp string, err error) {
3167  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryIpAddress", nil, &r.Options, &resp)
3168  	return
3169  }
3170  
3171  // Retrieve Information regarding the hardware's primary public network component.
3172  func (r Hardware_Router) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
3173  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
3174  	return
3175  }
3176  
3177  // Retrieve this server's private bandwidth data. If no timeframe is specified then getPrivateBandwidthData retrieves the last 24 hours of public bandwidth usage.
3178  func (r Hardware_Router) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
3179  	params := []interface{}{
3180  		startTime,
3181  		endTime,
3182  	}
3183  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrivateBandwidthData", params, &r.Options, &resp)
3184  	return
3185  }
3186  
3187  // Retrieve Whether the hardware only has access to the private network.
3188  func (r Hardware_Router) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
3189  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
3190  	return
3191  }
3192  
3193  // Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
3194  func (r Hardware_Router) GetProcessorCoreAmount() (resp uint, err error) {
3195  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessorCoreAmount", nil, &r.Options, &resp)
3196  	return
3197  }
3198  
3199  // Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
3200  func (r Hardware_Router) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
3201  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
3202  	return
3203  }
3204  
3205  // Retrieve Information regarding a piece of hardware's processors.
3206  func (r Hardware_Router) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
3207  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getProcessors", nil, &r.Options, &resp)
3208  	return
3209  }
3210  
3211  // Retrieve this server's public bandwidth data. If no timeframe is specified then getPublicBandwidthData retrieves the last 24 hours of public bandwidth usage.
3212  func (r Hardware_Router) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
3213  	params := []interface{}{
3214  		startTime,
3215  		endTime,
3216  	}
3217  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getPublicBandwidthData", params, &r.Options, &resp)
3218  	return
3219  }
3220  
3221  // Retrieve
3222  func (r Hardware_Router) GetRack() (resp datatypes.Location, err error) {
3223  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRack", nil, &r.Options, &resp)
3224  	return
3225  }
3226  
3227  // Retrieve The RAID controllers contained within a piece of hardware.
3228  func (r Hardware_Router) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
3229  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRaidControllers", nil, &r.Options, &resp)
3230  	return
3231  }
3232  
3233  // Retrieve Recent events that impact this hardware.
3234  func (r Hardware_Router) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
3235  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRecentEvents", nil, &r.Options, &resp)
3236  	return
3237  }
3238  
3239  // Retrieve User credentials to issue commands and/or interact with the server's remote management card.
3240  func (r Hardware_Router) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
3241  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRemoteManagementAccounts", nil, &r.Options, &resp)
3242  	return
3243  }
3244  
3245  // Retrieve A hardware's associated remote management component. This is normally IPMI.
3246  func (r Hardware_Router) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
3247  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRemoteManagementComponent", nil, &r.Options, &resp)
3248  	return
3249  }
3250  
3251  // Retrieve
3252  func (r Hardware_Router) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
3253  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceConfigurations", nil, &r.Options, &resp)
3254  	return
3255  }
3256  
3257  // Retrieve
3258  func (r Hardware_Router) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
3259  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
3260  	return
3261  }
3262  
3263  // Retrieve
3264  func (r Hardware_Router) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
3265  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroupRoles", nil, &r.Options, &resp)
3266  	return
3267  }
3268  
3269  // Retrieve The resource groups in which this hardware is a member.
3270  func (r Hardware_Router) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
3271  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getResourceGroups", nil, &r.Options, &resp)
3272  	return
3273  }
3274  
3275  // Retrieve A hardware's routers.
3276  func (r Hardware_Router) GetRouters() (resp []datatypes.Hardware, err error) {
3277  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getRouters", nil, &r.Options, &resp)
3278  	return
3279  }
3280  
3281  // Retrieve A flag indicating that a VLAN on the router can be assigned to a host that has SAN disk functionality.
3282  func (r Hardware_Router) GetSanStorageCapabilityFlag() (resp bool, err error) {
3283  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSanStorageCapabilityFlag", nil, &r.Options, &resp)
3284  	return
3285  }
3286  
3287  // Retrieve Information regarding a piece of hardware's vulnerability scan requests.
3288  func (r Hardware_Router) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
3289  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSecurityScanRequests", nil, &r.Options, &resp)
3290  	return
3291  }
3292  
3293  // 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.
3294  func (r Hardware_Router) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
3295  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSensorData", nil, &r.Options, &resp)
3296  	return
3297  }
3298  
3299  // 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.
3300  func (r Hardware_Router) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
3301  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSensorDataWithGraphs", nil, &r.Options, &resp)
3302  	return
3303  }
3304  
3305  // 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.
3306  func (r Hardware_Router) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
3307  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
3308  	return
3309  }
3310  
3311  // 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.
3312  func (r Hardware_Router) GetServerPowerState() (resp string, err error) {
3313  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerPowerState", nil, &r.Options, &resp)
3314  	return
3315  }
3316  
3317  // Retrieve Information regarding the server room in which the hardware is located.
3318  func (r Hardware_Router) GetServerRoom() (resp datatypes.Location, err error) {
3319  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerRoom", nil, &r.Options, &resp)
3320  	return
3321  }
3322  
3323  // 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.
3324  func (r Hardware_Router) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
3325  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServerTemperatureGraphs", nil, &r.Options, &resp)
3326  	return
3327  }
3328  
3329  // Retrieve Information regarding the piece of hardware's service provider.
3330  func (r Hardware_Router) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
3331  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getServiceProvider", nil, &r.Options, &resp)
3332  	return
3333  }
3334  
3335  // Retrieve Information regarding a piece of hardware's installed software.
3336  func (r Hardware_Router) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
3337  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSoftwareComponents", nil, &r.Options, &resp)
3338  	return
3339  }
3340  
3341  // Retrieve Information regarding the billing item for a spare pool server.
3342  func (r Hardware_Router) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
3343  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSparePoolBillingItem", nil, &r.Options, &resp)
3344  	return
3345  }
3346  
3347  // Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
3348  func (r Hardware_Router) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
3349  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getSshKeys", nil, &r.Options, &resp)
3350  	return
3351  }
3352  
3353  // Retrieve
3354  func (r Hardware_Router) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
3355  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getStorageGroups", nil, &r.Options, &resp)
3356  	return
3357  }
3358  
3359  // Retrieve A piece of hardware's private storage network components. [Deprecated]
3360  func (r Hardware_Router) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
3361  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getStorageNetworkComponents", nil, &r.Options, &resp)
3362  	return
3363  }
3364  
3365  // Retrieve
3366  func (r Hardware_Router) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
3367  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTagReferences", nil, &r.Options, &resp)
3368  	return
3369  }
3370  
3371  // Retrieve
3372  func (r Hardware_Router) GetTopLevelLocation() (resp datatypes.Location, err error) {
3373  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTopLevelLocation", nil, &r.Options, &resp)
3374  	return
3375  }
3376  
3377  // This method will query transaction history for a piece of hardware.
3378  func (r Hardware_Router) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
3379  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getTransactionHistory", nil, &r.Options, &resp)
3380  	return
3381  }
3382  
3383  // 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.
3384  func (r Hardware_Router) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
3385  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUpgradeItemPrices", nil, &r.Options, &resp)
3386  	return
3387  }
3388  
3389  // Retrieve An account's associated upgrade request object, if any.
3390  func (r Hardware_Router) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
3391  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUpgradeRequest", nil, &r.Options, &resp)
3392  	return
3393  }
3394  
3395  // Retrieve A piece of hardware's active upgradeable physical components.
3396  func (r Hardware_Router) GetUpgradeableActiveComponents() (resp []datatypes.Hardware_Component, err error) {
3397  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUpgradeableActiveComponents", nil, &r.Options, &resp)
3398  	return
3399  }
3400  
3401  // Retrieve The network device connected to a piece of hardware.
3402  func (r Hardware_Router) GetUplinkHardware() (resp datatypes.Hardware, err error) {
3403  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUplinkHardware", nil, &r.Options, &resp)
3404  	return
3405  }
3406  
3407  // Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
3408  func (r Hardware_Router) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
3409  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUplinkNetworkComponents", nil, &r.Options, &resp)
3410  	return
3411  }
3412  
3413  // Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
3414  func (r Hardware_Router) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
3415  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getUserData", nil, &r.Options, &resp)
3416  	return
3417  }
3418  
3419  // Retrieve Information regarding the virtual chassis for a piece of hardware.
3420  func (r Hardware_Router) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
3421  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualChassis", nil, &r.Options, &resp)
3422  	return
3423  }
3424  
3425  // Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
3426  func (r Hardware_Router) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
3427  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualChassisSiblings", nil, &r.Options, &resp)
3428  	return
3429  }
3430  
3431  // Retrieve A piece of hardware's virtual host record.
3432  func (r Hardware_Router) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
3433  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualHost", nil, &r.Options, &resp)
3434  	return
3435  }
3436  
3437  // Retrieve Information regarding a piece of hardware's virtual software licenses.
3438  func (r Hardware_Router) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
3439  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualLicenses", nil, &r.Options, &resp)
3440  	return
3441  }
3442  
3443  // Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
3444  func (r Hardware_Router) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
3445  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRack", nil, &r.Options, &resp)
3446  	return
3447  }
3448  
3449  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
3450  func (r Hardware_Router) GetVirtualRackId() (resp int, err error) {
3451  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRackId", nil, &r.Options, &resp)
3452  	return
3453  }
3454  
3455  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
3456  func (r Hardware_Router) GetVirtualRackName() (resp string, err error) {
3457  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualRackName", nil, &r.Options, &resp)
3458  	return
3459  }
3460  
3461  // Retrieve A piece of hardware's virtualization platform software.
3462  func (r Hardware_Router) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
3463  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "getVirtualizationPlatform", nil, &r.Options, &resp)
3464  	return
3465  }
3466  
3467  // The ”'importVirtualHost”' method attempts to import the host record for the virtualization platform running on a server.
3468  func (r Hardware_Router) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
3469  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "importVirtualHost", nil, &r.Options, &resp)
3470  	return
3471  }
3472  
3473  // 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.
3474  func (r Hardware_Router) IsPingable() (resp bool, err error) {
3475  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "isPingable", nil, &r.Options, &resp)
3476  	return
3477  }
3478  
3479  // Issues a ping command to the server and returns the ping response.
3480  func (r Hardware_Router) Ping() (resp string, err error) {
3481  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "ping", nil, &r.Options, &resp)
3482  	return
3483  }
3484  
3485  // 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:
3486  //
3487  // rebootSoft rebootHard powerOn powerOff powerCycle
3488  func (r Hardware_Router) PowerCycle() (resp bool, err error) {
3489  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerCycle", nil, &r.Options, &resp)
3490  	return
3491  }
3492  
3493  // This method will power off the server via the server's remote management card.
3494  func (r Hardware_Router) PowerOff() (resp bool, err error) {
3495  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerOff", nil, &r.Options, &resp)
3496  	return
3497  }
3498  
3499  // 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:
3500  //
3501  // rebootSoft rebootHard powerOn powerOff powerCycle
3502  func (r Hardware_Router) PowerOn() (resp bool, err error) {
3503  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "powerOn", nil, &r.Options, &resp)
3504  	return
3505  }
3506  
3507  // 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:
3508  //
3509  // rebootSoft rebootHard powerOn powerOff powerCycle
3510  func (r Hardware_Router) RebootDefault() (resp bool, err error) {
3511  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootDefault", nil, &r.Options, &resp)
3512  	return
3513  }
3514  
3515  // 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.
3516  //
3517  // 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:
3518  //
3519  // rebootSoft rebootHard powerOn powerOff powerCycle
3520  func (r Hardware_Router) RebootHard() (resp bool, err error) {
3521  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootHard", nil, &r.Options, &resp)
3522  	return
3523  }
3524  
3525  // 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:
3526  //
3527  // rebootSoft rebootHard powerOn powerOff powerCycle
3528  func (r Hardware_Router) RebootSoft() (resp bool, err error) {
3529  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "rebootSoft", nil, &r.Options, &resp)
3530  	return
3531  }
3532  
3533  // no documentation yet
3534  func (r Hardware_Router) RefreshDeviceStatus() (resp datatypes.Hardware_State, err error) {
3535  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "refreshDeviceStatus", nil, &r.Options, &resp)
3536  	return
3537  }
3538  
3539  // This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
3540  func (r Hardware_Router) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
3541  	params := []interface{}{
3542  		networkStorageTemplateObject,
3543  	}
3544  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "removeAccessToNetworkStorage", params, &r.Options, &resp)
3545  	return
3546  }
3547  
3548  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
3549  func (r Hardware_Router) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
3550  	params := []interface{}{
3551  		networkStorageTemplateObjects,
3552  	}
3553  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
3554  	return
3555  }
3556  
3557  // no documentation yet
3558  func (r Hardware_Router) RemoveTags(tags *string) (resp bool, err error) {
3559  	params := []interface{}{
3560  		tags,
3561  	}
3562  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "removeTags", params, &r.Options, &resp)
3563  	return
3564  }
3565  
3566  // no documentation yet
3567  func (r Hardware_Router) SetTags(tags *string) (resp bool, err error) {
3568  	params := []interface{}{
3569  		tags,
3570  	}
3571  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "setTags", params, &r.Options, &resp)
3572  	return
3573  }
3574  
3575  // This method will update the root IPMI password on this SoftLayer_Hardware.
3576  func (r Hardware_Router) UpdateIpmiPassword(password *string) (resp bool, err error) {
3577  	params := []interface{}{
3578  		password,
3579  	}
3580  	err = r.Session.DoRequest("SoftLayer_Hardware_Router", "updateIpmiPassword", params, &r.Options, &resp)
3581  	return
3582  }
3583  
3584  // no documentation yet
3585  type Hardware_SecurityModule struct {
3586  	Session session.SLSession
3587  	Options sl.Options
3588  }
3589  
3590  // GetHardwareSecurityModuleService returns an instance of the Hardware_SecurityModule SoftLayer service
3591  func GetHardwareSecurityModuleService(sess session.SLSession) Hardware_SecurityModule {
3592  	return Hardware_SecurityModule{Session: sess}
3593  }
3594  
3595  func (r Hardware_SecurityModule) Id(id int) Hardware_SecurityModule {
3596  	r.Options.Id = &id
3597  	return r
3598  }
3599  
3600  func (r Hardware_SecurityModule) Mask(mask string) Hardware_SecurityModule {
3601  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3602  		mask = fmt.Sprintf("mask[%s]", mask)
3603  	}
3604  
3605  	r.Options.Mask = mask
3606  	return r
3607  }
3608  
3609  func (r Hardware_SecurityModule) Filter(filter string) Hardware_SecurityModule {
3610  	r.Options.Filter = filter
3611  	return r
3612  }
3613  
3614  func (r Hardware_SecurityModule) Limit(limit int) Hardware_SecurityModule {
3615  	r.Options.Limit = &limit
3616  	return r
3617  }
3618  
3619  func (r Hardware_SecurityModule) Offset(offset int) Hardware_SecurityModule {
3620  	r.Options.Offset = &offset
3621  	return r
3622  }
3623  
3624  // 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).
3625  //
3626  // 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.
3627  //
3628  // 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.
3629  func (r Hardware_SecurityModule) ActivatePrivatePort() (resp bool, err error) {
3630  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "activatePrivatePort", nil, &r.Options, &resp)
3631  	return
3632  }
3633  
3634  // 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).
3635  //
3636  // 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.
3637  //
3638  // 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.
3639  func (r Hardware_SecurityModule) ActivatePublicPort() (resp bool, err error) {
3640  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "activatePublicPort", nil, &r.Options, &resp)
3641  	return
3642  }
3643  
3644  // This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
3645  func (r Hardware_SecurityModule) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
3646  	params := []interface{}{
3647  		networkStorageTemplateObject,
3648  	}
3649  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "allowAccessToNetworkStorage", params, &r.Options, &resp)
3650  	return
3651  }
3652  
3653  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
3654  func (r Hardware_SecurityModule) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
3655  	params := []interface{}{
3656  		networkStorageTemplateObjects,
3657  	}
3658  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
3659  	return
3660  }
3661  
3662  // 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.
3663  func (r Hardware_SecurityModule) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
3664  	params := []interface{}{
3665  		noOsBootEnvironment,
3666  	}
3667  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "bootToRescueLayer", params, &r.Options, &resp)
3668  	return
3669  }
3670  
3671  // 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.
3672  func (r Hardware_SecurityModule) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
3673  	params := []interface{}{
3674  		captureTemplate,
3675  	}
3676  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "captureImage", params, &r.Options, &resp)
3677  	return
3678  }
3679  
3680  // Changes the power state for the server.  The server's power status is changed from its remote management card.
3681  func (r Hardware_SecurityModule) ChangeRedfishPowerState(state *string) (resp bool, err error) {
3682  	params := []interface{}{
3683  		state,
3684  	}
3685  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "changeRedfishPowerState", params, &r.Options, &resp)
3686  	return
3687  }
3688  
3689  // 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.
3690  //
3691  // 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.
3692  func (r Hardware_SecurityModule) CreateFirmwareReflashTransaction(ipmi *int, raidController *int, bios *int) (resp bool, err error) {
3693  	params := []interface{}{
3694  		ipmi,
3695  		raidController,
3696  		bios,
3697  	}
3698  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createFirmwareReflashTransaction", params, &r.Options, &resp)
3699  	return
3700  }
3701  
3702  // 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.
3703  //
3704  // 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.
3705  func (r Hardware_SecurityModule) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int, networkCard *int) (resp bool, err error) {
3706  	params := []interface{}{
3707  		ipmi,
3708  		raidController,
3709  		bios,
3710  		harddrive,
3711  		networkCard,
3712  	}
3713  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
3714  	return
3715  }
3716  
3717  // 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.
3718  //
3719  // 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.
3720  func (r Hardware_SecurityModule) CreateHyperThreadingUpdateTransaction(disableHyperthreading *int) (resp bool, err error) {
3721  	params := []interface{}{
3722  		disableHyperthreading,
3723  	}
3724  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createHyperThreadingUpdateTransaction", params, &r.Options, &resp)
3725  	return
3726  }
3727  
3728  // <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
3729  // createObject() enables the creation of servers on an account. This
3730  // method is a simplified alternative to interacting with the ordering system directly.
3731  //
3732  // In order to create a server, a template object must be sent in with a few required
3733  // values.
3734  //
3735  // When this method returns an order will have been placed for a server of the specified configuration.
3736  //
3737  // To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
3738  // checking the <code>provisionDate</code> property.
3739  // When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
3740  // as your initialization parameter.
3741  //
3742  // <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
3743  //
3744  // <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
3745  // <ul class="create_object">
3746  //
3747  //	    <li><code>hostname</code>
3748  //	        <div>Hostname for the server.</div><ul>
3749  //	            <li><b>Required</b></li>
3750  //	            <li><b>Type</b> - string</li>
3751  //	        </ul>
3752  //	        <br />
3753  //	    </li>
3754  //	    <li><code>domain</code>
3755  //	        <div>Domain for the server.</div><ul>
3756  //	            <li><b>Required</b></li>
3757  //	            <li><b>Type</b> - string</li>
3758  //	        </ul>
3759  //	        <br />
3760  //	    </li>
3761  //	    <li><code>processorCoreAmount</code>
3762  //	        <div>The number of logical CPU cores to allocate.</div><ul>
3763  //	            <li><b>Required</b></li>
3764  //	            <li><b>Type</b> - int</li>
3765  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3766  //	        </ul>
3767  //	        <br />
3768  //	    </li>
3769  //	    <li><code>memoryCapacity</code>
3770  //	        <div>The amount of memory to allocate in gigabytes.</div><ul>
3771  //	            <li><b>Required</b></li>
3772  //	            <li><b>Type</b> - int</li>
3773  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3774  //	        </ul>
3775  //	        <br />
3776  //	    </li>
3777  //	    <li><code>hourlyBillingFlag</code>
3778  //	        <div>Specifies the billing type for the server.</div><ul>
3779  //	            <li><b>Required</b></li>
3780  //	            <li><b>Type</b> - boolean</li>
3781  //	            <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
3782  //	        </ul>
3783  //	        <br />
3784  //	    </li>
3785  //	    <li><code>operatingSystemReferenceCode</code>
3786  //	        <div>An identifier for the operating system to provision the server with.</div><ul>
3787  //	            <li><b>Required</b></li>
3788  //	            <li><b>Type</b> - string</li>
3789  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3790  //	        </ul>
3791  //	        <br />
3792  //	    </li>
3793  //	    <li><code>datacenter.name</code>
3794  //	        <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
3795  //	            <li><b>Required</b></li>
3796  //	            <li><b>Type</b> - string</li>
3797  //	            <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
3798  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3799  //	        </ul>
3800  //	        <http title="Example">{
3801  //	    "datacenter": {
3802  //	        "name": "dal05"
3803  //	    }
3804  //	}</http>
3805  //
3806  //	        <br />
3807  //	    </li>
3808  //	    <li><code>networkComponents.maxSpeed</code>
3809  //	        <div>Specifies the connection speed for the server's network components.</div><ul>
3810  //	            <li><b>Optional</b></li>
3811  //	            <li><b>Type</b> - int</li>
3812  //	            <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
3813  //	            <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>
3814  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3815  //	        </ul>
3816  //	            <http title="Example">{
3817  //	    "networkComponents": [
3818  //	        {
3819  //	            "maxSpeed": 1000
3820  //	        }
3821  //	    ]
3822  //	}</http>
3823  //
3824  //	        <br />
3825  //	    </li>
3826  //	    <li><code>networkComponents.redundancyEnabledFlag</code>
3827  //	        <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
3828  //	            <li><b>Optional</b></li>
3829  //	            <li><b>Type</b> - bool</li>
3830  //	            <li><b>Default</b> - <code>false</code></li>
3831  //	            <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>
3832  //	        </ul>
3833  //	            <http title="Example">{
3834  //	    "networkComponents": [
3835  //	        {
3836  //	            "redundancyEnabledFlag": false
3837  //	        }
3838  //	    ]
3839  //	}</http>
3840  //
3841  //	        <br />
3842  //	    </li>
3843  //	    <li><code>privateNetworkOnlyFlag</code>
3844  //	        <div>Specifies whether or not the server only has access to the private network</div><ul>
3845  //	            <li><b>Optional</b></li>
3846  //	            <li><b>Type</b> - boolean</li>
3847  //	            <li><b>Default</b> - <code>false</code></li>
3848  //	            <li>When true this flag specifies that a server is to only have access to the private network.</li>
3849  //	        </ul>
3850  //	        <br />
3851  //	    </li>
3852  //	    <li><code>primaryNetworkComponent.networkVlan.id</code>
3853  //	        <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
3854  //	            <li><b>Optional</b></li>
3855  //	            <li><b>Type</b> - int</li>
3856  //	            <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>
3857  //	        </ul>
3858  //	        <http title="Example">{
3859  //	    "primaryNetworkComponent": {
3860  //	        "networkVlan": {
3861  //	            "id": 1
3862  //	        }
3863  //	    }
3864  //	}</http>
3865  //
3866  //	        <br />
3867  //	    </li>
3868  //	    <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
3869  //	        <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
3870  //	            <li><b>Optional</b></li>
3871  //	            <li><b>Type</b> - int</li>
3872  //	            <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>
3873  //	        </ul>
3874  //	        <http title="Example">{
3875  //	    "primaryBackendNetworkComponent": {
3876  //	        "networkVlan": {
3877  //	            "id": 2
3878  //	        }
3879  //	    }
3880  //	}</http>
3881  //
3882  //	        <br />
3883  //	    </li>
3884  //	    <li><code>fixedConfigurationPreset.keyName</code>
3885  //	        <div></div><ul>
3886  //	            <li><b>Optional</b></li>
3887  //	            <li><b>Type</b> - string</li>
3888  //	            <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>
3889  //	            <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
3890  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3891  //	        </ul>
3892  //	        <http title="Example">{
3893  //	    "fixedConfigurationPreset": {
3894  //	        "keyName": "SOME_KEY_NAME"
3895  //	    }
3896  //	}</http>
3897  //
3898  //	        <br />
3899  //	    </li>
3900  //	    <li><code>userData.value</code>
3901  //	        <div>Arbitrary data to be made available to the server.</div><ul>
3902  //	            <li><b>Optional</b></li>
3903  //	            <li><b>Type</b> - string</li>
3904  //	            <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>
3905  //	            <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>
3906  //	        </ul>
3907  //	        <http title="Example">{
3908  //	    "userData": [
3909  //	        {
3910  //	            "value": "someValue"
3911  //	        }
3912  //	    ]
3913  //	}</http>
3914  //
3915  //	        <br />
3916  //	    </li>
3917  //	    <li><code>hardDrives</code>
3918  //	        <div>Hard drive settings for the server</div><ul>
3919  //	            <li><b>Optional</b></li>
3920  //	            <li><b>Type</b> - SoftLayer_Hardware_Component</li>
3921  //	            <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
3922  //	            <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
3923  //	            <li>Each hard drive must specify the <code>capacity</code> property.</li>
3924  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
3925  //	        </ul>
3926  //	        <http title="Example">{
3927  //	    "hardDrives": [
3928  //	        {
3929  //	            "capacity": 500
3930  //	        }
3931  //	    ]
3932  //	}</http>
3933  //
3934  //	        <br />
3935  //	    </li>
3936  //	    <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
3937  //	        <div>SSH keys to install on the server upon provisioning.</div><ul>
3938  //	            <li><b>Optional</b></li>
3939  //	            <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
3940  //	            <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>
3941  //	            <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
3942  //	            <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
3943  //	        </ul>
3944  //	        <http title="Example">{
3945  //	    "sshKeys": [
3946  //	        {
3947  //	            "id": 123
3948  //	        }
3949  //	    ]
3950  //	}</http>
3951  //
3952  //	    <br />
3953  //	</li>
3954  //	<li><code>postInstallScriptUri</code>
3955  //	    <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
3956  //	        <li><b>Optional</b></li>
3957  //	        <li><b>Type</b> - string</li>
3958  //	    </ul>
3959  //	    <br />
3960  //	</li>
3961  //
3962  // </ul>
3963  //
3964  // <h1>REST Example</h1>
3965  //
3966  //	<http title="Request">curl -X POST -d '{
3967  //	 "parameters":[
3968  //	     {
3969  //	         "hostname": "host1",
3970  //	         "domain": "example.com",
3971  //	         "processorCoreAmount": 2,
3972  //	         "memoryCapacity": 2,
3973  //	         "hourlyBillingFlag": true,
3974  //	         "operatingSystemReferenceCode": "UBUNTU_LATEST"
3975  //	     }
3976  //	 ]
3977  //	}' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
3978  //
3979  // </http>
3980  // <http title="Response">HTTP/1.1 201 Created
3981  // Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
3982  //
3983  //	{
3984  //	    "accountId": 232298,
3985  //	    "bareMetalInstanceFlag": null,
3986  //	    "domain": "example.com",
3987  //	    "hardwareStatusId": null,
3988  //	    "hostname": "host1",
3989  //	    "id": null,
3990  //	    "serviceProviderId": null,
3991  //	    "serviceProviderResourceId": null,
3992  //	    "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
3993  //	    "hourlyBillingFlag": true,
3994  //	    "memoryCapacity": 2,
3995  //	    "operatingSystemReferenceCode": "UBUNTU_LATEST",
3996  //	    "processorCoreAmount": 2
3997  //	}
3998  //
3999  // </http>
4000  func (r Hardware_SecurityModule) CreateObject(templateObject *datatypes.Hardware_SecurityModule) (resp datatypes.Hardware_SecurityModule, err error) {
4001  	params := []interface{}{
4002  		templateObject,
4003  	}
4004  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createObject", params, &r.Options, &resp)
4005  	return
4006  }
4007  
4008  // no documentation yet
4009  func (r Hardware_SecurityModule) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
4010  	params := []interface{}{
4011  		installCodes,
4012  		returnBoolean,
4013  	}
4014  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
4015  	return
4016  }
4017  
4018  // This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
4019  func (r Hardware_SecurityModule) DeleteObject() (resp bool, err error) {
4020  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "deleteObject", nil, &r.Options, &resp)
4021  	return
4022  }
4023  
4024  // Delete software component passwords.
4025  func (r Hardware_SecurityModule) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
4026  	params := []interface{}{
4027  		softwareComponentPasswords,
4028  	}
4029  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
4030  	return
4031  }
4032  
4033  // Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
4034  func (r Hardware_SecurityModule) DeleteTag(tagName *string) (resp bool, err error) {
4035  	params := []interface{}{
4036  		tagName,
4037  	}
4038  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "deleteTag", params, &r.Options, &resp)
4039  	return
4040  }
4041  
4042  // Edit a server's properties
4043  func (r Hardware_SecurityModule) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
4044  	params := []interface{}{
4045  		templateObject,
4046  	}
4047  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "editObject", params, &r.Options, &resp)
4048  	return
4049  }
4050  
4051  // Edit the properties of a software component password such as the username, password, and notes.
4052  func (r Hardware_SecurityModule) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
4053  	params := []interface{}{
4054  		softwareComponentPasswords,
4055  	}
4056  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "editSoftwareComponentPasswords", params, &r.Options, &resp)
4057  	return
4058  }
4059  
4060  // Download and run remote script from uri on the hardware.
4061  func (r Hardware_SecurityModule) ExecuteRemoteScript(uri *string) (err error) {
4062  	var resp datatypes.Void
4063  	params := []interface{}{
4064  		uri,
4065  	}
4066  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "executeRemoteScript", params, &r.Options, &resp)
4067  	return
4068  }
4069  
4070  // 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.
4071  func (r Hardware_SecurityModule) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
4072  	params := []interface{}{
4073  		ipAddress,
4074  	}
4075  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "findByIpAddress", params, &r.Options, &resp)
4076  	return
4077  }
4078  
4079  // 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]].
4080  //
4081  // This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
4082  //
4083  // See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
4084  func (r Hardware_SecurityModule) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
4085  	params := []interface{}{
4086  		templateObject,
4087  	}
4088  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "generateOrderTemplate", params, &r.Options, &resp)
4089  	return
4090  }
4091  
4092  // Retrieve The account associated with a piece of hardware.
4093  func (r Hardware_SecurityModule) GetAccount() (resp datatypes.Account, err error) {
4094  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAccount", nil, &r.Options, &resp)
4095  	return
4096  }
4097  
4098  // Retrieve A piece of hardware's active physical components.
4099  func (r Hardware_SecurityModule) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
4100  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveComponents", nil, &r.Options, &resp)
4101  	return
4102  }
4103  
4104  // Retrieve The billing item for a server's attached network firewall.
4105  func (r Hardware_SecurityModule) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
4106  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
4107  	return
4108  }
4109  
4110  // Retrieve A piece of hardware's active network monitoring incidents.
4111  func (r Hardware_SecurityModule) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
4112  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
4113  	return
4114  }
4115  
4116  // Retrieve
4117  func (r Hardware_SecurityModule) GetActiveTickets() (resp []datatypes.Ticket, err error) {
4118  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTickets", nil, &r.Options, &resp)
4119  	return
4120  }
4121  
4122  // Retrieve Transaction currently running for server.
4123  func (r Hardware_SecurityModule) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
4124  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTransaction", nil, &r.Options, &resp)
4125  	return
4126  }
4127  
4128  // Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
4129  func (r Hardware_SecurityModule) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
4130  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getActiveTransactions", nil, &r.Options, &resp)
4131  	return
4132  }
4133  
4134  // Retrieve
4135  func (r Hardware_SecurityModule) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
4136  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllPowerComponents", nil, &r.Options, &resp)
4137  	return
4138  }
4139  
4140  // Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
4141  func (r Hardware_SecurityModule) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
4142  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedHost", nil, &r.Options, &resp)
4143  	return
4144  }
4145  
4146  // Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
4147  func (r Hardware_SecurityModule) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4148  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedNetworkStorage", nil, &r.Options, &resp)
4149  	return
4150  }
4151  
4152  // Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
4153  func (r Hardware_SecurityModule) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
4154  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
4155  	return
4156  }
4157  
4158  // Retrieve Information regarding an antivirus/spyware software component object.
4159  func (r Hardware_SecurityModule) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
4160  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
4161  	return
4162  }
4163  
4164  // This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
4165  func (r Hardware_SecurityModule) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
4166  	params := []interface{}{
4167  		nasType,
4168  	}
4169  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAttachedNetworkStorages", params, &r.Options, &resp)
4170  	return
4171  }
4172  
4173  // Retrieve Information regarding a piece of hardware's specific attributes.
4174  func (r Hardware_SecurityModule) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
4175  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAttributes", nil, &r.Options, &resp)
4176  	return
4177  }
4178  
4179  // Retrieves a list of available term prices to this hardware. Currently, price terms are only available for increasing term length to monthly billed servers.
4180  func (r Hardware_SecurityModule) GetAvailableBillingTermChangePrices() (resp []datatypes.Product_Item_Price, err error) {
4181  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAvailableBillingTermChangePrices", nil, &r.Options, &resp)
4182  	return
4183  }
4184  
4185  // Retrieve An object that stores the maximum level for the monitoring query types and response types.
4186  func (r Hardware_SecurityModule) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
4187  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAvailableMonitoring", nil, &r.Options, &resp)
4188  	return
4189  }
4190  
4191  // This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
4192  func (r Hardware_SecurityModule) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
4193  	params := []interface{}{
4194  		nasType,
4195  	}
4196  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAvailableNetworkStorages", params, &r.Options, &resp)
4197  	return
4198  }
4199  
4200  // Retrieve The average daily total bandwidth usage for the current billing cycle.
4201  func (r Hardware_SecurityModule) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
4202  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
4203  	return
4204  }
4205  
4206  // Retrieve The average daily private bandwidth usage for the current billing cycle.
4207  func (r Hardware_SecurityModule) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
4208  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
4209  	return
4210  }
4211  
4212  // Retrieve The average daily public bandwidth usage for the current billing cycle.
4213  func (r Hardware_SecurityModule) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
4214  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
4215  	return
4216  }
4217  
4218  // Use this method to return an array of private bandwidth utilization records between a given date range.
4219  //
4220  // This method represents the NEW version of getFrontendBandwidthUse
4221  func (r Hardware_SecurityModule) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4222  	params := []interface{}{
4223  		startDate,
4224  		endDate,
4225  	}
4226  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendBandwidthUsage", params, &r.Options, &resp)
4227  	return
4228  }
4229  
4230  // 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.
4231  func (r Hardware_SecurityModule) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4232  	params := []interface{}{
4233  		startDate,
4234  		endDate,
4235  	}
4236  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendIncomingBandwidth", params, &r.Options, &resp)
4237  	return
4238  }
4239  
4240  // Retrieve A piece of hardware's back-end or private network components.
4241  func (r Hardware_SecurityModule) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
4242  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendNetworkComponents", nil, &r.Options, &resp)
4243  	return
4244  }
4245  
4246  // 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.
4247  func (r Hardware_SecurityModule) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4248  	params := []interface{}{
4249  		startDate,
4250  		endDate,
4251  	}
4252  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
4253  	return
4254  }
4255  
4256  // Retrieve A hardware's backend or private router.
4257  func (r Hardware_SecurityModule) GetBackendRouters() (resp []datatypes.Hardware, err error) {
4258  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBackendRouters", nil, &r.Options, &resp)
4259  	return
4260  }
4261  
4262  // Retrieve A hardware's allotted bandwidth (measured in GB).
4263  func (r Hardware_SecurityModule) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
4264  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthAllocation", nil, &r.Options, &resp)
4265  	return
4266  }
4267  
4268  // Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
4269  func (r Hardware_SecurityModule) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
4270  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
4271  	return
4272  }
4273  
4274  // 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.
4275  func (r Hardware_SecurityModule) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4276  	params := []interface{}{
4277  		startDate,
4278  		endDate,
4279  	}
4280  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBandwidthForDateRange", params, &r.Options, &resp)
4281  	return
4282  }
4283  
4284  // Retrieve Information regarding a piece of hardware's benchmark certifications.
4285  func (r Hardware_SecurityModule) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
4286  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBenchmarkCertifications", nil, &r.Options, &resp)
4287  	return
4288  }
4289  
4290  // Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
4291  func (r Hardware_SecurityModule) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
4292  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
4293  	return
4294  }
4295  
4296  // Retrieve The raw private bandwidth usage data for the current billing cycle.
4297  func (r Hardware_SecurityModule) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
4298  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
4299  	return
4300  }
4301  
4302  // Retrieve The raw public bandwidth usage data for the current billing cycle.
4303  func (r Hardware_SecurityModule) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
4304  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
4305  	return
4306  }
4307  
4308  // Retrieve Information regarding the billing item for a server.
4309  func (r Hardware_SecurityModule) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
4310  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingItem", nil, &r.Options, &resp)
4311  	return
4312  }
4313  
4314  // Retrieve A flag indicating that a billing item exists.
4315  func (r Hardware_SecurityModule) GetBillingItemFlag() (resp bool, err error) {
4316  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBillingItemFlag", nil, &r.Options, &resp)
4317  	return
4318  }
4319  
4320  // Retrieve Determine if BIOS password should be left as null.
4321  func (r Hardware_SecurityModule) GetBiosPasswordNullFlag() (resp bool, err error) {
4322  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
4323  	return
4324  }
4325  
4326  // Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
4327  func (r Hardware_SecurityModule) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
4328  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
4329  	return
4330  }
4331  
4332  // Retrieve the valid boot modes for this server
4333  func (r Hardware_SecurityModule) GetBootModeOptions() (resp []string, err error) {
4334  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBootModeOptions", nil, &r.Options, &resp)
4335  	return
4336  }
4337  
4338  // Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
4339  func (r Hardware_SecurityModule) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
4340  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
4341  	return
4342  }
4343  
4344  // Retrieve Determine if the server is able to be image captured. If unable to image capture a reason will be provided.
4345  func (r Hardware_SecurityModule) GetCaptureEnabledFlag() (resp datatypes.Container_Hardware_CaptureEnabled, err error) {
4346  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCaptureEnabledFlag", nil, &r.Options, &resp)
4347  	return
4348  }
4349  
4350  // Retrieve Child hardware.
4351  func (r Hardware_SecurityModule) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
4352  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getChildrenHardware", nil, &r.Options, &resp)
4353  	return
4354  }
4355  
4356  // no documentation yet
4357  func (r Hardware_SecurityModule) GetComponentDetailsXML() (resp string, err error) {
4358  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getComponentDetailsXML", nil, &r.Options, &resp)
4359  	return
4360  }
4361  
4362  // Retrieve A piece of hardware's components.
4363  func (r Hardware_SecurityModule) GetComponents() (resp []datatypes.Hardware_Component, err error) {
4364  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getComponents", nil, &r.Options, &resp)
4365  	return
4366  }
4367  
4368  // Retrieve
4369  func (r Hardware_SecurityModule) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
4370  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
4371  	return
4372  }
4373  
4374  // Retrieve A continuous data protection/server backup software component object.
4375  func (r Hardware_SecurityModule) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
4376  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
4377  	return
4378  }
4379  
4380  // Retrieve A server's control panel.
4381  func (r Hardware_SecurityModule) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
4382  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getControlPanel", nil, &r.Options, &resp)
4383  	return
4384  }
4385  
4386  // Retrieve The total cost of a server, measured in US Dollars ($USD).
4387  func (r Hardware_SecurityModule) GetCost() (resp datatypes.Float64, err error) {
4388  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCost", nil, &r.Options, &resp)
4389  	return
4390  }
4391  
4392  // There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
4393  //
4394  // Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
4395  func (r Hardware_SecurityModule) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
4396  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCreateObjectOptions", nil, &r.Options, &resp)
4397  	return
4398  }
4399  
4400  // Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
4401  func (r Hardware_SecurityModule) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
4402  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
4403  	return
4404  }
4405  
4406  // 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.
4407  func (r Hardware_SecurityModule) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
4408  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
4409  	return
4410  }
4411  
4412  // Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
4413  func (r Hardware_SecurityModule) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
4414  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
4415  	return
4416  }
4417  
4418  // Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
4419  func (r Hardware_SecurityModule) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
4420  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillingDetail", nil, &r.Options, &resp)
4421  	return
4422  }
4423  
4424  // 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.
4425  func (r Hardware_SecurityModule) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
4426  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCurrentBillingTotal", nil, &r.Options, &resp)
4427  	return
4428  }
4429  
4430  // Retrieve Indicates if a server has a Customer Installed OS
4431  func (r Hardware_SecurityModule) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
4432  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
4433  	return
4434  }
4435  
4436  // Retrieve Indicates if a server is a customer owned device.
4437  func (r Hardware_SecurityModule) GetCustomerOwnedFlag() (resp bool, err error) {
4438  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getCustomerOwnedFlag", nil, &r.Options, &resp)
4439  	return
4440  }
4441  
4442  // 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.
4443  func (r Hardware_SecurityModule) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4444  	params := []interface{}{
4445  		startDate,
4446  		endDate,
4447  	}
4448  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDailyAverage", params, &r.Options, &resp)
4449  	return
4450  }
4451  
4452  // Retrieve Information regarding the datacenter in which a piece of hardware resides.
4453  func (r Hardware_SecurityModule) GetDatacenter() (resp datatypes.Location, err error) {
4454  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDatacenter", nil, &r.Options, &resp)
4455  	return
4456  }
4457  
4458  // Retrieve The name of the datacenter in which a piece of hardware resides.
4459  func (r Hardware_SecurityModule) GetDatacenterName() (resp string, err error) {
4460  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDatacenterName", nil, &r.Options, &resp)
4461  	return
4462  }
4463  
4464  // Retrieve Number of day(s) a server have been in spare pool.
4465  func (r Hardware_SecurityModule) GetDaysInSparePool() (resp int, err error) {
4466  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDaysInSparePool", nil, &r.Options, &resp)
4467  	return
4468  }
4469  
4470  // Retrieve All hardware that has uplink network connections to a piece of hardware.
4471  func (r Hardware_SecurityModule) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
4472  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkHardware", nil, &r.Options, &resp)
4473  	return
4474  }
4475  
4476  // Retrieve All hardware that has uplink network connections to a piece of hardware.
4477  func (r Hardware_SecurityModule) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
4478  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
4479  	return
4480  }
4481  
4482  // Retrieve Information regarding all servers attached to a piece of network hardware.
4483  func (r Hardware_SecurityModule) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
4484  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkServers", nil, &r.Options, &resp)
4485  	return
4486  }
4487  
4488  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
4489  func (r Hardware_SecurityModule) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4490  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
4491  	return
4492  }
4493  
4494  // Retrieve All hardware downstream from a network device.
4495  func (r Hardware_SecurityModule) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
4496  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
4497  	return
4498  }
4499  
4500  // Retrieve All network hardware downstream from the selected piece of hardware.
4501  func (r Hardware_SecurityModule) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
4502  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
4503  	return
4504  }
4505  
4506  // Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware. [DEPRECATED]
4507  func (r Hardware_SecurityModule) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
4508  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
4509  	return
4510  }
4511  
4512  // Retrieve Information regarding all servers attached downstream to a piece of network hardware.
4513  func (r Hardware_SecurityModule) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
4514  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamServers", nil, &r.Options, &resp)
4515  	return
4516  }
4517  
4518  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
4519  func (r Hardware_SecurityModule) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4520  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
4521  	return
4522  }
4523  
4524  // Retrieve The drive controllers contained within a piece of hardware.
4525  func (r Hardware_SecurityModule) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
4526  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getDriveControllers", nil, &r.Options, &resp)
4527  	return
4528  }
4529  
4530  // Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
4531  func (r Hardware_SecurityModule) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4532  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getEvaultNetworkStorage", nil, &r.Options, &resp)
4533  	return
4534  }
4535  
4536  // Get the subnets associated with this server that are protectable by a network component firewall.
4537  func (r Hardware_SecurityModule) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
4538  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
4539  	return
4540  }
4541  
4542  // Retrieve Information regarding a piece of hardware's firewall services.
4543  func (r Hardware_SecurityModule) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
4544  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFirewallServiceComponent", nil, &r.Options, &resp)
4545  	return
4546  }
4547  
4548  // Retrieve Defines the fixed components in a fixed configuration bare metal server.
4549  func (r Hardware_SecurityModule) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
4550  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFixedConfigurationPreset", nil, &r.Options, &resp)
4551  	return
4552  }
4553  
4554  // Use this method to return an array of public bandwidth utilization records between a given date range.
4555  //
4556  // This method represents the NEW version of getFrontendBandwidthUse
4557  func (r Hardware_SecurityModule) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4558  	params := []interface{}{
4559  		startDate,
4560  		endDate,
4561  	}
4562  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendBandwidthUsage", params, &r.Options, &resp)
4563  	return
4564  }
4565  
4566  // 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).
4567  func (r Hardware_SecurityModule) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4568  	params := []interface{}{
4569  		startDate,
4570  		endDate,
4571  	}
4572  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
4573  	return
4574  }
4575  
4576  // Retrieve A piece of hardware's front-end or public network components.
4577  func (r Hardware_SecurityModule) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
4578  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendNetworkComponents", nil, &r.Options, &resp)
4579  	return
4580  }
4581  
4582  // 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).
4583  func (r Hardware_SecurityModule) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
4584  	params := []interface{}{
4585  		startDate,
4586  		endDate,
4587  	}
4588  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
4589  	return
4590  }
4591  
4592  // Retrieve A hardware's frontend or public router.
4593  func (r Hardware_SecurityModule) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
4594  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFrontendRouters", nil, &r.Options, &resp)
4595  	return
4596  }
4597  
4598  // Retrieve Information regarding the future billing item for a server.
4599  func (r Hardware_SecurityModule) GetFutureBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
4600  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getFutureBillingItem", nil, &r.Options, &resp)
4601  	return
4602  }
4603  
4604  // Retrieve A hardware's universally unique identifier.
4605  func (r Hardware_SecurityModule) GetGlobalIdentifier() (resp string, err error) {
4606  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getGlobalIdentifier", nil, &r.Options, &resp)
4607  	return
4608  }
4609  
4610  // Retrieve The hard drives contained within a piece of hardware.
4611  func (r Hardware_SecurityModule) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
4612  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardDrives", nil, &r.Options, &resp)
4613  	return
4614  }
4615  
4616  // Retrieve a server by searching for the primary IP address.
4617  func (r Hardware_SecurityModule) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
4618  	params := []interface{}{
4619  		ipAddress,
4620  	}
4621  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareByIpAddress", params, &r.Options, &resp)
4622  	return
4623  }
4624  
4625  // Retrieve The chassis that a piece of hardware is housed in.
4626  func (r Hardware_SecurityModule) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
4627  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareChassis", nil, &r.Options, &resp)
4628  	return
4629  }
4630  
4631  // Retrieve A hardware's function.
4632  func (r Hardware_SecurityModule) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
4633  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareFunction", nil, &r.Options, &resp)
4634  	return
4635  }
4636  
4637  // Retrieve A hardware's function.
4638  func (r Hardware_SecurityModule) GetHardwareFunctionDescription() (resp string, err error) {
4639  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareFunctionDescription", nil, &r.Options, &resp)
4640  	return
4641  }
4642  
4643  // Retrieve A hardware's power/transaction state.
4644  func (r Hardware_SecurityModule) GetHardwareState() (resp datatypes.Hardware_State, err error) {
4645  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareState", nil, &r.Options, &resp)
4646  	return
4647  }
4648  
4649  // Retrieve A hardware's status.
4650  func (r Hardware_SecurityModule) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
4651  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHardwareStatus", nil, &r.Options, &resp)
4652  	return
4653  }
4654  
4655  // Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
4656  func (r Hardware_SecurityModule) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
4657  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
4658  	return
4659  }
4660  
4661  // Retrieve Determine in hardware object has TPM enabled.
4662  func (r Hardware_SecurityModule) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
4663  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
4664  	return
4665  }
4666  
4667  // Retrieve Information regarding a host IPS software component object.
4668  func (r Hardware_SecurityModule) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
4669  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
4670  	return
4671  }
4672  
4673  // 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
4674  //
4675  // '02/01/2008 0:00'
4676  //
4677  // 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).
4678  //
4679  // For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
4680  func (r Hardware_SecurityModule) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
4681  	params := []interface{}{
4682  		mode,
4683  		day,
4684  	}
4685  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHourlyBandwidth", params, &r.Options, &resp)
4686  	return
4687  }
4688  
4689  // Retrieve A server's hourly billing status.
4690  func (r Hardware_SecurityModule) GetHourlyBillingFlag() (resp bool, err error) {
4691  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getHourlyBillingFlag", nil, &r.Options, &resp)
4692  	return
4693  }
4694  
4695  // Retrieve The sum of all the inbound network traffic data for the last 30 days.
4696  func (r Hardware_SecurityModule) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
4697  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundBandwidthUsage", nil, &r.Options, &resp)
4698  	return
4699  }
4700  
4701  // Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
4702  func (r Hardware_SecurityModule) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
4703  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
4704  	return
4705  }
4706  
4707  // Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
4708  func (r Hardware_SecurityModule) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
4709  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
4710  	return
4711  }
4712  
4713  // Retrieve Whether or not this hardware object is eligible to change to term billing.
4714  func (r Hardware_SecurityModule) GetIsBillingTermChangeAvailableFlag() (resp bool, err error) {
4715  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsBillingTermChangeAvailableFlag", nil, &r.Options, &resp)
4716  	return
4717  }
4718  
4719  // Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
4720  func (r Hardware_SecurityModule) GetIsCloudReadyNodeCertified() (resp bool, err error) {
4721  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
4722  	return
4723  }
4724  
4725  // Retrieve Determine if remote management has been disabled due to port speed.
4726  func (r Hardware_SecurityModule) GetIsIpmiDisabled() (resp bool, err error) {
4727  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsIpmiDisabled", nil, &r.Options, &resp)
4728  	return
4729  }
4730  
4731  // Retrieve A server that has nfs only drive.
4732  func (r Hardware_SecurityModule) GetIsNfsOnly() (resp string, err error) {
4733  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsNfsOnly", nil, &r.Options, &resp)
4734  	return
4735  }
4736  
4737  // Retrieve Determine if hardware object has the QE_INTERNAL_SERVER attribute.
4738  func (r Hardware_SecurityModule) GetIsQeInternalServer() (resp bool, err error) {
4739  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsQeInternalServer", nil, &r.Options, &resp)
4740  	return
4741  }
4742  
4743  // Retrieve Determine if hardware object is a Virtual Private Cloud node.
4744  func (r Hardware_SecurityModule) GetIsVirtualPrivateCloudNode() (resp bool, err error) {
4745  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getIsVirtualPrivateCloudNode", nil, &r.Options, &resp)
4746  	return
4747  }
4748  
4749  // Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
4750  func (r Hardware_SecurityModule) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
4751  	params := []interface{}{
4752  		softwareDescriptions,
4753  		includeTranslationsFlag,
4754  		returnAllPricesFlag,
4755  	}
4756  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
4757  	return
4758  }
4759  
4760  // Retrieve The last transaction that a server's operating system was loaded.
4761  func (r Hardware_SecurityModule) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
4762  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLastOperatingSystemReload", nil, &r.Options, &resp)
4763  	return
4764  }
4765  
4766  // Retrieve Information regarding the last transaction a server performed.
4767  func (r Hardware_SecurityModule) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
4768  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLastTransaction", nil, &r.Options, &resp)
4769  	return
4770  }
4771  
4772  // Retrieve A piece of hardware's latest network monitoring incident.
4773  func (r Hardware_SecurityModule) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
4774  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
4775  	return
4776  }
4777  
4778  // Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
4779  func (r Hardware_SecurityModule) GetLocation() (resp datatypes.Location, err error) {
4780  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLocation", nil, &r.Options, &resp)
4781  	return
4782  }
4783  
4784  // Retrieve
4785  func (r Hardware_SecurityModule) GetLocationPathString() (resp string, err error) {
4786  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLocationPathString", nil, &r.Options, &resp)
4787  	return
4788  }
4789  
4790  // Retrieve Information regarding a lockbox account associated with a server.
4791  func (r Hardware_SecurityModule) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
4792  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLockboxNetworkStorage", nil, &r.Options, &resp)
4793  	return
4794  }
4795  
4796  // Retrieve Returns a list of logical volumes on the physical machine.
4797  func (r Hardware_SecurityModule) GetLogicalVolumeStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
4798  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getLogicalVolumeStorageGroups", nil, &r.Options, &resp)
4799  	return
4800  }
4801  
4802  // Retrieve A flag indicating that the hardware is a managed resource.
4803  func (r Hardware_SecurityModule) GetManagedResourceFlag() (resp bool, err error) {
4804  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getManagedResourceFlag", nil, &r.Options, &resp)
4805  	return
4806  }
4807  
4808  // Retrieve the remote management network component attached with this server.
4809  func (r Hardware_SecurityModule) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
4810  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getManagementNetworkComponent", nil, &r.Options, &resp)
4811  	return
4812  }
4813  
4814  // Retrieve Information regarding a piece of hardware's memory.
4815  func (r Hardware_SecurityModule) GetMemory() (resp []datatypes.Hardware_Component, err error) {
4816  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMemory", nil, &r.Options, &resp)
4817  	return
4818  }
4819  
4820  // Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
4821  func (r Hardware_SecurityModule) GetMemoryCapacity() (resp uint, err error) {
4822  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMemoryCapacity", nil, &r.Options, &resp)
4823  	return
4824  }
4825  
4826  // Retrieve A piece of hardware's metric tracking object.
4827  func (r Hardware_SecurityModule) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
4828  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMetricTrackingObject", nil, &r.Options, &resp)
4829  	return
4830  }
4831  
4832  // Retrieve The metric tracking object id for this server.
4833  func (r Hardware_SecurityModule) GetMetricTrackingObjectId() (resp int, err error) {
4834  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMetricTrackingObjectId", nil, &r.Options, &resp)
4835  	return
4836  }
4837  
4838  // Retrieve
4839  func (r Hardware_SecurityModule) GetModules() (resp []datatypes.Hardware_Component, err error) {
4840  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getModules", nil, &r.Options, &resp)
4841  	return
4842  }
4843  
4844  // Retrieve
4845  func (r Hardware_SecurityModule) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
4846  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringRobot", nil, &r.Options, &resp)
4847  	return
4848  }
4849  
4850  // Retrieve Information regarding a piece of hardware's network monitoring services.
4851  func (r Hardware_SecurityModule) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
4852  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringServiceComponent", nil, &r.Options, &resp)
4853  	return
4854  }
4855  
4856  // Retrieve
4857  func (r Hardware_SecurityModule) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
4858  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
4859  	return
4860  }
4861  
4862  // 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
4863  func (r Hardware_SecurityModule) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
4864  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMonitoringUserNotification", nil, &r.Options, &resp)
4865  	return
4866  }
4867  
4868  // Retrieve Information regarding a piece of hardware's motherboard.
4869  func (r Hardware_SecurityModule) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
4870  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getMotherboard", nil, &r.Options, &resp)
4871  	return
4872  }
4873  
4874  // Retrieve Information regarding a piece of hardware's network cards.
4875  func (r Hardware_SecurityModule) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
4876  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkCards", nil, &r.Options, &resp)
4877  	return
4878  }
4879  
4880  // 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.
4881  func (r Hardware_SecurityModule) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
4882  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
4883  	return
4884  }
4885  
4886  // Retrieve Returns a hardware's network components.
4887  func (r Hardware_SecurityModule) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
4888  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkComponents", nil, &r.Options, &resp)
4889  	return
4890  }
4891  
4892  // Retrieve The gateway member if this device is part of a network gateway.
4893  func (r Hardware_SecurityModule) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
4894  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkGatewayMember", nil, &r.Options, &resp)
4895  	return
4896  }
4897  
4898  // Retrieve Whether or not this device is part of a network gateway.
4899  func (r Hardware_SecurityModule) GetNetworkGatewayMemberFlag() (resp bool, err error) {
4900  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
4901  	return
4902  }
4903  
4904  // Retrieve A piece of hardware's network management IP address.
4905  func (r Hardware_SecurityModule) GetNetworkManagementIpAddress() (resp string, err error) {
4906  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
4907  	return
4908  }
4909  
4910  // Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
4911  func (r Hardware_SecurityModule) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
4912  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
4913  	return
4914  }
4915  
4916  // Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
4917  func (r Hardware_SecurityModule) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
4918  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
4919  	return
4920  }
4921  
4922  // Retrieve The status of all of a piece of hardware's network monitoring incidents.
4923  func (r Hardware_SecurityModule) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
4924  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
4925  	return
4926  }
4927  
4928  // Retrieve Information regarding a piece of hardware's network monitors.
4929  func (r Hardware_SecurityModule) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
4930  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkMonitors", nil, &r.Options, &resp)
4931  	return
4932  }
4933  
4934  // Retrieve The value of a hardware's network status attribute. [DEPRECATED]
4935  func (r Hardware_SecurityModule) GetNetworkStatus() (resp string, err error) {
4936  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStatus", nil, &r.Options, &resp)
4937  	return
4938  }
4939  
4940  // Retrieve The hardware's related network status attribute. [DEPRECATED]
4941  func (r Hardware_SecurityModule) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
4942  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStatusAttribute", nil, &r.Options, &resp)
4943  	return
4944  }
4945  
4946  // Retrieve Information regarding a piece of hardware's associated network storage service account.
4947  func (r Hardware_SecurityModule) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
4948  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkStorage", nil, &r.Options, &resp)
4949  	return
4950  }
4951  
4952  // Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
4953  func (r Hardware_SecurityModule) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
4954  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNetworkVlans", nil, &r.Options, &resp)
4955  	return
4956  }
4957  
4958  // Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
4959  func (r Hardware_SecurityModule) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
4960  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
4961  	return
4962  }
4963  
4964  // Retrieve
4965  func (r Hardware_SecurityModule) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
4966  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNotesHistory", nil, &r.Options, &resp)
4967  	return
4968  }
4969  
4970  // Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
4971  func (r Hardware_SecurityModule) GetNvRamCapacity() (resp uint, err error) {
4972  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNvRamCapacity", nil, &r.Options, &resp)
4973  	return
4974  }
4975  
4976  // Retrieve
4977  func (r Hardware_SecurityModule) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
4978  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getNvRamComponentModels", nil, &r.Options, &resp)
4979  	return
4980  }
4981  
4982  // no documentation yet
4983  func (r Hardware_SecurityModule) GetObject() (resp datatypes.Hardware_SecurityModule, err error) {
4984  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getObject", nil, &r.Options, &resp)
4985  	return
4986  }
4987  
4988  // Retrieve An open ticket requesting cancellation of this server, if one exists.
4989  func (r Hardware_SecurityModule) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
4990  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOpenCancellationTicket", nil, &r.Options, &resp)
4991  	return
4992  }
4993  
4994  // Retrieve Information regarding a piece of hardware's operating system.
4995  func (r Hardware_SecurityModule) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
4996  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOperatingSystem", nil, &r.Options, &resp)
4997  	return
4998  }
4999  
5000  // Retrieve A hardware's operating system software description.
5001  func (r Hardware_SecurityModule) GetOperatingSystemReferenceCode() (resp string, err error) {
5002  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
5003  	return
5004  }
5005  
5006  // Retrieve The sum of all the outbound network traffic data for the last 30 days.
5007  func (r Hardware_SecurityModule) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
5008  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
5009  	return
5010  }
5011  
5012  // Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
5013  func (r Hardware_SecurityModule) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
5014  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
5015  	return
5016  }
5017  
5018  // Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
5019  func (r Hardware_SecurityModule) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
5020  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
5021  	return
5022  }
5023  
5024  // Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
5025  func (r Hardware_SecurityModule) GetOverBandwidthAllocationFlag() (resp int, err error) {
5026  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
5027  	return
5028  }
5029  
5030  // 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.
5031  func (r Hardware_SecurityModule) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
5032  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPMInfo", nil, &r.Options, &resp)
5033  	return
5034  }
5035  
5036  // Retrieve Blade Bay
5037  func (r Hardware_SecurityModule) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
5038  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getParentBay", nil, &r.Options, &resp)
5039  	return
5040  }
5041  
5042  // Retrieve Parent Hardware.
5043  func (r Hardware_SecurityModule) GetParentHardware() (resp datatypes.Hardware, err error) {
5044  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getParentHardware", nil, &r.Options, &resp)
5045  	return
5046  }
5047  
5048  // Retrieve
5049  func (r Hardware_SecurityModule) GetPartitions() (resp []datatypes.Hardware_Server_Partition, err error) {
5050  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPartitions", nil, &r.Options, &resp)
5051  	return
5052  }
5053  
5054  // Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
5055  func (r Hardware_SecurityModule) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
5056  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPointOfPresenceLocation", nil, &r.Options, &resp)
5057  	return
5058  }
5059  
5060  // Retrieve The power components for a hardware object.
5061  func (r Hardware_SecurityModule) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
5062  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPowerComponents", nil, &r.Options, &resp)
5063  	return
5064  }
5065  
5066  // Retrieve Information regarding a piece of hardware's power supply.
5067  func (r Hardware_SecurityModule) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
5068  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPowerSupply", nil, &r.Options, &resp)
5069  	return
5070  }
5071  
5072  // Retrieve The hardware's primary private IP address.
5073  func (r Hardware_SecurityModule) GetPrimaryBackendIpAddress() (resp string, err error) {
5074  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
5075  	return
5076  }
5077  
5078  // Retrieve Information regarding the hardware's primary back-end network component.
5079  func (r Hardware_SecurityModule) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
5080  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
5081  	return
5082  }
5083  
5084  // no documentation yet
5085  func (r Hardware_SecurityModule) GetPrimaryDriveSize() (resp int, err error) {
5086  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryDriveSize", nil, &r.Options, &resp)
5087  	return
5088  }
5089  
5090  // Retrieve The hardware's primary public IP address.
5091  func (r Hardware_SecurityModule) GetPrimaryIpAddress() (resp string, err error) {
5092  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryIpAddress", nil, &r.Options, &resp)
5093  	return
5094  }
5095  
5096  // Retrieve Information regarding the hardware's primary public network component.
5097  func (r Hardware_SecurityModule) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
5098  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
5099  	return
5100  }
5101  
5102  // Retrieve A collection of backendNetwork components
5103  func (r Hardware_SecurityModule) GetPrivateBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
5104  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBackendNetworkComponents", nil, &r.Options, &resp)
5105  	return
5106  }
5107  
5108  // Retrieve this server's private bandwidth data. If no timeframe is specified then getPrivateBandwidthData retrieves the last 24 hours of public bandwidth usage.
5109  func (r Hardware_SecurityModule) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
5110  	params := []interface{}{
5111  		startTime,
5112  		endTime,
5113  	}
5114  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBandwidthData", params, &r.Options, &resp)
5115  	return
5116  }
5117  
5118  // 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.
5119  func (r Hardware_SecurityModule) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
5120  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
5121  	return
5122  }
5123  
5124  // Retrieve A server's primary private IP address.
5125  func (r Hardware_SecurityModule) GetPrivateIpAddress() (resp string, err error) {
5126  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateIpAddress", nil, &r.Options, &resp)
5127  	return
5128  }
5129  
5130  // Retrieve the private network component attached with this server.
5131  func (r Hardware_SecurityModule) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
5132  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateNetworkComponent", nil, &r.Options, &resp)
5133  	return
5134  }
5135  
5136  // Retrieve Whether the hardware only has access to the private network.
5137  func (r Hardware_SecurityModule) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
5138  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
5139  	return
5140  }
5141  
5142  // Retrieve the backend VLAN for the primary IP address of the server
5143  func (r Hardware_SecurityModule) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
5144  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPrivateVlan", nil, &r.Options, &resp)
5145  	return
5146  }
5147  
5148  // Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
5149  func (r Hardware_SecurityModule) GetProcessorCoreAmount() (resp uint, err error) {
5150  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessorCoreAmount", nil, &r.Options, &resp)
5151  	return
5152  }
5153  
5154  // Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
5155  func (r Hardware_SecurityModule) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
5156  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
5157  	return
5158  }
5159  
5160  // Retrieve Information regarding a piece of hardware's processors.
5161  func (r Hardware_SecurityModule) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
5162  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProcessors", nil, &r.Options, &resp)
5163  	return
5164  }
5165  
5166  // Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
5167  func (r Hardware_SecurityModule) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
5168  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
5169  	return
5170  }
5171  
5172  // Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
5173  func (r Hardware_SecurityModule) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
5174  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
5175  	return
5176  }
5177  
5178  // no documentation yet
5179  func (r Hardware_SecurityModule) GetProvisionDate() (resp datatypes.Time, err error) {
5180  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getProvisionDate", nil, &r.Options, &resp)
5181  	return
5182  }
5183  
5184  // Retrieve this server's public bandwidth data. If no timeframe is specified then getPublicBandwidthData retrieves the last 24 hours of public bandwidth usage.
5185  func (r Hardware_SecurityModule) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
5186  	params := []interface{}{
5187  		startTime,
5188  		endTime,
5189  	}
5190  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthData", params, &r.Options, &resp)
5191  	return
5192  }
5193  
5194  // 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.
5195  func (r Hardware_SecurityModule) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
5196  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
5197  	return
5198  }
5199  
5200  // Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
5201  func (r Hardware_SecurityModule) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
5202  	params := []interface{}{
5203  		startTime,
5204  		endTime,
5205  	}
5206  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicBandwidthTotal", params, &r.Options, &resp)
5207  	return
5208  }
5209  
5210  // 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.
5211  func (r Hardware_SecurityModule) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
5212  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicNetworkComponent", nil, &r.Options, &resp)
5213  	return
5214  }
5215  
5216  // Retrieve the frontend VLAN for the primary IP address of the server
5217  func (r Hardware_SecurityModule) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
5218  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicVlan", nil, &r.Options, &resp)
5219  	return
5220  }
5221  
5222  // Retrieve the frontend network Vlan by searching the hostname of a server
5223  func (r Hardware_SecurityModule) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
5224  	params := []interface{}{
5225  		hostname,
5226  	}
5227  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getPublicVlanByHostname", params, &r.Options, &resp)
5228  	return
5229  }
5230  
5231  // Retrieve
5232  func (r Hardware_SecurityModule) GetRack() (resp datatypes.Location, err error) {
5233  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRack", nil, &r.Options, &resp)
5234  	return
5235  }
5236  
5237  // Retrieve The RAID controllers contained within a piece of hardware.
5238  func (r Hardware_SecurityModule) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
5239  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRaidControllers", nil, &r.Options, &resp)
5240  	return
5241  }
5242  
5243  // Retrieve Determine if hardware object is vSan Ready Node.
5244  func (r Hardware_SecurityModule) GetReadyNodeFlag() (resp bool, err error) {
5245  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getReadyNodeFlag", nil, &r.Options, &resp)
5246  	return
5247  }
5248  
5249  // Retrieve Recent events that impact this hardware.
5250  func (r Hardware_SecurityModule) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
5251  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRecentEvents", nil, &r.Options, &resp)
5252  	return
5253  }
5254  
5255  // Retrieve The last five commands issued to the server's remote management card.
5256  func (r Hardware_SecurityModule) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
5257  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
5258  	return
5259  }
5260  
5261  // 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'.
5262  func (r Hardware_SecurityModule) GetRedfishPowerState() (resp string, err error) {
5263  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRedfishPowerState", nil, &r.Options, &resp)
5264  	return
5265  }
5266  
5267  // Retrieve
5268  func (r Hardware_SecurityModule) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
5269  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRegionalInternetRegistry", nil, &r.Options, &resp)
5270  	return
5271  }
5272  
5273  // Retrieve A server's remote management card.
5274  func (r Hardware_SecurityModule) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
5275  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagement", nil, &r.Options, &resp)
5276  	return
5277  }
5278  
5279  // Retrieve User credentials to issue commands and/or interact with the server's remote management card.
5280  func (r Hardware_SecurityModule) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
5281  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementAccounts", nil, &r.Options, &resp)
5282  	return
5283  }
5284  
5285  // Retrieve A hardware's associated remote management component. This is normally IPMI.
5286  func (r Hardware_SecurityModule) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
5287  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementComponent", nil, &r.Options, &resp)
5288  	return
5289  }
5290  
5291  // Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
5292  func (r Hardware_SecurityModule) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
5293  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRemoteManagementUsers", nil, &r.Options, &resp)
5294  	return
5295  }
5296  
5297  // Retrieve
5298  func (r Hardware_SecurityModule) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
5299  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceConfigurations", nil, &r.Options, &resp)
5300  	return
5301  }
5302  
5303  // Retrieve
5304  func (r Hardware_SecurityModule) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
5305  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
5306  	return
5307  }
5308  
5309  // Retrieve
5310  func (r Hardware_SecurityModule) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
5311  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroupRoles", nil, &r.Options, &resp)
5312  	return
5313  }
5314  
5315  // Retrieve The resource groups in which this hardware is a member.
5316  func (r Hardware_SecurityModule) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
5317  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getResourceGroups", nil, &r.Options, &resp)
5318  	return
5319  }
5320  
5321  // Retrieve the reverse domain records associated with this server.
5322  func (r Hardware_SecurityModule) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
5323  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getReverseDomainRecords", nil, &r.Options, &resp)
5324  	return
5325  }
5326  
5327  // Retrieve A hardware's routers.
5328  func (r Hardware_SecurityModule) GetRouters() (resp []datatypes.Hardware, err error) {
5329  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getRouters", nil, &r.Options, &resp)
5330  	return
5331  }
5332  
5333  // Retrieve Information regarding a piece of hardware's vulnerability scan requests.
5334  func (r Hardware_SecurityModule) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
5335  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSecurityScanRequests", nil, &r.Options, &resp)
5336  	return
5337  }
5338  
5339  // 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.
5340  func (r Hardware_SecurityModule) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
5341  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSensorData", nil, &r.Options, &resp)
5342  	return
5343  }
5344  
5345  // 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.
5346  func (r Hardware_SecurityModule) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
5347  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSensorDataWithGraphs", nil, &r.Options, &resp)
5348  	return
5349  }
5350  
5351  // 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.
5352  func (r Hardware_SecurityModule) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
5353  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerDetails", nil, &r.Options, &resp)
5354  	return
5355  }
5356  
5357  // 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.
5358  func (r Hardware_SecurityModule) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
5359  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
5360  	return
5361  }
5362  
5363  // 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'.
5364  func (r Hardware_SecurityModule) GetServerPowerState() (resp string, err error) {
5365  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerPowerState", nil, &r.Options, &resp)
5366  	return
5367  }
5368  
5369  // Retrieve Information regarding the server room in which the hardware is located.
5370  func (r Hardware_SecurityModule) GetServerRoom() (resp datatypes.Location, err error) {
5371  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerRoom", nil, &r.Options, &resp)
5372  	return
5373  }
5374  
5375  // 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.
5376  func (r Hardware_SecurityModule) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
5377  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServerTemperatureGraphs", nil, &r.Options, &resp)
5378  	return
5379  }
5380  
5381  // Retrieve Information regarding the piece of hardware's service provider.
5382  func (r Hardware_SecurityModule) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
5383  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getServiceProvider", nil, &r.Options, &resp)
5384  	return
5385  }
5386  
5387  // Retrieve Information regarding a piece of hardware's installed software.
5388  func (r Hardware_SecurityModule) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
5389  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSoftwareComponents", nil, &r.Options, &resp)
5390  	return
5391  }
5392  
5393  // Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
5394  func (r Hardware_SecurityModule) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
5395  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
5396  	return
5397  }
5398  
5399  // Retrieve Information regarding the billing item for a spare pool server.
5400  func (r Hardware_SecurityModule) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
5401  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSparePoolBillingItem", nil, &r.Options, &resp)
5402  	return
5403  }
5404  
5405  // Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
5406  func (r Hardware_SecurityModule) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
5407  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getSshKeys", nil, &r.Options, &resp)
5408  	return
5409  }
5410  
5411  // Retrieve A server's remote management card used for statistics.
5412  func (r Hardware_SecurityModule) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
5413  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
5414  	return
5415  }
5416  
5417  // Retrieve
5418  func (r Hardware_SecurityModule) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
5419  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getStorageGroups", nil, &r.Options, &resp)
5420  	return
5421  }
5422  
5423  // Retrieve A piece of hardware's private storage network components. [Deprecated]
5424  func (r Hardware_SecurityModule) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
5425  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getStorageNetworkComponents", nil, &r.Options, &resp)
5426  	return
5427  }
5428  
5429  // Retrieve
5430  func (r Hardware_SecurityModule) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
5431  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTagReferences", nil, &r.Options, &resp)
5432  	return
5433  }
5434  
5435  // Retrieve
5436  func (r Hardware_SecurityModule) GetTopLevelLocation() (resp datatypes.Location, err error) {
5437  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTopLevelLocation", nil, &r.Options, &resp)
5438  	return
5439  }
5440  
5441  // This method will query transaction history for a piece of hardware.
5442  func (r Hardware_SecurityModule) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
5443  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getTransactionHistory", nil, &r.Options, &resp)
5444  	return
5445  }
5446  
5447  // Retrieve Whether to use UEFI boot instead of BIOS.
5448  func (r Hardware_SecurityModule) GetUefiBootFlag() (resp bool, err error) {
5449  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUefiBootFlag", nil, &r.Options, &resp)
5450  	return
5451  }
5452  
5453  // 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.
5454  func (r Hardware_SecurityModule) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
5455  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUpgradeItemPrices", nil, &r.Options, &resp)
5456  	return
5457  }
5458  
5459  // Retrieve An account's associated upgrade request object, if any.
5460  func (r Hardware_SecurityModule) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
5461  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUpgradeRequest", nil, &r.Options, &resp)
5462  	return
5463  }
5464  
5465  // Retrieve A piece of hardware's active upgradeable physical components.
5466  func (r Hardware_SecurityModule) GetUpgradeableActiveComponents() (resp []datatypes.Hardware_Component, err error) {
5467  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUpgradeableActiveComponents", nil, &r.Options, &resp)
5468  	return
5469  }
5470  
5471  // Retrieve The network device connected to a piece of hardware.
5472  func (r Hardware_SecurityModule) GetUplinkHardware() (resp datatypes.Hardware, err error) {
5473  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUplinkHardware", nil, &r.Options, &resp)
5474  	return
5475  }
5476  
5477  // Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
5478  func (r Hardware_SecurityModule) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
5479  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUplinkNetworkComponents", nil, &r.Options, &resp)
5480  	return
5481  }
5482  
5483  // Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
5484  func (r Hardware_SecurityModule) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
5485  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUserData", nil, &r.Options, &resp)
5486  	return
5487  }
5488  
5489  // Retrieve A list of users that have access to this computing instance.
5490  func (r Hardware_SecurityModule) GetUsers() (resp []datatypes.User_Customer, err error) {
5491  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getUsers", nil, &r.Options, &resp)
5492  	return
5493  }
5494  
5495  // 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.
5496  func (r Hardware_SecurityModule) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
5497  	params := []interface{}{
5498  		visibility,
5499  	}
5500  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
5501  	return
5502  }
5503  
5504  // Retrieve Information regarding the virtual chassis for a piece of hardware.
5505  func (r Hardware_SecurityModule) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
5506  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualChassis", nil, &r.Options, &resp)
5507  	return
5508  }
5509  
5510  // Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
5511  func (r Hardware_SecurityModule) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
5512  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualChassisSiblings", nil, &r.Options, &resp)
5513  	return
5514  }
5515  
5516  // Retrieve [DEPRECATED] A hardware server's virtual servers.
5517  func (r Hardware_SecurityModule) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
5518  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualGuests", nil, &r.Options, &resp)
5519  	return
5520  }
5521  
5522  // Retrieve A piece of hardware's virtual host record.
5523  func (r Hardware_SecurityModule) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
5524  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualHost", nil, &r.Options, &resp)
5525  	return
5526  }
5527  
5528  // Retrieve Information regarding a piece of hardware's virtual software licenses.
5529  func (r Hardware_SecurityModule) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
5530  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualLicenses", nil, &r.Options, &resp)
5531  	return
5532  }
5533  
5534  // Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
5535  func (r Hardware_SecurityModule) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
5536  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRack", nil, &r.Options, &resp)
5537  	return
5538  }
5539  
5540  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
5541  func (r Hardware_SecurityModule) GetVirtualRackId() (resp int, err error) {
5542  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRackId", nil, &r.Options, &resp)
5543  	return
5544  }
5545  
5546  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
5547  func (r Hardware_SecurityModule) GetVirtualRackName() (resp string, err error) {
5548  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualRackName", nil, &r.Options, &resp)
5549  	return
5550  }
5551  
5552  // Retrieve A piece of hardware's virtualization platform software.
5553  func (r Hardware_SecurityModule) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
5554  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getVirtualizationPlatform", nil, &r.Options, &resp)
5555  	return
5556  }
5557  
5558  // 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.
5559  func (r Hardware_SecurityModule) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
5560  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
5561  	return
5562  }
5563  
5564  // 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.
5565  func (r Hardware_SecurityModule) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
5566  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
5567  	return
5568  }
5569  
5570  // 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.
5571  func (r Hardware_SecurityModule) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
5572  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "getWindowsUpdateStatus", nil, &r.Options, &resp)
5573  	return
5574  }
5575  
5576  // The ”'importVirtualHost”' method attempts to import the host record for the virtualization platform running on a server.
5577  func (r Hardware_SecurityModule) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
5578  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "importVirtualHost", nil, &r.Options, &resp)
5579  	return
5580  }
5581  
5582  // Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
5583  func (r Hardware_SecurityModule) InitiateIderaBareMetalRestore() (resp bool, err error) {
5584  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
5585  	return
5586  }
5587  
5588  // R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
5589  func (r Hardware_SecurityModule) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
5590  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
5591  	return
5592  }
5593  
5594  // Issues a ping command and returns the success (true) or failure (false) of the ping command.
5595  func (r Hardware_SecurityModule) IsBackendPingable() (resp bool, err error) {
5596  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isBackendPingable", nil, &r.Options, &resp)
5597  	return
5598  }
5599  
5600  // Issues a ping command and returns the success (true) or failure (false) of the ping command.
5601  func (r Hardware_SecurityModule) IsPingable() (resp bool, err error) {
5602  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isPingable", nil, &r.Options, &resp)
5603  	return
5604  }
5605  
5606  // Determine if the server runs any version of the Microsoft Windows operating systems. Return ”true” if it does and ”false if otherwise.
5607  func (r Hardware_SecurityModule) IsWindowsServer() (resp bool, err error) {
5608  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "isWindowsServer", nil, &r.Options, &resp)
5609  	return
5610  }
5611  
5612  // 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.
5613  //
5614  // 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.
5615  func (r Hardware_SecurityModule) MassFirmwareReflash(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5616  	params := []interface{}{
5617  		hardwareIds,
5618  		ipmi,
5619  		raidController,
5620  		bios,
5621  	}
5622  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massFirmwareReflash", params, &r.Options, &resp)
5623  	return
5624  }
5625  
5626  // 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.
5627  //
5628  // In the event of a hardware failure during this test our datacenter engineers will be notified of the problem automatically. They will then replace any failed components to bring your server back online, and will be contacting you to ensure that impact on your server is minimal.
5629  func (r Hardware_SecurityModule) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool, networkCard *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5630  	params := []interface{}{
5631  		hardwareIds,
5632  		ipmi,
5633  		raidController,
5634  		bios,
5635  		harddrive,
5636  		networkCard,
5637  	}
5638  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massFirmwareUpdate", params, &r.Options, &resp)
5639  	return
5640  }
5641  
5642  // 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.
5643  //
5644  // 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.
5645  func (r Hardware_SecurityModule) MassHyperThreadingUpdate(hardwareIds []int, disableHyperthreading *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5646  	params := []interface{}{
5647  		hardwareIds,
5648  		disableHyperthreading,
5649  	}
5650  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massHyperThreadingUpdate", params, &r.Options, &resp)
5651  	return
5652  }
5653  
5654  // Reloads current or customer specified operating system configuration.
5655  //
5656  // 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.
5657  //
5658  // 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.
5659  //
5660  // The reload will take AT MINIMUM 66 minutes.
5661  func (r Hardware_SecurityModule) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
5662  	params := []interface{}{
5663  		hardwareIds,
5664  		token,
5665  		config,
5666  	}
5667  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massReloadOperatingSystem", params, &r.Options, &resp)
5668  	return
5669  }
5670  
5671  // 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.
5672  func (r Hardware_SecurityModule) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
5673  	params := []interface{}{
5674  		hardwareIds,
5675  		action,
5676  		newOrder,
5677  	}
5678  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "massSparePool", params, &r.Options, &resp)
5679  	return
5680  }
5681  
5682  // Issues a ping command to the server and returns the ping response.
5683  func (r Hardware_SecurityModule) Ping() (resp string, err error) {
5684  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "ping", nil, &r.Options, &resp)
5685  	return
5686  }
5687  
5688  // no documentation yet
5689  func (r Hardware_SecurityModule) PopulateServerRam(ramSerialString *string) (err error) {
5690  	var resp datatypes.Void
5691  	params := []interface{}{
5692  		ramSerialString,
5693  	}
5694  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "populateServerRam", params, &r.Options, &resp)
5695  	return
5696  }
5697  
5698  // 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.
5699  func (r Hardware_SecurityModule) PowerCycle() (resp bool, err error) {
5700  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerCycle", nil, &r.Options, &resp)
5701  	return
5702  }
5703  
5704  // This method will power off the server via the server's remote management card.
5705  func (r Hardware_SecurityModule) PowerOff() (resp bool, err error) {
5706  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerOff", nil, &r.Options, &resp)
5707  	return
5708  }
5709  
5710  // 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.
5711  func (r Hardware_SecurityModule) PowerOn() (resp bool, err error) {
5712  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "powerOn", nil, &r.Options, &resp)
5713  	return
5714  }
5715  
5716  // 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.
5717  func (r Hardware_SecurityModule) RebootDefault() (resp bool, err error) {
5718  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootDefault", nil, &r.Options, &resp)
5719  	return
5720  }
5721  
5722  // 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.
5723  func (r Hardware_SecurityModule) RebootHard() (resp bool, err error) {
5724  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootHard", nil, &r.Options, &resp)
5725  	return
5726  }
5727  
5728  // 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.
5729  func (r Hardware_SecurityModule) RebootSoft() (resp bool, err error) {
5730  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "rebootSoft", nil, &r.Options, &resp)
5731  	return
5732  }
5733  
5734  // no documentation yet
5735  func (r Hardware_SecurityModule) RefreshDeviceStatus() (resp datatypes.Hardware_State, err error) {
5736  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "refreshDeviceStatus", nil, &r.Options, &resp)
5737  	return
5738  }
5739  
5740  // Reloads current operating system configuration.
5741  //
5742  // 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.
5743  //
5744  // 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.
5745  //
5746  // The reload will take AT MINIMUM 66 minutes.
5747  func (r Hardware_SecurityModule) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
5748  	params := []interface{}{
5749  		token,
5750  	}
5751  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
5752  	return
5753  }
5754  
5755  // Reloads current or customer specified operating system configuration.
5756  //
5757  // 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.
5758  //
5759  // 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.
5760  //
5761  // The reload will take AT MINIMUM 66 minutes.
5762  func (r Hardware_SecurityModule) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
5763  	params := []interface{}{
5764  		token,
5765  		config,
5766  	}
5767  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "reloadOperatingSystem", params, &r.Options, &resp)
5768  	return
5769  }
5770  
5771  // This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
5772  func (r Hardware_SecurityModule) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
5773  	params := []interface{}{
5774  		networkStorageTemplateObject,
5775  	}
5776  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "removeAccessToNetworkStorage", params, &r.Options, &resp)
5777  	return
5778  }
5779  
5780  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
5781  func (r Hardware_SecurityModule) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
5782  	params := []interface{}{
5783  		networkStorageTemplateObjects,
5784  	}
5785  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
5786  	return
5787  }
5788  
5789  // no documentation yet
5790  func (r Hardware_SecurityModule) RemoveTags(tags *string) (resp bool, err error) {
5791  	params := []interface{}{
5792  		tags,
5793  	}
5794  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "removeTags", params, &r.Options, &resp)
5795  	return
5796  }
5797  
5798  // 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.
5799  //
5800  // 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.
5801  //
5802  // 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.
5803  //
5804  // 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.
5805  func (r Hardware_SecurityModule) RunPassmarkCertificationBenchmark() (resp bool, err error) {
5806  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
5807  	return
5808  }
5809  
5810  // Changes the password that we have stored in our database for a servers' Operating System
5811  func (r Hardware_SecurityModule) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
5812  	params := []interface{}{
5813  		newPassword,
5814  	}
5815  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setOperatingSystemPassword", params, &r.Options, &resp)
5816  	return
5817  }
5818  
5819  // Set the private network interface speed and redundancy configuration.
5820  //
5821  // 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.
5822  //
5823  // 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.
5824  //
5825  // 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.
5826  //
5827  // 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.
5828  //
5829  // <h4>Backwards Compatibility Until February 27th, 2019</h4>
5830  //
5831  // 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.
5832  func (r Hardware_SecurityModule) SetPrivateNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
5833  	params := []interface{}{
5834  		newSpeed,
5835  		redundancy,
5836  	}
5837  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
5838  	return
5839  }
5840  
5841  // Set the public network interface speed and redundancy configuration.
5842  //
5843  // 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.
5844  //
5845  // 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.
5846  //
5847  // 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.
5848  //
5849  // 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.
5850  //
5851  // <h4>Backwards Compatibility Until February 27th, 2019</h4>
5852  //
5853  // 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.
5854  func (r Hardware_SecurityModule) SetPublicNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
5855  	params := []interface{}{
5856  		newSpeed,
5857  		redundancy,
5858  	}
5859  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
5860  	return
5861  }
5862  
5863  // no documentation yet
5864  func (r Hardware_SecurityModule) SetTags(tags *string) (resp bool, err error) {
5865  	params := []interface{}{
5866  		tags,
5867  	}
5868  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setTags", params, &r.Options, &resp)
5869  	return
5870  }
5871  
5872  // Sets the data that will be written to the configuration drive.
5873  func (r Hardware_SecurityModule) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
5874  	params := []interface{}{
5875  		metadata,
5876  	}
5877  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "setUserMetadata", params, &r.Options, &resp)
5878  	return
5879  }
5880  
5881  // 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.
5882  //
5883  // 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.
5884  //
5885  // 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.
5886  func (r Hardware_SecurityModule) ShutdownPrivatePort() (resp bool, err error) {
5887  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "shutdownPrivatePort", nil, &r.Options, &resp)
5888  	return
5889  }
5890  
5891  // 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.
5892  //
5893  // 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.
5894  //
5895  // 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.
5896  func (r Hardware_SecurityModule) ShutdownPublicPort() (resp bool, err error) {
5897  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "shutdownPublicPort", nil, &r.Options, &resp)
5898  	return
5899  }
5900  
5901  // 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.
5902  func (r Hardware_SecurityModule) SparePool(action *string, newOrder *bool) (resp bool, err error) {
5903  	params := []interface{}{
5904  		action,
5905  		newOrder,
5906  	}
5907  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "sparePool", params, &r.Options, &resp)
5908  	return
5909  }
5910  
5911  // 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.
5912  func (r Hardware_SecurityModule) TestRaidAlertService() (resp bool, err error) {
5913  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "testRaidAlertService", nil, &r.Options, &resp)
5914  	return
5915  }
5916  
5917  // Attempt to toggle the IPMI interface.  If there is an active transaction on the server, it will throw an exception. This method creates a job to toggle the interface.  It is not instant.
5918  func (r Hardware_SecurityModule) ToggleManagementInterface(enabled *bool) (resp bool, err error) {
5919  	params := []interface{}{
5920  		enabled,
5921  	}
5922  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "toggleManagementInterface", params, &r.Options, &resp)
5923  	return
5924  }
5925  
5926  // This method will update the root IPMI password on this SoftLayer_Hardware.
5927  func (r Hardware_SecurityModule) UpdateIpmiPassword(password *string) (resp bool, err error) {
5928  	params := []interface{}{
5929  		password,
5930  	}
5931  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "updateIpmiPassword", params, &r.Options, &resp)
5932  	return
5933  }
5934  
5935  // Validates a collection of partitions for an operating system
5936  func (r Hardware_SecurityModule) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
5937  	params := []interface{}{
5938  		operatingSystem,
5939  		partitions,
5940  	}
5941  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
5942  	return
5943  }
5944  
5945  // no documentation yet
5946  func (r Hardware_SecurityModule) ValidateSecurityLevel() (err error) {
5947  	var resp datatypes.Void
5948  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule", "validateSecurityLevel", nil, &r.Options, &resp)
5949  	return
5950  }
5951  
5952  // no documentation yet
5953  type Hardware_SecurityModule750 struct {
5954  	Session session.SLSession
5955  	Options sl.Options
5956  }
5957  
5958  // GetHardwareSecurityModule750Service returns an instance of the Hardware_SecurityModule750 SoftLayer service
5959  func GetHardwareSecurityModule750Service(sess session.SLSession) Hardware_SecurityModule750 {
5960  	return Hardware_SecurityModule750{Session: sess}
5961  }
5962  
5963  func (r Hardware_SecurityModule750) Id(id int) Hardware_SecurityModule750 {
5964  	r.Options.Id = &id
5965  	return r
5966  }
5967  
5968  func (r Hardware_SecurityModule750) Mask(mask string) Hardware_SecurityModule750 {
5969  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5970  		mask = fmt.Sprintf("mask[%s]", mask)
5971  	}
5972  
5973  	r.Options.Mask = mask
5974  	return r
5975  }
5976  
5977  func (r Hardware_SecurityModule750) Filter(filter string) Hardware_SecurityModule750 {
5978  	r.Options.Filter = filter
5979  	return r
5980  }
5981  
5982  func (r Hardware_SecurityModule750) Limit(limit int) Hardware_SecurityModule750 {
5983  	r.Options.Limit = &limit
5984  	return r
5985  }
5986  
5987  func (r Hardware_SecurityModule750) Offset(offset int) Hardware_SecurityModule750 {
5988  	r.Options.Offset = &offset
5989  	return r
5990  }
5991  
5992  // 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).
5993  //
5994  // 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.
5995  //
5996  // 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.
5997  func (r Hardware_SecurityModule750) ActivatePrivatePort() (resp bool, err error) {
5998  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "activatePrivatePort", nil, &r.Options, &resp)
5999  	return
6000  }
6001  
6002  // 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).
6003  //
6004  // 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.
6005  //
6006  // 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.
6007  func (r Hardware_SecurityModule750) ActivatePublicPort() (resp bool, err error) {
6008  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "activatePublicPort", nil, &r.Options, &resp)
6009  	return
6010  }
6011  
6012  // This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
6013  func (r Hardware_SecurityModule750) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
6014  	params := []interface{}{
6015  		networkStorageTemplateObject,
6016  	}
6017  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "allowAccessToNetworkStorage", params, &r.Options, &resp)
6018  	return
6019  }
6020  
6021  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
6022  func (r Hardware_SecurityModule750) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
6023  	params := []interface{}{
6024  		networkStorageTemplateObjects,
6025  	}
6026  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
6027  	return
6028  }
6029  
6030  // 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.
6031  func (r Hardware_SecurityModule750) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
6032  	params := []interface{}{
6033  		noOsBootEnvironment,
6034  	}
6035  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "bootToRescueLayer", params, &r.Options, &resp)
6036  	return
6037  }
6038  
6039  // 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.
6040  func (r Hardware_SecurityModule750) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
6041  	params := []interface{}{
6042  		captureTemplate,
6043  	}
6044  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "captureImage", params, &r.Options, &resp)
6045  	return
6046  }
6047  
6048  // Changes the power state for the server.  The server's power status is changed from its remote management card.
6049  func (r Hardware_SecurityModule750) ChangeRedfishPowerState(state *string) (resp bool, err error) {
6050  	params := []interface{}{
6051  		state,
6052  	}
6053  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "changeRedfishPowerState", params, &r.Options, &resp)
6054  	return
6055  }
6056  
6057  // 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.
6058  //
6059  // 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.
6060  func (r Hardware_SecurityModule750) CreateFirmwareReflashTransaction(ipmi *int, raidController *int, bios *int) (resp bool, err error) {
6061  	params := []interface{}{
6062  		ipmi,
6063  		raidController,
6064  		bios,
6065  	}
6066  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createFirmwareReflashTransaction", params, &r.Options, &resp)
6067  	return
6068  }
6069  
6070  // 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.
6071  //
6072  // 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.
6073  func (r Hardware_SecurityModule750) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int, networkCard *int) (resp bool, err error) {
6074  	params := []interface{}{
6075  		ipmi,
6076  		raidController,
6077  		bios,
6078  		harddrive,
6079  		networkCard,
6080  	}
6081  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
6082  	return
6083  }
6084  
6085  // 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.
6086  //
6087  // 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.
6088  func (r Hardware_SecurityModule750) CreateHyperThreadingUpdateTransaction(disableHyperthreading *int) (resp bool, err error) {
6089  	params := []interface{}{
6090  		disableHyperthreading,
6091  	}
6092  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createHyperThreadingUpdateTransaction", params, &r.Options, &resp)
6093  	return
6094  }
6095  
6096  // <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
6097  // createObject() enables the creation of servers on an account. This
6098  // method is a simplified alternative to interacting with the ordering system directly.
6099  //
6100  // In order to create a server, a template object must be sent in with a few required
6101  // values.
6102  //
6103  // When this method returns an order will have been placed for a server of the specified configuration.
6104  //
6105  // To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
6106  // checking the <code>provisionDate</code> property.
6107  // When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
6108  // as your initialization parameter.
6109  //
6110  // <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
6111  //
6112  // <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
6113  // <ul class="create_object">
6114  //
6115  //	    <li><code>hostname</code>
6116  //	        <div>Hostname for the server.</div><ul>
6117  //	            <li><b>Required</b></li>
6118  //	            <li><b>Type</b> - string</li>
6119  //	        </ul>
6120  //	        <br />
6121  //	    </li>
6122  //	    <li><code>domain</code>
6123  //	        <div>Domain for the server.</div><ul>
6124  //	            <li><b>Required</b></li>
6125  //	            <li><b>Type</b> - string</li>
6126  //	        </ul>
6127  //	        <br />
6128  //	    </li>
6129  //	    <li><code>processorCoreAmount</code>
6130  //	        <div>The number of logical CPU cores to allocate.</div><ul>
6131  //	            <li><b>Required</b></li>
6132  //	            <li><b>Type</b> - int</li>
6133  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6134  //	        </ul>
6135  //	        <br />
6136  //	    </li>
6137  //	    <li><code>memoryCapacity</code>
6138  //	        <div>The amount of memory to allocate in gigabytes.</div><ul>
6139  //	            <li><b>Required</b></li>
6140  //	            <li><b>Type</b> - int</li>
6141  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6142  //	        </ul>
6143  //	        <br />
6144  //	    </li>
6145  //	    <li><code>hourlyBillingFlag</code>
6146  //	        <div>Specifies the billing type for the server.</div><ul>
6147  //	            <li><b>Required</b></li>
6148  //	            <li><b>Type</b> - boolean</li>
6149  //	            <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
6150  //	        </ul>
6151  //	        <br />
6152  //	    </li>
6153  //	    <li><code>operatingSystemReferenceCode</code>
6154  //	        <div>An identifier for the operating system to provision the server with.</div><ul>
6155  //	            <li><b>Required</b></li>
6156  //	            <li><b>Type</b> - string</li>
6157  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6158  //	        </ul>
6159  //	        <br />
6160  //	    </li>
6161  //	    <li><code>datacenter.name</code>
6162  //	        <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
6163  //	            <li><b>Required</b></li>
6164  //	            <li><b>Type</b> - string</li>
6165  //	            <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
6166  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6167  //	        </ul>
6168  //	        <http title="Example">{
6169  //	    "datacenter": {
6170  //	        "name": "dal05"
6171  //	    }
6172  //	}</http>
6173  //
6174  //	        <br />
6175  //	    </li>
6176  //	    <li><code>networkComponents.maxSpeed</code>
6177  //	        <div>Specifies the connection speed for the server's network components.</div><ul>
6178  //	            <li><b>Optional</b></li>
6179  //	            <li><b>Type</b> - int</li>
6180  //	            <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
6181  //	            <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>
6182  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6183  //	        </ul>
6184  //	            <http title="Example">{
6185  //	    "networkComponents": [
6186  //	        {
6187  //	            "maxSpeed": 1000
6188  //	        }
6189  //	    ]
6190  //	}</http>
6191  //
6192  //	        <br />
6193  //	    </li>
6194  //	    <li><code>networkComponents.redundancyEnabledFlag</code>
6195  //	        <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
6196  //	            <li><b>Optional</b></li>
6197  //	            <li><b>Type</b> - bool</li>
6198  //	            <li><b>Default</b> - <code>false</code></li>
6199  //	            <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>
6200  //	        </ul>
6201  //	            <http title="Example">{
6202  //	    "networkComponents": [
6203  //	        {
6204  //	            "redundancyEnabledFlag": false
6205  //	        }
6206  //	    ]
6207  //	}</http>
6208  //
6209  //	        <br />
6210  //	    </li>
6211  //	    <li><code>privateNetworkOnlyFlag</code>
6212  //	        <div>Specifies whether or not the server only has access to the private network</div><ul>
6213  //	            <li><b>Optional</b></li>
6214  //	            <li><b>Type</b> - boolean</li>
6215  //	            <li><b>Default</b> - <code>false</code></li>
6216  //	            <li>When true this flag specifies that a server is to only have access to the private network.</li>
6217  //	        </ul>
6218  //	        <br />
6219  //	    </li>
6220  //	    <li><code>primaryNetworkComponent.networkVlan.id</code>
6221  //	        <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
6222  //	            <li><b>Optional</b></li>
6223  //	            <li><b>Type</b> - int</li>
6224  //	            <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>
6225  //	        </ul>
6226  //	        <http title="Example">{
6227  //	    "primaryNetworkComponent": {
6228  //	        "networkVlan": {
6229  //	            "id": 1
6230  //	        }
6231  //	    }
6232  //	}</http>
6233  //
6234  //	        <br />
6235  //	    </li>
6236  //	    <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
6237  //	        <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
6238  //	            <li><b>Optional</b></li>
6239  //	            <li><b>Type</b> - int</li>
6240  //	            <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>
6241  //	        </ul>
6242  //	        <http title="Example">{
6243  //	    "primaryBackendNetworkComponent": {
6244  //	        "networkVlan": {
6245  //	            "id": 2
6246  //	        }
6247  //	    }
6248  //	}</http>
6249  //
6250  //	        <br />
6251  //	    </li>
6252  //	    <li><code>fixedConfigurationPreset.keyName</code>
6253  //	        <div></div><ul>
6254  //	            <li><b>Optional</b></li>
6255  //	            <li><b>Type</b> - string</li>
6256  //	            <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>
6257  //	            <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
6258  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6259  //	        </ul>
6260  //	        <http title="Example">{
6261  //	    "fixedConfigurationPreset": {
6262  //	        "keyName": "SOME_KEY_NAME"
6263  //	    }
6264  //	}</http>
6265  //
6266  //	        <br />
6267  //	    </li>
6268  //	    <li><code>userData.value</code>
6269  //	        <div>Arbitrary data to be made available to the server.</div><ul>
6270  //	            <li><b>Optional</b></li>
6271  //	            <li><b>Type</b> - string</li>
6272  //	            <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>
6273  //	            <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>
6274  //	        </ul>
6275  //	        <http title="Example">{
6276  //	    "userData": [
6277  //	        {
6278  //	            "value": "someValue"
6279  //	        }
6280  //	    ]
6281  //	}</http>
6282  //
6283  //	        <br />
6284  //	    </li>
6285  //	    <li><code>hardDrives</code>
6286  //	        <div>Hard drive settings for the server</div><ul>
6287  //	            <li><b>Optional</b></li>
6288  //	            <li><b>Type</b> - SoftLayer_Hardware_Component</li>
6289  //	            <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
6290  //	            <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
6291  //	            <li>Each hard drive must specify the <code>capacity</code> property.</li>
6292  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
6293  //	        </ul>
6294  //	        <http title="Example">{
6295  //	    "hardDrives": [
6296  //	        {
6297  //	            "capacity": 500
6298  //	        }
6299  //	    ]
6300  //	}</http>
6301  //
6302  //	        <br />
6303  //	    </li>
6304  //	    <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
6305  //	        <div>SSH keys to install on the server upon provisioning.</div><ul>
6306  //	            <li><b>Optional</b></li>
6307  //	            <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
6308  //	            <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>
6309  //	            <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
6310  //	            <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
6311  //	        </ul>
6312  //	        <http title="Example">{
6313  //	    "sshKeys": [
6314  //	        {
6315  //	            "id": 123
6316  //	        }
6317  //	    ]
6318  //	}</http>
6319  //
6320  //	    <br />
6321  //	</li>
6322  //	<li><code>postInstallScriptUri</code>
6323  //	    <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
6324  //	        <li><b>Optional</b></li>
6325  //	        <li><b>Type</b> - string</li>
6326  //	    </ul>
6327  //	    <br />
6328  //	</li>
6329  //
6330  // </ul>
6331  //
6332  // <h1>REST Example</h1>
6333  //
6334  //	<http title="Request">curl -X POST -d '{
6335  //	 "parameters":[
6336  //	     {
6337  //	         "hostname": "host1",
6338  //	         "domain": "example.com",
6339  //	         "processorCoreAmount": 2,
6340  //	         "memoryCapacity": 2,
6341  //	         "hourlyBillingFlag": true,
6342  //	         "operatingSystemReferenceCode": "UBUNTU_LATEST"
6343  //	     }
6344  //	 ]
6345  //	}' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
6346  //
6347  // </http>
6348  // <http title="Response">HTTP/1.1 201 Created
6349  // Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
6350  //
6351  //	{
6352  //	    "accountId": 232298,
6353  //	    "bareMetalInstanceFlag": null,
6354  //	    "domain": "example.com",
6355  //	    "hardwareStatusId": null,
6356  //	    "hostname": "host1",
6357  //	    "id": null,
6358  //	    "serviceProviderId": null,
6359  //	    "serviceProviderResourceId": null,
6360  //	    "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
6361  //	    "hourlyBillingFlag": true,
6362  //	    "memoryCapacity": 2,
6363  //	    "operatingSystemReferenceCode": "UBUNTU_LATEST",
6364  //	    "processorCoreAmount": 2
6365  //	}
6366  //
6367  // </http>
6368  func (r Hardware_SecurityModule750) CreateObject(templateObject *datatypes.Hardware_SecurityModule750) (resp datatypes.Hardware_SecurityModule750, err error) {
6369  	params := []interface{}{
6370  		templateObject,
6371  	}
6372  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createObject", params, &r.Options, &resp)
6373  	return
6374  }
6375  
6376  // no documentation yet
6377  func (r Hardware_SecurityModule750) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
6378  	params := []interface{}{
6379  		installCodes,
6380  		returnBoolean,
6381  	}
6382  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
6383  	return
6384  }
6385  
6386  // This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
6387  func (r Hardware_SecurityModule750) DeleteObject() (resp bool, err error) {
6388  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "deleteObject", nil, &r.Options, &resp)
6389  	return
6390  }
6391  
6392  // Delete software component passwords.
6393  func (r Hardware_SecurityModule750) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
6394  	params := []interface{}{
6395  		softwareComponentPasswords,
6396  	}
6397  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
6398  	return
6399  }
6400  
6401  // Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
6402  func (r Hardware_SecurityModule750) DeleteTag(tagName *string) (resp bool, err error) {
6403  	params := []interface{}{
6404  		tagName,
6405  	}
6406  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "deleteTag", params, &r.Options, &resp)
6407  	return
6408  }
6409  
6410  // Edit a server's properties
6411  func (r Hardware_SecurityModule750) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
6412  	params := []interface{}{
6413  		templateObject,
6414  	}
6415  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "editObject", params, &r.Options, &resp)
6416  	return
6417  }
6418  
6419  // Edit the properties of a software component password such as the username, password, and notes.
6420  func (r Hardware_SecurityModule750) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
6421  	params := []interface{}{
6422  		softwareComponentPasswords,
6423  	}
6424  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "editSoftwareComponentPasswords", params, &r.Options, &resp)
6425  	return
6426  }
6427  
6428  // Download and run remote script from uri on the hardware.
6429  func (r Hardware_SecurityModule750) ExecuteRemoteScript(uri *string) (err error) {
6430  	var resp datatypes.Void
6431  	params := []interface{}{
6432  		uri,
6433  	}
6434  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "executeRemoteScript", params, &r.Options, &resp)
6435  	return
6436  }
6437  
6438  // 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.
6439  func (r Hardware_SecurityModule750) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
6440  	params := []interface{}{
6441  		ipAddress,
6442  	}
6443  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "findByIpAddress", params, &r.Options, &resp)
6444  	return
6445  }
6446  
6447  // 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]].
6448  //
6449  // This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
6450  //
6451  // See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
6452  func (r Hardware_SecurityModule750) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
6453  	params := []interface{}{
6454  		templateObject,
6455  	}
6456  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "generateOrderTemplate", params, &r.Options, &resp)
6457  	return
6458  }
6459  
6460  // Retrieve The account associated with a piece of hardware.
6461  func (r Hardware_SecurityModule750) GetAccount() (resp datatypes.Account, err error) {
6462  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAccount", nil, &r.Options, &resp)
6463  	return
6464  }
6465  
6466  // Retrieve A piece of hardware's active physical components.
6467  func (r Hardware_SecurityModule750) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
6468  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveComponents", nil, &r.Options, &resp)
6469  	return
6470  }
6471  
6472  // Retrieve The billing item for a server's attached network firewall.
6473  func (r Hardware_SecurityModule750) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
6474  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
6475  	return
6476  }
6477  
6478  // Retrieve A piece of hardware's active network monitoring incidents.
6479  func (r Hardware_SecurityModule750) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
6480  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
6481  	return
6482  }
6483  
6484  // Retrieve
6485  func (r Hardware_SecurityModule750) GetActiveTickets() (resp []datatypes.Ticket, err error) {
6486  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTickets", nil, &r.Options, &resp)
6487  	return
6488  }
6489  
6490  // Retrieve Transaction currently running for server.
6491  func (r Hardware_SecurityModule750) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
6492  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTransaction", nil, &r.Options, &resp)
6493  	return
6494  }
6495  
6496  // Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
6497  func (r Hardware_SecurityModule750) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
6498  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getActiveTransactions", nil, &r.Options, &resp)
6499  	return
6500  }
6501  
6502  // Retrieve
6503  func (r Hardware_SecurityModule750) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
6504  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllPowerComponents", nil, &r.Options, &resp)
6505  	return
6506  }
6507  
6508  // Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
6509  func (r Hardware_SecurityModule750) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
6510  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedHost", nil, &r.Options, &resp)
6511  	return
6512  }
6513  
6514  // Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
6515  func (r Hardware_SecurityModule750) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
6516  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedNetworkStorage", nil, &r.Options, &resp)
6517  	return
6518  }
6519  
6520  // Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
6521  func (r Hardware_SecurityModule750) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
6522  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
6523  	return
6524  }
6525  
6526  // Retrieve Information regarding an antivirus/spyware software component object.
6527  func (r Hardware_SecurityModule750) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
6528  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
6529  	return
6530  }
6531  
6532  // This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
6533  func (r Hardware_SecurityModule750) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
6534  	params := []interface{}{
6535  		nasType,
6536  	}
6537  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAttachedNetworkStorages", params, &r.Options, &resp)
6538  	return
6539  }
6540  
6541  // Retrieve Information regarding a piece of hardware's specific attributes.
6542  func (r Hardware_SecurityModule750) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
6543  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAttributes", nil, &r.Options, &resp)
6544  	return
6545  }
6546  
6547  // Retrieves a list of available term prices to this hardware. Currently, price terms are only available for increasing term length to monthly billed servers.
6548  func (r Hardware_SecurityModule750) GetAvailableBillingTermChangePrices() (resp []datatypes.Product_Item_Price, err error) {
6549  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAvailableBillingTermChangePrices", nil, &r.Options, &resp)
6550  	return
6551  }
6552  
6553  // Retrieve An object that stores the maximum level for the monitoring query types and response types.
6554  func (r Hardware_SecurityModule750) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
6555  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAvailableMonitoring", nil, &r.Options, &resp)
6556  	return
6557  }
6558  
6559  // This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
6560  func (r Hardware_SecurityModule750) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
6561  	params := []interface{}{
6562  		nasType,
6563  	}
6564  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAvailableNetworkStorages", params, &r.Options, &resp)
6565  	return
6566  }
6567  
6568  // Retrieve The average daily total bandwidth usage for the current billing cycle.
6569  func (r Hardware_SecurityModule750) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
6570  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
6571  	return
6572  }
6573  
6574  // Retrieve The average daily private bandwidth usage for the current billing cycle.
6575  func (r Hardware_SecurityModule750) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
6576  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
6577  	return
6578  }
6579  
6580  // Retrieve The average daily public bandwidth usage for the current billing cycle.
6581  func (r Hardware_SecurityModule750) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
6582  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
6583  	return
6584  }
6585  
6586  // Use this method to return an array of private bandwidth utilization records between a given date range.
6587  //
6588  // This method represents the NEW version of getFrontendBandwidthUse
6589  func (r Hardware_SecurityModule750) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6590  	params := []interface{}{
6591  		startDate,
6592  		endDate,
6593  	}
6594  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendBandwidthUsage", params, &r.Options, &resp)
6595  	return
6596  }
6597  
6598  // 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.
6599  func (r Hardware_SecurityModule750) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6600  	params := []interface{}{
6601  		startDate,
6602  		endDate,
6603  	}
6604  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendIncomingBandwidth", params, &r.Options, &resp)
6605  	return
6606  }
6607  
6608  // Retrieve A piece of hardware's back-end or private network components.
6609  func (r Hardware_SecurityModule750) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
6610  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendNetworkComponents", nil, &r.Options, &resp)
6611  	return
6612  }
6613  
6614  // 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.
6615  func (r Hardware_SecurityModule750) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6616  	params := []interface{}{
6617  		startDate,
6618  		endDate,
6619  	}
6620  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
6621  	return
6622  }
6623  
6624  // Retrieve A hardware's backend or private router.
6625  func (r Hardware_SecurityModule750) GetBackendRouters() (resp []datatypes.Hardware, err error) {
6626  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBackendRouters", nil, &r.Options, &resp)
6627  	return
6628  }
6629  
6630  // Retrieve A hardware's allotted bandwidth (measured in GB).
6631  func (r Hardware_SecurityModule750) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
6632  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthAllocation", nil, &r.Options, &resp)
6633  	return
6634  }
6635  
6636  // Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
6637  func (r Hardware_SecurityModule750) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
6638  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
6639  	return
6640  }
6641  
6642  // 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.
6643  func (r Hardware_SecurityModule750) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6644  	params := []interface{}{
6645  		startDate,
6646  		endDate,
6647  	}
6648  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBandwidthForDateRange", params, &r.Options, &resp)
6649  	return
6650  }
6651  
6652  // Retrieve Information regarding a piece of hardware's benchmark certifications.
6653  func (r Hardware_SecurityModule750) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
6654  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBenchmarkCertifications", nil, &r.Options, &resp)
6655  	return
6656  }
6657  
6658  // Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
6659  func (r Hardware_SecurityModule750) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
6660  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
6661  	return
6662  }
6663  
6664  // Retrieve The raw private bandwidth usage data for the current billing cycle.
6665  func (r Hardware_SecurityModule750) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
6666  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
6667  	return
6668  }
6669  
6670  // Retrieve The raw public bandwidth usage data for the current billing cycle.
6671  func (r Hardware_SecurityModule750) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
6672  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
6673  	return
6674  }
6675  
6676  // Retrieve Information regarding the billing item for a server.
6677  func (r Hardware_SecurityModule750) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
6678  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingItem", nil, &r.Options, &resp)
6679  	return
6680  }
6681  
6682  // Retrieve A flag indicating that a billing item exists.
6683  func (r Hardware_SecurityModule750) GetBillingItemFlag() (resp bool, err error) {
6684  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBillingItemFlag", nil, &r.Options, &resp)
6685  	return
6686  }
6687  
6688  // Retrieve Determine if BIOS password should be left as null.
6689  func (r Hardware_SecurityModule750) GetBiosPasswordNullFlag() (resp bool, err error) {
6690  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
6691  	return
6692  }
6693  
6694  // Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
6695  func (r Hardware_SecurityModule750) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
6696  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
6697  	return
6698  }
6699  
6700  // Retrieve the valid boot modes for this server
6701  func (r Hardware_SecurityModule750) GetBootModeOptions() (resp []string, err error) {
6702  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBootModeOptions", nil, &r.Options, &resp)
6703  	return
6704  }
6705  
6706  // Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
6707  func (r Hardware_SecurityModule750) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
6708  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
6709  	return
6710  }
6711  
6712  // Retrieve Determine if the server is able to be image captured. If unable to image capture a reason will be provided.
6713  func (r Hardware_SecurityModule750) GetCaptureEnabledFlag() (resp datatypes.Container_Hardware_CaptureEnabled, err error) {
6714  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCaptureEnabledFlag", nil, &r.Options, &resp)
6715  	return
6716  }
6717  
6718  // Retrieve Child hardware.
6719  func (r Hardware_SecurityModule750) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
6720  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getChildrenHardware", nil, &r.Options, &resp)
6721  	return
6722  }
6723  
6724  // no documentation yet
6725  func (r Hardware_SecurityModule750) GetComponentDetailsXML() (resp string, err error) {
6726  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getComponentDetailsXML", nil, &r.Options, &resp)
6727  	return
6728  }
6729  
6730  // Retrieve A piece of hardware's components.
6731  func (r Hardware_SecurityModule750) GetComponents() (resp []datatypes.Hardware_Component, err error) {
6732  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getComponents", nil, &r.Options, &resp)
6733  	return
6734  }
6735  
6736  // Retrieve
6737  func (r Hardware_SecurityModule750) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
6738  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
6739  	return
6740  }
6741  
6742  // Retrieve A continuous data protection/server backup software component object.
6743  func (r Hardware_SecurityModule750) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
6744  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
6745  	return
6746  }
6747  
6748  // Retrieve A server's control panel.
6749  func (r Hardware_SecurityModule750) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
6750  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getControlPanel", nil, &r.Options, &resp)
6751  	return
6752  }
6753  
6754  // Retrieve The total cost of a server, measured in US Dollars ($USD).
6755  func (r Hardware_SecurityModule750) GetCost() (resp datatypes.Float64, err error) {
6756  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCost", nil, &r.Options, &resp)
6757  	return
6758  }
6759  
6760  // There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
6761  //
6762  // Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
6763  func (r Hardware_SecurityModule750) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
6764  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCreateObjectOptions", nil, &r.Options, &resp)
6765  	return
6766  }
6767  
6768  // Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
6769  func (r Hardware_SecurityModule750) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
6770  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
6771  	return
6772  }
6773  
6774  // 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.
6775  func (r Hardware_SecurityModule750) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
6776  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
6777  	return
6778  }
6779  
6780  // Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
6781  func (r Hardware_SecurityModule750) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
6782  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
6783  	return
6784  }
6785  
6786  // Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
6787  func (r Hardware_SecurityModule750) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
6788  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillingDetail", nil, &r.Options, &resp)
6789  	return
6790  }
6791  
6792  // 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.
6793  func (r Hardware_SecurityModule750) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
6794  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCurrentBillingTotal", nil, &r.Options, &resp)
6795  	return
6796  }
6797  
6798  // Retrieve Indicates if a server has a Customer Installed OS
6799  func (r Hardware_SecurityModule750) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
6800  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
6801  	return
6802  }
6803  
6804  // Retrieve Indicates if a server is a customer owned device.
6805  func (r Hardware_SecurityModule750) GetCustomerOwnedFlag() (resp bool, err error) {
6806  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getCustomerOwnedFlag", nil, &r.Options, &resp)
6807  	return
6808  }
6809  
6810  // 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.
6811  func (r Hardware_SecurityModule750) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6812  	params := []interface{}{
6813  		startDate,
6814  		endDate,
6815  	}
6816  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDailyAverage", params, &r.Options, &resp)
6817  	return
6818  }
6819  
6820  // Retrieve Information regarding the datacenter in which a piece of hardware resides.
6821  func (r Hardware_SecurityModule750) GetDatacenter() (resp datatypes.Location, err error) {
6822  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDatacenter", nil, &r.Options, &resp)
6823  	return
6824  }
6825  
6826  // Retrieve The name of the datacenter in which a piece of hardware resides.
6827  func (r Hardware_SecurityModule750) GetDatacenterName() (resp string, err error) {
6828  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDatacenterName", nil, &r.Options, &resp)
6829  	return
6830  }
6831  
6832  // Retrieve Number of day(s) a server have been in spare pool.
6833  func (r Hardware_SecurityModule750) GetDaysInSparePool() (resp int, err error) {
6834  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDaysInSparePool", nil, &r.Options, &resp)
6835  	return
6836  }
6837  
6838  // Retrieve All hardware that has uplink network connections to a piece of hardware.
6839  func (r Hardware_SecurityModule750) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
6840  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkHardware", nil, &r.Options, &resp)
6841  	return
6842  }
6843  
6844  // Retrieve All hardware that has uplink network connections to a piece of hardware.
6845  func (r Hardware_SecurityModule750) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
6846  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
6847  	return
6848  }
6849  
6850  // Retrieve Information regarding all servers attached to a piece of network hardware.
6851  func (r Hardware_SecurityModule750) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
6852  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkServers", nil, &r.Options, &resp)
6853  	return
6854  }
6855  
6856  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
6857  func (r Hardware_SecurityModule750) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
6858  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
6859  	return
6860  }
6861  
6862  // Retrieve All hardware downstream from a network device.
6863  func (r Hardware_SecurityModule750) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
6864  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
6865  	return
6866  }
6867  
6868  // Retrieve All network hardware downstream from the selected piece of hardware.
6869  func (r Hardware_SecurityModule750) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
6870  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
6871  	return
6872  }
6873  
6874  // Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware. [DEPRECATED]
6875  func (r Hardware_SecurityModule750) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
6876  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
6877  	return
6878  }
6879  
6880  // Retrieve Information regarding all servers attached downstream to a piece of network hardware.
6881  func (r Hardware_SecurityModule750) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
6882  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamServers", nil, &r.Options, &resp)
6883  	return
6884  }
6885  
6886  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
6887  func (r Hardware_SecurityModule750) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
6888  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
6889  	return
6890  }
6891  
6892  // Retrieve The drive controllers contained within a piece of hardware.
6893  func (r Hardware_SecurityModule750) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
6894  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getDriveControllers", nil, &r.Options, &resp)
6895  	return
6896  }
6897  
6898  // Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
6899  func (r Hardware_SecurityModule750) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
6900  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getEvaultNetworkStorage", nil, &r.Options, &resp)
6901  	return
6902  }
6903  
6904  // Get the subnets associated with this server that are protectable by a network component firewall.
6905  func (r Hardware_SecurityModule750) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
6906  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
6907  	return
6908  }
6909  
6910  // Retrieve Information regarding a piece of hardware's firewall services.
6911  func (r Hardware_SecurityModule750) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
6912  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFirewallServiceComponent", nil, &r.Options, &resp)
6913  	return
6914  }
6915  
6916  // Retrieve Defines the fixed components in a fixed configuration bare metal server.
6917  func (r Hardware_SecurityModule750) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
6918  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFixedConfigurationPreset", nil, &r.Options, &resp)
6919  	return
6920  }
6921  
6922  // Use this method to return an array of public bandwidth utilization records between a given date range.
6923  //
6924  // This method represents the NEW version of getFrontendBandwidthUse
6925  func (r Hardware_SecurityModule750) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
6926  	params := []interface{}{
6927  		startDate,
6928  		endDate,
6929  	}
6930  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendBandwidthUsage", params, &r.Options, &resp)
6931  	return
6932  }
6933  
6934  // 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).
6935  func (r Hardware_SecurityModule750) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6936  	params := []interface{}{
6937  		startDate,
6938  		endDate,
6939  	}
6940  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
6941  	return
6942  }
6943  
6944  // Retrieve A piece of hardware's front-end or public network components.
6945  func (r Hardware_SecurityModule750) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
6946  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendNetworkComponents", nil, &r.Options, &resp)
6947  	return
6948  }
6949  
6950  // 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).
6951  func (r Hardware_SecurityModule750) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
6952  	params := []interface{}{
6953  		startDate,
6954  		endDate,
6955  	}
6956  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
6957  	return
6958  }
6959  
6960  // Retrieve A hardware's frontend or public router.
6961  func (r Hardware_SecurityModule750) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
6962  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFrontendRouters", nil, &r.Options, &resp)
6963  	return
6964  }
6965  
6966  // Retrieve Information regarding the future billing item for a server.
6967  func (r Hardware_SecurityModule750) GetFutureBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
6968  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getFutureBillingItem", nil, &r.Options, &resp)
6969  	return
6970  }
6971  
6972  // Retrieve A hardware's universally unique identifier.
6973  func (r Hardware_SecurityModule750) GetGlobalIdentifier() (resp string, err error) {
6974  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getGlobalIdentifier", nil, &r.Options, &resp)
6975  	return
6976  }
6977  
6978  // Retrieve The hard drives contained within a piece of hardware.
6979  func (r Hardware_SecurityModule750) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
6980  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardDrives", nil, &r.Options, &resp)
6981  	return
6982  }
6983  
6984  // Retrieve a server by searching for the primary IP address.
6985  func (r Hardware_SecurityModule750) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
6986  	params := []interface{}{
6987  		ipAddress,
6988  	}
6989  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareByIpAddress", params, &r.Options, &resp)
6990  	return
6991  }
6992  
6993  // Retrieve The chassis that a piece of hardware is housed in.
6994  func (r Hardware_SecurityModule750) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
6995  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareChassis", nil, &r.Options, &resp)
6996  	return
6997  }
6998  
6999  // Retrieve A hardware's function.
7000  func (r Hardware_SecurityModule750) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
7001  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareFunction", nil, &r.Options, &resp)
7002  	return
7003  }
7004  
7005  // Retrieve A hardware's function.
7006  func (r Hardware_SecurityModule750) GetHardwareFunctionDescription() (resp string, err error) {
7007  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareFunctionDescription", nil, &r.Options, &resp)
7008  	return
7009  }
7010  
7011  // Retrieve A hardware's power/transaction state.
7012  func (r Hardware_SecurityModule750) GetHardwareState() (resp datatypes.Hardware_State, err error) {
7013  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareState", nil, &r.Options, &resp)
7014  	return
7015  }
7016  
7017  // Retrieve A hardware's status.
7018  func (r Hardware_SecurityModule750) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
7019  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHardwareStatus", nil, &r.Options, &resp)
7020  	return
7021  }
7022  
7023  // Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
7024  func (r Hardware_SecurityModule750) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
7025  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
7026  	return
7027  }
7028  
7029  // Retrieve Determine in hardware object has TPM enabled.
7030  func (r Hardware_SecurityModule750) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
7031  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
7032  	return
7033  }
7034  
7035  // Retrieve Information regarding a host IPS software component object.
7036  func (r Hardware_SecurityModule750) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
7037  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
7038  	return
7039  }
7040  
7041  // 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
7042  //
7043  // '02/01/2008 0:00'
7044  //
7045  // 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).
7046  //
7047  // For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
7048  func (r Hardware_SecurityModule750) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
7049  	params := []interface{}{
7050  		mode,
7051  		day,
7052  	}
7053  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHourlyBandwidth", params, &r.Options, &resp)
7054  	return
7055  }
7056  
7057  // Retrieve A server's hourly billing status.
7058  func (r Hardware_SecurityModule750) GetHourlyBillingFlag() (resp bool, err error) {
7059  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getHourlyBillingFlag", nil, &r.Options, &resp)
7060  	return
7061  }
7062  
7063  // Retrieve The sum of all the inbound network traffic data for the last 30 days.
7064  func (r Hardware_SecurityModule750) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
7065  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundBandwidthUsage", nil, &r.Options, &resp)
7066  	return
7067  }
7068  
7069  // Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
7070  func (r Hardware_SecurityModule750) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
7071  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
7072  	return
7073  }
7074  
7075  // Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
7076  func (r Hardware_SecurityModule750) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
7077  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
7078  	return
7079  }
7080  
7081  // Retrieve Whether or not this hardware object is eligible to change to term billing.
7082  func (r Hardware_SecurityModule750) GetIsBillingTermChangeAvailableFlag() (resp bool, err error) {
7083  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsBillingTermChangeAvailableFlag", nil, &r.Options, &resp)
7084  	return
7085  }
7086  
7087  // Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
7088  func (r Hardware_SecurityModule750) GetIsCloudReadyNodeCertified() (resp bool, err error) {
7089  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
7090  	return
7091  }
7092  
7093  // Retrieve Determine if remote management has been disabled due to port speed.
7094  func (r Hardware_SecurityModule750) GetIsIpmiDisabled() (resp bool, err error) {
7095  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsIpmiDisabled", nil, &r.Options, &resp)
7096  	return
7097  }
7098  
7099  // Retrieve A server that has nfs only drive.
7100  func (r Hardware_SecurityModule750) GetIsNfsOnly() (resp string, err error) {
7101  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsNfsOnly", nil, &r.Options, &resp)
7102  	return
7103  }
7104  
7105  // Retrieve Determine if hardware object has the QE_INTERNAL_SERVER attribute.
7106  func (r Hardware_SecurityModule750) GetIsQeInternalServer() (resp bool, err error) {
7107  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsQeInternalServer", nil, &r.Options, &resp)
7108  	return
7109  }
7110  
7111  // Retrieve Determine if hardware object is a Virtual Private Cloud node.
7112  func (r Hardware_SecurityModule750) GetIsVirtualPrivateCloudNode() (resp bool, err error) {
7113  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getIsVirtualPrivateCloudNode", nil, &r.Options, &resp)
7114  	return
7115  }
7116  
7117  // Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
7118  func (r Hardware_SecurityModule750) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
7119  	params := []interface{}{
7120  		softwareDescriptions,
7121  		includeTranslationsFlag,
7122  		returnAllPricesFlag,
7123  	}
7124  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
7125  	return
7126  }
7127  
7128  // Retrieve The last transaction that a server's operating system was loaded.
7129  func (r Hardware_SecurityModule750) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
7130  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLastOperatingSystemReload", nil, &r.Options, &resp)
7131  	return
7132  }
7133  
7134  // Retrieve Information regarding the last transaction a server performed.
7135  func (r Hardware_SecurityModule750) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
7136  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLastTransaction", nil, &r.Options, &resp)
7137  	return
7138  }
7139  
7140  // Retrieve A piece of hardware's latest network monitoring incident.
7141  func (r Hardware_SecurityModule750) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
7142  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
7143  	return
7144  }
7145  
7146  // Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
7147  func (r Hardware_SecurityModule750) GetLocation() (resp datatypes.Location, err error) {
7148  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLocation", nil, &r.Options, &resp)
7149  	return
7150  }
7151  
7152  // Retrieve
7153  func (r Hardware_SecurityModule750) GetLocationPathString() (resp string, err error) {
7154  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLocationPathString", nil, &r.Options, &resp)
7155  	return
7156  }
7157  
7158  // Retrieve Information regarding a lockbox account associated with a server.
7159  func (r Hardware_SecurityModule750) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
7160  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLockboxNetworkStorage", nil, &r.Options, &resp)
7161  	return
7162  }
7163  
7164  // Retrieve Returns a list of logical volumes on the physical machine.
7165  func (r Hardware_SecurityModule750) GetLogicalVolumeStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
7166  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getLogicalVolumeStorageGroups", nil, &r.Options, &resp)
7167  	return
7168  }
7169  
7170  // Retrieve A flag indicating that the hardware is a managed resource.
7171  func (r Hardware_SecurityModule750) GetManagedResourceFlag() (resp bool, err error) {
7172  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getManagedResourceFlag", nil, &r.Options, &resp)
7173  	return
7174  }
7175  
7176  // Retrieve the remote management network component attached with this server.
7177  func (r Hardware_SecurityModule750) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
7178  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getManagementNetworkComponent", nil, &r.Options, &resp)
7179  	return
7180  }
7181  
7182  // Retrieve Information regarding a piece of hardware's memory.
7183  func (r Hardware_SecurityModule750) GetMemory() (resp []datatypes.Hardware_Component, err error) {
7184  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMemory", nil, &r.Options, &resp)
7185  	return
7186  }
7187  
7188  // Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
7189  func (r Hardware_SecurityModule750) GetMemoryCapacity() (resp uint, err error) {
7190  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMemoryCapacity", nil, &r.Options, &resp)
7191  	return
7192  }
7193  
7194  // Retrieve A piece of hardware's metric tracking object.
7195  func (r Hardware_SecurityModule750) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
7196  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMetricTrackingObject", nil, &r.Options, &resp)
7197  	return
7198  }
7199  
7200  // Retrieve The metric tracking object id for this server.
7201  func (r Hardware_SecurityModule750) GetMetricTrackingObjectId() (resp int, err error) {
7202  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMetricTrackingObjectId", nil, &r.Options, &resp)
7203  	return
7204  }
7205  
7206  // Retrieve
7207  func (r Hardware_SecurityModule750) GetModules() (resp []datatypes.Hardware_Component, err error) {
7208  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getModules", nil, &r.Options, &resp)
7209  	return
7210  }
7211  
7212  // Retrieve
7213  func (r Hardware_SecurityModule750) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
7214  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringRobot", nil, &r.Options, &resp)
7215  	return
7216  }
7217  
7218  // Retrieve Information regarding a piece of hardware's network monitoring services.
7219  func (r Hardware_SecurityModule750) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
7220  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringServiceComponent", nil, &r.Options, &resp)
7221  	return
7222  }
7223  
7224  // Retrieve
7225  func (r Hardware_SecurityModule750) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
7226  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
7227  	return
7228  }
7229  
7230  // 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
7231  func (r Hardware_SecurityModule750) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
7232  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMonitoringUserNotification", nil, &r.Options, &resp)
7233  	return
7234  }
7235  
7236  // Retrieve Information regarding a piece of hardware's motherboard.
7237  func (r Hardware_SecurityModule750) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
7238  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getMotherboard", nil, &r.Options, &resp)
7239  	return
7240  }
7241  
7242  // Retrieve Information regarding a piece of hardware's network cards.
7243  func (r Hardware_SecurityModule750) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
7244  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkCards", nil, &r.Options, &resp)
7245  	return
7246  }
7247  
7248  // 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.
7249  func (r Hardware_SecurityModule750) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
7250  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
7251  	return
7252  }
7253  
7254  // Retrieve Returns a hardware's network components.
7255  func (r Hardware_SecurityModule750) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
7256  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkComponents", nil, &r.Options, &resp)
7257  	return
7258  }
7259  
7260  // Retrieve The gateway member if this device is part of a network gateway.
7261  func (r Hardware_SecurityModule750) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
7262  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkGatewayMember", nil, &r.Options, &resp)
7263  	return
7264  }
7265  
7266  // Retrieve Whether or not this device is part of a network gateway.
7267  func (r Hardware_SecurityModule750) GetNetworkGatewayMemberFlag() (resp bool, err error) {
7268  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
7269  	return
7270  }
7271  
7272  // Retrieve A piece of hardware's network management IP address.
7273  func (r Hardware_SecurityModule750) GetNetworkManagementIpAddress() (resp string, err error) {
7274  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
7275  	return
7276  }
7277  
7278  // Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
7279  func (r Hardware_SecurityModule750) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
7280  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
7281  	return
7282  }
7283  
7284  // Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
7285  func (r Hardware_SecurityModule750) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
7286  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
7287  	return
7288  }
7289  
7290  // Retrieve The status of all of a piece of hardware's network monitoring incidents.
7291  func (r Hardware_SecurityModule750) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
7292  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
7293  	return
7294  }
7295  
7296  // Retrieve Information regarding a piece of hardware's network monitors.
7297  func (r Hardware_SecurityModule750) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
7298  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkMonitors", nil, &r.Options, &resp)
7299  	return
7300  }
7301  
7302  // Retrieve The value of a hardware's network status attribute. [DEPRECATED]
7303  func (r Hardware_SecurityModule750) GetNetworkStatus() (resp string, err error) {
7304  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStatus", nil, &r.Options, &resp)
7305  	return
7306  }
7307  
7308  // Retrieve The hardware's related network status attribute. [DEPRECATED]
7309  func (r Hardware_SecurityModule750) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
7310  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStatusAttribute", nil, &r.Options, &resp)
7311  	return
7312  }
7313  
7314  // Retrieve Information regarding a piece of hardware's associated network storage service account.
7315  func (r Hardware_SecurityModule750) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
7316  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkStorage", nil, &r.Options, &resp)
7317  	return
7318  }
7319  
7320  // Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
7321  func (r Hardware_SecurityModule750) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
7322  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNetworkVlans", nil, &r.Options, &resp)
7323  	return
7324  }
7325  
7326  // Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
7327  func (r Hardware_SecurityModule750) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
7328  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
7329  	return
7330  }
7331  
7332  // Retrieve
7333  func (r Hardware_SecurityModule750) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
7334  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNotesHistory", nil, &r.Options, &resp)
7335  	return
7336  }
7337  
7338  // Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
7339  func (r Hardware_SecurityModule750) GetNvRamCapacity() (resp uint, err error) {
7340  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNvRamCapacity", nil, &r.Options, &resp)
7341  	return
7342  }
7343  
7344  // Retrieve
7345  func (r Hardware_SecurityModule750) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
7346  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getNvRamComponentModels", nil, &r.Options, &resp)
7347  	return
7348  }
7349  
7350  // no documentation yet
7351  func (r Hardware_SecurityModule750) GetObject() (resp datatypes.Hardware_SecurityModule750, err error) {
7352  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getObject", nil, &r.Options, &resp)
7353  	return
7354  }
7355  
7356  // Retrieve An open ticket requesting cancellation of this server, if one exists.
7357  func (r Hardware_SecurityModule750) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
7358  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOpenCancellationTicket", nil, &r.Options, &resp)
7359  	return
7360  }
7361  
7362  // Retrieve Information regarding a piece of hardware's operating system.
7363  func (r Hardware_SecurityModule750) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
7364  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOperatingSystem", nil, &r.Options, &resp)
7365  	return
7366  }
7367  
7368  // Retrieve A hardware's operating system software description.
7369  func (r Hardware_SecurityModule750) GetOperatingSystemReferenceCode() (resp string, err error) {
7370  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
7371  	return
7372  }
7373  
7374  // Retrieve The sum of all the outbound network traffic data for the last 30 days.
7375  func (r Hardware_SecurityModule750) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
7376  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
7377  	return
7378  }
7379  
7380  // Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
7381  func (r Hardware_SecurityModule750) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
7382  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
7383  	return
7384  }
7385  
7386  // Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
7387  func (r Hardware_SecurityModule750) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
7388  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
7389  	return
7390  }
7391  
7392  // Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
7393  func (r Hardware_SecurityModule750) GetOverBandwidthAllocationFlag() (resp int, err error) {
7394  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
7395  	return
7396  }
7397  
7398  // 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.
7399  func (r Hardware_SecurityModule750) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
7400  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPMInfo", nil, &r.Options, &resp)
7401  	return
7402  }
7403  
7404  // Retrieve Blade Bay
7405  func (r Hardware_SecurityModule750) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
7406  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getParentBay", nil, &r.Options, &resp)
7407  	return
7408  }
7409  
7410  // Retrieve Parent Hardware.
7411  func (r Hardware_SecurityModule750) GetParentHardware() (resp datatypes.Hardware, err error) {
7412  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getParentHardware", nil, &r.Options, &resp)
7413  	return
7414  }
7415  
7416  // Retrieve
7417  func (r Hardware_SecurityModule750) GetPartitions() (resp []datatypes.Hardware_Server_Partition, err error) {
7418  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPartitions", nil, &r.Options, &resp)
7419  	return
7420  }
7421  
7422  // Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
7423  func (r Hardware_SecurityModule750) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
7424  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPointOfPresenceLocation", nil, &r.Options, &resp)
7425  	return
7426  }
7427  
7428  // Retrieve The power components for a hardware object.
7429  func (r Hardware_SecurityModule750) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
7430  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPowerComponents", nil, &r.Options, &resp)
7431  	return
7432  }
7433  
7434  // Retrieve Information regarding a piece of hardware's power supply.
7435  func (r Hardware_SecurityModule750) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
7436  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPowerSupply", nil, &r.Options, &resp)
7437  	return
7438  }
7439  
7440  // Retrieve The hardware's primary private IP address.
7441  func (r Hardware_SecurityModule750) GetPrimaryBackendIpAddress() (resp string, err error) {
7442  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
7443  	return
7444  }
7445  
7446  // Retrieve Information regarding the hardware's primary back-end network component.
7447  func (r Hardware_SecurityModule750) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
7448  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
7449  	return
7450  }
7451  
7452  // no documentation yet
7453  func (r Hardware_SecurityModule750) GetPrimaryDriveSize() (resp int, err error) {
7454  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryDriveSize", nil, &r.Options, &resp)
7455  	return
7456  }
7457  
7458  // Retrieve The hardware's primary public IP address.
7459  func (r Hardware_SecurityModule750) GetPrimaryIpAddress() (resp string, err error) {
7460  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryIpAddress", nil, &r.Options, &resp)
7461  	return
7462  }
7463  
7464  // Retrieve Information regarding the hardware's primary public network component.
7465  func (r Hardware_SecurityModule750) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
7466  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
7467  	return
7468  }
7469  
7470  // Retrieve A collection of backendNetwork components
7471  func (r Hardware_SecurityModule750) GetPrivateBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
7472  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBackendNetworkComponents", nil, &r.Options, &resp)
7473  	return
7474  }
7475  
7476  // Retrieve this server's private bandwidth data. If no timeframe is specified then getPrivateBandwidthData retrieves the last 24 hours of public bandwidth usage.
7477  func (r Hardware_SecurityModule750) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
7478  	params := []interface{}{
7479  		startTime,
7480  		endTime,
7481  	}
7482  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBandwidthData", params, &r.Options, &resp)
7483  	return
7484  }
7485  
7486  // 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.
7487  func (r Hardware_SecurityModule750) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
7488  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
7489  	return
7490  }
7491  
7492  // Retrieve A server's primary private IP address.
7493  func (r Hardware_SecurityModule750) GetPrivateIpAddress() (resp string, err error) {
7494  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateIpAddress", nil, &r.Options, &resp)
7495  	return
7496  }
7497  
7498  // Retrieve the private network component attached with this server.
7499  func (r Hardware_SecurityModule750) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
7500  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateNetworkComponent", nil, &r.Options, &resp)
7501  	return
7502  }
7503  
7504  // Retrieve Whether the hardware only has access to the private network.
7505  func (r Hardware_SecurityModule750) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
7506  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
7507  	return
7508  }
7509  
7510  // Retrieve the backend VLAN for the primary IP address of the server
7511  func (r Hardware_SecurityModule750) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
7512  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPrivateVlan", nil, &r.Options, &resp)
7513  	return
7514  }
7515  
7516  // Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
7517  func (r Hardware_SecurityModule750) GetProcessorCoreAmount() (resp uint, err error) {
7518  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessorCoreAmount", nil, &r.Options, &resp)
7519  	return
7520  }
7521  
7522  // Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
7523  func (r Hardware_SecurityModule750) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
7524  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
7525  	return
7526  }
7527  
7528  // Retrieve Information regarding a piece of hardware's processors.
7529  func (r Hardware_SecurityModule750) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
7530  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProcessors", nil, &r.Options, &resp)
7531  	return
7532  }
7533  
7534  // Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
7535  func (r Hardware_SecurityModule750) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
7536  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
7537  	return
7538  }
7539  
7540  // Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
7541  func (r Hardware_SecurityModule750) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
7542  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
7543  	return
7544  }
7545  
7546  // no documentation yet
7547  func (r Hardware_SecurityModule750) GetProvisionDate() (resp datatypes.Time, err error) {
7548  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getProvisionDate", nil, &r.Options, &resp)
7549  	return
7550  }
7551  
7552  // Retrieve this server's public bandwidth data. If no timeframe is specified then getPublicBandwidthData retrieves the last 24 hours of public bandwidth usage.
7553  func (r Hardware_SecurityModule750) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
7554  	params := []interface{}{
7555  		startTime,
7556  		endTime,
7557  	}
7558  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthData", params, &r.Options, &resp)
7559  	return
7560  }
7561  
7562  // 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.
7563  func (r Hardware_SecurityModule750) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
7564  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
7565  	return
7566  }
7567  
7568  // Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
7569  func (r Hardware_SecurityModule750) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
7570  	params := []interface{}{
7571  		startTime,
7572  		endTime,
7573  	}
7574  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicBandwidthTotal", params, &r.Options, &resp)
7575  	return
7576  }
7577  
7578  // 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.
7579  func (r Hardware_SecurityModule750) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
7580  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicNetworkComponent", nil, &r.Options, &resp)
7581  	return
7582  }
7583  
7584  // Retrieve the frontend VLAN for the primary IP address of the server
7585  func (r Hardware_SecurityModule750) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
7586  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicVlan", nil, &r.Options, &resp)
7587  	return
7588  }
7589  
7590  // Retrieve the frontend network Vlan by searching the hostname of a server
7591  func (r Hardware_SecurityModule750) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
7592  	params := []interface{}{
7593  		hostname,
7594  	}
7595  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getPublicVlanByHostname", params, &r.Options, &resp)
7596  	return
7597  }
7598  
7599  // Retrieve
7600  func (r Hardware_SecurityModule750) GetRack() (resp datatypes.Location, err error) {
7601  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRack", nil, &r.Options, &resp)
7602  	return
7603  }
7604  
7605  // Retrieve The RAID controllers contained within a piece of hardware.
7606  func (r Hardware_SecurityModule750) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
7607  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRaidControllers", nil, &r.Options, &resp)
7608  	return
7609  }
7610  
7611  // Retrieve Determine if hardware object is vSan Ready Node.
7612  func (r Hardware_SecurityModule750) GetReadyNodeFlag() (resp bool, err error) {
7613  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getReadyNodeFlag", nil, &r.Options, &resp)
7614  	return
7615  }
7616  
7617  // Retrieve Recent events that impact this hardware.
7618  func (r Hardware_SecurityModule750) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
7619  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRecentEvents", nil, &r.Options, &resp)
7620  	return
7621  }
7622  
7623  // Retrieve The last five commands issued to the server's remote management card.
7624  func (r Hardware_SecurityModule750) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
7625  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
7626  	return
7627  }
7628  
7629  // 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'.
7630  func (r Hardware_SecurityModule750) GetRedfishPowerState() (resp string, err error) {
7631  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRedfishPowerState", nil, &r.Options, &resp)
7632  	return
7633  }
7634  
7635  // Retrieve
7636  func (r Hardware_SecurityModule750) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
7637  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRegionalInternetRegistry", nil, &r.Options, &resp)
7638  	return
7639  }
7640  
7641  // Retrieve A server's remote management card.
7642  func (r Hardware_SecurityModule750) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
7643  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagement", nil, &r.Options, &resp)
7644  	return
7645  }
7646  
7647  // Retrieve User credentials to issue commands and/or interact with the server's remote management card.
7648  func (r Hardware_SecurityModule750) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
7649  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementAccounts", nil, &r.Options, &resp)
7650  	return
7651  }
7652  
7653  // Retrieve A hardware's associated remote management component. This is normally IPMI.
7654  func (r Hardware_SecurityModule750) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
7655  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementComponent", nil, &r.Options, &resp)
7656  	return
7657  }
7658  
7659  // Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
7660  func (r Hardware_SecurityModule750) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
7661  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRemoteManagementUsers", nil, &r.Options, &resp)
7662  	return
7663  }
7664  
7665  // Retrieve
7666  func (r Hardware_SecurityModule750) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
7667  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceConfigurations", nil, &r.Options, &resp)
7668  	return
7669  }
7670  
7671  // Retrieve
7672  func (r Hardware_SecurityModule750) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
7673  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
7674  	return
7675  }
7676  
7677  // Retrieve
7678  func (r Hardware_SecurityModule750) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
7679  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroupRoles", nil, &r.Options, &resp)
7680  	return
7681  }
7682  
7683  // Retrieve The resource groups in which this hardware is a member.
7684  func (r Hardware_SecurityModule750) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
7685  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getResourceGroups", nil, &r.Options, &resp)
7686  	return
7687  }
7688  
7689  // Retrieve the reverse domain records associated with this server.
7690  func (r Hardware_SecurityModule750) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
7691  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getReverseDomainRecords", nil, &r.Options, &resp)
7692  	return
7693  }
7694  
7695  // Retrieve A hardware's routers.
7696  func (r Hardware_SecurityModule750) GetRouters() (resp []datatypes.Hardware, err error) {
7697  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getRouters", nil, &r.Options, &resp)
7698  	return
7699  }
7700  
7701  // Retrieve Information regarding a piece of hardware's vulnerability scan requests.
7702  func (r Hardware_SecurityModule750) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
7703  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSecurityScanRequests", nil, &r.Options, &resp)
7704  	return
7705  }
7706  
7707  // 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.
7708  func (r Hardware_SecurityModule750) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
7709  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSensorData", nil, &r.Options, &resp)
7710  	return
7711  }
7712  
7713  // 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.
7714  func (r Hardware_SecurityModule750) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
7715  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSensorDataWithGraphs", nil, &r.Options, &resp)
7716  	return
7717  }
7718  
7719  // 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.
7720  func (r Hardware_SecurityModule750) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
7721  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerDetails", nil, &r.Options, &resp)
7722  	return
7723  }
7724  
7725  // 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.
7726  func (r Hardware_SecurityModule750) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
7727  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
7728  	return
7729  }
7730  
7731  // 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'.
7732  func (r Hardware_SecurityModule750) GetServerPowerState() (resp string, err error) {
7733  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerPowerState", nil, &r.Options, &resp)
7734  	return
7735  }
7736  
7737  // Retrieve Information regarding the server room in which the hardware is located.
7738  func (r Hardware_SecurityModule750) GetServerRoom() (resp datatypes.Location, err error) {
7739  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerRoom", nil, &r.Options, &resp)
7740  	return
7741  }
7742  
7743  // 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.
7744  func (r Hardware_SecurityModule750) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
7745  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServerTemperatureGraphs", nil, &r.Options, &resp)
7746  	return
7747  }
7748  
7749  // Retrieve Information regarding the piece of hardware's service provider.
7750  func (r Hardware_SecurityModule750) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
7751  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getServiceProvider", nil, &r.Options, &resp)
7752  	return
7753  }
7754  
7755  // Retrieve Information regarding a piece of hardware's installed software.
7756  func (r Hardware_SecurityModule750) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
7757  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSoftwareComponents", nil, &r.Options, &resp)
7758  	return
7759  }
7760  
7761  // Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
7762  func (r Hardware_SecurityModule750) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
7763  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
7764  	return
7765  }
7766  
7767  // Retrieve Information regarding the billing item for a spare pool server.
7768  func (r Hardware_SecurityModule750) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
7769  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSparePoolBillingItem", nil, &r.Options, &resp)
7770  	return
7771  }
7772  
7773  // Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
7774  func (r Hardware_SecurityModule750) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
7775  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getSshKeys", nil, &r.Options, &resp)
7776  	return
7777  }
7778  
7779  // Retrieve A server's remote management card used for statistics.
7780  func (r Hardware_SecurityModule750) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
7781  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
7782  	return
7783  }
7784  
7785  // Retrieve
7786  func (r Hardware_SecurityModule750) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
7787  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getStorageGroups", nil, &r.Options, &resp)
7788  	return
7789  }
7790  
7791  // Retrieve A piece of hardware's private storage network components. [Deprecated]
7792  func (r Hardware_SecurityModule750) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
7793  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getStorageNetworkComponents", nil, &r.Options, &resp)
7794  	return
7795  }
7796  
7797  // Retrieve
7798  func (r Hardware_SecurityModule750) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
7799  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTagReferences", nil, &r.Options, &resp)
7800  	return
7801  }
7802  
7803  // Retrieve
7804  func (r Hardware_SecurityModule750) GetTopLevelLocation() (resp datatypes.Location, err error) {
7805  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTopLevelLocation", nil, &r.Options, &resp)
7806  	return
7807  }
7808  
7809  // This method will query transaction history for a piece of hardware.
7810  func (r Hardware_SecurityModule750) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
7811  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getTransactionHistory", nil, &r.Options, &resp)
7812  	return
7813  }
7814  
7815  // Retrieve Whether to use UEFI boot instead of BIOS.
7816  func (r Hardware_SecurityModule750) GetUefiBootFlag() (resp bool, err error) {
7817  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUefiBootFlag", nil, &r.Options, &resp)
7818  	return
7819  }
7820  
7821  // 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.
7822  func (r Hardware_SecurityModule750) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
7823  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUpgradeItemPrices", nil, &r.Options, &resp)
7824  	return
7825  }
7826  
7827  // Retrieve An account's associated upgrade request object, if any.
7828  func (r Hardware_SecurityModule750) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
7829  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUpgradeRequest", nil, &r.Options, &resp)
7830  	return
7831  }
7832  
7833  // Retrieve A piece of hardware's active upgradeable physical components.
7834  func (r Hardware_SecurityModule750) GetUpgradeableActiveComponents() (resp []datatypes.Hardware_Component, err error) {
7835  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUpgradeableActiveComponents", nil, &r.Options, &resp)
7836  	return
7837  }
7838  
7839  // Retrieve The network device connected to a piece of hardware.
7840  func (r Hardware_SecurityModule750) GetUplinkHardware() (resp datatypes.Hardware, err error) {
7841  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUplinkHardware", nil, &r.Options, &resp)
7842  	return
7843  }
7844  
7845  // Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
7846  func (r Hardware_SecurityModule750) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
7847  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUplinkNetworkComponents", nil, &r.Options, &resp)
7848  	return
7849  }
7850  
7851  // Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
7852  func (r Hardware_SecurityModule750) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
7853  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUserData", nil, &r.Options, &resp)
7854  	return
7855  }
7856  
7857  // Retrieve A list of users that have access to this computing instance.
7858  func (r Hardware_SecurityModule750) GetUsers() (resp []datatypes.User_Customer, err error) {
7859  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getUsers", nil, &r.Options, &resp)
7860  	return
7861  }
7862  
7863  // 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.
7864  func (r Hardware_SecurityModule750) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
7865  	params := []interface{}{
7866  		visibility,
7867  	}
7868  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
7869  	return
7870  }
7871  
7872  // Retrieve Information regarding the virtual chassis for a piece of hardware.
7873  func (r Hardware_SecurityModule750) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
7874  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualChassis", nil, &r.Options, &resp)
7875  	return
7876  }
7877  
7878  // Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
7879  func (r Hardware_SecurityModule750) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
7880  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualChassisSiblings", nil, &r.Options, &resp)
7881  	return
7882  }
7883  
7884  // Retrieve [DEPRECATED] A hardware server's virtual servers.
7885  func (r Hardware_SecurityModule750) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
7886  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualGuests", nil, &r.Options, &resp)
7887  	return
7888  }
7889  
7890  // Retrieve A piece of hardware's virtual host record.
7891  func (r Hardware_SecurityModule750) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
7892  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualHost", nil, &r.Options, &resp)
7893  	return
7894  }
7895  
7896  // Retrieve Information regarding a piece of hardware's virtual software licenses.
7897  func (r Hardware_SecurityModule750) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
7898  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualLicenses", nil, &r.Options, &resp)
7899  	return
7900  }
7901  
7902  // Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
7903  func (r Hardware_SecurityModule750) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
7904  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRack", nil, &r.Options, &resp)
7905  	return
7906  }
7907  
7908  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
7909  func (r Hardware_SecurityModule750) GetVirtualRackId() (resp int, err error) {
7910  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRackId", nil, &r.Options, &resp)
7911  	return
7912  }
7913  
7914  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
7915  func (r Hardware_SecurityModule750) GetVirtualRackName() (resp string, err error) {
7916  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualRackName", nil, &r.Options, &resp)
7917  	return
7918  }
7919  
7920  // Retrieve A piece of hardware's virtualization platform software.
7921  func (r Hardware_SecurityModule750) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
7922  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getVirtualizationPlatform", nil, &r.Options, &resp)
7923  	return
7924  }
7925  
7926  // 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.
7927  func (r Hardware_SecurityModule750) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
7928  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
7929  	return
7930  }
7931  
7932  // 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.
7933  func (r Hardware_SecurityModule750) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
7934  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
7935  	return
7936  }
7937  
7938  // 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.
7939  func (r Hardware_SecurityModule750) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
7940  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "getWindowsUpdateStatus", nil, &r.Options, &resp)
7941  	return
7942  }
7943  
7944  // The ”'importVirtualHost”' method attempts to import the host record for the virtualization platform running on a server.
7945  func (r Hardware_SecurityModule750) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
7946  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "importVirtualHost", nil, &r.Options, &resp)
7947  	return
7948  }
7949  
7950  // Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
7951  func (r Hardware_SecurityModule750) InitiateIderaBareMetalRestore() (resp bool, err error) {
7952  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
7953  	return
7954  }
7955  
7956  // R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
7957  func (r Hardware_SecurityModule750) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
7958  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
7959  	return
7960  }
7961  
7962  // Issues a ping command and returns the success (true) or failure (false) of the ping command.
7963  func (r Hardware_SecurityModule750) IsBackendPingable() (resp bool, err error) {
7964  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isBackendPingable", nil, &r.Options, &resp)
7965  	return
7966  }
7967  
7968  // Issues a ping command and returns the success (true) or failure (false) of the ping command.
7969  func (r Hardware_SecurityModule750) IsPingable() (resp bool, err error) {
7970  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isPingable", nil, &r.Options, &resp)
7971  	return
7972  }
7973  
7974  // Determine if the server runs any version of the Microsoft Windows operating systems. Return ”true” if it does and ”false if otherwise.
7975  func (r Hardware_SecurityModule750) IsWindowsServer() (resp bool, err error) {
7976  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "isWindowsServer", nil, &r.Options, &resp)
7977  	return
7978  }
7979  
7980  // 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.
7981  //
7982  // 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.
7983  func (r Hardware_SecurityModule750) MassFirmwareReflash(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
7984  	params := []interface{}{
7985  		hardwareIds,
7986  		ipmi,
7987  		raidController,
7988  		bios,
7989  	}
7990  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massFirmwareReflash", params, &r.Options, &resp)
7991  	return
7992  }
7993  
7994  // 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.
7995  //
7996  // 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.
7997  func (r Hardware_SecurityModule750) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool, networkCard *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
7998  	params := []interface{}{
7999  		hardwareIds,
8000  		ipmi,
8001  		raidController,
8002  		bios,
8003  		harddrive,
8004  		networkCard,
8005  	}
8006  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massFirmwareUpdate", params, &r.Options, &resp)
8007  	return
8008  }
8009  
8010  // 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.
8011  //
8012  // 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.
8013  func (r Hardware_SecurityModule750) MassHyperThreadingUpdate(hardwareIds []int, disableHyperthreading *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
8014  	params := []interface{}{
8015  		hardwareIds,
8016  		disableHyperthreading,
8017  	}
8018  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massHyperThreadingUpdate", params, &r.Options, &resp)
8019  	return
8020  }
8021  
8022  // Reloads current or customer specified operating system configuration.
8023  //
8024  // 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.
8025  //
8026  // 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.
8027  //
8028  // The reload will take AT MINIMUM 66 minutes.
8029  func (r Hardware_SecurityModule750) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
8030  	params := []interface{}{
8031  		hardwareIds,
8032  		token,
8033  		config,
8034  	}
8035  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massReloadOperatingSystem", params, &r.Options, &resp)
8036  	return
8037  }
8038  
8039  // 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.
8040  func (r Hardware_SecurityModule750) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
8041  	params := []interface{}{
8042  		hardwareIds,
8043  		action,
8044  		newOrder,
8045  	}
8046  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "massSparePool", params, &r.Options, &resp)
8047  	return
8048  }
8049  
8050  // Issues a ping command to the server and returns the ping response.
8051  func (r Hardware_SecurityModule750) Ping() (resp string, err error) {
8052  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "ping", nil, &r.Options, &resp)
8053  	return
8054  }
8055  
8056  // no documentation yet
8057  func (r Hardware_SecurityModule750) PopulateServerRam(ramSerialString *string) (err error) {
8058  	var resp datatypes.Void
8059  	params := []interface{}{
8060  		ramSerialString,
8061  	}
8062  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "populateServerRam", params, &r.Options, &resp)
8063  	return
8064  }
8065  
8066  // 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.
8067  func (r Hardware_SecurityModule750) PowerCycle() (resp bool, err error) {
8068  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerCycle", nil, &r.Options, &resp)
8069  	return
8070  }
8071  
8072  // This method will power off the server via the server's remote management card.
8073  func (r Hardware_SecurityModule750) PowerOff() (resp bool, err error) {
8074  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerOff", nil, &r.Options, &resp)
8075  	return
8076  }
8077  
8078  // 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.
8079  func (r Hardware_SecurityModule750) PowerOn() (resp bool, err error) {
8080  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "powerOn", nil, &r.Options, &resp)
8081  	return
8082  }
8083  
8084  // 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.
8085  func (r Hardware_SecurityModule750) RebootDefault() (resp bool, err error) {
8086  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootDefault", nil, &r.Options, &resp)
8087  	return
8088  }
8089  
8090  // 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.
8091  func (r Hardware_SecurityModule750) RebootHard() (resp bool, err error) {
8092  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootHard", nil, &r.Options, &resp)
8093  	return
8094  }
8095  
8096  // 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.
8097  func (r Hardware_SecurityModule750) RebootSoft() (resp bool, err error) {
8098  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "rebootSoft", nil, &r.Options, &resp)
8099  	return
8100  }
8101  
8102  // no documentation yet
8103  func (r Hardware_SecurityModule750) RefreshDeviceStatus() (resp datatypes.Hardware_State, err error) {
8104  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "refreshDeviceStatus", nil, &r.Options, &resp)
8105  	return
8106  }
8107  
8108  // Reloads current operating system configuration.
8109  //
8110  // 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.
8111  //
8112  // 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.
8113  //
8114  // The reload will take AT MINIMUM 66 minutes.
8115  func (r Hardware_SecurityModule750) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
8116  	params := []interface{}{
8117  		token,
8118  	}
8119  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
8120  	return
8121  }
8122  
8123  // Reloads current or customer specified operating system configuration.
8124  //
8125  // 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.
8126  //
8127  // 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.
8128  //
8129  // The reload will take AT MINIMUM 66 minutes.
8130  func (r Hardware_SecurityModule750) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
8131  	params := []interface{}{
8132  		token,
8133  		config,
8134  	}
8135  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "reloadOperatingSystem", params, &r.Options, &resp)
8136  	return
8137  }
8138  
8139  // This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
8140  func (r Hardware_SecurityModule750) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
8141  	params := []interface{}{
8142  		networkStorageTemplateObject,
8143  	}
8144  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "removeAccessToNetworkStorage", params, &r.Options, &resp)
8145  	return
8146  }
8147  
8148  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
8149  func (r Hardware_SecurityModule750) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
8150  	params := []interface{}{
8151  		networkStorageTemplateObjects,
8152  	}
8153  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
8154  	return
8155  }
8156  
8157  // no documentation yet
8158  func (r Hardware_SecurityModule750) RemoveTags(tags *string) (resp bool, err error) {
8159  	params := []interface{}{
8160  		tags,
8161  	}
8162  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "removeTags", params, &r.Options, &resp)
8163  	return
8164  }
8165  
8166  // 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.
8167  //
8168  // 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.
8169  //
8170  // 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.
8171  //
8172  // 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.
8173  func (r Hardware_SecurityModule750) RunPassmarkCertificationBenchmark() (resp bool, err error) {
8174  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
8175  	return
8176  }
8177  
8178  // Changes the password that we have stored in our database for a servers' Operating System
8179  func (r Hardware_SecurityModule750) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
8180  	params := []interface{}{
8181  		newPassword,
8182  	}
8183  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setOperatingSystemPassword", params, &r.Options, &resp)
8184  	return
8185  }
8186  
8187  // Set the private network interface speed and redundancy configuration.
8188  //
8189  // 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.
8190  //
8191  // 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.
8192  //
8193  // 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.
8194  //
8195  // 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.
8196  //
8197  // <h4>Backwards Compatibility Until February 27th, 2019</h4>
8198  //
8199  // 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.
8200  func (r Hardware_SecurityModule750) SetPrivateNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
8201  	params := []interface{}{
8202  		newSpeed,
8203  		redundancy,
8204  	}
8205  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
8206  	return
8207  }
8208  
8209  // Set the public network interface speed and redundancy configuration.
8210  //
8211  // 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.
8212  //
8213  // 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.
8214  //
8215  // 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.
8216  //
8217  // 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.
8218  //
8219  // <h4>Backwards Compatibility Until February 27th, 2019</h4>
8220  //
8221  // 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.
8222  func (r Hardware_SecurityModule750) SetPublicNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
8223  	params := []interface{}{
8224  		newSpeed,
8225  		redundancy,
8226  	}
8227  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
8228  	return
8229  }
8230  
8231  // no documentation yet
8232  func (r Hardware_SecurityModule750) SetTags(tags *string) (resp bool, err error) {
8233  	params := []interface{}{
8234  		tags,
8235  	}
8236  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setTags", params, &r.Options, &resp)
8237  	return
8238  }
8239  
8240  // Sets the data that will be written to the configuration drive.
8241  func (r Hardware_SecurityModule750) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
8242  	params := []interface{}{
8243  		metadata,
8244  	}
8245  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "setUserMetadata", params, &r.Options, &resp)
8246  	return
8247  }
8248  
8249  // 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.
8250  //
8251  // 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.
8252  //
8253  // 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.
8254  func (r Hardware_SecurityModule750) ShutdownPrivatePort() (resp bool, err error) {
8255  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "shutdownPrivatePort", nil, &r.Options, &resp)
8256  	return
8257  }
8258  
8259  // 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.
8260  //
8261  // 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.
8262  //
8263  // 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.
8264  func (r Hardware_SecurityModule750) ShutdownPublicPort() (resp bool, err error) {
8265  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "shutdownPublicPort", nil, &r.Options, &resp)
8266  	return
8267  }
8268  
8269  // 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.
8270  func (r Hardware_SecurityModule750) SparePool(action *string, newOrder *bool) (resp bool, err error) {
8271  	params := []interface{}{
8272  		action,
8273  		newOrder,
8274  	}
8275  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "sparePool", params, &r.Options, &resp)
8276  	return
8277  }
8278  
8279  // 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.
8280  func (r Hardware_SecurityModule750) TestRaidAlertService() (resp bool, err error) {
8281  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "testRaidAlertService", nil, &r.Options, &resp)
8282  	return
8283  }
8284  
8285  // Attempt to toggle the IPMI interface.  If there is an active transaction on the server, it will throw an exception. This method creates a job to toggle the interface.  It is not instant.
8286  func (r Hardware_SecurityModule750) ToggleManagementInterface(enabled *bool) (resp bool, err error) {
8287  	params := []interface{}{
8288  		enabled,
8289  	}
8290  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "toggleManagementInterface", params, &r.Options, &resp)
8291  	return
8292  }
8293  
8294  // This method will update the root IPMI password on this SoftLayer_Hardware.
8295  func (r Hardware_SecurityModule750) UpdateIpmiPassword(password *string) (resp bool, err error) {
8296  	params := []interface{}{
8297  		password,
8298  	}
8299  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "updateIpmiPassword", params, &r.Options, &resp)
8300  	return
8301  }
8302  
8303  // Validates a collection of partitions for an operating system
8304  func (r Hardware_SecurityModule750) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
8305  	params := []interface{}{
8306  		operatingSystem,
8307  		partitions,
8308  	}
8309  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
8310  	return
8311  }
8312  
8313  // no documentation yet
8314  func (r Hardware_SecurityModule750) ValidateSecurityLevel() (err error) {
8315  	var resp datatypes.Void
8316  	err = r.Session.DoRequest("SoftLayer_Hardware_SecurityModule750", "validateSecurityLevel", nil, &r.Options, &resp)
8317  	return
8318  }
8319  
8320  // The SoftLayer_Hardware_Server data type contains general information relating to a single SoftLayer server.
8321  type Hardware_Server struct {
8322  	Session session.SLSession
8323  	Options sl.Options
8324  }
8325  
8326  // GetHardwareServerService returns an instance of the Hardware_Server SoftLayer service
8327  func GetHardwareServerService(sess session.SLSession) Hardware_Server {
8328  	return Hardware_Server{Session: sess}
8329  }
8330  
8331  func (r Hardware_Server) Id(id int) Hardware_Server {
8332  	r.Options.Id = &id
8333  	return r
8334  }
8335  
8336  func (r Hardware_Server) Mask(mask string) Hardware_Server {
8337  	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
8338  		mask = fmt.Sprintf("mask[%s]", mask)
8339  	}
8340  
8341  	r.Options.Mask = mask
8342  	return r
8343  }
8344  
8345  func (r Hardware_Server) Filter(filter string) Hardware_Server {
8346  	r.Options.Filter = filter
8347  	return r
8348  }
8349  
8350  func (r Hardware_Server) Limit(limit int) Hardware_Server {
8351  	r.Options.Limit = &limit
8352  	return r
8353  }
8354  
8355  func (r Hardware_Server) Offset(offset int) Hardware_Server {
8356  	r.Options.Offset = &offset
8357  	return r
8358  }
8359  
8360  // 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).
8361  //
8362  // 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.
8363  //
8364  // 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.
8365  func (r Hardware_Server) ActivatePrivatePort() (resp bool, err error) {
8366  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "activatePrivatePort", nil, &r.Options, &resp)
8367  	return
8368  }
8369  
8370  // 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).
8371  //
8372  // 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.
8373  //
8374  // 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.
8375  func (r Hardware_Server) ActivatePublicPort() (resp bool, err error) {
8376  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "activatePublicPort", nil, &r.Options, &resp)
8377  	return
8378  }
8379  
8380  // This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
8381  func (r Hardware_Server) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
8382  	params := []interface{}{
8383  		networkStorageTemplateObject,
8384  	}
8385  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "allowAccessToNetworkStorage", params, &r.Options, &resp)
8386  	return
8387  }
8388  
8389  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
8390  func (r Hardware_Server) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
8391  	params := []interface{}{
8392  		networkStorageTemplateObjects,
8393  	}
8394  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
8395  	return
8396  }
8397  
8398  // 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.
8399  func (r Hardware_Server) BootToRescueLayer(noOsBootEnvironment *string) (resp bool, err error) {
8400  	params := []interface{}{
8401  		noOsBootEnvironment,
8402  	}
8403  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "bootToRescueLayer", params, &r.Options, &resp)
8404  	return
8405  }
8406  
8407  // 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.
8408  func (r Hardware_Server) CaptureImage(captureTemplate *datatypes.Container_Disk_Image_Capture_Template) (resp datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
8409  	params := []interface{}{
8410  		captureTemplate,
8411  	}
8412  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "captureImage", params, &r.Options, &resp)
8413  	return
8414  }
8415  
8416  // Changes the power state for the server.  The server's power status is changed from its remote management card.
8417  func (r Hardware_Server) ChangeRedfishPowerState(state *string) (resp bool, err error) {
8418  	params := []interface{}{
8419  		state,
8420  	}
8421  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "changeRedfishPowerState", params, &r.Options, &resp)
8422  	return
8423  }
8424  
8425  // 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.
8426  //
8427  // 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.
8428  func (r Hardware_Server) CreateFirmwareReflashTransaction(ipmi *int, raidController *int, bios *int) (resp bool, err error) {
8429  	params := []interface{}{
8430  		ipmi,
8431  		raidController,
8432  		bios,
8433  	}
8434  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createFirmwareReflashTransaction", params, &r.Options, &resp)
8435  	return
8436  }
8437  
8438  // 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.
8439  //
8440  // 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.
8441  func (r Hardware_Server) CreateFirmwareUpdateTransaction(ipmi *int, raidController *int, bios *int, harddrive *int, networkCard *int) (resp bool, err error) {
8442  	params := []interface{}{
8443  		ipmi,
8444  		raidController,
8445  		bios,
8446  		harddrive,
8447  		networkCard,
8448  	}
8449  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createFirmwareUpdateTransaction", params, &r.Options, &resp)
8450  	return
8451  }
8452  
8453  // 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.
8454  //
8455  // 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.
8456  func (r Hardware_Server) CreateHyperThreadingUpdateTransaction(disableHyperthreading *int) (resp bool, err error) {
8457  	params := []interface{}{
8458  		disableHyperthreading,
8459  	}
8460  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createHyperThreadingUpdateTransaction", params, &r.Options, &resp)
8461  	return
8462  }
8463  
8464  // <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style>
8465  // createObject() enables the creation of servers on an account. This
8466  // method is a simplified alternative to interacting with the ordering system directly.
8467  //
8468  // In order to create a server, a template object must be sent in with a few required
8469  // values.
8470  //
8471  // When this method returns an order will have been placed for a server of the specified configuration.
8472  //
8473  // To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
8474  // checking the <code>provisionDate</code> property.
8475  // When <code>provisionDate</code> is not null, the server will be ready. Be sure to use the <code>globalIdentifier</code>
8476  // as your initialization parameter.
8477  //
8478  // <b>Warning:</b> Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
8479  //
8480  // <b>Input</b> - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
8481  // <ul class="create_object">
8482  //
8483  //	    <li><code>hostname</code>
8484  //	        <div>Hostname for the server.</div><ul>
8485  //	            <li><b>Required</b></li>
8486  //	            <li><b>Type</b> - string</li>
8487  //	        </ul>
8488  //	        <br />
8489  //	    </li>
8490  //	    <li><code>domain</code>
8491  //	        <div>Domain for the server.</div><ul>
8492  //	            <li><b>Required</b></li>
8493  //	            <li><b>Type</b> - string</li>
8494  //	        </ul>
8495  //	        <br />
8496  //	    </li>
8497  //	    <li><code>processorCoreAmount</code>
8498  //	        <div>The number of logical CPU cores to allocate.</div><ul>
8499  //	            <li><b>Required</b></li>
8500  //	            <li><b>Type</b> - int</li>
8501  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8502  //	        </ul>
8503  //	        <br />
8504  //	    </li>
8505  //	    <li><code>memoryCapacity</code>
8506  //	        <div>The amount of memory to allocate in gigabytes.</div><ul>
8507  //	            <li><b>Required</b></li>
8508  //	            <li><b>Type</b> - int</li>
8509  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8510  //	        </ul>
8511  //	        <br />
8512  //	    </li>
8513  //	    <li><code>hourlyBillingFlag</code>
8514  //	        <div>Specifies the billing type for the server.</div><ul>
8515  //	            <li><b>Required</b></li>
8516  //	            <li><b>Type</b> - boolean</li>
8517  //	            <li>When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.</li>
8518  //	        </ul>
8519  //	        <br />
8520  //	    </li>
8521  //	    <li><code>operatingSystemReferenceCode</code>
8522  //	        <div>An identifier for the operating system to provision the server with.</div><ul>
8523  //	            <li><b>Required</b></li>
8524  //	            <li><b>Type</b> - string</li>
8525  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8526  //	        </ul>
8527  //	        <br />
8528  //	    </li>
8529  //	    <li><code>datacenter.name</code>
8530  //	        <div>Specifies which datacenter the server is to be provisioned in.</div><ul>
8531  //	            <li><b>Required</b></li>
8532  //	            <li><b>Type</b> - string</li>
8533  //	            <li>The <code>datacenter</code> property is a [[SoftLayer_Location (type)|location]] structure with the <code>name</code> field set.</li>
8534  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8535  //	        </ul>
8536  //	        <http title="Example">{
8537  //	    "datacenter": {
8538  //	        "name": "dal05"
8539  //	    }
8540  //	}</http>
8541  //
8542  //	        <br />
8543  //	    </li>
8544  //	    <li><code>networkComponents.maxSpeed</code>
8545  //	        <div>Specifies the connection speed for the server's network components.</div><ul>
8546  //	            <li><b>Optional</b></li>
8547  //	            <li><b>Type</b> - int</li>
8548  //	            <li><b>Default</b> - The highest available zero cost port speed will be used.</li>
8549  //	            <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>
8550  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8551  //	        </ul>
8552  //	            <http title="Example">{
8553  //	    "networkComponents": [
8554  //	        {
8555  //	            "maxSpeed": 1000
8556  //	        }
8557  //	    ]
8558  //	}</http>
8559  //
8560  //	        <br />
8561  //	    </li>
8562  //	    <li><code>networkComponents.redundancyEnabledFlag</code>
8563  //	        <div>Specifies whether or not the server's network components should be in redundancy groups.</div><ul>
8564  //	            <li><b>Optional</b></li>
8565  //	            <li><b>Type</b> - bool</li>
8566  //	            <li><b>Default</b> - <code>false</code></li>
8567  //	            <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>
8568  //	        </ul>
8569  //	            <http title="Example">{
8570  //	    "networkComponents": [
8571  //	        {
8572  //	            "redundancyEnabledFlag": false
8573  //	        }
8574  //	    ]
8575  //	}</http>
8576  //
8577  //	        <br />
8578  //	    </li>
8579  //	    <li><code>privateNetworkOnlyFlag</code>
8580  //	        <div>Specifies whether or not the server only has access to the private network</div><ul>
8581  //	            <li><b>Optional</b></li>
8582  //	            <li><b>Type</b> - boolean</li>
8583  //	            <li><b>Default</b> - <code>false</code></li>
8584  //	            <li>When true this flag specifies that a server is to only have access to the private network.</li>
8585  //	        </ul>
8586  //	        <br />
8587  //	    </li>
8588  //	    <li><code>primaryNetworkComponent.networkVlan.id</code>
8589  //	        <div>Specifies the network vlan which is to be used for the frontend interface of the server.</div><ul>
8590  //	            <li><b>Optional</b></li>
8591  //	            <li><b>Type</b> - int</li>
8592  //	            <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>
8593  //	        </ul>
8594  //	        <http title="Example">{
8595  //	    "primaryNetworkComponent": {
8596  //	        "networkVlan": {
8597  //	            "id": 1
8598  //	        }
8599  //	    }
8600  //	}</http>
8601  //
8602  //	        <br />
8603  //	    </li>
8604  //	    <li><code>primaryBackendNetworkComponent.networkVlan.id</code>
8605  //	        <div>Specifies the network vlan which is to be used for the backend interface of the server.</div><ul>
8606  //	            <li><b>Optional</b></li>
8607  //	            <li><b>Type</b> - int</li>
8608  //	            <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>
8609  //	        </ul>
8610  //	        <http title="Example">{
8611  //	    "primaryBackendNetworkComponent": {
8612  //	        "networkVlan": {
8613  //	            "id": 2
8614  //	        }
8615  //	    }
8616  //	}</http>
8617  //
8618  //	        <br />
8619  //	    </li>
8620  //	    <li><code>fixedConfigurationPreset.keyName</code>
8621  //	        <div></div><ul>
8622  //	            <li><b>Optional</b></li>
8623  //	            <li><b>Type</b> - string</li>
8624  //	            <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>
8625  //	            <li>If a fixed configuration preset is used <code>processorCoreAmount</code>, <code>memoryCapacity</code> and <code>hardDrives</code> properties must not be set.</li>
8626  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8627  //	        </ul>
8628  //	        <http title="Example">{
8629  //	    "fixedConfigurationPreset": {
8630  //	        "keyName": "SOME_KEY_NAME"
8631  //	    }
8632  //	}</http>
8633  //
8634  //	        <br />
8635  //	    </li>
8636  //	    <li><code>userData.value</code>
8637  //	        <div>Arbitrary data to be made available to the server.</div><ul>
8638  //	            <li><b>Optional</b></li>
8639  //	            <li><b>Type</b> - string</li>
8640  //	            <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>
8641  //	            <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>
8642  //	        </ul>
8643  //	        <http title="Example">{
8644  //	    "userData": [
8645  //	        {
8646  //	            "value": "someValue"
8647  //	        }
8648  //	    ]
8649  //	}</http>
8650  //
8651  //	        <br />
8652  //	    </li>
8653  //	    <li><code>hardDrives</code>
8654  //	        <div>Hard drive settings for the server</div><ul>
8655  //	            <li><b>Optional</b></li>
8656  //	            <li><b>Type</b> - SoftLayer_Hardware_Component</li>
8657  //	            <li><b>Default</b> - The largest available capacity for a zero cost primary disk will be used.</li>
8658  //	            <li><b>Description</b> - The <code>hardDrives</code> property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.</i>
8659  //	            <li>Each hard drive must specify the <code>capacity</code> property.</li>
8660  //	            <li>See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.</li>
8661  //	        </ul>
8662  //	        <http title="Example">{
8663  //	    "hardDrives": [
8664  //	        {
8665  //	            "capacity": 500
8666  //	        }
8667  //	    ]
8668  //	}</http>
8669  //
8670  //	        <br />
8671  //	    </li>
8672  //	    <li id="hardware-create-object-ssh-keys"><code>sshKeys</code>
8673  //	        <div>SSH keys to install on the server upon provisioning.</div><ul>
8674  //	            <li><b>Optional</b></li>
8675  //	            <li><b>Type</b> - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]</li>
8676  //	            <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>
8677  //	            <li>To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.</li>
8678  //	            <li>To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
8679  //	        </ul>
8680  //	        <http title="Example">{
8681  //	    "sshKeys": [
8682  //	        {
8683  //	            "id": 123
8684  //	        }
8685  //	    ]
8686  //	}</http>
8687  //
8688  //	    <br />
8689  //	</li>
8690  //	<li><code>postInstallScriptUri</code>
8691  //	    <div>Specifies the uri location of the script to be downloaded and run after installation is complete.</div><ul>
8692  //	        <li><b>Optional</b></li>
8693  //	        <li><b>Type</b> - string</li>
8694  //	    </ul>
8695  //	    <br />
8696  //	</li>
8697  //
8698  // </ul>
8699  //
8700  // <h1>REST Example</h1>
8701  //
8702  //	<http title="Request">curl -X POST -d '{
8703  //	 "parameters":[
8704  //	     {
8705  //	         "hostname": "host1",
8706  //	         "domain": "example.com",
8707  //	         "processorCoreAmount": 2,
8708  //	         "memoryCapacity": 2,
8709  //	         "hourlyBillingFlag": true,
8710  //	         "operatingSystemReferenceCode": "UBUNTU_LATEST"
8711  //	     }
8712  //	 ]
8713  //	}' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
8714  //
8715  // </http>
8716  // <http title="Response">HTTP/1.1 201 Created
8717  // Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
8718  //
8719  //	{
8720  //	    "accountId": 232298,
8721  //	    "bareMetalInstanceFlag": null,
8722  //	    "domain": "example.com",
8723  //	    "hardwareStatusId": null,
8724  //	    "hostname": "host1",
8725  //	    "id": null,
8726  //	    "serviceProviderId": null,
8727  //	    "serviceProviderResourceId": null,
8728  //	    "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
8729  //	    "hourlyBillingFlag": true,
8730  //	    "memoryCapacity": 2,
8731  //	    "operatingSystemReferenceCode": "UBUNTU_LATEST",
8732  //	    "processorCoreAmount": 2
8733  //	}
8734  //
8735  // </http>
8736  func (r Hardware_Server) CreateObject(templateObject *datatypes.Hardware_Server) (resp datatypes.Hardware_Server, err error) {
8737  	params := []interface{}{
8738  		templateObject,
8739  	}
8740  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createObject", params, &r.Options, &resp)
8741  	return
8742  }
8743  
8744  // no documentation yet
8745  func (r Hardware_Server) CreatePostSoftwareInstallTransaction(installCodes []string, returnBoolean *bool) (resp bool, err error) {
8746  	params := []interface{}{
8747  		installCodes,
8748  		returnBoolean,
8749  	}
8750  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "createPostSoftwareInstallTransaction", params, &r.Options, &resp)
8751  	return
8752  }
8753  
8754  // This method will cancel a server effective immediately. For servers billed hourly, the charges will stop immediately after the method returns.
8755  func (r Hardware_Server) DeleteObject() (resp bool, err error) {
8756  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "deleteObject", nil, &r.Options, &resp)
8757  	return
8758  }
8759  
8760  // Delete software component passwords.
8761  func (r Hardware_Server) DeleteSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
8762  	params := []interface{}{
8763  		softwareComponentPasswords,
8764  	}
8765  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "deleteSoftwareComponentPasswords", params, &r.Options, &resp)
8766  	return
8767  }
8768  
8769  // Delete an existing tag.  If there are any references on the tag, an exception will be thrown.
8770  func (r Hardware_Server) DeleteTag(tagName *string) (resp bool, err error) {
8771  	params := []interface{}{
8772  		tagName,
8773  	}
8774  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "deleteTag", params, &r.Options, &resp)
8775  	return
8776  }
8777  
8778  // Edit a server's properties
8779  func (r Hardware_Server) EditObject(templateObject *datatypes.Hardware_Server) (resp bool, err error) {
8780  	params := []interface{}{
8781  		templateObject,
8782  	}
8783  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "editObject", params, &r.Options, &resp)
8784  	return
8785  }
8786  
8787  // Edit the properties of a software component password such as the username, password, and notes.
8788  func (r Hardware_Server) EditSoftwareComponentPasswords(softwareComponentPasswords []datatypes.Software_Component_Password) (resp bool, err error) {
8789  	params := []interface{}{
8790  		softwareComponentPasswords,
8791  	}
8792  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "editSoftwareComponentPasswords", params, &r.Options, &resp)
8793  	return
8794  }
8795  
8796  // Download and run remote script from uri on the hardware.
8797  func (r Hardware_Server) ExecuteRemoteScript(uri *string) (err error) {
8798  	var resp datatypes.Void
8799  	params := []interface{}{
8800  		uri,
8801  	}
8802  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "executeRemoteScript", params, &r.Options, &resp)
8803  	return
8804  }
8805  
8806  // 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.
8807  func (r Hardware_Server) FindByIpAddress(ipAddress *string) (resp datatypes.Hardware, err error) {
8808  	params := []interface{}{
8809  		ipAddress,
8810  	}
8811  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "findByIpAddress", params, &r.Options, &resp)
8812  	return
8813  }
8814  
8815  // 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]].
8816  //
8817  // This is primarily useful when there is a necessity to confirm the price which will be charged for an order.
8818  //
8819  // See [[SoftLayer_Hardware/createObject|createObject]] for specifics on the requirements of the template object parameter.
8820  func (r Hardware_Server) GenerateOrderTemplate(templateObject *datatypes.Hardware) (resp datatypes.Container_Product_Order, err error) {
8821  	params := []interface{}{
8822  		templateObject,
8823  	}
8824  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "generateOrderTemplate", params, &r.Options, &resp)
8825  	return
8826  }
8827  
8828  // Retrieve The account associated with a piece of hardware.
8829  func (r Hardware_Server) GetAccount() (resp datatypes.Account, err error) {
8830  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAccount", nil, &r.Options, &resp)
8831  	return
8832  }
8833  
8834  // Retrieve A piece of hardware's active physical components.
8835  func (r Hardware_Server) GetActiveComponents() (resp []datatypes.Hardware_Component, err error) {
8836  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveComponents", nil, &r.Options, &resp)
8837  	return
8838  }
8839  
8840  // Retrieve The billing item for a server's attached network firewall.
8841  func (r Hardware_Server) GetActiveNetworkFirewallBillingItem() (resp datatypes.Billing_Item, err error) {
8842  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveNetworkFirewallBillingItem", nil, &r.Options, &resp)
8843  	return
8844  }
8845  
8846  // Retrieve A piece of hardware's active network monitoring incidents.
8847  func (r Hardware_Server) GetActiveNetworkMonitorIncident() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
8848  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveNetworkMonitorIncident", nil, &r.Options, &resp)
8849  	return
8850  }
8851  
8852  // Retrieve
8853  func (r Hardware_Server) GetActiveTickets() (resp []datatypes.Ticket, err error) {
8854  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTickets", nil, &r.Options, &resp)
8855  	return
8856  }
8857  
8858  // Retrieve Transaction currently running for server.
8859  func (r Hardware_Server) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
8860  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTransaction", nil, &r.Options, &resp)
8861  	return
8862  }
8863  
8864  // Retrieve Any active transaction(s) that are currently running for the server (example: os reload).
8865  func (r Hardware_Server) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
8866  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getActiveTransactions", nil, &r.Options, &resp)
8867  	return
8868  }
8869  
8870  // Retrieve
8871  func (r Hardware_Server) GetAllPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
8872  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllPowerComponents", nil, &r.Options, &resp)
8873  	return
8874  }
8875  
8876  // Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this server to Network Storage volumes that require access control lists.
8877  func (r Hardware_Server) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
8878  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedHost", nil, &r.Options, &resp)
8879  	return
8880  }
8881  
8882  // Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
8883  func (r Hardware_Server) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
8884  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedNetworkStorage", nil, &r.Options, &resp)
8885  	return
8886  }
8887  
8888  // Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
8889  func (r Hardware_Server) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
8890  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
8891  	return
8892  }
8893  
8894  // Retrieve Information regarding an antivirus/spyware software component object.
8895  func (r Hardware_Server) GetAntivirusSpywareSoftwareComponent() (resp datatypes.Software_Component, err error) {
8896  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAntivirusSpywareSoftwareComponent", nil, &r.Options, &resp)
8897  	return
8898  }
8899  
8900  // This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Hardware.
8901  func (r Hardware_Server) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
8902  	params := []interface{}{
8903  		nasType,
8904  	}
8905  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAttachedNetworkStorages", params, &r.Options, &resp)
8906  	return
8907  }
8908  
8909  // Retrieve Information regarding a piece of hardware's specific attributes.
8910  func (r Hardware_Server) GetAttributes() (resp []datatypes.Hardware_Attribute, err error) {
8911  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAttributes", nil, &r.Options, &resp)
8912  	return
8913  }
8914  
8915  // Retrieves a list of available term prices to this hardware. Currently, price terms are only available for increasing term length to monthly billed servers.
8916  func (r Hardware_Server) GetAvailableBillingTermChangePrices() (resp []datatypes.Product_Item_Price, err error) {
8917  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAvailableBillingTermChangePrices", nil, &r.Options, &resp)
8918  	return
8919  }
8920  
8921  // Retrieve An object that stores the maximum level for the monitoring query types and response types.
8922  func (r Hardware_Server) GetAvailableMonitoring() (resp []datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
8923  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAvailableMonitoring", nil, &r.Options, &resp)
8924  	return
8925  }
8926  
8927  // This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Hardware.
8928  func (r Hardware_Server) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
8929  	params := []interface{}{
8930  		nasType,
8931  	}
8932  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAvailableNetworkStorages", params, &r.Options, &resp)
8933  	return
8934  }
8935  
8936  // Retrieve The average daily total bandwidth usage for the current billing cycle.
8937  func (r Hardware_Server) GetAverageDailyBandwidthUsage() (resp datatypes.Float64, err error) {
8938  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyBandwidthUsage", nil, &r.Options, &resp)
8939  	return
8940  }
8941  
8942  // Retrieve The average daily private bandwidth usage for the current billing cycle.
8943  func (r Hardware_Server) GetAverageDailyPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
8944  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyPrivateBandwidthUsage", nil, &r.Options, &resp)
8945  	return
8946  }
8947  
8948  // Retrieve The average daily public bandwidth usage for the current billing cycle.
8949  func (r Hardware_Server) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
8950  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
8951  	return
8952  }
8953  
8954  // Use this method to return an array of private bandwidth utilization records between a given date range.
8955  //
8956  // This method represents the NEW version of getFrontendBandwidthUse
8957  func (r Hardware_Server) GetBackendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
8958  	params := []interface{}{
8959  		startDate,
8960  		endDate,
8961  	}
8962  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendBandwidthUsage", params, &r.Options, &resp)
8963  	return
8964  }
8965  
8966  // 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.
8967  func (r Hardware_Server) GetBackendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8968  	params := []interface{}{
8969  		startDate,
8970  		endDate,
8971  	}
8972  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendIncomingBandwidth", params, &r.Options, &resp)
8973  	return
8974  }
8975  
8976  // Retrieve A piece of hardware's back-end or private network components.
8977  func (r Hardware_Server) GetBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
8978  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendNetworkComponents", nil, &r.Options, &resp)
8979  	return
8980  }
8981  
8982  // 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.
8983  func (r Hardware_Server) GetBackendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
8984  	params := []interface{}{
8985  		startDate,
8986  		endDate,
8987  	}
8988  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendOutgoingBandwidth", params, &r.Options, &resp)
8989  	return
8990  }
8991  
8992  // Retrieve A hardware's backend or private router.
8993  func (r Hardware_Server) GetBackendRouters() (resp []datatypes.Hardware, err error) {
8994  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBackendRouters", nil, &r.Options, &resp)
8995  	return
8996  }
8997  
8998  // Retrieve A hardware's allotted bandwidth (measured in GB).
8999  func (r Hardware_Server) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
9000  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthAllocation", nil, &r.Options, &resp)
9001  	return
9002  }
9003  
9004  // Retrieve A hardware's allotted detail record. Allotment details link bandwidth allocation with allotments.
9005  func (r Hardware_Server) GetBandwidthAllotmentDetail() (resp datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
9006  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthAllotmentDetail", nil, &r.Options, &resp)
9007  	return
9008  }
9009  
9010  // 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.
9011  func (r Hardware_Server) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9012  	params := []interface{}{
9013  		startDate,
9014  		endDate,
9015  	}
9016  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBandwidthForDateRange", params, &r.Options, &resp)
9017  	return
9018  }
9019  
9020  // Retrieve Information regarding a piece of hardware's benchmark certifications.
9021  func (r Hardware_Server) GetBenchmarkCertifications() (resp []datatypes.Hardware_Benchmark_Certification, err error) {
9022  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBenchmarkCertifications", nil, &r.Options, &resp)
9023  	return
9024  }
9025  
9026  // Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this server is attached to.
9027  func (r Hardware_Server) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
9028  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
9029  	return
9030  }
9031  
9032  // Retrieve The raw private bandwidth usage data for the current billing cycle.
9033  func (r Hardware_Server) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
9034  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
9035  	return
9036  }
9037  
9038  // Retrieve The raw public bandwidth usage data for the current billing cycle.
9039  func (r Hardware_Server) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
9040  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
9041  	return
9042  }
9043  
9044  // Retrieve Information regarding the billing item for a server.
9045  func (r Hardware_Server) GetBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
9046  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingItem", nil, &r.Options, &resp)
9047  	return
9048  }
9049  
9050  // Retrieve A flag indicating that a billing item exists.
9051  func (r Hardware_Server) GetBillingItemFlag() (resp bool, err error) {
9052  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBillingItemFlag", nil, &r.Options, &resp)
9053  	return
9054  }
9055  
9056  // Retrieve Determine if BIOS password should be left as null.
9057  func (r Hardware_Server) GetBiosPasswordNullFlag() (resp bool, err error) {
9058  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBiosPasswordNullFlag", nil, &r.Options, &resp)
9059  	return
9060  }
9061  
9062  // Retrieve Determines whether the hardware is ineligible for cancellation because it is disconnected.
9063  func (r Hardware_Server) GetBlockCancelBecauseDisconnectedFlag() (resp bool, err error) {
9064  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBlockCancelBecauseDisconnectedFlag", nil, &r.Options, &resp)
9065  	return
9066  }
9067  
9068  // Retrieve the valid boot modes for this server
9069  func (r Hardware_Server) GetBootModeOptions() (resp []string, err error) {
9070  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBootModeOptions", nil, &r.Options, &resp)
9071  	return
9072  }
9073  
9074  // Retrieve Status indicating whether or not a piece of hardware has business continuance insurance.
9075  func (r Hardware_Server) GetBusinessContinuanceInsuranceFlag() (resp bool, err error) {
9076  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getBusinessContinuanceInsuranceFlag", nil, &r.Options, &resp)
9077  	return
9078  }
9079  
9080  // Retrieve Determine if the server is able to be image captured. If unable to image capture a reason will be provided.
9081  func (r Hardware_Server) GetCaptureEnabledFlag() (resp datatypes.Container_Hardware_CaptureEnabled, err error) {
9082  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCaptureEnabledFlag", nil, &r.Options, &resp)
9083  	return
9084  }
9085  
9086  // Retrieve Child hardware.
9087  func (r Hardware_Server) GetChildrenHardware() (resp []datatypes.Hardware, err error) {
9088  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getChildrenHardware", nil, &r.Options, &resp)
9089  	return
9090  }
9091  
9092  // no documentation yet
9093  func (r Hardware_Server) GetComponentDetailsXML() (resp string, err error) {
9094  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getComponentDetailsXML", nil, &r.Options, &resp)
9095  	return
9096  }
9097  
9098  // Retrieve A piece of hardware's components.
9099  func (r Hardware_Server) GetComponents() (resp []datatypes.Hardware_Component, err error) {
9100  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getComponents", nil, &r.Options, &resp)
9101  	return
9102  }
9103  
9104  // Retrieve
9105  func (r Hardware_Server) GetContainsSolidStateDrivesFlag() (resp bool, err error) {
9106  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getContainsSolidStateDrivesFlag", nil, &r.Options, &resp)
9107  	return
9108  }
9109  
9110  // Retrieve A continuous data protection/server backup software component object.
9111  func (r Hardware_Server) GetContinuousDataProtectionSoftwareComponent() (resp datatypes.Software_Component, err error) {
9112  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getContinuousDataProtectionSoftwareComponent", nil, &r.Options, &resp)
9113  	return
9114  }
9115  
9116  // Retrieve A server's control panel.
9117  func (r Hardware_Server) GetControlPanel() (resp datatypes.Software_Component_ControlPanel, err error) {
9118  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getControlPanel", nil, &r.Options, &resp)
9119  	return
9120  }
9121  
9122  // Retrieve The total cost of a server, measured in US Dollars ($USD).
9123  func (r Hardware_Server) GetCost() (resp datatypes.Float64, err error) {
9124  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCost", nil, &r.Options, &resp)
9125  	return
9126  }
9127  
9128  // There are many options that may be provided while ordering a server, this method can be used to determine what these options are.
9129  //
9130  // Detailed information on the return value can be found on the data type page for [[SoftLayer_Container_Hardware_Configuration (type)]].
9131  func (r Hardware_Server) GetCreateObjectOptions() (resp datatypes.Container_Hardware_Configuration, err error) {
9132  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCreateObjectOptions", nil, &r.Options, &resp)
9133  	return
9134  }
9135  
9136  // Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
9137  func (r Hardware_Server) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
9138  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
9139  	return
9140  }
9141  
9142  // 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.
9143  func (r Hardware_Server) GetCurrentBenchmarkCertificationResultFile() (resp []byte, err error) {
9144  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBenchmarkCertificationResultFile", nil, &r.Options, &resp)
9145  	return
9146  }
9147  
9148  // Retrieve The current billable public outbound bandwidth for this hardware for the current billing cycle.
9149  func (r Hardware_Server) GetCurrentBillableBandwidthUsage() (resp datatypes.Float64, err error) {
9150  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillableBandwidthUsage", nil, &r.Options, &resp)
9151  	return
9152  }
9153  
9154  // Get the billing detail for this hardware for the current billing period. This does not include bandwidth usage.
9155  func (r Hardware_Server) GetCurrentBillingDetail() (resp []datatypes.Billing_Item, err error) {
9156  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillingDetail", nil, &r.Options, &resp)
9157  	return
9158  }
9159  
9160  // 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.
9161  func (r Hardware_Server) GetCurrentBillingTotal() (resp datatypes.Float64, err error) {
9162  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCurrentBillingTotal", nil, &r.Options, &resp)
9163  	return
9164  }
9165  
9166  // Retrieve Indicates if a server has a Customer Installed OS
9167  func (r Hardware_Server) GetCustomerInstalledOperatingSystemFlag() (resp bool, err error) {
9168  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCustomerInstalledOperatingSystemFlag", nil, &r.Options, &resp)
9169  	return
9170  }
9171  
9172  // Retrieve Indicates if a server is a customer owned device.
9173  func (r Hardware_Server) GetCustomerOwnedFlag() (resp bool, err error) {
9174  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getCustomerOwnedFlag", nil, &r.Options, &resp)
9175  	return
9176  }
9177  
9178  // 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.
9179  func (r Hardware_Server) GetDailyAverage(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
9180  	params := []interface{}{
9181  		startDate,
9182  		endDate,
9183  	}
9184  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDailyAverage", params, &r.Options, &resp)
9185  	return
9186  }
9187  
9188  // Retrieve Information regarding the datacenter in which a piece of hardware resides.
9189  func (r Hardware_Server) GetDatacenter() (resp datatypes.Location, err error) {
9190  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDatacenter", nil, &r.Options, &resp)
9191  	return
9192  }
9193  
9194  // Retrieve The name of the datacenter in which a piece of hardware resides.
9195  func (r Hardware_Server) GetDatacenterName() (resp string, err error) {
9196  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDatacenterName", nil, &r.Options, &resp)
9197  	return
9198  }
9199  
9200  // Retrieve Number of day(s) a server have been in spare pool.
9201  func (r Hardware_Server) GetDaysInSparePool() (resp int, err error) {
9202  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDaysInSparePool", nil, &r.Options, &resp)
9203  	return
9204  }
9205  
9206  // Retrieve All hardware that has uplink network connections to a piece of hardware.
9207  func (r Hardware_Server) GetDownlinkHardware() (resp []datatypes.Hardware, err error) {
9208  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkHardware", nil, &r.Options, &resp)
9209  	return
9210  }
9211  
9212  // Retrieve All hardware that has uplink network connections to a piece of hardware.
9213  func (r Hardware_Server) GetDownlinkNetworkHardware() (resp []datatypes.Hardware, err error) {
9214  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkNetworkHardware", nil, &r.Options, &resp)
9215  	return
9216  }
9217  
9218  // Retrieve Information regarding all servers attached to a piece of network hardware.
9219  func (r Hardware_Server) GetDownlinkServers() (resp []datatypes.Hardware, err error) {
9220  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkServers", nil, &r.Options, &resp)
9221  	return
9222  }
9223  
9224  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
9225  func (r Hardware_Server) GetDownlinkVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9226  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownlinkVirtualGuests", nil, &r.Options, &resp)
9227  	return
9228  }
9229  
9230  // Retrieve All hardware downstream from a network device.
9231  func (r Hardware_Server) GetDownstreamHardwareBindings() (resp []datatypes.Network_Component_Uplink_Hardware, err error) {
9232  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamHardwareBindings", nil, &r.Options, &resp)
9233  	return
9234  }
9235  
9236  // Retrieve All network hardware downstream from the selected piece of hardware.
9237  func (r Hardware_Server) GetDownstreamNetworkHardware() (resp []datatypes.Hardware, err error) {
9238  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamNetworkHardware", nil, &r.Options, &resp)
9239  	return
9240  }
9241  
9242  // Retrieve All network hardware with monitoring warnings or errors that are downstream from the selected piece of hardware. [DEPRECATED]
9243  func (r Hardware_Server) GetDownstreamNetworkHardwareWithIncidents() (resp []datatypes.Hardware, err error) {
9244  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamNetworkHardwareWithIncidents", nil, &r.Options, &resp)
9245  	return
9246  }
9247  
9248  // Retrieve Information regarding all servers attached downstream to a piece of network hardware.
9249  func (r Hardware_Server) GetDownstreamServers() (resp []datatypes.Hardware, err error) {
9250  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamServers", nil, &r.Options, &resp)
9251  	return
9252  }
9253  
9254  // Retrieve Information regarding all virtual guests attached to a piece of network hardware.
9255  func (r Hardware_Server) GetDownstreamVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9256  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDownstreamVirtualGuests", nil, &r.Options, &resp)
9257  	return
9258  }
9259  
9260  // Retrieve The drive controllers contained within a piece of hardware.
9261  func (r Hardware_Server) GetDriveControllers() (resp []datatypes.Hardware_Component, err error) {
9262  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getDriveControllers", nil, &r.Options, &resp)
9263  	return
9264  }
9265  
9266  // Retrieve Information regarding a piece of hardware's associated EVault network storage service account.
9267  func (r Hardware_Server) GetEvaultNetworkStorage() (resp []datatypes.Network_Storage, err error) {
9268  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getEvaultNetworkStorage", nil, &r.Options, &resp)
9269  	return
9270  }
9271  
9272  // Get the subnets associated with this server that are protectable by a network component firewall.
9273  func (r Hardware_Server) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
9274  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
9275  	return
9276  }
9277  
9278  // Retrieve Information regarding a piece of hardware's firewall services.
9279  func (r Hardware_Server) GetFirewallServiceComponent() (resp datatypes.Network_Component_Firewall, err error) {
9280  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFirewallServiceComponent", nil, &r.Options, &resp)
9281  	return
9282  }
9283  
9284  // Retrieve Defines the fixed components in a fixed configuration bare metal server.
9285  func (r Hardware_Server) GetFixedConfigurationPreset() (resp datatypes.Product_Package_Preset, err error) {
9286  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFixedConfigurationPreset", nil, &r.Options, &resp)
9287  	return
9288  }
9289  
9290  // Use this method to return an array of public bandwidth utilization records between a given date range.
9291  //
9292  // This method represents the NEW version of getFrontendBandwidthUse
9293  func (r Hardware_Server) GetFrontendBandwidthUsage(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9294  	params := []interface{}{
9295  		startDate,
9296  		endDate,
9297  	}
9298  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendBandwidthUsage", params, &r.Options, &resp)
9299  	return
9300  }
9301  
9302  // 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).
9303  func (r Hardware_Server) GetFrontendIncomingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
9304  	params := []interface{}{
9305  		startDate,
9306  		endDate,
9307  	}
9308  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendIncomingBandwidth", params, &r.Options, &resp)
9309  	return
9310  }
9311  
9312  // Retrieve A piece of hardware's front-end or public network components.
9313  func (r Hardware_Server) GetFrontendNetworkComponents() (resp []datatypes.Network_Component, err error) {
9314  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendNetworkComponents", nil, &r.Options, &resp)
9315  	return
9316  }
9317  
9318  // 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).
9319  func (r Hardware_Server) GetFrontendOutgoingBandwidth(startDate *datatypes.Time, endDate *datatypes.Time) (resp datatypes.Float64, err error) {
9320  	params := []interface{}{
9321  		startDate,
9322  		endDate,
9323  	}
9324  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendOutgoingBandwidth", params, &r.Options, &resp)
9325  	return
9326  }
9327  
9328  // Retrieve A hardware's frontend or public router.
9329  func (r Hardware_Server) GetFrontendRouters() (resp []datatypes.Hardware, err error) {
9330  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFrontendRouters", nil, &r.Options, &resp)
9331  	return
9332  }
9333  
9334  // Retrieve Information regarding the future billing item for a server.
9335  func (r Hardware_Server) GetFutureBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
9336  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getFutureBillingItem", nil, &r.Options, &resp)
9337  	return
9338  }
9339  
9340  // Retrieve A hardware's universally unique identifier.
9341  func (r Hardware_Server) GetGlobalIdentifier() (resp string, err error) {
9342  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getGlobalIdentifier", nil, &r.Options, &resp)
9343  	return
9344  }
9345  
9346  // Retrieve The hard drives contained within a piece of hardware.
9347  func (r Hardware_Server) GetHardDrives() (resp []datatypes.Hardware_Component, err error) {
9348  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardDrives", nil, &r.Options, &resp)
9349  	return
9350  }
9351  
9352  // Retrieve a server by searching for the primary IP address.
9353  func (r Hardware_Server) GetHardwareByIpAddress(ipAddress *string) (resp datatypes.Hardware_Server, err error) {
9354  	params := []interface{}{
9355  		ipAddress,
9356  	}
9357  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareByIpAddress", params, &r.Options, &resp)
9358  	return
9359  }
9360  
9361  // Retrieve The chassis that a piece of hardware is housed in.
9362  func (r Hardware_Server) GetHardwareChassis() (resp datatypes.Hardware_Chassis, err error) {
9363  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareChassis", nil, &r.Options, &resp)
9364  	return
9365  }
9366  
9367  // Retrieve A hardware's function.
9368  func (r Hardware_Server) GetHardwareFunction() (resp datatypes.Hardware_Function, err error) {
9369  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareFunction", nil, &r.Options, &resp)
9370  	return
9371  }
9372  
9373  // Retrieve A hardware's function.
9374  func (r Hardware_Server) GetHardwareFunctionDescription() (resp string, err error) {
9375  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareFunctionDescription", nil, &r.Options, &resp)
9376  	return
9377  }
9378  
9379  // Retrieve A hardware's power/transaction state.
9380  func (r Hardware_Server) GetHardwareState() (resp datatypes.Hardware_State, err error) {
9381  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareState", nil, &r.Options, &resp)
9382  	return
9383  }
9384  
9385  // Retrieve A hardware's status.
9386  func (r Hardware_Server) GetHardwareStatus() (resp datatypes.Hardware_Status, err error) {
9387  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHardwareStatus", nil, &r.Options, &resp)
9388  	return
9389  }
9390  
9391  // Retrieve Determine if hardware has Single Root IO VIrtualization (SR-IOV) billing item.
9392  func (r Hardware_Server) GetHasSingleRootVirtualizationBillingItemFlag() (resp bool, err error) {
9393  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHasSingleRootVirtualizationBillingItemFlag", nil, &r.Options, &resp)
9394  	return
9395  }
9396  
9397  // Retrieve Determine in hardware object has TPM enabled.
9398  func (r Hardware_Server) GetHasTrustedPlatformModuleBillingItemFlag() (resp bool, err error) {
9399  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHasTrustedPlatformModuleBillingItemFlag", nil, &r.Options, &resp)
9400  	return
9401  }
9402  
9403  // Retrieve Information regarding a host IPS software component object.
9404  func (r Hardware_Server) GetHostIpsSoftwareComponent() (resp datatypes.Software_Component, err error) {
9405  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHostIpsSoftwareComponent", nil, &r.Options, &resp)
9406  	return
9407  }
9408  
9409  // 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
9410  //
9411  // '02/01/2008 0:00'
9412  //
9413  // 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).
9414  //
9415  // For data spanning more than a single 24-hour period, refer to the getBandwidthData function on the metricTrackingObject for the piece of hardware.
9416  func (r Hardware_Server) GetHourlyBandwidth(mode *string, day *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9417  	params := []interface{}{
9418  		mode,
9419  		day,
9420  	}
9421  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHourlyBandwidth", params, &r.Options, &resp)
9422  	return
9423  }
9424  
9425  // Retrieve A server's hourly billing status.
9426  func (r Hardware_Server) GetHourlyBillingFlag() (resp bool, err error) {
9427  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getHourlyBillingFlag", nil, &r.Options, &resp)
9428  	return
9429  }
9430  
9431  // Retrieve The sum of all the inbound network traffic data for the last 30 days.
9432  func (r Hardware_Server) GetInboundBandwidthUsage() (resp datatypes.Float64, err error) {
9433  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundBandwidthUsage", nil, &r.Options, &resp)
9434  	return
9435  }
9436  
9437  // Retrieve The total private inbound bandwidth for this hardware for the current billing cycle.
9438  func (r Hardware_Server) GetInboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
9439  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundPrivateBandwidthUsage", nil, &r.Options, &resp)
9440  	return
9441  }
9442  
9443  // Retrieve The total public inbound bandwidth for this hardware for the current billing cycle.
9444  func (r Hardware_Server) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9445  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
9446  	return
9447  }
9448  
9449  // Retrieve Whether or not this hardware object is eligible to change to term billing.
9450  func (r Hardware_Server) GetIsBillingTermChangeAvailableFlag() (resp bool, err error) {
9451  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsBillingTermChangeAvailableFlag", nil, &r.Options, &resp)
9452  	return
9453  }
9454  
9455  // Retrieve Determine if hardware object has the IBM_CLOUD_READY_NODE_CERTIFIED attribute.
9456  func (r Hardware_Server) GetIsCloudReadyNodeCertified() (resp bool, err error) {
9457  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsCloudReadyNodeCertified", nil, &r.Options, &resp)
9458  	return
9459  }
9460  
9461  // Retrieve Determine if remote management has been disabled due to port speed.
9462  func (r Hardware_Server) GetIsIpmiDisabled() (resp bool, err error) {
9463  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsIpmiDisabled", nil, &r.Options, &resp)
9464  	return
9465  }
9466  
9467  // Retrieve A server that has nfs only drive.
9468  func (r Hardware_Server) GetIsNfsOnly() (resp string, err error) {
9469  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsNfsOnly", nil, &r.Options, &resp)
9470  	return
9471  }
9472  
9473  // Retrieve Determine if hardware object has the QE_INTERNAL_SERVER attribute.
9474  func (r Hardware_Server) GetIsQeInternalServer() (resp bool, err error) {
9475  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsQeInternalServer", nil, &r.Options, &resp)
9476  	return
9477  }
9478  
9479  // Retrieve Determine if hardware object is a Virtual Private Cloud node.
9480  func (r Hardware_Server) GetIsVirtualPrivateCloudNode() (resp bool, err error) {
9481  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getIsVirtualPrivateCloudNode", nil, &r.Options, &resp)
9482  	return
9483  }
9484  
9485  // Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
9486  func (r Hardware_Server) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item, err error) {
9487  	params := []interface{}{
9488  		softwareDescriptions,
9489  		includeTranslationsFlag,
9490  		returnAllPricesFlag,
9491  	}
9492  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
9493  	return
9494  }
9495  
9496  // Retrieve The last transaction that a server's operating system was loaded.
9497  func (r Hardware_Server) GetLastOperatingSystemReload() (resp datatypes.Provisioning_Version1_Transaction, err error) {
9498  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLastOperatingSystemReload", nil, &r.Options, &resp)
9499  	return
9500  }
9501  
9502  // Retrieve Information regarding the last transaction a server performed.
9503  func (r Hardware_Server) GetLastTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
9504  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLastTransaction", nil, &r.Options, &resp)
9505  	return
9506  }
9507  
9508  // Retrieve A piece of hardware's latest network monitoring incident.
9509  func (r Hardware_Server) GetLatestNetworkMonitorIncident() (resp datatypes.Network_Monitor_Version1_Incident, err error) {
9510  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLatestNetworkMonitorIncident", nil, &r.Options, &resp)
9511  	return
9512  }
9513  
9514  // Retrieve Where a piece of hardware is located within SoftLayer's location hierarchy.
9515  func (r Hardware_Server) GetLocation() (resp datatypes.Location, err error) {
9516  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLocation", nil, &r.Options, &resp)
9517  	return
9518  }
9519  
9520  // Retrieve
9521  func (r Hardware_Server) GetLocationPathString() (resp string, err error) {
9522  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLocationPathString", nil, &r.Options, &resp)
9523  	return
9524  }
9525  
9526  // Retrieve Information regarding a lockbox account associated with a server.
9527  func (r Hardware_Server) GetLockboxNetworkStorage() (resp datatypes.Network_Storage, err error) {
9528  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLockboxNetworkStorage", nil, &r.Options, &resp)
9529  	return
9530  }
9531  
9532  // Retrieve Returns a list of logical volumes on the physical machine.
9533  func (r Hardware_Server) GetLogicalVolumeStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
9534  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getLogicalVolumeStorageGroups", nil, &r.Options, &resp)
9535  	return
9536  }
9537  
9538  // Retrieve A flag indicating that the hardware is a managed resource.
9539  func (r Hardware_Server) GetManagedResourceFlag() (resp bool, err error) {
9540  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getManagedResourceFlag", nil, &r.Options, &resp)
9541  	return
9542  }
9543  
9544  // Retrieve the remote management network component attached with this server.
9545  func (r Hardware_Server) GetManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
9546  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getManagementNetworkComponent", nil, &r.Options, &resp)
9547  	return
9548  }
9549  
9550  // Retrieve Information regarding a piece of hardware's memory.
9551  func (r Hardware_Server) GetMemory() (resp []datatypes.Hardware_Component, err error) {
9552  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMemory", nil, &r.Options, &resp)
9553  	return
9554  }
9555  
9556  // Retrieve The amount of memory a piece of hardware has, measured in gigabytes.
9557  func (r Hardware_Server) GetMemoryCapacity() (resp uint, err error) {
9558  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMemoryCapacity", nil, &r.Options, &resp)
9559  	return
9560  }
9561  
9562  // Retrieve A piece of hardware's metric tracking object.
9563  func (r Hardware_Server) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
9564  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMetricTrackingObject", nil, &r.Options, &resp)
9565  	return
9566  }
9567  
9568  // Retrieve The metric tracking object id for this server.
9569  func (r Hardware_Server) GetMetricTrackingObjectId() (resp int, err error) {
9570  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMetricTrackingObjectId", nil, &r.Options, &resp)
9571  	return
9572  }
9573  
9574  // Retrieve
9575  func (r Hardware_Server) GetModules() (resp []datatypes.Hardware_Component, err error) {
9576  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getModules", nil, &r.Options, &resp)
9577  	return
9578  }
9579  
9580  // Retrieve
9581  func (r Hardware_Server) GetMonitoringRobot() (resp datatypes.Monitoring_Robot, err error) {
9582  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringRobot", nil, &r.Options, &resp)
9583  	return
9584  }
9585  
9586  // Retrieve Information regarding a piece of hardware's network monitoring services.
9587  func (r Hardware_Server) GetMonitoringServiceComponent() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
9588  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringServiceComponent", nil, &r.Options, &resp)
9589  	return
9590  }
9591  
9592  // Retrieve
9593  func (r Hardware_Server) GetMonitoringServiceEligibilityFlag() (resp bool, err error) {
9594  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringServiceEligibilityFlag", nil, &r.Options, &resp)
9595  	return
9596  }
9597  
9598  // 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
9599  func (r Hardware_Server) GetMonitoringUserNotification() (resp []datatypes.User_Customer_Notification_Hardware, err error) {
9600  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMonitoringUserNotification", nil, &r.Options, &resp)
9601  	return
9602  }
9603  
9604  // Retrieve Information regarding a piece of hardware's motherboard.
9605  func (r Hardware_Server) GetMotherboard() (resp datatypes.Hardware_Component, err error) {
9606  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getMotherboard", nil, &r.Options, &resp)
9607  	return
9608  }
9609  
9610  // Retrieve Information regarding a piece of hardware's network cards.
9611  func (r Hardware_Server) GetNetworkCards() (resp []datatypes.Hardware_Component, err error) {
9612  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkCards", nil, &r.Options, &resp)
9613  	return
9614  }
9615  
9616  // 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.
9617  func (r Hardware_Server) GetNetworkComponentFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
9618  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkComponentFirewallProtectableIpAddresses", nil, &r.Options, &resp)
9619  	return
9620  }
9621  
9622  // Retrieve Returns a hardware's network components.
9623  func (r Hardware_Server) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
9624  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkComponents", nil, &r.Options, &resp)
9625  	return
9626  }
9627  
9628  // Retrieve The gateway member if this device is part of a network gateway.
9629  func (r Hardware_Server) GetNetworkGatewayMember() (resp datatypes.Network_Gateway_Member, err error) {
9630  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkGatewayMember", nil, &r.Options, &resp)
9631  	return
9632  }
9633  
9634  // Retrieve Whether or not this device is part of a network gateway.
9635  func (r Hardware_Server) GetNetworkGatewayMemberFlag() (resp bool, err error) {
9636  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkGatewayMemberFlag", nil, &r.Options, &resp)
9637  	return
9638  }
9639  
9640  // Retrieve A piece of hardware's network management IP address.
9641  func (r Hardware_Server) GetNetworkManagementIpAddress() (resp string, err error) {
9642  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkManagementIpAddress", nil, &r.Options, &resp)
9643  	return
9644  }
9645  
9646  // Retrieve All servers with failed monitoring that are attached downstream to a piece of hardware.
9647  func (r Hardware_Server) GetNetworkMonitorAttachedDownHardware() (resp []datatypes.Hardware, err error) {
9648  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorAttachedDownHardware", nil, &r.Options, &resp)
9649  	return
9650  }
9651  
9652  // Retrieve Virtual guests that are attached downstream to a hardware that have failed monitoring
9653  func (r Hardware_Server) GetNetworkMonitorAttachedDownVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9654  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorAttachedDownVirtualGuests", nil, &r.Options, &resp)
9655  	return
9656  }
9657  
9658  // Retrieve The status of all of a piece of hardware's network monitoring incidents.
9659  func (r Hardware_Server) GetNetworkMonitorIncidents() (resp []datatypes.Network_Monitor_Version1_Incident, err error) {
9660  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitorIncidents", nil, &r.Options, &resp)
9661  	return
9662  }
9663  
9664  // Retrieve Information regarding a piece of hardware's network monitors.
9665  func (r Hardware_Server) GetNetworkMonitors() (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
9666  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkMonitors", nil, &r.Options, &resp)
9667  	return
9668  }
9669  
9670  // Retrieve The value of a hardware's network status attribute. [DEPRECATED]
9671  func (r Hardware_Server) GetNetworkStatus() (resp string, err error) {
9672  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStatus", nil, &r.Options, &resp)
9673  	return
9674  }
9675  
9676  // Retrieve The hardware's related network status attribute. [DEPRECATED]
9677  func (r Hardware_Server) GetNetworkStatusAttribute() (resp datatypes.Hardware_Attribute, err error) {
9678  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStatusAttribute", nil, &r.Options, &resp)
9679  	return
9680  }
9681  
9682  // Retrieve Information regarding a piece of hardware's associated network storage service account.
9683  func (r Hardware_Server) GetNetworkStorage() (resp []datatypes.Network_Storage, err error) {
9684  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkStorage", nil, &r.Options, &resp)
9685  	return
9686  }
9687  
9688  // Retrieve The network virtual LANs (VLANs) associated with a piece of hardware's network components.
9689  func (r Hardware_Server) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
9690  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNetworkVlans", nil, &r.Options, &resp)
9691  	return
9692  }
9693  
9694  // Retrieve A hardware's allotted bandwidth for the next billing cycle (measured in GB).
9695  func (r Hardware_Server) GetNextBillingCycleBandwidthAllocation() (resp datatypes.Float64, err error) {
9696  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNextBillingCycleBandwidthAllocation", nil, &r.Options, &resp)
9697  	return
9698  }
9699  
9700  // Retrieve
9701  func (r Hardware_Server) GetNotesHistory() (resp []datatypes.Hardware_Note, err error) {
9702  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNotesHistory", nil, &r.Options, &resp)
9703  	return
9704  }
9705  
9706  // Retrieve The amount of non-volatile memory a piece of hardware has, measured in gigabytes.
9707  func (r Hardware_Server) GetNvRamCapacity() (resp uint, err error) {
9708  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNvRamCapacity", nil, &r.Options, &resp)
9709  	return
9710  }
9711  
9712  // Retrieve
9713  func (r Hardware_Server) GetNvRamComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
9714  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getNvRamComponentModels", nil, &r.Options, &resp)
9715  	return
9716  }
9717  
9718  // 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.
9719  func (r Hardware_Server) GetObject() (resp datatypes.Hardware_Server, err error) {
9720  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getObject", nil, &r.Options, &resp)
9721  	return
9722  }
9723  
9724  // Retrieve An open ticket requesting cancellation of this server, if one exists.
9725  func (r Hardware_Server) GetOpenCancellationTicket() (resp datatypes.Ticket, err error) {
9726  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOpenCancellationTicket", nil, &r.Options, &resp)
9727  	return
9728  }
9729  
9730  // Retrieve Information regarding a piece of hardware's operating system.
9731  func (r Hardware_Server) GetOperatingSystem() (resp datatypes.Software_Component_OperatingSystem, err error) {
9732  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOperatingSystem", nil, &r.Options, &resp)
9733  	return
9734  }
9735  
9736  // Retrieve A hardware's operating system software description.
9737  func (r Hardware_Server) GetOperatingSystemReferenceCode() (resp string, err error) {
9738  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOperatingSystemReferenceCode", nil, &r.Options, &resp)
9739  	return
9740  }
9741  
9742  // Retrieve The sum of all the outbound network traffic data for the last 30 days.
9743  func (r Hardware_Server) GetOutboundBandwidthUsage() (resp datatypes.Float64, err error) {
9744  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundBandwidthUsage", nil, &r.Options, &resp)
9745  	return
9746  }
9747  
9748  // Retrieve The total private outbound bandwidth for this hardware for the current billing cycle.
9749  func (r Hardware_Server) GetOutboundPrivateBandwidthUsage() (resp datatypes.Float64, err error) {
9750  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundPrivateBandwidthUsage", nil, &r.Options, &resp)
9751  	return
9752  }
9753  
9754  // Retrieve The total public outbound bandwidth for this hardware for the current billing cycle.
9755  func (r Hardware_Server) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9756  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
9757  	return
9758  }
9759  
9760  // Retrieve Whether the bandwidth usage for this hardware for the current billing cycle exceeds the allocation.
9761  func (r Hardware_Server) GetOverBandwidthAllocationFlag() (resp int, err error) {
9762  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
9763  	return
9764  }
9765  
9766  // 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.
9767  func (r Hardware_Server) GetPMInfo() (resp []datatypes.Container_RemoteManagement_PmInfo, err error) {
9768  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPMInfo", nil, &r.Options, &resp)
9769  	return
9770  }
9771  
9772  // Retrieve Blade Bay
9773  func (r Hardware_Server) GetParentBay() (resp datatypes.Hardware_Blade, err error) {
9774  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getParentBay", nil, &r.Options, &resp)
9775  	return
9776  }
9777  
9778  // Retrieve Parent Hardware.
9779  func (r Hardware_Server) GetParentHardware() (resp datatypes.Hardware, err error) {
9780  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getParentHardware", nil, &r.Options, &resp)
9781  	return
9782  }
9783  
9784  // Retrieve
9785  func (r Hardware_Server) GetPartitions() (resp []datatypes.Hardware_Server_Partition, err error) {
9786  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPartitions", nil, &r.Options, &resp)
9787  	return
9788  }
9789  
9790  // Retrieve Information regarding the Point of Presence (PoP) location in which a piece of hardware resides.
9791  func (r Hardware_Server) GetPointOfPresenceLocation() (resp datatypes.Location, err error) {
9792  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPointOfPresenceLocation", nil, &r.Options, &resp)
9793  	return
9794  }
9795  
9796  // Retrieve The power components for a hardware object.
9797  func (r Hardware_Server) GetPowerComponents() (resp []datatypes.Hardware_Power_Component, err error) {
9798  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPowerComponents", nil, &r.Options, &resp)
9799  	return
9800  }
9801  
9802  // Retrieve Information regarding a piece of hardware's power supply.
9803  func (r Hardware_Server) GetPowerSupply() (resp []datatypes.Hardware_Component, err error) {
9804  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPowerSupply", nil, &r.Options, &resp)
9805  	return
9806  }
9807  
9808  // Retrieve The hardware's primary private IP address.
9809  func (r Hardware_Server) GetPrimaryBackendIpAddress() (resp string, err error) {
9810  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
9811  	return
9812  }
9813  
9814  // Retrieve Information regarding the hardware's primary back-end network component.
9815  func (r Hardware_Server) GetPrimaryBackendNetworkComponent() (resp datatypes.Network_Component, err error) {
9816  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryBackendNetworkComponent", nil, &r.Options, &resp)
9817  	return
9818  }
9819  
9820  // no documentation yet
9821  func (r Hardware_Server) GetPrimaryDriveSize() (resp int, err error) {
9822  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryDriveSize", nil, &r.Options, &resp)
9823  	return
9824  }
9825  
9826  // Retrieve The hardware's primary public IP address.
9827  func (r Hardware_Server) GetPrimaryIpAddress() (resp string, err error) {
9828  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryIpAddress", nil, &r.Options, &resp)
9829  	return
9830  }
9831  
9832  // Retrieve Information regarding the hardware's primary public network component.
9833  func (r Hardware_Server) GetPrimaryNetworkComponent() (resp datatypes.Network_Component, err error) {
9834  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrimaryNetworkComponent", nil, &r.Options, &resp)
9835  	return
9836  }
9837  
9838  // Retrieve A collection of backendNetwork components
9839  func (r Hardware_Server) GetPrivateBackendNetworkComponents() (resp []datatypes.Network_Component, err error) {
9840  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBackendNetworkComponents", nil, &r.Options, &resp)
9841  	return
9842  }
9843  
9844  // Retrieve this server's private bandwidth data. If no timeframe is specified then getPrivateBandwidthData retrieves the last 24 hours of public bandwidth usage.
9845  func (r Hardware_Server) GetPrivateBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9846  	params := []interface{}{
9847  		startTime,
9848  		endTime,
9849  	}
9850  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBandwidthData", params, &r.Options, &resp)
9851  	return
9852  }
9853  
9854  // 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.
9855  func (r Hardware_Server) GetPrivateBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
9856  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateBandwidthDataSummary", nil, &r.Options, &resp)
9857  	return
9858  }
9859  
9860  // Retrieve A server's primary private IP address.
9861  func (r Hardware_Server) GetPrivateIpAddress() (resp string, err error) {
9862  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateIpAddress", nil, &r.Options, &resp)
9863  	return
9864  }
9865  
9866  // Retrieve the private network component attached with this server.
9867  func (r Hardware_Server) GetPrivateNetworkComponent() (resp datatypes.Network_Component, err error) {
9868  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateNetworkComponent", nil, &r.Options, &resp)
9869  	return
9870  }
9871  
9872  // Retrieve Whether the hardware only has access to the private network.
9873  func (r Hardware_Server) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
9874  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
9875  	return
9876  }
9877  
9878  // Retrieve the backend VLAN for the primary IP address of the server
9879  func (r Hardware_Server) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
9880  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPrivateVlan", nil, &r.Options, &resp)
9881  	return
9882  }
9883  
9884  // Retrieve The total number of processor cores, summed from all processors that are attached to a piece of hardware
9885  func (r Hardware_Server) GetProcessorCoreAmount() (resp uint, err error) {
9886  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessorCoreAmount", nil, &r.Options, &resp)
9887  	return
9888  }
9889  
9890  // Retrieve The total number of physical processor cores, summed from all processors that are attached to a piece of hardware
9891  func (r Hardware_Server) GetProcessorPhysicalCoreAmount() (resp uint, err error) {
9892  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessorPhysicalCoreAmount", nil, &r.Options, &resp)
9893  	return
9894  }
9895  
9896  // Retrieve Information regarding a piece of hardware's processors.
9897  func (r Hardware_Server) GetProcessors() (resp []datatypes.Hardware_Component, err error) {
9898  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProcessors", nil, &r.Options, &resp)
9899  	return
9900  }
9901  
9902  // Retrieve Whether the bandwidth usage for this hardware for the current billing cycle is projected to exceed the allocation.
9903  func (r Hardware_Server) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
9904  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
9905  	return
9906  }
9907  
9908  // Retrieve The projected public outbound bandwidth for this hardware for the current billing cycle.
9909  func (r Hardware_Server) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
9910  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
9911  	return
9912  }
9913  
9914  // no documentation yet
9915  func (r Hardware_Server) GetProvisionDate() (resp datatypes.Time, err error) {
9916  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getProvisionDate", nil, &r.Options, &resp)
9917  	return
9918  }
9919  
9920  // Retrieve this server's public bandwidth data. If no timeframe is specified then getPublicBandwidthData retrieves the last 24 hours of public bandwidth usage.
9921  func (r Hardware_Server) GetPublicBandwidthData(startTime *int, endTime *int) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
9922  	params := []interface{}{
9923  		startTime,
9924  		endTime,
9925  	}
9926  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthData", params, &r.Options, &resp)
9927  	return
9928  }
9929  
9930  // 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.
9931  func (r Hardware_Server) GetPublicBandwidthDataSummary() (resp datatypes.Container_Network_Bandwidth_Data_Summary, err error) {
9932  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthDataSummary", nil, &r.Options, &resp)
9933  	return
9934  }
9935  
9936  // Retrieve the total number of bytes used by a server over a specified time period via the data warehouse tracking objects for this hardware.
9937  func (r Hardware_Server) GetPublicBandwidthTotal(startTime *int, endTime *int) (resp uint, err error) {
9938  	params := []interface{}{
9939  		startTime,
9940  		endTime,
9941  	}
9942  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicBandwidthTotal", params, &r.Options, &resp)
9943  	return
9944  }
9945  
9946  // 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.
9947  func (r Hardware_Server) GetPublicNetworkComponent() (resp datatypes.Network_Component, err error) {
9948  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicNetworkComponent", nil, &r.Options, &resp)
9949  	return
9950  }
9951  
9952  // Retrieve the frontend VLAN for the primary IP address of the server
9953  func (r Hardware_Server) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
9954  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicVlan", nil, &r.Options, &resp)
9955  	return
9956  }
9957  
9958  // Retrieve the frontend network Vlan by searching the hostname of a server
9959  func (r Hardware_Server) GetPublicVlanByHostname(hostname *string) (resp datatypes.Network_Vlan, err error) {
9960  	params := []interface{}{
9961  		hostname,
9962  	}
9963  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getPublicVlanByHostname", params, &r.Options, &resp)
9964  	return
9965  }
9966  
9967  // Retrieve
9968  func (r Hardware_Server) GetRack() (resp datatypes.Location, err error) {
9969  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRack", nil, &r.Options, &resp)
9970  	return
9971  }
9972  
9973  // Retrieve The RAID controllers contained within a piece of hardware.
9974  func (r Hardware_Server) GetRaidControllers() (resp []datatypes.Hardware_Component, err error) {
9975  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRaidControllers", nil, &r.Options, &resp)
9976  	return
9977  }
9978  
9979  // Retrieve Determine if hardware object is vSan Ready Node.
9980  func (r Hardware_Server) GetReadyNodeFlag() (resp bool, err error) {
9981  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getReadyNodeFlag", nil, &r.Options, &resp)
9982  	return
9983  }
9984  
9985  // Retrieve Recent events that impact this hardware.
9986  func (r Hardware_Server) GetRecentEvents() (resp []datatypes.Notification_Occurrence_Event, err error) {
9987  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRecentEvents", nil, &r.Options, &resp)
9988  	return
9989  }
9990  
9991  // Retrieve The last five commands issued to the server's remote management card.
9992  func (r Hardware_Server) GetRecentRemoteManagementCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
9993  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRecentRemoteManagementCommands", nil, &r.Options, &resp)
9994  	return
9995  }
9996  
9997  // 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'.
9998  func (r Hardware_Server) GetRedfishPowerState() (resp string, err error) {
9999  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRedfishPowerState", nil, &r.Options, &resp)
10000  	return
10001  }
10002  
10003  // Retrieve
10004  func (r Hardware_Server) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
10005  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRegionalInternetRegistry", nil, &r.Options, &resp)
10006  	return
10007  }
10008  
10009  // Retrieve A server's remote management card.
10010  func (r Hardware_Server) GetRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
10011  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagement", nil, &r.Options, &resp)
10012  	return
10013  }
10014  
10015  // Retrieve User credentials to issue commands and/or interact with the server's remote management card.
10016  func (r Hardware_Server) GetRemoteManagementAccounts() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
10017  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementAccounts", nil, &r.Options, &resp)
10018  	return
10019  }
10020  
10021  // Retrieve A hardware's associated remote management component. This is normally IPMI.
10022  func (r Hardware_Server) GetRemoteManagementComponent() (resp datatypes.Network_Component, err error) {
10023  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementComponent", nil, &r.Options, &resp)
10024  	return
10025  }
10026  
10027  // Retrieve User(s) who have access to issue commands and/or interact with the server's remote management card.
10028  func (r Hardware_Server) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
10029  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRemoteManagementUsers", nil, &r.Options, &resp)
10030  	return
10031  }
10032  
10033  // Retrieve
10034  func (r Hardware_Server) GetResourceConfigurations() (resp []datatypes.Hardware_Resource_Configuration, err error) {
10035  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceConfigurations", nil, &r.Options, &resp)
10036  	return
10037  }
10038  
10039  // Retrieve
10040  func (r Hardware_Server) GetResourceGroupMemberReferences() (resp []datatypes.Resource_Group_Member, err error) {
10041  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroupMemberReferences", nil, &r.Options, &resp)
10042  	return
10043  }
10044  
10045  // Retrieve
10046  func (r Hardware_Server) GetResourceGroupRoles() (resp []datatypes.Resource_Group_Role, err error) {
10047  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroupRoles", nil, &r.Options, &resp)
10048  	return
10049  }
10050  
10051  // Retrieve The resource groups in which this hardware is a member.
10052  func (r Hardware_Server) GetResourceGroups() (resp []datatypes.Resource_Group, err error) {
10053  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getResourceGroups", nil, &r.Options, &resp)
10054  	return
10055  }
10056  
10057  // Retrieve the reverse domain records associated with this server.
10058  func (r Hardware_Server) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
10059  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getReverseDomainRecords", nil, &r.Options, &resp)
10060  	return
10061  }
10062  
10063  // Retrieve A hardware's routers.
10064  func (r Hardware_Server) GetRouters() (resp []datatypes.Hardware, err error) {
10065  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getRouters", nil, &r.Options, &resp)
10066  	return
10067  }
10068  
10069  // Retrieve Information regarding a piece of hardware's vulnerability scan requests.
10070  func (r Hardware_Server) GetSecurityScanRequests() (resp []datatypes.Network_Security_Scanner_Request, err error) {
10071  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSecurityScanRequests", nil, &r.Options, &resp)
10072  	return
10073  }
10074  
10075  // 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.
10076  func (r Hardware_Server) GetSensorData() (resp []datatypes.Container_RemoteManagement_SensorReading, err error) {
10077  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSensorData", nil, &r.Options, &resp)
10078  	return
10079  }
10080  
10081  // 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.
10082  func (r Hardware_Server) GetSensorDataWithGraphs() (resp datatypes.Container_RemoteManagement_SensorReadingsWithGraphs, err error) {
10083  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSensorDataWithGraphs", nil, &r.Options, &resp)
10084  	return
10085  }
10086  
10087  // 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.
10088  func (r Hardware_Server) GetServerDetails() (resp datatypes.Container_Hardware_Server_Details, err error) {
10089  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerDetails", nil, &r.Options, &resp)
10090  	return
10091  }
10092  
10093  // 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.
10094  func (r Hardware_Server) GetServerFanSpeedGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorSpeed, err error) {
10095  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerFanSpeedGraphs", nil, &r.Options, &resp)
10096  	return
10097  }
10098  
10099  // 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'.
10100  func (r Hardware_Server) GetServerPowerState() (resp string, err error) {
10101  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerPowerState", nil, &r.Options, &resp)
10102  	return
10103  }
10104  
10105  // Retrieve Information regarding the server room in which the hardware is located.
10106  func (r Hardware_Server) GetServerRoom() (resp datatypes.Location, err error) {
10107  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerRoom", nil, &r.Options, &resp)
10108  	return
10109  }
10110  
10111  // 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.
10112  func (r Hardware_Server) GetServerTemperatureGraphs() (resp []datatypes.Container_RemoteManagement_Graphs_SensorTemperature, err error) {
10113  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServerTemperatureGraphs", nil, &r.Options, &resp)
10114  	return
10115  }
10116  
10117  // Retrieve Information regarding the piece of hardware's service provider.
10118  func (r Hardware_Server) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
10119  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getServiceProvider", nil, &r.Options, &resp)
10120  	return
10121  }
10122  
10123  // Retrieve Information regarding a piece of hardware's installed software.
10124  func (r Hardware_Server) GetSoftwareComponents() (resp []datatypes.Software_Component, err error) {
10125  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSoftwareComponents", nil, &r.Options, &resp)
10126  	return
10127  }
10128  
10129  // Retrieve Determine if hardware object has Software Guard Extension (SGX) enabled.
10130  func (r Hardware_Server) GetSoftwareGuardExtensionEnabled() (resp bool, err error) {
10131  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSoftwareGuardExtensionEnabled", nil, &r.Options, &resp)
10132  	return
10133  }
10134  
10135  // Retrieve Information regarding the billing item for a spare pool server.
10136  func (r Hardware_Server) GetSparePoolBillingItem() (resp datatypes.Billing_Item_Hardware, err error) {
10137  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSparePoolBillingItem", nil, &r.Options, &resp)
10138  	return
10139  }
10140  
10141  // Retrieve SSH keys to be installed on the server during provisioning or an OS reload.
10142  func (r Hardware_Server) GetSshKeys() (resp []datatypes.Security_Ssh_Key, err error) {
10143  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getSshKeys", nil, &r.Options, &resp)
10144  	return
10145  }
10146  
10147  // Retrieve A server's remote management card used for statistics.
10148  func (r Hardware_Server) GetStatisticsRemoteManagement() (resp datatypes.Hardware_Component_RemoteManagement, err error) {
10149  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getStatisticsRemoteManagement", nil, &r.Options, &resp)
10150  	return
10151  }
10152  
10153  // Retrieve
10154  func (r Hardware_Server) GetStorageGroups() (resp []datatypes.Configuration_Storage_Group, err error) {
10155  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getStorageGroups", nil, &r.Options, &resp)
10156  	return
10157  }
10158  
10159  // Retrieve A piece of hardware's private storage network components. [Deprecated]
10160  func (r Hardware_Server) GetStorageNetworkComponents() (resp []datatypes.Network_Component, err error) {
10161  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getStorageNetworkComponents", nil, &r.Options, &resp)
10162  	return
10163  }
10164  
10165  // Retrieve
10166  func (r Hardware_Server) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
10167  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTagReferences", nil, &r.Options, &resp)
10168  	return
10169  }
10170  
10171  // Retrieve
10172  func (r Hardware_Server) GetTopLevelLocation() (resp datatypes.Location, err error) {
10173  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTopLevelLocation", nil, &r.Options, &resp)
10174  	return
10175  }
10176  
10177  // This method will query transaction history for a piece of hardware.
10178  func (r Hardware_Server) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction_History, err error) {
10179  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getTransactionHistory", nil, &r.Options, &resp)
10180  	return
10181  }
10182  
10183  // Retrieve Whether to use UEFI boot instead of BIOS.
10184  func (r Hardware_Server) GetUefiBootFlag() (resp bool, err error) {
10185  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUefiBootFlag", nil, &r.Options, &resp)
10186  	return
10187  }
10188  
10189  // 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.
10190  func (r Hardware_Server) GetUpgradeItemPrices() (resp []datatypes.Product_Item_Price, err error) {
10191  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUpgradeItemPrices", nil, &r.Options, &resp)
10192  	return
10193  }
10194  
10195  // Retrieve An account's associated upgrade request object, if any.
10196  func (r Hardware_Server) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
10197  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUpgradeRequest", nil, &r.Options, &resp)
10198  	return
10199  }
10200  
10201  // Retrieve A piece of hardware's active upgradeable physical components.
10202  func (r Hardware_Server) GetUpgradeableActiveComponents() (resp []datatypes.Hardware_Component, err error) {
10203  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUpgradeableActiveComponents", nil, &r.Options, &resp)
10204  	return
10205  }
10206  
10207  // Retrieve The network device connected to a piece of hardware.
10208  func (r Hardware_Server) GetUplinkHardware() (resp datatypes.Hardware, err error) {
10209  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUplinkHardware", nil, &r.Options, &resp)
10210  	return
10211  }
10212  
10213  // Retrieve Information regarding the network component that is one level higher than a piece of hardware on the network infrastructure.
10214  func (r Hardware_Server) GetUplinkNetworkComponents() (resp []datatypes.Network_Component, err error) {
10215  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUplinkNetworkComponents", nil, &r.Options, &resp)
10216  	return
10217  }
10218  
10219  // Retrieve An array containing a single string of custom user data for a hardware order. Max size is 16 kb.
10220  func (r Hardware_Server) GetUserData() (resp []datatypes.Hardware_Attribute, err error) {
10221  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUserData", nil, &r.Options, &resp)
10222  	return
10223  }
10224  
10225  // Retrieve A list of users that have access to this computing instance.
10226  func (r Hardware_Server) GetUsers() (resp []datatypes.User_Customer, err error) {
10227  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getUsers", nil, &r.Options, &resp)
10228  	return
10229  }
10230  
10231  // 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.
10232  func (r Hardware_Server) GetValidBlockDeviceTemplateGroups(visibility *string) (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
10233  	params := []interface{}{
10234  		visibility,
10235  	}
10236  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getValidBlockDeviceTemplateGroups", params, &r.Options, &resp)
10237  	return
10238  }
10239  
10240  // Retrieve Information regarding the virtual chassis for a piece of hardware.
10241  func (r Hardware_Server) GetVirtualChassis() (resp datatypes.Hardware_Group, err error) {
10242  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualChassis", nil, &r.Options, &resp)
10243  	return
10244  }
10245  
10246  // Retrieve Information regarding the virtual chassis siblings for a piece of hardware.
10247  func (r Hardware_Server) GetVirtualChassisSiblings() (resp []datatypes.Hardware, err error) {
10248  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualChassisSiblings", nil, &r.Options, &resp)
10249  	return
10250  }
10251  
10252  // Retrieve [DEPRECATED] A hardware server's virtual servers.
10253  func (r Hardware_Server) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
10254  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualGuests", nil, &r.Options, &resp)
10255  	return
10256  }
10257  
10258  // Retrieve A piece of hardware's virtual host record.
10259  func (r Hardware_Server) GetVirtualHost() (resp datatypes.Virtual_Host, err error) {
10260  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualHost", nil, &r.Options, &resp)
10261  	return
10262  }
10263  
10264  // Retrieve Information regarding a piece of hardware's virtual software licenses.
10265  func (r Hardware_Server) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
10266  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualLicenses", nil, &r.Options, &resp)
10267  	return
10268  }
10269  
10270  // Retrieve Information regarding the bandwidth allotment to which a piece of hardware belongs.
10271  func (r Hardware_Server) GetVirtualRack() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
10272  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRack", nil, &r.Options, &resp)
10273  	return
10274  }
10275  
10276  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
10277  func (r Hardware_Server) GetVirtualRackId() (resp int, err error) {
10278  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRackId", nil, &r.Options, &resp)
10279  	return
10280  }
10281  
10282  // Retrieve The name of the bandwidth allotment belonging to a piece of hardware.
10283  func (r Hardware_Server) GetVirtualRackName() (resp string, err error) {
10284  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualRackName", nil, &r.Options, &resp)
10285  	return
10286  }
10287  
10288  // Retrieve A piece of hardware's virtualization platform software.
10289  func (r Hardware_Server) GetVirtualizationPlatform() (resp datatypes.Software_Component, err error) {
10290  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getVirtualizationPlatform", nil, &r.Options, &resp)
10291  	return
10292  }
10293  
10294  // 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.
10295  func (r Hardware_Server) GetWindowsUpdateAvailableUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
10296  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateAvailableUpdates", nil, &r.Options, &resp)
10297  	return
10298  }
10299  
10300  // 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.
10301  func (r Hardware_Server) GetWindowsUpdateInstalledUpdates() (resp []datatypes.Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem, err error) {
10302  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateInstalledUpdates", nil, &r.Options, &resp)
10303  	return
10304  }
10305  
10306  // 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.
10307  func (r Hardware_Server) GetWindowsUpdateStatus() (resp datatypes.Container_Utility_Microsoft_Windows_UpdateServices_Status, err error) {
10308  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "getWindowsUpdateStatus", nil, &r.Options, &resp)
10309  	return
10310  }
10311  
10312  // The ”'importVirtualHost”' method attempts to import the host record for the virtualization platform running on a server.
10313  func (r Hardware_Server) ImportVirtualHost() (resp datatypes.Virtual_Host, err error) {
10314  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "importVirtualHost", nil, &r.Options, &resp)
10315  	return
10316  }
10317  
10318  // Idera Bare Metal Server Restore is a backup agent designed specifically for making full system restores made with Idera Server Backup.
10319  func (r Hardware_Server) InitiateIderaBareMetalRestore() (resp bool, err error) {
10320  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "initiateIderaBareMetalRestore", nil, &r.Options, &resp)
10321  	return
10322  }
10323  
10324  // R1Soft Bare Metal Server Restore is an R1Soft disk agent designed specifically for making full system restores made with R1Soft CDP Server backup.
10325  func (r Hardware_Server) InitiateR1SoftBareMetalRestore() (resp bool, err error) {
10326  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "initiateR1SoftBareMetalRestore", nil, &r.Options, &resp)
10327  	return
10328  }
10329  
10330  // Issues a ping command and returns the success (true) or failure (false) of the ping command.
10331  func (r Hardware_Server) IsBackendPingable() (resp bool, err error) {
10332  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isBackendPingable", nil, &r.Options, &resp)
10333  	return
10334  }
10335  
10336  // Issues a ping command and returns the success (true) or failure (false) of the ping command.
10337  func (r Hardware_Server) IsPingable() (resp bool, err error) {
10338  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isPingable", nil, &r.Options, &resp)
10339  	return
10340  }
10341  
10342  // Determine if the server runs any version of the Microsoft Windows operating systems. Return ”true” if it does and ”false if otherwise.
10343  func (r Hardware_Server) IsWindowsServer() (resp bool, err error) {
10344  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "isWindowsServer", nil, &r.Options, &resp)
10345  	return
10346  }
10347  
10348  // 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.
10349  //
10350  // 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.
10351  func (r Hardware_Server) MassFirmwareReflash(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
10352  	params := []interface{}{
10353  		hardwareIds,
10354  		ipmi,
10355  		raidController,
10356  		bios,
10357  	}
10358  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massFirmwareReflash", params, &r.Options, &resp)
10359  	return
10360  }
10361  
10362  // 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.
10363  //
10364  // 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.
10365  func (r Hardware_Server) MassFirmwareUpdate(hardwareIds []int, ipmi *bool, raidController *bool, bios *bool, harddrive *bool, networkCard *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
10366  	params := []interface{}{
10367  		hardwareIds,
10368  		ipmi,
10369  		raidController,
10370  		bios,
10371  		harddrive,
10372  		networkCard,
10373  	}
10374  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massFirmwareUpdate", params, &r.Options, &resp)
10375  	return
10376  }
10377  
10378  // 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.
10379  //
10380  // 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.
10381  func (r Hardware_Server) MassHyperThreadingUpdate(hardwareIds []int, disableHyperthreading *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
10382  	params := []interface{}{
10383  		hardwareIds,
10384  		disableHyperthreading,
10385  	}
10386  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massHyperThreadingUpdate", params, &r.Options, &resp)
10387  	return
10388  }
10389  
10390  // Reloads current or customer specified operating system configuration.
10391  //
10392  // 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.
10393  //
10394  // 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.
10395  //
10396  // The reload will take AT MINIMUM 66 minutes.
10397  func (r Hardware_Server) MassReloadOperatingSystem(hardwareIds []string, token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
10398  	params := []interface{}{
10399  		hardwareIds,
10400  		token,
10401  		config,
10402  	}
10403  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massReloadOperatingSystem", params, &r.Options, &resp)
10404  	return
10405  }
10406  
10407  // 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.
10408  func (r Hardware_Server) MassSparePool(hardwareIds []string, action *string, newOrder *bool) (resp []datatypes.Container_Hardware_Server_Request, err error) {
10409  	params := []interface{}{
10410  		hardwareIds,
10411  		action,
10412  		newOrder,
10413  	}
10414  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "massSparePool", params, &r.Options, &resp)
10415  	return
10416  }
10417  
10418  // Issues a ping command to the server and returns the ping response.
10419  func (r Hardware_Server) Ping() (resp string, err error) {
10420  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "ping", nil, &r.Options, &resp)
10421  	return
10422  }
10423  
10424  // no documentation yet
10425  func (r Hardware_Server) PopulateServerRam(ramSerialString *string) (err error) {
10426  	var resp datatypes.Void
10427  	params := []interface{}{
10428  		ramSerialString,
10429  	}
10430  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "populateServerRam", params, &r.Options, &resp)
10431  	return
10432  }
10433  
10434  // 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.
10435  func (r Hardware_Server) PowerCycle() (resp bool, err error) {
10436  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerCycle", nil, &r.Options, &resp)
10437  	return
10438  }
10439  
10440  // This method will power off the server via the server's remote management card.
10441  func (r Hardware_Server) PowerOff() (resp bool, err error) {
10442  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerOff", nil, &r.Options, &resp)
10443  	return
10444  }
10445  
10446  // 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.
10447  func (r Hardware_Server) PowerOn() (resp bool, err error) {
10448  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "powerOn", nil, &r.Options, &resp)
10449  	return
10450  }
10451  
10452  // 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.
10453  func (r Hardware_Server) RebootDefault() (resp bool, err error) {
10454  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootDefault", nil, &r.Options, &resp)
10455  	return
10456  }
10457  
10458  // 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.
10459  func (r Hardware_Server) RebootHard() (resp bool, err error) {
10460  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootHard", nil, &r.Options, &resp)
10461  	return
10462  }
10463  
10464  // 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.
10465  func (r Hardware_Server) RebootSoft() (resp bool, err error) {
10466  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "rebootSoft", nil, &r.Options, &resp)
10467  	return
10468  }
10469  
10470  // no documentation yet
10471  func (r Hardware_Server) RefreshDeviceStatus() (resp datatypes.Hardware_State, err error) {
10472  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "refreshDeviceStatus", nil, &r.Options, &resp)
10473  	return
10474  }
10475  
10476  // Reloads current operating system configuration.
10477  //
10478  // 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.
10479  //
10480  // 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.
10481  //
10482  // The reload will take AT MINIMUM 66 minutes.
10483  func (r Hardware_Server) ReloadCurrentOperatingSystemConfiguration(token *string) (resp string, err error) {
10484  	params := []interface{}{
10485  		token,
10486  	}
10487  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "reloadCurrentOperatingSystemConfiguration", params, &r.Options, &resp)
10488  	return
10489  }
10490  
10491  // Reloads current or customer specified operating system configuration.
10492  //
10493  // 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.
10494  //
10495  // 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.
10496  //
10497  // The reload will take AT MINIMUM 66 minutes.
10498  func (r Hardware_Server) ReloadOperatingSystem(token *string, config *datatypes.Container_Hardware_Server_Configuration) (resp string, err error) {
10499  	params := []interface{}{
10500  		token,
10501  		config,
10502  	}
10503  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "reloadOperatingSystem", params, &r.Options, &resp)
10504  	return
10505  }
10506  
10507  // This method is used to remove access to s SoftLayer_Network_Storage volumes that supports host- or network-level access control.
10508  func (r Hardware_Server) RemoveAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
10509  	params := []interface{}{
10510  		networkStorageTemplateObject,
10511  	}
10512  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "removeAccessToNetworkStorage", params, &r.Options, &resp)
10513  	return
10514  }
10515  
10516  // This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
10517  func (r Hardware_Server) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
10518  	params := []interface{}{
10519  		networkStorageTemplateObjects,
10520  	}
10521  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
10522  	return
10523  }
10524  
10525  // no documentation yet
10526  func (r Hardware_Server) RemoveTags(tags *string) (resp bool, err error) {
10527  	params := []interface{}{
10528  		tags,
10529  	}
10530  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "removeTags", params, &r.Options, &resp)
10531  	return
10532  }
10533  
10534  // 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.
10535  //
10536  // 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.
10537  //
10538  // 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.
10539  //
10540  // 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.
10541  func (r Hardware_Server) RunPassmarkCertificationBenchmark() (resp bool, err error) {
10542  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "runPassmarkCertificationBenchmark", nil, &r.Options, &resp)
10543  	return
10544  }
10545  
10546  // Changes the password that we have stored in our database for a servers' Operating System
10547  func (r Hardware_Server) SetOperatingSystemPassword(newPassword *string) (resp bool, err error) {
10548  	params := []interface{}{
10549  		newPassword,
10550  	}
10551  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setOperatingSystemPassword", params, &r.Options, &resp)
10552  	return
10553  }
10554  
10555  // Set the private network interface speed and redundancy configuration.
10556  //
10557  // 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.
10558  //
10559  // 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.
10560  //
10561  // 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.
10562  //
10563  // 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.
10564  //
10565  // <h4>Backwards Compatibility Until February 27th, 2019</h4>
10566  //
10567  // 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.
10568  func (r Hardware_Server) SetPrivateNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
10569  	params := []interface{}{
10570  		newSpeed,
10571  		redundancy,
10572  	}
10573  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setPrivateNetworkInterfaceSpeed", params, &r.Options, &resp)
10574  	return
10575  }
10576  
10577  // Set the public network interface speed and redundancy configuration.
10578  //
10579  // 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.
10580  //
10581  // 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.
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 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.
10586  //
10587  // <h4>Backwards Compatibility Until February 27th, 2019</h4>
10588  //
10589  // 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.
10590  func (r Hardware_Server) SetPublicNetworkInterfaceSpeed(newSpeed *int, redundancy *string) (resp bool, err error) {
10591  	params := []interface{}{
10592  		newSpeed,
10593  		redundancy,
10594  	}
10595  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setPublicNetworkInterfaceSpeed", params, &r.Options, &resp)
10596  	return
10597  }
10598  
10599  // no documentation yet
10600  func (r Hardware_Server) SetTags(tags *string) (resp bool, err error) {
10601  	params := []interface{}{
10602  		tags,
10603  	}
10604  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setTags", params, &r.Options, &resp)
10605  	return
10606  }
10607  
10608  // Sets the data that will be written to the configuration drive.
10609  func (r Hardware_Server) SetUserMetadata(metadata []string) (resp []datatypes.Hardware_Attribute, err error) {
10610  	params := []interface{}{
10611  		metadata,
10612  	}
10613  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "setUserMetadata", params, &r.Options, &resp)
10614  	return
10615  }
10616  
10617  // 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.
10618  //
10619  // 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.
10620  //
10621  // 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.
10622  func (r Hardware_Server) ShutdownPrivatePort() (resp bool, err error) {
10623  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "shutdownPrivatePort", nil, &r.Options, &resp)
10624  	return
10625  }
10626  
10627  // 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.
10628  //
10629  // 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.
10630  //
10631  // 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.
10632  func (r Hardware_Server) ShutdownPublicPort() (resp bool, err error) {
10633  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "shutdownPublicPort", nil, &r.Options, &resp)
10634  	return
10635  }
10636  
10637  // 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.
10638  func (r Hardware_Server) SparePool(action *string, newOrder *bool) (resp bool, err error) {
10639  	params := []interface{}{
10640  		action,
10641  		newOrder,
10642  	}
10643  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "sparePool", params, &r.Options, &resp)
10644  	return
10645  }
10646  
10647  // 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.
10648  func (r Hardware_Server) TestRaidAlertService() (resp bool, err error) {
10649  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "testRaidAlertService", nil, &r.Options, &resp)
10650  	return
10651  }
10652  
10653  // Attempt to toggle the IPMI interface.  If there is an active transaction on the server, it will throw an exception. This method creates a job to toggle the interface.  It is not instant.
10654  func (r Hardware_Server) ToggleManagementInterface(enabled *bool) (resp bool, err error) {
10655  	params := []interface{}{
10656  		enabled,
10657  	}
10658  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "toggleManagementInterface", params, &r.Options, &resp)
10659  	return
10660  }
10661  
10662  // This method will update the root IPMI password on this SoftLayer_Hardware.
10663  func (r Hardware_Server) UpdateIpmiPassword(password *string) (resp bool, err error) {
10664  	params := []interface{}{
10665  		password,
10666  	}
10667  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "updateIpmiPassword", params, &r.Options, &resp)
10668  	return
10669  }
10670  
10671  // Validates a collection of partitions for an operating system
10672  func (r Hardware_Server) ValidatePartitionsForOperatingSystem(operatingSystem *datatypes.Software_Description, partitions []datatypes.Hardware_Component_Partition) (resp bool, err error) {
10673  	params := []interface{}{
10674  		operatingSystem,
10675  		partitions,
10676  	}
10677  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "validatePartitionsForOperatingSystem", params, &r.Options, &resp)
10678  	return
10679  }
10680  
10681  // no documentation yet
10682  func (r Hardware_Server) ValidateSecurityLevel() (err error) {
10683  	var resp datatypes.Void
10684  	err = r.Session.DoRequest("SoftLayer_Hardware_Server", "validateSecurityLevel", nil, &r.Options, &resp)
10685  	return
10686  }
10687