1/**
2 * Copyright 2016 IBM Corp.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *    http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18 * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
19 */
20
21package services
22
23import (
24	"fmt"
25	"strings"
26
27	"github.com/softlayer/softlayer-go/datatypes"
28	"github.com/softlayer/softlayer-go/session"
29	"github.com/softlayer/softlayer-go/sl"
30)
31
32// no documentation yet
33type Network struct {
34	Session *session.Session
35	Options sl.Options
36}
37
38// GetNetworkService returns an instance of the Network SoftLayer service
39func GetNetworkService(sess *session.Session) Network {
40	return Network{Session: sess}
41}
42
43func (r Network) Id(id int) Network {
44	r.Options.Id = &id
45	return r
46}
47
48func (r Network) Mask(mask string) Network {
49	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
50		mask = fmt.Sprintf("mask[%s]", mask)
51	}
52
53	r.Options.Mask = mask
54	return r
55}
56
57func (r Network) Filter(filter string) Network {
58	r.Options.Filter = filter
59	return r
60}
61
62func (r Network) Limit(limit int) Network {
63	r.Options.Limit = &limit
64	return r
65}
66
67func (r Network) Offset(offset int) Network {
68	r.Options.Offset = &offset
69	return r
70}
71
72// Provide a template containing the following properties to create a Network:
73// * networkIdentifier
74// * cidr
75// * name
76//
77//
78// The ``networkIdentifier`` must be an IP address within RFC 1918 blocks:
79// * 192.168.0.0/16
80// * 172.16.0.0/12
81// * 10.0.0.0/8
82// The ``cidr`` must be an integer between 16 and 24, inclusive. The ``networkIdentifier``/``cidr`` must represent a valid subnet specification. The ``name`` must not be empty, but otherwise can contain up to 50 characters of user specified information to identify the Network.
83//
84// The subnet specification of the Network bounds the IP address space which can be utilized and constrains the creation of Subnets within the Network.
85//
86// Example networkIdentifier/CIDR combinations:
87// * 192.168.0.0/16
88// * 192.168.0.0/17
89// * 172.16.0.0/16
90// * 172.31.0.0/16
91// * 10.0.0.0/16
92// * 10.255.0.0/16
93func (r Network) CreateObject(templateObject *datatypes.Network) (resp datatypes.Network, err error) {
94	params := []interface{}{
95		templateObject,
96	}
97	err = r.Session.DoRequest("SoftLayer_Network", "createObject", params, &r.Options, &resp)
98	return
99}
100
101// Creation of a Subnet is necessary prior to provisioning compute resources into a Network. In order to create a Subnet, both a [[SoftLayer_Network_Subnet|Subnet]] and [[SoftLayer_Network_Pod|Pod]] must be specified. The Pod determines where the Subnet will be available for use by compute resources.
102//
103// Provide a Subnet template containing the following properties:
104// * networkIdentifier
105// * cidr
106// The ``networkIdentifier`` must represent an IP address within that specified by the Network. The ``cidr`` must be an integer between 24 and 29, inclusive, and represent a subnet size smaller than the Network's. The ``networkIdentifier``/``cidr`` must represent a valid subnet specification.
107//
108// Provide a Pod template containing the following property:
109// * name
110// The ``name`` must represent a valid Pod e.g. sjc01.pod02. See [[SoftLayer_Network_Pod (type)]] for more information.
111//
112// The following constraints apply to Subnet creation:
113// * It must fit within the bounds of the Network.
114// * It must be no larger than /24 and no smaller than /29.
115// * Its size must not equal that of the Network. This implies that a fully
116// utilized Network will have a minimum of two Subnets.
117// * The Pod must support the ability to create Networks by having the
118// SUPPORTS_CUSTOMER_DEFINED_NETWORK capability. See [[SoftLayer_Network_Pod/getCapabilities]].
119func (r Network) CreateSubnet(subnet *datatypes.Network_Subnet, pod *datatypes.Network_Pod) (resp datatypes.Network_Subnet, err error) {
120	params := []interface{}{
121		subnet,
122		pod,
123	}
124	err = r.Session.DoRequest("SoftLayer_Network", "createSubnet", params, &r.Options, &resp)
125	return
126}
127
128// Remove the specified Network along with any Subnets.
129func (r Network) DeleteObject() (resp bool, err error) {
130	err = r.Session.DoRequest("SoftLayer_Network", "deleteObject", nil, &r.Options, &resp)
131	return
132}
133
134//
135//
136// Provide a Subnet template containing the following properties:
137// * networkIdentifier
138// * cidr
139// The ``networkIdentifier`` must represent an IP address within that specified by the Network. The ``cidr`` must be an integer between 24 and 29, inclusive, and represent a subnet size smaller than the Network's. The ``networkIdentifier``/``cidr`` must represent a valid subnet specification. Or:
140// * id
141// The ``id`` must identify a Subnet in the Network. If the ``id`` is provided, the ``networkIdentifier``/``cidr`` will be ignored.
142//
143// Subnets may only be removed when no compute resources are utilizing them.
144func (r Network) DeleteSubnet(subnet *datatypes.Network_Subnet) (resp bool, err error) {
145	params := []interface{}{
146		subnet,
147	}
148	err = r.Session.DoRequest("SoftLayer_Network", "deleteSubnet", params, &r.Options, &resp)
149	return
150}
151
152// Modify either the ``name`` or ``notes`` properties of a Network.
153func (r Network) EditObject(templateObject *datatypes.Network) (resp bool, err error) {
154	params := []interface{}{
155		templateObject,
156	}
157	err = r.Session.DoRequest("SoftLayer_Network", "editObject", params, &r.Options, &resp)
158	return
159}
160
161// no documentation yet
162func (r Network) GetAllObjects() (resp []datatypes.Network, err error) {
163	err = r.Session.DoRequest("SoftLayer_Network", "getAllObjects", nil, &r.Options, &resp)
164	return
165}
166
167// Retrieve The size of the Network specified in CIDR notation. Specified in conjunction with the ``networkIdentifier`` to describe the bounding subnet size for the Network. Required for creation. See [[SoftLayer_Network/createObject]] documentation for creation details.
168func (r Network) GetCidr() (resp int, err error) {
169	err = r.Session.DoRequest("SoftLayer_Network", "getCidr", nil, &r.Options, &resp)
170	return
171}
172
173// Retrieve A name for the Network. This is required during creation of a Network and is entirely user defined.
174func (r Network) GetName() (resp string, err error) {
175	err = r.Session.DoRequest("SoftLayer_Network", "getName", nil, &r.Options, &resp)
176	return
177}
178
179// Retrieve The starting IP address of the Network. Specified in conjunction with the ``cidr`` property to specify the bounding IP address space for the Network. Required for creation. See [[SoftLayer_Network/createObject]] documentation for creation details.
180func (r Network) GetNetworkIdentifier() (resp string, err error) {
181	err = r.Session.DoRequest("SoftLayer_Network", "getNetworkIdentifier", nil, &r.Options, &resp)
182	return
183}
184
185// Retrieve Notes, or a description of the Network. This is entirely user defined.
186func (r Network) GetNotes() (resp string, err error) {
187	err = r.Session.DoRequest("SoftLayer_Network", "getNotes", nil, &r.Options, &resp)
188	return
189}
190
191// no documentation yet
192func (r Network) GetObject() (resp datatypes.Network, err error) {
193	err = r.Session.DoRequest("SoftLayer_Network", "getObject", nil, &r.Options, &resp)
194	return
195}
196
197// Retrieve The Subnets within the Network. These represent the realized segments of the Network and reside within a [[SoftLayer_Network_Pod|Pod]]. A Subnet must be specified when provisioning a compute resource within a Network.
198func (r Network) GetSubnets() (resp []datatypes.Network_Subnet, err error) {
199	err = r.Session.DoRequest("SoftLayer_Network", "getSubnets", nil, &r.Options, &resp)
200	return
201}
202
203// The SoftLayer_Network_Application_Delivery_Controller data type models a single instance of an application delivery controller. Local properties are read only, except for a ''notes'' property, which can be used to describe your application delivery controller service. The type's relational properties provide more information to the service's function and login information to the controller's backend management if advanced view is enabled.
204type Network_Application_Delivery_Controller struct {
205	Session *session.Session
206	Options sl.Options
207}
208
209// GetNetworkApplicationDeliveryControllerService returns an instance of the Network_Application_Delivery_Controller SoftLayer service
210func GetNetworkApplicationDeliveryControllerService(sess *session.Session) Network_Application_Delivery_Controller {
211	return Network_Application_Delivery_Controller{Session: sess}
212}
213
214func (r Network_Application_Delivery_Controller) Id(id int) Network_Application_Delivery_Controller {
215	r.Options.Id = &id
216	return r
217}
218
219func (r Network_Application_Delivery_Controller) Mask(mask string) Network_Application_Delivery_Controller {
220	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
221		mask = fmt.Sprintf("mask[%s]", mask)
222	}
223
224	r.Options.Mask = mask
225	return r
226}
227
228func (r Network_Application_Delivery_Controller) Filter(filter string) Network_Application_Delivery_Controller {
229	r.Options.Filter = filter
230	return r
231}
232
233func (r Network_Application_Delivery_Controller) Limit(limit int) Network_Application_Delivery_Controller {
234	r.Options.Limit = &limit
235	return r
236}
237
238func (r Network_Application_Delivery_Controller) Offset(offset int) Network_Application_Delivery_Controller {
239	r.Options.Offset = &offset
240	return r
241}
242
243// Create or add to an application delivery controller based load balancer service. The loadBalancer parameter must have its ''name'', ''type'', ''sourcePort'', and ''virtualIpAddress'' properties populated. Changes are reflected immediately in the application delivery controller.
244func (r Network_Application_Delivery_Controller) CreateLiveLoadBalancer(loadBalancer *datatypes.Network_LoadBalancer_VirtualIpAddress) (resp bool, err error) {
245	params := []interface{}{
246		loadBalancer,
247	}
248	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "createLiveLoadBalancer", params, &r.Options, &resp)
249	return
250}
251
252// Remove a virtual IP address from an application delivery controller based load balancer. Only the ''name'' property in the loadBalancer parameter must be populated. Changes are reflected immediately in the application delivery controller.
253func (r Network_Application_Delivery_Controller) DeleteLiveLoadBalancer(loadBalancer *datatypes.Network_LoadBalancer_VirtualIpAddress) (resp bool, err error) {
254	params := []interface{}{
255		loadBalancer,
256	}
257	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "deleteLiveLoadBalancer", params, &r.Options, &resp)
258	return
259}
260
261// Remove an entire load balancer service, including all virtual IP addresses, from and application delivery controller based load balancer. The ''name'' property the and ''name'' property within the ''vip'' property of the service parameter must be provided. Changes are reflected immediately in the application delivery controller.
262func (r Network_Application_Delivery_Controller) DeleteLiveLoadBalancerService(service *datatypes.Network_LoadBalancer_Service) (err error) {
263	var resp datatypes.Void
264	params := []interface{}{
265		service,
266	}
267	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "deleteLiveLoadBalancerService", params, &r.Options, &resp)
268	return
269}
270
271// Edit an applications delivery controller record. Currently only a controller's notes property is editable.
272func (r Network_Application_Delivery_Controller) EditObject(templateObject *datatypes.Network_Application_Delivery_Controller) (resp bool, err error) {
273	params := []interface{}{
274		templateObject,
275	}
276	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "editObject", params, &r.Options, &resp)
277	return
278}
279
280// Retrieve The SoftLayer customer account that owns an application delivery controller record.
281func (r Network_Application_Delivery_Controller) GetAccount() (resp datatypes.Account, err error) {
282	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getAccount", nil, &r.Options, &resp)
283	return
284}
285
286// Retrieve The average daily public bandwidth usage for the current billing cycle.
287func (r Network_Application_Delivery_Controller) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
288	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
289	return
290}
291
292// no documentation yet
293func (r Network_Application_Delivery_Controller) GetBandwidthDataByDate(startDateTime *datatypes.Time, endDateTime *datatypes.Time, networkType *string) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
294	params := []interface{}{
295		startDateTime,
296		endDateTime,
297		networkType,
298	}
299	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getBandwidthDataByDate", params, &r.Options, &resp)
300	return
301}
302
303// Use this method when needing a bandwidth image for a single application delivery controller. It will gather the correct input parameters for the generic graphing utility based on the date ranges
304func (r Network_Application_Delivery_Controller) GetBandwidthImageByDate(startDateTime *datatypes.Time, endDateTime *datatypes.Time, networkType *string) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
305	params := []interface{}{
306		startDateTime,
307		endDateTime,
308		networkType,
309	}
310	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getBandwidthImageByDate", params, &r.Options, &resp)
311	return
312}
313
314// Retrieve The billing item for a Application Delivery Controller.
315func (r Network_Application_Delivery_Controller) GetBillingItem() (resp datatypes.Billing_Item_Network_Application_Delivery_Controller, err error) {
316	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getBillingItem", nil, &r.Options, &resp)
317	return
318}
319
320// Retrieve Previous configurations for an Application Delivery Controller.
321func (r Network_Application_Delivery_Controller) GetConfigurationHistory() (resp []datatypes.Network_Application_Delivery_Controller_Configuration_History, err error) {
322	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getConfigurationHistory", nil, &r.Options, &resp)
323	return
324}
325
326// Retrieve bandwidth graph by date.
327func (r Network_Application_Delivery_Controller) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
328	params := []interface{}{
329		graphData,
330	}
331	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
332	return
333}
334
335// Retrieve The datacenter that the application delivery controller resides in.
336func (r Network_Application_Delivery_Controller) GetDatacenter() (resp datatypes.Location, err error) {
337	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getDatacenter", nil, &r.Options, &resp)
338	return
339}
340
341// Retrieve A brief description of an application delivery controller record.
342func (r Network_Application_Delivery_Controller) GetDescription() (resp string, err error) {
343	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getDescription", nil, &r.Options, &resp)
344	return
345}
346
347// Retrieve The date in which the license for this application delivery controller will expire.
348func (r Network_Application_Delivery_Controller) GetLicenseExpirationDate() (resp datatypes.Time, err error) {
349	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getLicenseExpirationDate", nil, &r.Options, &resp)
350	return
351}
352
353// Get the graph image for an application delivery controller service based on the supplied graph type and metric.  The available graph types are: 'connections' and 'status', and the available metrics are: 'day', 'week' and 'month'.
354//
355// This method returns the raw binary image data.
356func (r Network_Application_Delivery_Controller) GetLiveLoadBalancerServiceGraphImage(service *datatypes.Network_LoadBalancer_Service, graphType *string, metric *string) (resp []byte, err error) {
357	params := []interface{}{
358		service,
359		graphType,
360		metric,
361	}
362	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getLiveLoadBalancerServiceGraphImage", params, &r.Options, &resp)
363	return
364}
365
366// Retrieve The virtual IP address records that belong to an application delivery controller based load balancer.
367func (r Network_Application_Delivery_Controller) GetLoadBalancers() (resp []datatypes.Network_LoadBalancer_VirtualIpAddress, err error) {
368	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getLoadBalancers", nil, &r.Options, &resp)
369	return
370}
371
372// Retrieve A flag indicating that this Application Delivery Controller is a managed resource.
373func (r Network_Application_Delivery_Controller) GetManagedResourceFlag() (resp bool, err error) {
374	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getManagedResourceFlag", nil, &r.Options, &resp)
375	return
376}
377
378// Retrieve An application delivery controller's management ip address.
379func (r Network_Application_Delivery_Controller) GetManagementIpAddress() (resp string, err error) {
380	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getManagementIpAddress", nil, &r.Options, &resp)
381	return
382}
383
384// Retrieve The network VLAN that an application delivery controller resides on.
385func (r Network_Application_Delivery_Controller) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
386	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getNetworkVlan", nil, &r.Options, &resp)
387	return
388}
389
390// Retrieve The network VLANs that an application delivery controller resides on.
391func (r Network_Application_Delivery_Controller) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
392	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getNetworkVlans", nil, &r.Options, &resp)
393	return
394}
395
396// getObject retrieves the SoftLayer_Network_Application_Delivery_Controller object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Application_Delivery_Controller service. You can only retrieve application delivery controllers that are associated with your SoftLayer customer account.
397func (r Network_Application_Delivery_Controller) GetObject() (resp datatypes.Network_Application_Delivery_Controller, err error) {
398	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getObject", nil, &r.Options, &resp)
399	return
400}
401
402// Retrieve The total public outbound bandwidth for the current billing cycle.
403func (r Network_Application_Delivery_Controller) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
404	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
405	return
406}
407
408// Retrieve The password used to connect to an application delivery controller's management interface when it is operating in advanced view mode.
409func (r Network_Application_Delivery_Controller) GetPassword() (resp datatypes.Software_Component_Password, err error) {
410	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getPassword", nil, &r.Options, &resp)
411	return
412}
413
414// Retrieve An application delivery controller's primary public IP address.
415func (r Network_Application_Delivery_Controller) GetPrimaryIpAddress() (resp string, err error) {
416	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getPrimaryIpAddress", nil, &r.Options, &resp)
417	return
418}
419
420// Retrieve The projected public outbound bandwidth for the current billing cycle.
421func (r Network_Application_Delivery_Controller) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
422	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
423	return
424}
425
426// Retrieve A network application controller's subnets. A subnet is a group of IP addresses
427func (r Network_Application_Delivery_Controller) GetSubnets() (resp []datatypes.Network_Subnet, err error) {
428	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getSubnets", nil, &r.Options, &resp)
429	return
430}
431
432// Retrieve
433func (r Network_Application_Delivery_Controller) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
434	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getTagReferences", nil, &r.Options, &resp)
435	return
436}
437
438// Retrieve
439func (r Network_Application_Delivery_Controller) GetType() (resp datatypes.Network_Application_Delivery_Controller_Type, err error) {
440	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getType", nil, &r.Options, &resp)
441	return
442}
443
444// Retrieve
445func (r Network_Application_Delivery_Controller) GetVirtualIpAddresses() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress, err error) {
446	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "getVirtualIpAddresses", nil, &r.Options, &resp)
447	return
448}
449
450// Restore an application delivery controller's base configuration state. The configuration will be set to what it was when initially provisioned.
451func (r Network_Application_Delivery_Controller) RestoreBaseConfiguration() (resp bool, err error) {
452	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "restoreBaseConfiguration", nil, &r.Options, &resp)
453	return
454}
455
456// Restore an application delivery controller's configuration state.
457func (r Network_Application_Delivery_Controller) RestoreConfiguration(configurationHistoryId *int) (resp bool, err error) {
458	params := []interface{}{
459		configurationHistoryId,
460	}
461	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "restoreConfiguration", params, &r.Options, &resp)
462	return
463}
464
465// Save an application delivery controller's configuration state. The notes property for this method is optional.
466func (r Network_Application_Delivery_Controller) SaveCurrentConfiguration(notes *string) (resp datatypes.Network_Application_Delivery_Controller_Configuration_History, err error) {
467	params := []interface{}{
468		notes,
469	}
470	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "saveCurrentConfiguration", params, &r.Options, &resp)
471	return
472}
473
474// Update the the virtual IP address interface within an application delivery controller based load balancer identified by the ''name'' property in the loadBalancer parameter. You only need to set the properties in the loadBalancer parameter that you wish to change. Any virtual IP properties omitted or left empty are ignored. Changes are reflected immediately in the application delivery controller.
475func (r Network_Application_Delivery_Controller) UpdateLiveLoadBalancer(loadBalancer *datatypes.Network_LoadBalancer_VirtualIpAddress) (resp bool, err error) {
476	params := []interface{}{
477		loadBalancer,
478	}
479	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "updateLiveLoadBalancer", params, &r.Options, &resp)
480	return
481}
482
483// Update the NetScaler VPX License.
484//
485// This service will create a transaction to update a NetScaler VPX License.  After the license is updated the load balancer will reboot in order to apply the newly issued license
486//
487// The load balancer will be unavailable during the reboot.
488func (r Network_Application_Delivery_Controller) UpdateNetScalerLicense() (resp datatypes.Provisioning_Version1_Transaction, err error) {
489	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller", "updateNetScalerLicense", nil, &r.Options, &resp)
490	return
491}
492
493// The SoftLayer_Network_Application_Delivery_Controller_Configuration_History data type models a single instance of a configuration history entry for an application delivery controller. The configuration history entries are used to support creating backups of an application delivery controller's configuration state in order to restore them later if needed.
494type Network_Application_Delivery_Controller_Configuration_History struct {
495	Session *session.Session
496	Options sl.Options
497}
498
499// GetNetworkApplicationDeliveryControllerConfigurationHistoryService returns an instance of the Network_Application_Delivery_Controller_Configuration_History SoftLayer service
500func GetNetworkApplicationDeliveryControllerConfigurationHistoryService(sess *session.Session) Network_Application_Delivery_Controller_Configuration_History {
501	return Network_Application_Delivery_Controller_Configuration_History{Session: sess}
502}
503
504func (r Network_Application_Delivery_Controller_Configuration_History) Id(id int) Network_Application_Delivery_Controller_Configuration_History {
505	r.Options.Id = &id
506	return r
507}
508
509func (r Network_Application_Delivery_Controller_Configuration_History) Mask(mask string) Network_Application_Delivery_Controller_Configuration_History {
510	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
511		mask = fmt.Sprintf("mask[%s]", mask)
512	}
513
514	r.Options.Mask = mask
515	return r
516}
517
518func (r Network_Application_Delivery_Controller_Configuration_History) Filter(filter string) Network_Application_Delivery_Controller_Configuration_History {
519	r.Options.Filter = filter
520	return r
521}
522
523func (r Network_Application_Delivery_Controller_Configuration_History) Limit(limit int) Network_Application_Delivery_Controller_Configuration_History {
524	r.Options.Limit = &limit
525	return r
526}
527
528func (r Network_Application_Delivery_Controller_Configuration_History) Offset(offset int) Network_Application_Delivery_Controller_Configuration_History {
529	r.Options.Offset = &offset
530	return r
531}
532
533// deleteObject permanently removes a configuration history record
534func (r Network_Application_Delivery_Controller_Configuration_History) DeleteObject() (resp bool, err error) {
535	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_Configuration_History", "deleteObject", nil, &r.Options, &resp)
536	return
537}
538
539// Retrieve The application delivery controller that a configuration history record belongs to.
540func (r Network_Application_Delivery_Controller_Configuration_History) GetController() (resp datatypes.Network_Application_Delivery_Controller, err error) {
541	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_Configuration_History", "getController", nil, &r.Options, &resp)
542	return
543}
544
545// no documentation yet
546func (r Network_Application_Delivery_Controller_Configuration_History) GetObject() (resp datatypes.Network_Application_Delivery_Controller_Configuration_History, err error) {
547	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_Configuration_History", "getObject", nil, &r.Options, &resp)
548	return
549}
550
551// no documentation yet
552type Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute struct {
553	Session *session.Session
554	Options sl.Options
555}
556
557// GetNetworkApplicationDeliveryControllerLoadBalancerHealthAttributeService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute SoftLayer service
558func GetNetworkApplicationDeliveryControllerLoadBalancerHealthAttributeService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute {
559	return Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute{Session: sess}
560}
561
562func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute {
563	r.Options.Id = &id
564	return r
565}
566
567func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute {
568	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
569		mask = fmt.Sprintf("mask[%s]", mask)
570	}
571
572	r.Options.Mask = mask
573	return r
574}
575
576func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute {
577	r.Options.Filter = filter
578	return r
579}
580
581func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute {
582	r.Options.Limit = &limit
583	return r
584}
585
586func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute {
587	r.Options.Offset = &offset
588	return r
589}
590
591// Retrieve
592func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute) GetHealthCheck() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Check, err error) {
593	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute", "getHealthCheck", nil, &r.Options, &resp)
594	return
595}
596
597// no documentation yet
598func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute, err error) {
599	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute", "getObject", nil, &r.Options, &resp)
600	return
601}
602
603// Retrieve
604func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute) GetType() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type, err error) {
605	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute", "getType", nil, &r.Options, &resp)
606	return
607}
608
609// no documentation yet
610type Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type struct {
611	Session *session.Session
612	Options sl.Options
613}
614
615// GetNetworkApplicationDeliveryControllerLoadBalancerHealthAttributeTypeService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type SoftLayer service
616func GetNetworkApplicationDeliveryControllerLoadBalancerHealthAttributeTypeService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type {
617	return Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type{Session: sess}
618}
619
620func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type {
621	r.Options.Id = &id
622	return r
623}
624
625func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type {
626	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
627		mask = fmt.Sprintf("mask[%s]", mask)
628	}
629
630	r.Options.Mask = mask
631	return r
632}
633
634func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type {
635	r.Options.Filter = filter
636	return r
637}
638
639func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type {
640	r.Options.Limit = &limit
641	return r
642}
643
644func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type {
645	r.Options.Offset = &offset
646	return r
647}
648
649// no documentation yet
650func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type) GetAllObjects() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type, err error) {
651	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type", "getAllObjects", nil, &r.Options, &resp)
652	return
653}
654
655// no documentation yet
656func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type, err error) {
657	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute_Type", "getObject", nil, &r.Options, &resp)
658	return
659}
660
661// no documentation yet
662type Network_Application_Delivery_Controller_LoadBalancer_Health_Check struct {
663	Session *session.Session
664	Options sl.Options
665}
666
667// GetNetworkApplicationDeliveryControllerLoadBalancerHealthCheckService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_Health_Check SoftLayer service
668func GetNetworkApplicationDeliveryControllerLoadBalancerHealthCheckService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_Health_Check {
669	return Network_Application_Delivery_Controller_LoadBalancer_Health_Check{Session: sess}
670}
671
672func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_Health_Check {
673	r.Options.Id = &id
674	return r
675}
676
677func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_Health_Check {
678	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
679		mask = fmt.Sprintf("mask[%s]", mask)
680	}
681
682	r.Options.Mask = mask
683	return r
684}
685
686func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_Health_Check {
687	r.Options.Filter = filter
688	return r
689}
690
691func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_Health_Check {
692	r.Options.Limit = &limit
693	return r
694}
695
696func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_Health_Check {
697	r.Options.Offset = &offset
698	return r
699}
700
701// Retrieve
702func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) GetAttributes() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Attribute, err error) {
703	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Check", "getAttributes", nil, &r.Options, &resp)
704	return
705}
706
707// no documentation yet
708func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Check, err error) {
709	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Check", "getObject", nil, &r.Options, &resp)
710	return
711}
712
713// Retrieve Collection of scale load balancers that use this health check.
714func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) GetScaleLoadBalancers() (resp []datatypes.Scale_LoadBalancer, err error) {
715	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Check", "getScaleLoadBalancers", nil, &r.Options, &resp)
716	return
717}
718
719// Retrieve
720func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) GetServices() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service, err error) {
721	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Check", "getServices", nil, &r.Options, &resp)
722	return
723}
724
725// Retrieve
726func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check) GetType() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type, err error) {
727	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Check", "getType", nil, &r.Options, &resp)
728	return
729}
730
731// no documentation yet
732type Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type struct {
733	Session *session.Session
734	Options sl.Options
735}
736
737// GetNetworkApplicationDeliveryControllerLoadBalancerHealthCheckTypeService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type SoftLayer service
738func GetNetworkApplicationDeliveryControllerLoadBalancerHealthCheckTypeService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type {
739	return Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type{Session: sess}
740}
741
742func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type {
743	r.Options.Id = &id
744	return r
745}
746
747func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type {
748	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
749		mask = fmt.Sprintf("mask[%s]", mask)
750	}
751
752	r.Options.Mask = mask
753	return r
754}
755
756func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type {
757	r.Options.Filter = filter
758	return r
759}
760
761func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type {
762	r.Options.Limit = &limit
763	return r
764}
765
766func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type {
767	r.Options.Offset = &offset
768	return r
769}
770
771// no documentation yet
772func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type) GetAllObjects() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type, err error) {
773	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type", "getAllObjects", nil, &r.Options, &resp)
774	return
775}
776
777// no documentation yet
778func (r Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type, err error) {
779	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Health_Check_Type", "getObject", nil, &r.Options, &resp)
780	return
781}
782
783// no documentation yet
784type Network_Application_Delivery_Controller_LoadBalancer_Routing_Method struct {
785	Session *session.Session
786	Options sl.Options
787}
788
789// GetNetworkApplicationDeliveryControllerLoadBalancerRoutingMethodService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_Routing_Method SoftLayer service
790func GetNetworkApplicationDeliveryControllerLoadBalancerRoutingMethodService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_Routing_Method {
791	return Network_Application_Delivery_Controller_LoadBalancer_Routing_Method{Session: sess}
792}
793
794func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Method) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_Routing_Method {
795	r.Options.Id = &id
796	return r
797}
798
799func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Method) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_Routing_Method {
800	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
801		mask = fmt.Sprintf("mask[%s]", mask)
802	}
803
804	r.Options.Mask = mask
805	return r
806}
807
808func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Method) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_Routing_Method {
809	r.Options.Filter = filter
810	return r
811}
812
813func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Method) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_Routing_Method {
814	r.Options.Limit = &limit
815	return r
816}
817
818func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Method) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_Routing_Method {
819	r.Options.Offset = &offset
820	return r
821}
822
823// no documentation yet
824func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Method) GetAllObjects() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Method, err error) {
825	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Routing_Method", "getAllObjects", nil, &r.Options, &resp)
826	return
827}
828
829// no documentation yet
830func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Method) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Method, err error) {
831	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Routing_Method", "getObject", nil, &r.Options, &resp)
832	return
833}
834
835// no documentation yet
836type Network_Application_Delivery_Controller_LoadBalancer_Routing_Type struct {
837	Session *session.Session
838	Options sl.Options
839}
840
841// GetNetworkApplicationDeliveryControllerLoadBalancerRoutingTypeService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_Routing_Type SoftLayer service
842func GetNetworkApplicationDeliveryControllerLoadBalancerRoutingTypeService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_Routing_Type {
843	return Network_Application_Delivery_Controller_LoadBalancer_Routing_Type{Session: sess}
844}
845
846func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Type) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_Routing_Type {
847	r.Options.Id = &id
848	return r
849}
850
851func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Type) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_Routing_Type {
852	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
853		mask = fmt.Sprintf("mask[%s]", mask)
854	}
855
856	r.Options.Mask = mask
857	return r
858}
859
860func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Type) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_Routing_Type {
861	r.Options.Filter = filter
862	return r
863}
864
865func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Type) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_Routing_Type {
866	r.Options.Limit = &limit
867	return r
868}
869
870func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Type) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_Routing_Type {
871	r.Options.Offset = &offset
872	return r
873}
874
875// no documentation yet
876func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Type) GetAllObjects() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Type, err error) {
877	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Routing_Type", "getAllObjects", nil, &r.Options, &resp)
878	return
879}
880
881// no documentation yet
882func (r Network_Application_Delivery_Controller_LoadBalancer_Routing_Type) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Type, err error) {
883	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Routing_Type", "getObject", nil, &r.Options, &resp)
884	return
885}
886
887// no documentation yet
888type Network_Application_Delivery_Controller_LoadBalancer_Service struct {
889	Session *session.Session
890	Options sl.Options
891}
892
893// GetNetworkApplicationDeliveryControllerLoadBalancerServiceService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_Service SoftLayer service
894func GetNetworkApplicationDeliveryControllerLoadBalancerServiceService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_Service {
895	return Network_Application_Delivery_Controller_LoadBalancer_Service{Session: sess}
896}
897
898func (r Network_Application_Delivery_Controller_LoadBalancer_Service) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_Service {
899	r.Options.Id = &id
900	return r
901}
902
903func (r Network_Application_Delivery_Controller_LoadBalancer_Service) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_Service {
904	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
905		mask = fmt.Sprintf("mask[%s]", mask)
906	}
907
908	r.Options.Mask = mask
909	return r
910}
911
912func (r Network_Application_Delivery_Controller_LoadBalancer_Service) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_Service {
913	r.Options.Filter = filter
914	return r
915}
916
917func (r Network_Application_Delivery_Controller_LoadBalancer_Service) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_Service {
918	r.Options.Limit = &limit
919	return r
920}
921
922func (r Network_Application_Delivery_Controller_LoadBalancer_Service) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_Service {
923	r.Options.Offset = &offset
924	return r
925}
926
927// no documentation yet
928func (r Network_Application_Delivery_Controller_LoadBalancer_Service) DeleteObject() (err error) {
929	var resp datatypes.Void
930	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "deleteObject", nil, &r.Options, &resp)
931	return
932}
933
934// Get the graph image for a load balancer service based on the supplied graph type and metric.  The available graph types are: 'connections' and 'status', and the available metrics are: 'day', 'week' and 'month'.
935//
936// This method returns the raw binary image data.
937func (r Network_Application_Delivery_Controller_LoadBalancer_Service) GetGraphImage(graphType *string, metric *string) (resp []byte, err error) {
938	params := []interface{}{
939		graphType,
940		metric,
941	}
942	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "getGraphImage", params, &r.Options, &resp)
943	return
944}
945
946// Retrieve
947func (r Network_Application_Delivery_Controller_LoadBalancer_Service) GetGroupReferences() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service_Group_CrossReference, err error) {
948	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "getGroupReferences", nil, &r.Options, &resp)
949	return
950}
951
952// Retrieve
953func (r Network_Application_Delivery_Controller_LoadBalancer_Service) GetGroups() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service_Group, err error) {
954	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "getGroups", nil, &r.Options, &resp)
955	return
956}
957
958// Retrieve
959func (r Network_Application_Delivery_Controller_LoadBalancer_Service) GetHealthCheck() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Check, err error) {
960	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "getHealthCheck", nil, &r.Options, &resp)
961	return
962}
963
964// Retrieve
965func (r Network_Application_Delivery_Controller_LoadBalancer_Service) GetHealthChecks() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Check, err error) {
966	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "getHealthChecks", nil, &r.Options, &resp)
967	return
968}
969
970// Retrieve
971func (r Network_Application_Delivery_Controller_LoadBalancer_Service) GetIpAddress() (resp datatypes.Network_Subnet_IpAddress, err error) {
972	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "getIpAddress", nil, &r.Options, &resp)
973	return
974}
975
976// no documentation yet
977func (r Network_Application_Delivery_Controller_LoadBalancer_Service) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service, err error) {
978	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "getObject", nil, &r.Options, &resp)
979	return
980}
981
982// Retrieve
983func (r Network_Application_Delivery_Controller_LoadBalancer_Service) GetServiceGroup() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service_Group, err error) {
984	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "getServiceGroup", nil, &r.Options, &resp)
985	return
986}
987
988// no documentation yet
989func (r Network_Application_Delivery_Controller_LoadBalancer_Service) ToggleStatus() (resp bool, err error) {
990	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service", "toggleStatus", nil, &r.Options, &resp)
991	return
992}
993
994// no documentation yet
995type Network_Application_Delivery_Controller_LoadBalancer_Service_Group struct {
996	Session *session.Session
997	Options sl.Options
998}
999
1000// GetNetworkApplicationDeliveryControllerLoadBalancerServiceGroupService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_Service_Group SoftLayer service
1001func GetNetworkApplicationDeliveryControllerLoadBalancerServiceGroupService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_Service_Group {
1002	return Network_Application_Delivery_Controller_LoadBalancer_Service_Group{Session: sess}
1003}
1004
1005func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_Service_Group {
1006	r.Options.Id = &id
1007	return r
1008}
1009
1010func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_Service_Group {
1011	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1012		mask = fmt.Sprintf("mask[%s]", mask)
1013	}
1014
1015	r.Options.Mask = mask
1016	return r
1017}
1018
1019func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_Service_Group {
1020	r.Options.Filter = filter
1021	return r
1022}
1023
1024func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_Service_Group {
1025	r.Options.Limit = &limit
1026	return r
1027}
1028
1029func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_Service_Group {
1030	r.Options.Offset = &offset
1031	return r
1032}
1033
1034// Get the graph image for a load balancer service group based on the supplied graph type and metric.  The only available graph type currently is: 'connections', and the available metrics are: 'day', 'week' and 'month'.
1035//
1036// This method returns the raw binary image data.
1037func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) GetGraphImage(graphType *string, metric *string) (resp []byte, err error) {
1038	params := []interface{}{
1039		graphType,
1040		metric,
1041	}
1042	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "getGraphImage", params, &r.Options, &resp)
1043	return
1044}
1045
1046// no documentation yet
1047func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service_Group, err error) {
1048	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "getObject", nil, &r.Options, &resp)
1049	return
1050}
1051
1052// Retrieve
1053func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) GetRoutingMethod() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Method, err error) {
1054	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "getRoutingMethod", nil, &r.Options, &resp)
1055	return
1056}
1057
1058// Retrieve
1059func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) GetRoutingType() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Type, err error) {
1060	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "getRoutingType", nil, &r.Options, &resp)
1061	return
1062}
1063
1064// Retrieve
1065func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) GetServiceReferences() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service_Group_CrossReference, err error) {
1066	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "getServiceReferences", nil, &r.Options, &resp)
1067	return
1068}
1069
1070// Retrieve
1071func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) GetServices() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service, err error) {
1072	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "getServices", nil, &r.Options, &resp)
1073	return
1074}
1075
1076// Retrieve
1077func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) GetVirtualServer() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualServer, err error) {
1078	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "getVirtualServer", nil, &r.Options, &resp)
1079	return
1080}
1081
1082// Retrieve
1083func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) GetVirtualServers() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualServer, err error) {
1084	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "getVirtualServers", nil, &r.Options, &resp)
1085	return
1086}
1087
1088// no documentation yet
1089func (r Network_Application_Delivery_Controller_LoadBalancer_Service_Group) KickAllConnections() (resp bool, err error) {
1090	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_Group", "kickAllConnections", nil, &r.Options, &resp)
1091	return
1092}
1093
1094// no documentation yet
1095type Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress struct {
1096	Session *session.Session
1097	Options sl.Options
1098}
1099
1100// GetNetworkApplicationDeliveryControllerLoadBalancerVirtualIpAddressService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress SoftLayer service
1101func GetNetworkApplicationDeliveryControllerLoadBalancerVirtualIpAddressService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress {
1102	return Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress{Session: sess}
1103}
1104
1105func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress {
1106	r.Options.Id = &id
1107	return r
1108}
1109
1110func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress {
1111	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1112		mask = fmt.Sprintf("mask[%s]", mask)
1113	}
1114
1115	r.Options.Mask = mask
1116	return r
1117}
1118
1119func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress {
1120	r.Options.Filter = filter
1121	return r
1122}
1123
1124func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress {
1125	r.Options.Limit = &limit
1126	return r
1127}
1128
1129func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress {
1130	r.Options.Offset = &offset
1131	return r
1132}
1133
1134// Like any other API object, the load balancers can have their exposed properties edited by passing in a modified version of the object.  The load balancer object also can modify its services in this way.  Simply request the load balancer object you wish to edit, then modify the objects in the services array and pass the modified object to this function.  WARNING:  Services cannot be deleted in this manner, you must call deleteObject() on the service to physically remove them from the load balancer.
1135func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) EditObject(templateObject *datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) (resp bool, err error) {
1136	params := []interface{}{
1137		templateObject,
1138	}
1139	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "editObject", params, &r.Options, &resp)
1140	return
1141}
1142
1143// Retrieve
1144func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetAccount() (resp datatypes.Account, err error) {
1145	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getAccount", nil, &r.Options, &resp)
1146	return
1147}
1148
1149// Retrieve A virtual IP address's associated application delivery controller.
1150func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetApplicationDeliveryController() (resp datatypes.Network_Application_Delivery_Controller, err error) {
1151	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getApplicationDeliveryController", nil, &r.Options, &resp)
1152	return
1153}
1154
1155// Retrieve A virtual IP address's associated application delivery controllers.
1156func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetApplicationDeliveryControllers() (resp []datatypes.Network_Application_Delivery_Controller, err error) {
1157	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getApplicationDeliveryControllers", nil, &r.Options, &resp)
1158	return
1159}
1160
1161// Yields a list of the SSL/TLS encryption ciphers that are currently supported on this virtual IP address instance.
1162func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetAvailableSecureTransportCiphers() (resp []datatypes.Security_SecureTransportCipher, err error) {
1163	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getAvailableSecureTransportCiphers", nil, &r.Options, &resp)
1164	return
1165}
1166
1167// Yields a list of the secure communication protocols that are currently supported on this virtual IP address instance. The list of supported ciphers for each protocol is culled to match availability.
1168func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetAvailableSecureTransportProtocols() (resp []datatypes.Security_SecureTransportProtocol, err error) {
1169	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getAvailableSecureTransportProtocols", nil, &r.Options, &resp)
1170	return
1171}
1172
1173// Retrieve The current billing item for the load balancer virtual IP. This is only valid when dedicatedFlag is false. This is an independent virtual IP, and if canceled, will only affect the associated virtual IP.
1174func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetBillingItem() (resp datatypes.Billing_Item, err error) {
1175	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getBillingItem", nil, &r.Options, &resp)
1176	return
1177}
1178
1179// Retrieve The current billing item for the load balancing device housing the virtual IP. This billing item represents a device which could contain other virtual IPs. Caution should be taken when canceling. This is only valid when dedicatedFlag is true.
1180func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetDedicatedBillingItem() (resp datatypes.Billing_Item_Network_LoadBalancer, err error) {
1181	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getDedicatedBillingItem", nil, &r.Options, &resp)
1182	return
1183}
1184
1185// Retrieve Denotes whether the virtual IP is configured within a high availability cluster.
1186func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetHighAvailabilityFlag() (resp bool, err error) {
1187	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getHighAvailabilityFlag", nil, &r.Options, &resp)
1188	return
1189}
1190
1191// Retrieve
1192func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetIpAddress() (resp datatypes.Network_Subnet_IpAddress, err error) {
1193	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getIpAddress", nil, &r.Options, &resp)
1194	return
1195}
1196
1197// Retrieve
1198func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetLoadBalancerHardware() (resp []datatypes.Hardware, err error) {
1199	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getLoadBalancerHardware", nil, &r.Options, &resp)
1200	return
1201}
1202
1203// Retrieve A flag indicating that the load balancer is a managed resource.
1204func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetManagedResourceFlag() (resp bool, err error) {
1205	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getManagedResourceFlag", nil, &r.Options, &resp)
1206	return
1207}
1208
1209// no documentation yet
1210func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress, err error) {
1211	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getObject", nil, &r.Options, &resp)
1212	return
1213}
1214
1215// Retrieve The list of security ciphers enabled for this virtual IP address
1216func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetSecureTransportCiphers() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_SecureTransportCipher, err error) {
1217	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getSecureTransportCiphers", nil, &r.Options, &resp)
1218	return
1219}
1220
1221// Retrieve The list of secure transport protocols enabled for this virtual IP address
1222func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetSecureTransportProtocols() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_SecureTransportProtocol, err error) {
1223	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getSecureTransportProtocols", nil, &r.Options, &resp)
1224	return
1225}
1226
1227// Retrieve The SSL certificate currently associated with the VIP.
1228func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetSecurityCertificate() (resp datatypes.Security_Certificate, err error) {
1229	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getSecurityCertificate", nil, &r.Options, &resp)
1230	return
1231}
1232
1233// Retrieve The SSL certificate currently associated with the VIP. Provides chosen certificate visibility to unprivileged users.
1234func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetSecurityCertificateEntry() (resp datatypes.Security_Certificate_Entry, err error) {
1235	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getSecurityCertificateEntry", nil, &r.Options, &resp)
1236	return
1237}
1238
1239// Retrieve
1240func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) GetVirtualServers() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualServer, err error) {
1241	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "getVirtualServers", nil, &r.Options, &resp)
1242	return
1243}
1244
1245// Start SSL acceleration on all SSL virtual services (those with a type of HTTPS). This action should be taken only after configuring an SSL certificate for the virtual IP.
1246func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) StartSsl() (resp bool, err error) {
1247	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "startSsl", nil, &r.Options, &resp)
1248	return
1249}
1250
1251// Stop SSL acceleration on all SSL virtual services (those with a type of HTTPS).
1252func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) StopSsl() (resp bool, err error) {
1253	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "stopSsl", nil, &r.Options, &resp)
1254	return
1255}
1256
1257// Upgrades the connection limit on the Virtual IP to Address to the next, higher connection limit of the same product.
1258func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress) UpgradeConnectionLimit() (resp bool, err error) {
1259	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress", "upgradeConnectionLimit", nil, &r.Options, &resp)
1260	return
1261}
1262
1263// no documentation yet
1264type Network_Application_Delivery_Controller_LoadBalancer_VirtualServer struct {
1265	Session *session.Session
1266	Options sl.Options
1267}
1268
1269// GetNetworkApplicationDeliveryControllerLoadBalancerVirtualServerService returns an instance of the Network_Application_Delivery_Controller_LoadBalancer_VirtualServer SoftLayer service
1270func GetNetworkApplicationDeliveryControllerLoadBalancerVirtualServerService(sess *session.Session) Network_Application_Delivery_Controller_LoadBalancer_VirtualServer {
1271	return Network_Application_Delivery_Controller_LoadBalancer_VirtualServer{Session: sess}
1272}
1273
1274func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) Id(id int) Network_Application_Delivery_Controller_LoadBalancer_VirtualServer {
1275	r.Options.Id = &id
1276	return r
1277}
1278
1279func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) Mask(mask string) Network_Application_Delivery_Controller_LoadBalancer_VirtualServer {
1280	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1281		mask = fmt.Sprintf("mask[%s]", mask)
1282	}
1283
1284	r.Options.Mask = mask
1285	return r
1286}
1287
1288func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) Filter(filter string) Network_Application_Delivery_Controller_LoadBalancer_VirtualServer {
1289	r.Options.Filter = filter
1290	return r
1291}
1292
1293func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) Limit(limit int) Network_Application_Delivery_Controller_LoadBalancer_VirtualServer {
1294	r.Options.Limit = &limit
1295	return r
1296}
1297
1298func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) Offset(offset int) Network_Application_Delivery_Controller_LoadBalancer_VirtualServer {
1299	r.Options.Offset = &offset
1300	return r
1301}
1302
1303// no documentation yet
1304func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) DeleteObject() (err error) {
1305	var resp datatypes.Void
1306	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer", "deleteObject", nil, &r.Options, &resp)
1307	return
1308}
1309
1310// no documentation yet
1311func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) GetObject() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualServer, err error) {
1312	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer", "getObject", nil, &r.Options, &resp)
1313	return
1314}
1315
1316// Retrieve
1317func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) GetRoutingMethod() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Method, err error) {
1318	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer", "getRoutingMethod", nil, &r.Options, &resp)
1319	return
1320}
1321
1322// Retrieve Collection of scale load balancers this virtual server applies to.
1323func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) GetScaleLoadBalancers() (resp []datatypes.Scale_LoadBalancer, err error) {
1324	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer", "getScaleLoadBalancers", nil, &r.Options, &resp)
1325	return
1326}
1327
1328// Retrieve
1329func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) GetServiceGroups() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_Service_Group, err error) {
1330	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer", "getServiceGroups", nil, &r.Options, &resp)
1331	return
1332}
1333
1334// Retrieve
1335func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) GetVirtualIpAddress() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress, err error) {
1336	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer", "getVirtualIpAddress", nil, &r.Options, &resp)
1337	return
1338}
1339
1340// Start SSL acceleration on all SSL virtual services (those with a type of HTTPS). This action should be taken only after configuring an SSL certificate for the virtual IP.
1341func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) StartSsl() (resp bool, err error) {
1342	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer", "startSsl", nil, &r.Options, &resp)
1343	return
1344}
1345
1346// Stop SSL acceleration on all SSL virtual services (those with a type of HTTPS).
1347func (r Network_Application_Delivery_Controller_LoadBalancer_VirtualServer) StopSsl() (resp bool, err error) {
1348	err = r.Session.DoRequest("SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer", "stopSsl", nil, &r.Options, &resp)
1349	return
1350}
1351
1352// A SoftLayer_Network_Backbone represents a single backbone connection from SoftLayer to the public Internet, from the Internet to the SoftLayer private network, or a link that connects the private networks between SoftLayer's datacenters. The SoftLayer_Network_Backbone data type is a collection of data associated with one of those connections.
1353type Network_Backbone struct {
1354	Session *session.Session
1355	Options sl.Options
1356}
1357
1358// GetNetworkBackboneService returns an instance of the Network_Backbone SoftLayer service
1359func GetNetworkBackboneService(sess *session.Session) Network_Backbone {
1360	return Network_Backbone{Session: sess}
1361}
1362
1363func (r Network_Backbone) Id(id int) Network_Backbone {
1364	r.Options.Id = &id
1365	return r
1366}
1367
1368func (r Network_Backbone) Mask(mask string) Network_Backbone {
1369	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1370		mask = fmt.Sprintf("mask[%s]", mask)
1371	}
1372
1373	r.Options.Mask = mask
1374	return r
1375}
1376
1377func (r Network_Backbone) Filter(filter string) Network_Backbone {
1378	r.Options.Filter = filter
1379	return r
1380}
1381
1382func (r Network_Backbone) Limit(limit int) Network_Backbone {
1383	r.Options.Limit = &limit
1384	return r
1385}
1386
1387func (r Network_Backbone) Offset(offset int) Network_Backbone {
1388	r.Options.Offset = &offset
1389	return r
1390}
1391
1392// Retrieve a list of all SoftLayer backbone connections. Use this method if you need all backbones or don't know the id number of a specific backbone.
1393func (r Network_Backbone) GetAllBackbones() (resp []datatypes.Network_Backbone, err error) {
1394	err = r.Session.DoRequest("SoftLayer_Network_Backbone", "getAllBackbones", nil, &r.Options, &resp)
1395	return
1396}
1397
1398// Retrieve a list of all SoftLayer backbone connections for a location name.
1399func (r Network_Backbone) GetBackbonesForLocationName(locationName *string) (resp []datatypes.Network_Backbone, err error) {
1400	params := []interface{}{
1401		locationName,
1402	}
1403	err = r.Session.DoRequest("SoftLayer_Network_Backbone", "getBackbonesForLocationName", params, &r.Options, &resp)
1404	return
1405}
1406
1407// Retrieve a graph of a SoftLayer backbone's last 24 hours of activity. getGraphImage returns a PNG image measuring 827 pixels by 293 pixels.
1408func (r Network_Backbone) GetGraphImage() (resp []byte, err error) {
1409	err = r.Session.DoRequest("SoftLayer_Network_Backbone", "getGraphImage", nil, &r.Options, &resp)
1410	return
1411}
1412
1413// Retrieve A backbone's status.
1414func (r Network_Backbone) GetHealth() (resp string, err error) {
1415	err = r.Session.DoRequest("SoftLayer_Network_Backbone", "getHealth", nil, &r.Options, &resp)
1416	return
1417}
1418
1419// Retrieve Which of the SoftLayer datacenters a backbone is connected to.
1420func (r Network_Backbone) GetLocation() (resp datatypes.Location, err error) {
1421	err = r.Session.DoRequest("SoftLayer_Network_Backbone", "getLocation", nil, &r.Options, &resp)
1422	return
1423}
1424
1425// Retrieve A backbone's primary network component.
1426func (r Network_Backbone) GetNetworkComponent() (resp datatypes.Network_Component, err error) {
1427	err = r.Session.DoRequest("SoftLayer_Network_Backbone", "getNetworkComponent", nil, &r.Options, &resp)
1428	return
1429}
1430
1431// Retrieve an individual SoftLayer_Network_Backbone record. Use the getAllBackbones() method to retrieve a list of all SoftLayer network backbones.
1432func (r Network_Backbone) GetObject() (resp datatypes.Network_Backbone, err error) {
1433	err = r.Session.DoRequest("SoftLayer_Network_Backbone", "getObject", nil, &r.Options, &resp)
1434	return
1435}
1436
1437// no documentation yet
1438type Network_Backbone_Location_Dependent struct {
1439	Session *session.Session
1440	Options sl.Options
1441}
1442
1443// GetNetworkBackboneLocationDependentService returns an instance of the Network_Backbone_Location_Dependent SoftLayer service
1444func GetNetworkBackboneLocationDependentService(sess *session.Session) Network_Backbone_Location_Dependent {
1445	return Network_Backbone_Location_Dependent{Session: sess}
1446}
1447
1448func (r Network_Backbone_Location_Dependent) Id(id int) Network_Backbone_Location_Dependent {
1449	r.Options.Id = &id
1450	return r
1451}
1452
1453func (r Network_Backbone_Location_Dependent) Mask(mask string) Network_Backbone_Location_Dependent {
1454	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1455		mask = fmt.Sprintf("mask[%s]", mask)
1456	}
1457
1458	r.Options.Mask = mask
1459	return r
1460}
1461
1462func (r Network_Backbone_Location_Dependent) Filter(filter string) Network_Backbone_Location_Dependent {
1463	r.Options.Filter = filter
1464	return r
1465}
1466
1467func (r Network_Backbone_Location_Dependent) Limit(limit int) Network_Backbone_Location_Dependent {
1468	r.Options.Limit = &limit
1469	return r
1470}
1471
1472func (r Network_Backbone_Location_Dependent) Offset(offset int) Network_Backbone_Location_Dependent {
1473	r.Options.Offset = &offset
1474	return r
1475}
1476
1477// no documentation yet
1478func (r Network_Backbone_Location_Dependent) GetAllObjects() (resp []datatypes.Network_Backbone_Location_Dependent, err error) {
1479	err = r.Session.DoRequest("SoftLayer_Network_Backbone_Location_Dependent", "getAllObjects", nil, &r.Options, &resp)
1480	return
1481}
1482
1483// Retrieve
1484func (r Network_Backbone_Location_Dependent) GetDependentLocation() (resp datatypes.Location, err error) {
1485	err = r.Session.DoRequest("SoftLayer_Network_Backbone_Location_Dependent", "getDependentLocation", nil, &r.Options, &resp)
1486	return
1487}
1488
1489// no documentation yet
1490func (r Network_Backbone_Location_Dependent) GetObject() (resp datatypes.Network_Backbone_Location_Dependent, err error) {
1491	err = r.Session.DoRequest("SoftLayer_Network_Backbone_Location_Dependent", "getObject", nil, &r.Options, &resp)
1492	return
1493}
1494
1495// no documentation yet
1496func (r Network_Backbone_Location_Dependent) GetSourceDependentsByName(locationName *string) (resp datatypes.Location, err error) {
1497	params := []interface{}{
1498		locationName,
1499	}
1500	err = r.Session.DoRequest("SoftLayer_Network_Backbone_Location_Dependent", "getSourceDependentsByName", params, &r.Options, &resp)
1501	return
1502}
1503
1504// Retrieve
1505func (r Network_Backbone_Location_Dependent) GetSourceLocation() (resp datatypes.Location, err error) {
1506	err = r.Session.DoRequest("SoftLayer_Network_Backbone_Location_Dependent", "getSourceLocation", nil, &r.Options, &resp)
1507	return
1508}
1509
1510// The SoftLayer_Network_Bandwidth_Version1_Allotment class provides methods and data structures necessary to work with an array of hardware objects associated with a single Bandwidth Pooling.
1511type Network_Bandwidth_Version1_Allotment struct {
1512	Session *session.Session
1513	Options sl.Options
1514}
1515
1516// GetNetworkBandwidthVersion1AllotmentService returns an instance of the Network_Bandwidth_Version1_Allotment SoftLayer service
1517func GetNetworkBandwidthVersion1AllotmentService(sess *session.Session) Network_Bandwidth_Version1_Allotment {
1518	return Network_Bandwidth_Version1_Allotment{Session: sess}
1519}
1520
1521func (r Network_Bandwidth_Version1_Allotment) Id(id int) Network_Bandwidth_Version1_Allotment {
1522	r.Options.Id = &id
1523	return r
1524}
1525
1526func (r Network_Bandwidth_Version1_Allotment) Mask(mask string) Network_Bandwidth_Version1_Allotment {
1527	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1528		mask = fmt.Sprintf("mask[%s]", mask)
1529	}
1530
1531	r.Options.Mask = mask
1532	return r
1533}
1534
1535func (r Network_Bandwidth_Version1_Allotment) Filter(filter string) Network_Bandwidth_Version1_Allotment {
1536	r.Options.Filter = filter
1537	return r
1538}
1539
1540func (r Network_Bandwidth_Version1_Allotment) Limit(limit int) Network_Bandwidth_Version1_Allotment {
1541	r.Options.Limit = &limit
1542	return r
1543}
1544
1545func (r Network_Bandwidth_Version1_Allotment) Offset(offset int) Network_Bandwidth_Version1_Allotment {
1546	r.Options.Offset = &offset
1547	return r
1548}
1549
1550// Create a allotment for servers to pool bandwidth and avoid overages in billing if they use more than there allocated bandwidth.
1551func (r Network_Bandwidth_Version1_Allotment) CreateObject(templateObject *datatypes.Network_Bandwidth_Version1_Allotment) (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
1552	params := []interface{}{
1553		templateObject,
1554	}
1555	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "createObject", params, &r.Options, &resp)
1556	return
1557}
1558
1559// Edit a bandwidth allotment's local properties. Currently you may only change an allotment's name. Use the [[SoftLayer_Network_Bandwidth_Version1_Allotment::reassignServers|reassignServers()]] and [[SoftLayer_Network_Bandwidth_Version1_Allotment::unassignServers|unassignServers()]] methods to move servers in and out of your allotments.
1560func (r Network_Bandwidth_Version1_Allotment) EditObject(templateObject *datatypes.Network_Bandwidth_Version1_Allotment) (resp bool, err error) {
1561	params := []interface{}{
1562		templateObject,
1563	}
1564	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "editObject", params, &r.Options, &resp)
1565	return
1566}
1567
1568// Retrieve The account associated with this virtual rack.
1569func (r Network_Bandwidth_Version1_Allotment) GetAccount() (resp datatypes.Account, err error) {
1570	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getAccount", nil, &r.Options, &resp)
1571	return
1572}
1573
1574// Retrieve The bandwidth allotment detail records associated with this virtual rack.
1575func (r Network_Bandwidth_Version1_Allotment) GetActiveDetails() (resp []datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
1576	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getActiveDetails", nil, &r.Options, &resp)
1577	return
1578}
1579
1580// Retrieve The Application Delivery Controller contained within a virtual rack.
1581func (r Network_Bandwidth_Version1_Allotment) GetApplicationDeliveryControllers() (resp []datatypes.Network_Application_Delivery_Controller, err error) {
1582	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getApplicationDeliveryControllers", nil, &r.Options, &resp)
1583	return
1584}
1585
1586// Retrieve The average daily public bandwidth usage for the current billing cycle.
1587func (r Network_Bandwidth_Version1_Allotment) GetAverageDailyPublicBandwidthUsage() (resp datatypes.Float64, err error) {
1588	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getAverageDailyPublicBandwidthUsage", nil, &r.Options, &resp)
1589	return
1590}
1591
1592// This method recurses through all servers on a Bandwidth Pool for 24 hour time span starting at a given date/time. To get the private data set for all servers on a Bandwidth Pool from midnight Feb 1st, 2008 to 23:59 on Feb 1st, you would pass a parameter of '02/01/2008 0:00'.  The ending date / time is calculated for you to prevent requesting data from the server for periods larger than 24 hours as this method requires processing a lot of data records and can get slow at times.
1593func (r Network_Bandwidth_Version1_Allotment) GetBackendBandwidthByHour(date *datatypes.Time) (resp []datatypes.Container_Network_Bandwidth_Version1_Usage, err error) {
1594	params := []interface{}{
1595		date,
1596	}
1597	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBackendBandwidthByHour", params, &r.Options, &resp)
1598	return
1599}
1600
1601// This method recurses through all servers on a Bandwidth Pool between the given start and end dates to retrieve public bandwidth data.
1602func (r Network_Bandwidth_Version1_Allotment) GetBackendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
1603	params := []interface{}{
1604		startDate,
1605		endDate,
1606	}
1607	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBackendBandwidthUse", params, &r.Options, &resp)
1608	return
1609}
1610
1611// Retrieve The bandwidth allotment type of this virtual rack.
1612func (r Network_Bandwidth_Version1_Allotment) GetBandwidthAllotmentType() (resp datatypes.Network_Bandwidth_Version1_Allotment_Type, err error) {
1613	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBandwidthAllotmentType", nil, &r.Options, &resp)
1614	return
1615}
1616
1617// 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.
1618func (r Network_Bandwidth_Version1_Allotment) GetBandwidthForDateRange(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
1619	params := []interface{}{
1620		startDate,
1621		endDate,
1622	}
1623	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBandwidthForDateRange", params, &r.Options, &resp)
1624	return
1625}
1626
1627// This method recurses through all servers on a Bandwidth Pool for a given snapshot range, gathers the necessary parameters, and then calls the bandwidth graphing server.  The return result is a container that includes the min and max dates for all servers to be used in the query, as well as an image in PNG format.  This method uses the new and improved drawing routines which should return in a reasonable time frame now that the new backend data warehouse is used.
1628func (r Network_Bandwidth_Version1_Allotment) GetBandwidthImage(networkType *string, snapshotRange *string, draw *bool, dateSpecified *datatypes.Time, dateSpecifiedEnd *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
1629	params := []interface{}{
1630		networkType,
1631		snapshotRange,
1632		draw,
1633		dateSpecified,
1634		dateSpecifiedEnd,
1635	}
1636	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBandwidthImage", params, &r.Options, &resp)
1637	return
1638}
1639
1640// Retrieve The bare metal server instances contained within a virtual rack.
1641func (r Network_Bandwidth_Version1_Allotment) GetBareMetalInstances() (resp []datatypes.Hardware, err error) {
1642	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBareMetalInstances", nil, &r.Options, &resp)
1643	return
1644}
1645
1646// Retrieve A virtual rack's raw bandwidth usage data for an account's current billing cycle. One object is returned for each network this server is attached to.
1647func (r Network_Bandwidth_Version1_Allotment) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
1648	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
1649	return
1650}
1651
1652// Retrieve A virtual rack's raw private network bandwidth usage data for an account's current billing cycle.
1653func (r Network_Bandwidth_Version1_Allotment) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
1654	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
1655	return
1656}
1657
1658// Retrieve A virtual rack's raw public network bandwidth usage data for an account's current billing cycle.
1659func (r Network_Bandwidth_Version1_Allotment) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
1660	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
1661	return
1662}
1663
1664// Retrieve The total public bandwidth used in this virtual rack for an account's current billing cycle.
1665func (r Network_Bandwidth_Version1_Allotment) GetBillingCyclePublicUsageTotal() (resp uint, err error) {
1666	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBillingCyclePublicUsageTotal", nil, &r.Options, &resp)
1667	return
1668}
1669
1670// Retrieve A virtual rack's billing item.
1671func (r Network_Bandwidth_Version1_Allotment) GetBillingItem() (resp datatypes.Billing_Item, err error) {
1672	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getBillingItem", nil, &r.Options, &resp)
1673	return
1674}
1675
1676// Retrieve An object that provides commonly used bandwidth summary components for the current billing cycle.
1677func (r Network_Bandwidth_Version1_Allotment) GetCurrentBandwidthSummary() (resp datatypes.Metric_Tracking_Object_Bandwidth_Summary, err error) {
1678	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getCurrentBandwidthSummary", nil, &r.Options, &resp)
1679	return
1680}
1681
1682// Retrieve bandwidth graph by date.
1683func (r Network_Bandwidth_Version1_Allotment) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
1684	params := []interface{}{
1685		graphData,
1686	}
1687	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
1688	return
1689}
1690
1691// Retrieve The bandwidth allotment detail records associated with this virtual rack.
1692func (r Network_Bandwidth_Version1_Allotment) GetDetails() (resp []datatypes.Network_Bandwidth_Version1_Allotment_Detail, err error) {
1693	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getDetails", nil, &r.Options, &resp)
1694	return
1695}
1696
1697// This method recurses through all servers on a Bandwidth Pool for 24 hour time span starting at a given date/time. To get the public data set for all servers on a Bandwidth Pool from midnight Feb 1st, 2008 to 23:59 on Feb 1st, you would pass a parameter of '02/01/2008 0:00'.  The ending date / time is calculated for you to prevent requesting data from the server for periods larger than 24 hours as this method requires processing a lot of data records and can get slow at times.
1698func (r Network_Bandwidth_Version1_Allotment) GetFrontendBandwidthByHour(date *datatypes.Time) (resp []datatypes.Container_Network_Bandwidth_Version1_Usage, err error) {
1699	params := []interface{}{
1700		date,
1701	}
1702	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getFrontendBandwidthByHour", params, &r.Options, &resp)
1703	return
1704}
1705
1706// This method recurses through all servers on a Bandwidth Pool between the given start and end dates to retrieve private bandwidth data.
1707func (r Network_Bandwidth_Version1_Allotment) GetFrontendBandwidthUse(startDate *datatypes.Time, endDate *datatypes.Time) (resp []datatypes.Network_Bandwidth_Version1_Usage_Detail, err error) {
1708	params := []interface{}{
1709		startDate,
1710		endDate,
1711	}
1712	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getFrontendBandwidthUse", params, &r.Options, &resp)
1713	return
1714}
1715
1716// Retrieve The hardware contained within a virtual rack.
1717func (r Network_Bandwidth_Version1_Allotment) GetHardware() (resp []datatypes.Hardware, err error) {
1718	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getHardware", nil, &r.Options, &resp)
1719	return
1720}
1721
1722// Retrieve The total public inbound bandwidth used in this virtual rack for an account's current billing cycle.
1723func (r Network_Bandwidth_Version1_Allotment) GetInboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
1724	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getInboundPublicBandwidthUsage", nil, &r.Options, &resp)
1725	return
1726}
1727
1728// Retrieve The location group associated with this virtual rack.
1729func (r Network_Bandwidth_Version1_Allotment) GetLocationGroup() (resp datatypes.Location_Group, err error) {
1730	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getLocationGroup", nil, &r.Options, &resp)
1731	return
1732}
1733
1734// Retrieve The managed bare metal server instances contained within a virtual rack.
1735func (r Network_Bandwidth_Version1_Allotment) GetManagedBareMetalInstances() (resp []datatypes.Hardware, err error) {
1736	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getManagedBareMetalInstances", nil, &r.Options, &resp)
1737	return
1738}
1739
1740// Retrieve The managed hardware contained within a virtual rack.
1741func (r Network_Bandwidth_Version1_Allotment) GetManagedHardware() (resp []datatypes.Hardware, err error) {
1742	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getManagedHardware", nil, &r.Options, &resp)
1743	return
1744}
1745
1746// Retrieve The managed Virtual Server contained within a virtual rack.
1747func (r Network_Bandwidth_Version1_Allotment) GetManagedVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
1748	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getManagedVirtualGuests", nil, &r.Options, &resp)
1749	return
1750}
1751
1752// Retrieve A virtual rack's metric tracking object. This object records all periodic polled data available to this rack.
1753func (r Network_Bandwidth_Version1_Allotment) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object_VirtualDedicatedRack, err error) {
1754	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getMetricTrackingObject", nil, &r.Options, &resp)
1755	return
1756}
1757
1758// Retrieve The metric tracking object id for this allotment.
1759func (r Network_Bandwidth_Version1_Allotment) GetMetricTrackingObjectId() (resp int, err error) {
1760	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getMetricTrackingObjectId", nil, &r.Options, &resp)
1761	return
1762}
1763
1764// getObject retrieves the SoftLayer_Network_Bandwidth_Version1_Allotment object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Hardware service. You can only retrieve an allotment associated with the account that your portal user is assigned to.
1765func (r Network_Bandwidth_Version1_Allotment) GetObject() (resp datatypes.Network_Bandwidth_Version1_Allotment, err error) {
1766	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getObject", nil, &r.Options, &resp)
1767	return
1768}
1769
1770// Retrieve The total public outbound bandwidth used in this virtual rack for an account's current billing cycle.
1771func (r Network_Bandwidth_Version1_Allotment) GetOutboundPublicBandwidthUsage() (resp datatypes.Float64, err error) {
1772	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getOutboundPublicBandwidthUsage", nil, &r.Options, &resp)
1773	return
1774}
1775
1776// Retrieve Whether the bandwidth usage for this bandwidth pool for the current billing cycle exceeds the allocation.
1777func (r Network_Bandwidth_Version1_Allotment) GetOverBandwidthAllocationFlag() (resp int, err error) {
1778	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getOverBandwidthAllocationFlag", nil, &r.Options, &resp)
1779	return
1780}
1781
1782// Retrieve The private network only hardware contained within a virtual rack.
1783func (r Network_Bandwidth_Version1_Allotment) GetPrivateNetworkOnlyHardware() (resp []datatypes.Hardware, err error) {
1784	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getPrivateNetworkOnlyHardware", nil, &r.Options, &resp)
1785	return
1786}
1787
1788// Retrieve Whether the bandwidth usage for this bandwidth pool for the current billing cycle is projected to exceed the allocation.
1789func (r Network_Bandwidth_Version1_Allotment) GetProjectedOverBandwidthAllocationFlag() (resp int, err error) {
1790	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getProjectedOverBandwidthAllocationFlag", nil, &r.Options, &resp)
1791	return
1792}
1793
1794// Retrieve The projected public outbound bandwidth for this virtual server for the current billing cycle.
1795func (r Network_Bandwidth_Version1_Allotment) GetProjectedPublicBandwidthUsage() (resp datatypes.Float64, err error) {
1796	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getProjectedPublicBandwidthUsage", nil, &r.Options, &resp)
1797	return
1798}
1799
1800// Retrieve
1801func (r Network_Bandwidth_Version1_Allotment) GetServiceProvider() (resp datatypes.Service_Provider, err error) {
1802	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getServiceProvider", nil, &r.Options, &resp)
1803	return
1804}
1805
1806// Retrieve The combined allocated bandwidth for all servers in a virtual rack.
1807func (r Network_Bandwidth_Version1_Allotment) GetTotalBandwidthAllocated() (resp uint, err error) {
1808	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getTotalBandwidthAllocated", nil, &r.Options, &resp)
1809	return
1810}
1811
1812// Gets the monthly recurring fee of a pooled server.
1813func (r Network_Bandwidth_Version1_Allotment) GetVdrMemberRecurringFee() (resp datatypes.Float64, err error) {
1814	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getVdrMemberRecurringFee", nil, &r.Options, &resp)
1815	return
1816}
1817
1818// Retrieve The Virtual Server contained within a virtual rack.
1819func (r Network_Bandwidth_Version1_Allotment) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
1820	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "getVirtualGuests", nil, &r.Options, &resp)
1821	return
1822}
1823
1824// This method will reassign a collection of SoftLayer hardware to a bandwidth allotment Bandwidth Pool.
1825func (r Network_Bandwidth_Version1_Allotment) ReassignServers(templateObjects []datatypes.Hardware, newAllotmentId *int) (resp bool, err error) {
1826	params := []interface{}{
1827		templateObjects,
1828		newAllotmentId,
1829	}
1830	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "reassignServers", params, &r.Options, &resp)
1831	return
1832}
1833
1834// This will remove a bandwidth pooling from a customer's allotments by cancelling the billing item.  All servers in that allotment will get moved to the account's vpr.
1835func (r Network_Bandwidth_Version1_Allotment) RequestVdrCancellation() (resp bool, err error) {
1836	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "requestVdrCancellation", nil, &r.Options, &resp)
1837	return
1838}
1839
1840// This will move servers into a bandwidth pool, removing them from their previous bandwidth pool and optionally remove the bandwidth pool on completion.
1841func (r Network_Bandwidth_Version1_Allotment) RequestVdrContentUpdates(hardwareToAdd []datatypes.Hardware, hardwareToRemove []datatypes.Hardware, cloudsToAdd []datatypes.Virtual_Guest, cloudsToRemove []datatypes.Virtual_Guest, optionalAllotmentId *int, adcToAdd []datatypes.Network_Application_Delivery_Controller, adcToRemove []datatypes.Network_Application_Delivery_Controller) (resp bool, err error) {
1842	params := []interface{}{
1843		hardwareToAdd,
1844		hardwareToRemove,
1845		cloudsToAdd,
1846		cloudsToRemove,
1847		optionalAllotmentId,
1848		adcToAdd,
1849		adcToRemove,
1850	}
1851	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "requestVdrContentUpdates", params, &r.Options, &resp)
1852	return
1853}
1854
1855// This will update the bandwidth pool to the servers provided.  Servers currently in the bandwidth pool not provided on update will be removed. Servers provided on update not currently in the bandwidth pool will be added. If all servers are removed, this removes the bandwidth pool on completion.
1856func (r Network_Bandwidth_Version1_Allotment) SetVdrContent(hardware []datatypes.Hardware, bareMetalServers []datatypes.Hardware, virtualServerInstance []datatypes.Virtual_Guest, adc []datatypes.Network_Application_Delivery_Controller, optionalAllotmentId *int) (resp bool, err error) {
1857	params := []interface{}{
1858		hardware,
1859		bareMetalServers,
1860		virtualServerInstance,
1861		adc,
1862		optionalAllotmentId,
1863	}
1864	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "setVdrContent", params, &r.Options, &resp)
1865	return
1866}
1867
1868// This method will reassign a collection of SoftLayer hardware to the virtual private rack
1869func (r Network_Bandwidth_Version1_Allotment) UnassignServers(templateObjects []datatypes.Hardware) (resp bool, err error) {
1870	params := []interface{}{
1871		templateObjects,
1872	}
1873	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "unassignServers", params, &r.Options, &resp)
1874	return
1875}
1876
1877// This method will void a pending server removal from this bandwidth pooling. Pass in the id of the hardware object or virtual guest you wish to update. Assuming that object is currently pending removal from the bandwidth pool at the start of the next billing cycle, the bandwidth pool member status will be restored and the pending cancellation removed.
1878func (r Network_Bandwidth_Version1_Allotment) VoidPendingServerMove(id *int, typ *string) (resp bool, err error) {
1879	params := []interface{}{
1880		id,
1881		typ,
1882	}
1883	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "voidPendingServerMove", params, &r.Options, &resp)
1884	return
1885}
1886
1887// This method will void a pending cancellation on a bandwidth pool. Note however any servers that belonged to the rack will have to be restored individually using the method voidPendingServerMove($id, $type).
1888func (r Network_Bandwidth_Version1_Allotment) VoidPendingVdrCancellation() (resp bool, err error) {
1889	err = r.Session.DoRequest("SoftLayer_Network_Bandwidth_Version1_Allotment", "voidPendingVdrCancellation", nil, &r.Options, &resp)
1890	return
1891}
1892
1893// The SoftLayer_Network_CdnMarketplace_Account data type models an individual CDN account. CDN accounts contain the SoftLayer account ID of the customer, the vendor ID the account belongs to, the customer ID provided by the vendor, and a CDN account's status.
1894type Network_CdnMarketplace_Account struct {
1895	Session *session.Session
1896	Options sl.Options
1897}
1898
1899// GetNetworkCdnMarketplaceAccountService returns an instance of the Network_CdnMarketplace_Account SoftLayer service
1900func GetNetworkCdnMarketplaceAccountService(sess *session.Session) Network_CdnMarketplace_Account {
1901	return Network_CdnMarketplace_Account{Session: sess}
1902}
1903
1904func (r Network_CdnMarketplace_Account) Id(id int) Network_CdnMarketplace_Account {
1905	r.Options.Id = &id
1906	return r
1907}
1908
1909func (r Network_CdnMarketplace_Account) Mask(mask string) Network_CdnMarketplace_Account {
1910	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1911		mask = fmt.Sprintf("mask[%s]", mask)
1912	}
1913
1914	r.Options.Mask = mask
1915	return r
1916}
1917
1918func (r Network_CdnMarketplace_Account) Filter(filter string) Network_CdnMarketplace_Account {
1919	r.Options.Filter = filter
1920	return r
1921}
1922
1923func (r Network_CdnMarketplace_Account) Limit(limit int) Network_CdnMarketplace_Account {
1924	r.Options.Limit = &limit
1925	return r
1926}
1927
1928func (r Network_CdnMarketplace_Account) Offset(offset int) Network_CdnMarketplace_Account {
1929	r.Options.Offset = &offset
1930	return r
1931}
1932
1933// Retrieve SoftLayer account to which the CDN account belongs.
1934func (r Network_CdnMarketplace_Account) GetAccount() (resp datatypes.Account, err error) {
1935	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Account", "getAccount", nil, &r.Options, &resp)
1936	return
1937}
1938
1939// Retrieve An associated parent billing item which is active.
1940func (r Network_CdnMarketplace_Account) GetBillingItem() (resp datatypes.Billing_Item, err error) {
1941	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Account", "getBillingItem", nil, &r.Options, &resp)
1942	return
1943}
1944
1945// no documentation yet
1946func (r Network_CdnMarketplace_Account) GetObject() (resp datatypes.Network_CdnMarketplace_Account, err error) {
1947	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Account", "getObject", nil, &r.Options, &resp)
1948	return
1949}
1950
1951// no documentation yet
1952func (r Network_CdnMarketplace_Account) VerifyCdnAccountExists(vendorName *string) (resp bool, err error) {
1953	params := []interface{}{
1954		vendorName,
1955	}
1956	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Account", "verifyCdnAccountExists", params, &r.Options, &resp)
1957	return
1958}
1959
1960// no documentation yet
1961type Network_CdnMarketplace_Configuration_Behavior_Geoblocking struct {
1962	Session *session.Session
1963	Options sl.Options
1964}
1965
1966// GetNetworkCdnMarketplaceConfigurationBehaviorGeoblockingService returns an instance of the Network_CdnMarketplace_Configuration_Behavior_Geoblocking SoftLayer service
1967func GetNetworkCdnMarketplaceConfigurationBehaviorGeoblockingService(sess *session.Session) Network_CdnMarketplace_Configuration_Behavior_Geoblocking {
1968	return Network_CdnMarketplace_Configuration_Behavior_Geoblocking{Session: sess}
1969}
1970
1971func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) Id(id int) Network_CdnMarketplace_Configuration_Behavior_Geoblocking {
1972	r.Options.Id = &id
1973	return r
1974}
1975
1976func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) Mask(mask string) Network_CdnMarketplace_Configuration_Behavior_Geoblocking {
1977	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1978		mask = fmt.Sprintf("mask[%s]", mask)
1979	}
1980
1981	r.Options.Mask = mask
1982	return r
1983}
1984
1985func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) Filter(filter string) Network_CdnMarketplace_Configuration_Behavior_Geoblocking {
1986	r.Options.Filter = filter
1987	return r
1988}
1989
1990func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) Limit(limit int) Network_CdnMarketplace_Configuration_Behavior_Geoblocking {
1991	r.Options.Limit = &limit
1992	return r
1993}
1994
1995func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) Offset(offset int) Network_CdnMarketplace_Configuration_Behavior_Geoblocking {
1996	r.Options.Offset = &offset
1997	return r
1998}
1999
2000// no documentation yet
2001func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) CreateGeoblocking(input *datatypes.Container_Network_CdnMarketplace_Configuration_Input) (resp datatypes.Network_CdnMarketplace_Configuration_Behavior_Geoblocking, err error) {
2002	params := []interface{}{
2003		input,
2004	}
2005	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Behavior_Geoblocking", "createGeoblocking", params, &r.Options, &resp)
2006	return
2007}
2008
2009// no documentation yet
2010func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) DeleteGeoblocking(input *datatypes.Container_Network_CdnMarketplace_Configuration_Input) (resp datatypes.Network_CdnMarketplace_Utils_Response, err error) {
2011	params := []interface{}{
2012		input,
2013	}
2014	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Behavior_Geoblocking", "deleteGeoblocking", params, &r.Options, &resp)
2015	return
2016}
2017
2018// no documentation yet
2019func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) GetGeoblocking(input *datatypes.Container_Network_CdnMarketplace_Configuration_Input) (resp datatypes.Network_CdnMarketplace_Configuration_Behavior_Geoblocking, err error) {
2020	params := []interface{}{
2021		input,
2022	}
2023	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Behavior_Geoblocking", "getGeoblocking", params, &r.Options, &resp)
2024	return
2025}
2026
2027// no documentation yet
2028func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) GetGeoblockingAllowedTypesAndRegions(uniqueId *string) (resp datatypes.Network_CdnMarketplace_Configuration_Behavior_Geoblocking_Type, err error) {
2029	params := []interface{}{
2030		uniqueId,
2031	}
2032	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Behavior_Geoblocking", "getGeoblockingAllowedTypesAndRegions", params, &r.Options, &resp)
2033	return
2034}
2035
2036// no documentation yet
2037func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) GetObject() (resp datatypes.Network_CdnMarketplace_Configuration_Behavior_Geoblocking, err error) {
2038	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Behavior_Geoblocking", "getObject", nil, &r.Options, &resp)
2039	return
2040}
2041
2042// no documentation yet
2043func (r Network_CdnMarketplace_Configuration_Behavior_Geoblocking) UpdateGeoblocking(input *datatypes.Container_Network_CdnMarketplace_Configuration_Input) (resp datatypes.Network_CdnMarketplace_Configuration_Behavior_Geoblocking, err error) {
2044	params := []interface{}{
2045		input,
2046	}
2047	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Behavior_Geoblocking", "updateGeoblocking", params, &r.Options, &resp)
2048	return
2049}
2050
2051// This data type models a purge event that occurs in caching server. It contains a reference to a mapping configuration, the path to execute the purge on, the status of the purge, and flag that enables saving the purge information for future use.
2052type Network_CdnMarketplace_Configuration_Cache_Purge struct {
2053	Session *session.Session
2054	Options sl.Options
2055}
2056
2057// GetNetworkCdnMarketplaceConfigurationCachePurgeService returns an instance of the Network_CdnMarketplace_Configuration_Cache_Purge SoftLayer service
2058func GetNetworkCdnMarketplaceConfigurationCachePurgeService(sess *session.Session) Network_CdnMarketplace_Configuration_Cache_Purge {
2059	return Network_CdnMarketplace_Configuration_Cache_Purge{Session: sess}
2060}
2061
2062func (r Network_CdnMarketplace_Configuration_Cache_Purge) Id(id int) Network_CdnMarketplace_Configuration_Cache_Purge {
2063	r.Options.Id = &id
2064	return r
2065}
2066
2067func (r Network_CdnMarketplace_Configuration_Cache_Purge) Mask(mask string) Network_CdnMarketplace_Configuration_Cache_Purge {
2068	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2069		mask = fmt.Sprintf("mask[%s]", mask)
2070	}
2071
2072	r.Options.Mask = mask
2073	return r
2074}
2075
2076func (r Network_CdnMarketplace_Configuration_Cache_Purge) Filter(filter string) Network_CdnMarketplace_Configuration_Cache_Purge {
2077	r.Options.Filter = filter
2078	return r
2079}
2080
2081func (r Network_CdnMarketplace_Configuration_Cache_Purge) Limit(limit int) Network_CdnMarketplace_Configuration_Cache_Purge {
2082	r.Options.Limit = &limit
2083	return r
2084}
2085
2086func (r Network_CdnMarketplace_Configuration_Cache_Purge) Offset(offset int) Network_CdnMarketplace_Configuration_Cache_Purge {
2087	r.Options.Offset = &offset
2088	return r
2089}
2090
2091// no documentation yet
2092func (r Network_CdnMarketplace_Configuration_Cache_Purge) CreatePurge(uniqueId *string, path *string) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Cache_Purge, err error) {
2093	params := []interface{}{
2094		uniqueId,
2095		path,
2096	}
2097	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_Purge", "createPurge", params, &r.Options, &resp)
2098	return
2099}
2100
2101// no documentation yet
2102func (r Network_CdnMarketplace_Configuration_Cache_Purge) GetObject() (resp datatypes.Network_CdnMarketplace_Configuration_Cache_Purge, err error) {
2103	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_Purge", "getObject", nil, &r.Options, &resp)
2104	return
2105}
2106
2107// no documentation yet
2108func (r Network_CdnMarketplace_Configuration_Cache_Purge) GetPurgeHistoryPerMapping(uniqueId *string, saved *int) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Cache_Purge, err error) {
2109	params := []interface{}{
2110		uniqueId,
2111		saved,
2112	}
2113	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_Purge", "getPurgeHistoryPerMapping", params, &r.Options, &resp)
2114	return
2115}
2116
2117// no documentation yet
2118func (r Network_CdnMarketplace_Configuration_Cache_Purge) GetPurgeStatus(uniqueId *string, path *string) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Cache_Purge, err error) {
2119	params := []interface{}{
2120		uniqueId,
2121		path,
2122	}
2123	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_Purge", "getPurgeStatus", params, &r.Options, &resp)
2124	return
2125}
2126
2127// no documentation yet
2128func (r Network_CdnMarketplace_Configuration_Cache_Purge) SaveOrUnsavePurgePath(uniqueId *string, path *string, saveOrUnsave *int) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Cache_Purge, err error) {
2129	params := []interface{}{
2130		uniqueId,
2131		path,
2132		saveOrUnsave,
2133	}
2134	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_Purge", "saveOrUnsavePurgePath", params, &r.Options, &resp)
2135	return
2136}
2137
2138// This data type models a purge event that occurs repetitively and automatically in caching server after a set interval of time. A time to live instance contains a reference to a mapping configuration, the path to execute the purge on, the result of the purge, and the time interval after which the purge will be executed.
2139type Network_CdnMarketplace_Configuration_Cache_TimeToLive struct {
2140	Session *session.Session
2141	Options sl.Options
2142}
2143
2144// GetNetworkCdnMarketplaceConfigurationCacheTimeToLiveService returns an instance of the Network_CdnMarketplace_Configuration_Cache_TimeToLive SoftLayer service
2145func GetNetworkCdnMarketplaceConfigurationCacheTimeToLiveService(sess *session.Session) Network_CdnMarketplace_Configuration_Cache_TimeToLive {
2146	return Network_CdnMarketplace_Configuration_Cache_TimeToLive{Session: sess}
2147}
2148
2149func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) Id(id int) Network_CdnMarketplace_Configuration_Cache_TimeToLive {
2150	r.Options.Id = &id
2151	return r
2152}
2153
2154func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) Mask(mask string) Network_CdnMarketplace_Configuration_Cache_TimeToLive {
2155	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2156		mask = fmt.Sprintf("mask[%s]", mask)
2157	}
2158
2159	r.Options.Mask = mask
2160	return r
2161}
2162
2163func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) Filter(filter string) Network_CdnMarketplace_Configuration_Cache_TimeToLive {
2164	r.Options.Filter = filter
2165	return r
2166}
2167
2168func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) Limit(limit int) Network_CdnMarketplace_Configuration_Cache_TimeToLive {
2169	r.Options.Limit = &limit
2170	return r
2171}
2172
2173func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) Offset(offset int) Network_CdnMarketplace_Configuration_Cache_TimeToLive {
2174	r.Options.Offset = &offset
2175	return r
2176}
2177
2178// no documentation yet
2179func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) CreateTimeToLive(uniqueId *string, pathName *string, ttl *string) (resp string, err error) {
2180	params := []interface{}{
2181		uniqueId,
2182		pathName,
2183		ttl,
2184	}
2185	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_TimeToLive", "createTimeToLive", params, &r.Options, &resp)
2186	return
2187}
2188
2189// no documentation yet
2190func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) DeleteTimeToLive(uniqueId *string, pathName *string) (resp string, err error) {
2191	params := []interface{}{
2192		uniqueId,
2193		pathName,
2194	}
2195	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_TimeToLive", "deleteTimeToLive", params, &r.Options, &resp)
2196	return
2197}
2198
2199// no documentation yet
2200func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) GetObject() (resp datatypes.Network_CdnMarketplace_Configuration_Cache_TimeToLive, err error) {
2201	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_TimeToLive", "getObject", nil, &r.Options, &resp)
2202	return
2203}
2204
2205// no documentation yet
2206func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) ListTimeToLive(uniqueId *string) (resp []datatypes.Network_CdnMarketplace_Configuration_Cache_TimeToLive, err error) {
2207	params := []interface{}{
2208		uniqueId,
2209	}
2210	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_TimeToLive", "listTimeToLive", params, &r.Options, &resp)
2211	return
2212}
2213
2214// no documentation yet
2215func (r Network_CdnMarketplace_Configuration_Cache_TimeToLive) UpdateTimeToLive(uniqueId *string, oldPath *string, newPath *string, oldTtl *string, newTtl *string) (resp string, err error) {
2216	params := []interface{}{
2217		uniqueId,
2218		oldPath,
2219		newPath,
2220		oldTtl,
2221		newTtl,
2222	}
2223	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Cache_TimeToLive", "updateTimeToLive", params, &r.Options, &resp)
2224	return
2225}
2226
2227// This data type represents the mapping Configuration settings for enabling CDN services. Each instance contains a reference to a CDN account, and CDN configuration properties such as a domain, an origin host and its port, a cname we generate, a cname the vendor generates, and a status. Other properties include the type of content to be cached (static or dynamic), the origin type (a host server or an object storage account), and the protocol to be used for caching.
2228type Network_CdnMarketplace_Configuration_Mapping struct {
2229	Session *session.Session
2230	Options sl.Options
2231}
2232
2233// GetNetworkCdnMarketplaceConfigurationMappingService returns an instance of the Network_CdnMarketplace_Configuration_Mapping SoftLayer service
2234func GetNetworkCdnMarketplaceConfigurationMappingService(sess *session.Session) Network_CdnMarketplace_Configuration_Mapping {
2235	return Network_CdnMarketplace_Configuration_Mapping{Session: sess}
2236}
2237
2238func (r Network_CdnMarketplace_Configuration_Mapping) Id(id int) Network_CdnMarketplace_Configuration_Mapping {
2239	r.Options.Id = &id
2240	return r
2241}
2242
2243func (r Network_CdnMarketplace_Configuration_Mapping) Mask(mask string) Network_CdnMarketplace_Configuration_Mapping {
2244	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2245		mask = fmt.Sprintf("mask[%s]", mask)
2246	}
2247
2248	r.Options.Mask = mask
2249	return r
2250}
2251
2252func (r Network_CdnMarketplace_Configuration_Mapping) Filter(filter string) Network_CdnMarketplace_Configuration_Mapping {
2253	r.Options.Filter = filter
2254	return r
2255}
2256
2257func (r Network_CdnMarketplace_Configuration_Mapping) Limit(limit int) Network_CdnMarketplace_Configuration_Mapping {
2258	r.Options.Limit = &limit
2259	return r
2260}
2261
2262func (r Network_CdnMarketplace_Configuration_Mapping) Offset(offset int) Network_CdnMarketplace_Configuration_Mapping {
2263	r.Options.Offset = &offset
2264	return r
2265}
2266
2267// no documentation yet
2268func (r Network_CdnMarketplace_Configuration_Mapping) CreateDomainMapping(input *datatypes.Container_Network_CdnMarketplace_Configuration_Input) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2269	params := []interface{}{
2270		input,
2271	}
2272	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "createDomainMapping", params, &r.Options, &resp)
2273	return
2274}
2275
2276// no documentation yet
2277func (r Network_CdnMarketplace_Configuration_Mapping) DeleteDomainMapping(uniqueId *string) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2278	params := []interface{}{
2279		uniqueId,
2280	}
2281	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "deleteDomainMapping", params, &r.Options, &resp)
2282	return
2283}
2284
2285// no documentation yet
2286func (r Network_CdnMarketplace_Configuration_Mapping) GetObject() (resp datatypes.Network_CdnMarketplace_Configuration_Mapping, err error) {
2287	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "getObject", nil, &r.Options, &resp)
2288	return
2289}
2290
2291// no documentation yet
2292func (r Network_CdnMarketplace_Configuration_Mapping) ListDomainMappingByUniqueId(uniqueId *string) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2293	params := []interface{}{
2294		uniqueId,
2295	}
2296	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "listDomainMappingByUniqueId", params, &r.Options, &resp)
2297	return
2298}
2299
2300// no documentation yet
2301func (r Network_CdnMarketplace_Configuration_Mapping) ListDomainMappings() (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2302	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "listDomainMappings", nil, &r.Options, &resp)
2303	return
2304}
2305
2306// no documentation yet
2307func (r Network_CdnMarketplace_Configuration_Mapping) RetryHttpsActionRequest(uniqueId *string) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2308	params := []interface{}{
2309		uniqueId,
2310	}
2311	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "retryHttpsActionRequest", params, &r.Options, &resp)
2312	return
2313}
2314
2315// no documentation yet
2316func (r Network_CdnMarketplace_Configuration_Mapping) StartDomainMapping(uniqueId *string) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2317	params := []interface{}{
2318		uniqueId,
2319	}
2320	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "startDomainMapping", params, &r.Options, &resp)
2321	return
2322}
2323
2324// no documentation yet
2325func (r Network_CdnMarketplace_Configuration_Mapping) StopDomainMapping(uniqueId *string) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2326	params := []interface{}{
2327		uniqueId,
2328	}
2329	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "stopDomainMapping", params, &r.Options, &resp)
2330	return
2331}
2332
2333// no documentation yet
2334func (r Network_CdnMarketplace_Configuration_Mapping) UpdateDomainMapping(input *datatypes.Container_Network_CdnMarketplace_Configuration_Input) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2335	params := []interface{}{
2336		input,
2337	}
2338	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "updateDomainMapping", params, &r.Options, &resp)
2339	return
2340}
2341
2342// Verifies the CNAME is Unique in the domain. The method will return true if CNAME is unique else returns false
2343func (r Network_CdnMarketplace_Configuration_Mapping) VerifyCname(cname *string) (resp bool, err error) {
2344	params := []interface{}{
2345		cname,
2346	}
2347	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "verifyCname", params, &r.Options, &resp)
2348	return
2349}
2350
2351// Verifies the status of the domain mapping by calling the rest api; will update the status, cname, and vendorCName if necessary and will return the updated values.
2352func (r Network_CdnMarketplace_Configuration_Mapping) VerifyDomainMapping(uniqueId *int) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping, err error) {
2353	params := []interface{}{
2354		uniqueId,
2355	}
2356	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping", "verifyDomainMapping", params, &r.Options, &resp)
2357	return
2358}
2359
2360// no documentation yet
2361type Network_CdnMarketplace_Configuration_Mapping_Path struct {
2362	Session *session.Session
2363	Options sl.Options
2364}
2365
2366// GetNetworkCdnMarketplaceConfigurationMappingPathService returns an instance of the Network_CdnMarketplace_Configuration_Mapping_Path SoftLayer service
2367func GetNetworkCdnMarketplaceConfigurationMappingPathService(sess *session.Session) Network_CdnMarketplace_Configuration_Mapping_Path {
2368	return Network_CdnMarketplace_Configuration_Mapping_Path{Session: sess}
2369}
2370
2371func (r Network_CdnMarketplace_Configuration_Mapping_Path) Id(id int) Network_CdnMarketplace_Configuration_Mapping_Path {
2372	r.Options.Id = &id
2373	return r
2374}
2375
2376func (r Network_CdnMarketplace_Configuration_Mapping_Path) Mask(mask string) Network_CdnMarketplace_Configuration_Mapping_Path {
2377	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2378		mask = fmt.Sprintf("mask[%s]", mask)
2379	}
2380
2381	r.Options.Mask = mask
2382	return r
2383}
2384
2385func (r Network_CdnMarketplace_Configuration_Mapping_Path) Filter(filter string) Network_CdnMarketplace_Configuration_Mapping_Path {
2386	r.Options.Filter = filter
2387	return r
2388}
2389
2390func (r Network_CdnMarketplace_Configuration_Mapping_Path) Limit(limit int) Network_CdnMarketplace_Configuration_Mapping_Path {
2391	r.Options.Limit = &limit
2392	return r
2393}
2394
2395func (r Network_CdnMarketplace_Configuration_Mapping_Path) Offset(offset int) Network_CdnMarketplace_Configuration_Mapping_Path {
2396	r.Options.Offset = &offset
2397	return r
2398}
2399
2400// no documentation yet
2401func (r Network_CdnMarketplace_Configuration_Mapping_Path) CreateOriginPath(input *datatypes.Container_Network_CdnMarketplace_Configuration_Input) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping_Path, err error) {
2402	params := []interface{}{
2403		input,
2404	}
2405	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping_Path", "createOriginPath", params, &r.Options, &resp)
2406	return
2407}
2408
2409// no documentation yet
2410func (r Network_CdnMarketplace_Configuration_Mapping_Path) DeleteOriginPath(uniqueId *string, path *string) (resp string, err error) {
2411	params := []interface{}{
2412		uniqueId,
2413		path,
2414	}
2415	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping_Path", "deleteOriginPath", params, &r.Options, &resp)
2416	return
2417}
2418
2419// no documentation yet
2420func (r Network_CdnMarketplace_Configuration_Mapping_Path) GetObject() (resp datatypes.Network_CdnMarketplace_Configuration_Mapping_Path, err error) {
2421	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping_Path", "getObject", nil, &r.Options, &resp)
2422	return
2423}
2424
2425// no documentation yet
2426func (r Network_CdnMarketplace_Configuration_Mapping_Path) ListOriginPath(uniqueId *string) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping_Path, err error) {
2427	params := []interface{}{
2428		uniqueId,
2429	}
2430	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping_Path", "listOriginPath", params, &r.Options, &resp)
2431	return
2432}
2433
2434// no documentation yet
2435func (r Network_CdnMarketplace_Configuration_Mapping_Path) UpdateOriginPath(input *datatypes.Container_Network_CdnMarketplace_Configuration_Input) (resp []datatypes.Container_Network_CdnMarketplace_Configuration_Mapping_Path, err error) {
2436	params := []interface{}{
2437		input,
2438	}
2439	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Configuration_Mapping_Path", "updateOriginPath", params, &r.Options, &resp)
2440	return
2441}
2442
2443// This Metrics class provides methods to get CDN metrics based on account or mapping unique id.
2444type Network_CdnMarketplace_Metrics struct {
2445	Session *session.Session
2446	Options sl.Options
2447}
2448
2449// GetNetworkCdnMarketplaceMetricsService returns an instance of the Network_CdnMarketplace_Metrics SoftLayer service
2450func GetNetworkCdnMarketplaceMetricsService(sess *session.Session) Network_CdnMarketplace_Metrics {
2451	return Network_CdnMarketplace_Metrics{Session: sess}
2452}
2453
2454func (r Network_CdnMarketplace_Metrics) Id(id int) Network_CdnMarketplace_Metrics {
2455	r.Options.Id = &id
2456	return r
2457}
2458
2459func (r Network_CdnMarketplace_Metrics) Mask(mask string) Network_CdnMarketplace_Metrics {
2460	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2461		mask = fmt.Sprintf("mask[%s]", mask)
2462	}
2463
2464	r.Options.Mask = mask
2465	return r
2466}
2467
2468func (r Network_CdnMarketplace_Metrics) Filter(filter string) Network_CdnMarketplace_Metrics {
2469	r.Options.Filter = filter
2470	return r
2471}
2472
2473func (r Network_CdnMarketplace_Metrics) Limit(limit int) Network_CdnMarketplace_Metrics {
2474	r.Options.Limit = &limit
2475	return r
2476}
2477
2478func (r Network_CdnMarketplace_Metrics) Offset(offset int) Network_CdnMarketplace_Metrics {
2479	r.Options.Offset = &offset
2480	return r
2481}
2482
2483// no documentation yet
2484func (r Network_CdnMarketplace_Metrics) GetCustomerUsageMetrics(vendorName *string, startDate *int, endDate *int, frequency *string) (resp []datatypes.Container_Network_CdnMarketplace_Metrics, err error) {
2485	params := []interface{}{
2486		vendorName,
2487		startDate,
2488		endDate,
2489		frequency,
2490	}
2491	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Metrics", "getCustomerUsageMetrics", params, &r.Options, &resp)
2492	return
2493}
2494
2495// no documentation yet
2496func (r Network_CdnMarketplace_Metrics) GetMappingBandwidthByRegionMetrics(mappingUniqueId *string, startDate *int, endDate *int, frequency *string) (resp []datatypes.Container_Network_CdnMarketplace_Metrics, err error) {
2497	params := []interface{}{
2498		mappingUniqueId,
2499		startDate,
2500		endDate,
2501		frequency,
2502	}
2503	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Metrics", "getMappingBandwidthByRegionMetrics", params, &r.Options, &resp)
2504	return
2505}
2506
2507// no documentation yet
2508func (r Network_CdnMarketplace_Metrics) GetMappingBandwidthMetrics(mappingUniqueId *string, startDate *int, endDate *int, frequency *string) (resp []datatypes.Container_Network_CdnMarketplace_Metrics, err error) {
2509	params := []interface{}{
2510		mappingUniqueId,
2511		startDate,
2512		endDate,
2513		frequency,
2514	}
2515	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Metrics", "getMappingBandwidthMetrics", params, &r.Options, &resp)
2516	return
2517}
2518
2519// no documentation yet
2520func (r Network_CdnMarketplace_Metrics) GetMappingHitsByTypeMetrics(mappingUniqueId *string, startDate *int, endDate *int, frequency *string) (resp []datatypes.Container_Network_CdnMarketplace_Metrics, err error) {
2521	params := []interface{}{
2522		mappingUniqueId,
2523		startDate,
2524		endDate,
2525		frequency,
2526	}
2527	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Metrics", "getMappingHitsByTypeMetrics", params, &r.Options, &resp)
2528	return
2529}
2530
2531// no documentation yet
2532func (r Network_CdnMarketplace_Metrics) GetMappingHitsMetrics(mappingUniqueId *string, startDate *int, endDate *int, frequency *string) (resp []datatypes.Container_Network_CdnMarketplace_Metrics, err error) {
2533	params := []interface{}{
2534		mappingUniqueId,
2535		startDate,
2536		endDate,
2537		frequency,
2538	}
2539	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Metrics", "getMappingHitsMetrics", params, &r.Options, &resp)
2540	return
2541}
2542
2543// no documentation yet
2544func (r Network_CdnMarketplace_Metrics) GetMappingUsageMetrics(mappingUniqueId *string, startDate *int, endDate *int, frequency *string) (resp []datatypes.Container_Network_CdnMarketplace_Metrics, err error) {
2545	params := []interface{}{
2546		mappingUniqueId,
2547		startDate,
2548		endDate,
2549		frequency,
2550	}
2551	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Metrics", "getMappingUsageMetrics", params, &r.Options, &resp)
2552	return
2553}
2554
2555// The SoftLayer_Network_CdnMarketplace_Vendor contains information regarding
 a CDN Vendor. This class is associated with
 SoftLayer_Network_CdnMarketplace_Vendor_Attribute class.
2556type Network_CdnMarketplace_Vendor struct {
2557	Session *session.Session
2558	Options sl.Options
2559}
2560
2561// GetNetworkCdnMarketplaceVendorService returns an instance of the Network_CdnMarketplace_Vendor SoftLayer service
2562func GetNetworkCdnMarketplaceVendorService(sess *session.Session) Network_CdnMarketplace_Vendor {
2563	return Network_CdnMarketplace_Vendor{Session: sess}
2564}
2565
2566func (r Network_CdnMarketplace_Vendor) Id(id int) Network_CdnMarketplace_Vendor {
2567	r.Options.Id = &id
2568	return r
2569}
2570
2571func (r Network_CdnMarketplace_Vendor) Mask(mask string) Network_CdnMarketplace_Vendor {
2572	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2573		mask = fmt.Sprintf("mask[%s]", mask)
2574	}
2575
2576	r.Options.Mask = mask
2577	return r
2578}
2579
2580func (r Network_CdnMarketplace_Vendor) Filter(filter string) Network_CdnMarketplace_Vendor {
2581	r.Options.Filter = filter
2582	return r
2583}
2584
2585func (r Network_CdnMarketplace_Vendor) Limit(limit int) Network_CdnMarketplace_Vendor {
2586	r.Options.Limit = &limit
2587	return r
2588}
2589
2590func (r Network_CdnMarketplace_Vendor) Offset(offset int) Network_CdnMarketplace_Vendor {
2591	r.Options.Offset = &offset
2592	return r
2593}
2594
2595// no documentation yet
2596func (r Network_CdnMarketplace_Vendor) GetObject() (resp datatypes.Network_CdnMarketplace_Vendor, err error) {
2597	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Vendor", "getObject", nil, &r.Options, &resp)
2598	return
2599}
2600
2601// no documentation yet
2602func (r Network_CdnMarketplace_Vendor) ListVendors() (resp []datatypes.Container_Network_CdnMarketplace_Vendor, err error) {
2603	err = r.Session.DoRequest("SoftLayer_Network_CdnMarketplace_Vendor", "listVendors", nil, &r.Options, &resp)
2604	return
2605}
2606
2607// Every piece of hardware running in SoftLayer's datacenters connected to the public, private, or management networks (where applicable) have a corresponding network component. These network components are modeled by the SoftLayer_Network_Component data type. These data types reflect the servers' local ethernet and remote management interfaces.
2608type Network_Component struct {
2609	Session *session.Session
2610	Options sl.Options
2611}
2612
2613// GetNetworkComponentService returns an instance of the Network_Component SoftLayer service
2614func GetNetworkComponentService(sess *session.Session) Network_Component {
2615	return Network_Component{Session: sess}
2616}
2617
2618func (r Network_Component) Id(id int) Network_Component {
2619	r.Options.Id = &id
2620	return r
2621}
2622
2623func (r Network_Component) Mask(mask string) Network_Component {
2624	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2625		mask = fmt.Sprintf("mask[%s]", mask)
2626	}
2627
2628	r.Options.Mask = mask
2629	return r
2630}
2631
2632func (r Network_Component) Filter(filter string) Network_Component {
2633	r.Options.Filter = filter
2634	return r
2635}
2636
2637func (r Network_Component) Limit(limit int) Network_Component {
2638	r.Options.Limit = &limit
2639	return r
2640}
2641
2642func (r Network_Component) Offset(offset int) Network_Component {
2643	r.Options.Offset = &offset
2644	return r
2645}
2646
2647// Add VLANs as trunks to a network component. The VLANs given must be assigned to your account, and on the router to which this network component is connected. The current native VLAN (networkVlanId/networkVlan) cannot be added as a trunk. This method should be called on a network component attached directly to customer assigned hardware, though all trunking operations will occur on the uplinkComponent. A current list of VLAN trunks for a network component on a customer server can be found at 'uplinkComponent->networkVlanTrunks'.
2648//
2649// This method returns an array of SoftLayer_Network_Vlans which were added as trunks. Any requested trunks which are already trunked will be silently ignored, and will not be returned.
2650//
2651// Configuration of network hardware is done asynchronously, do not depend on the return of this call as an indication that the newly trunked VLANs will be accessible.
2652func (r Network_Component) AddNetworkVlanTrunks(networkVlans []datatypes.Network_Vlan) (resp []datatypes.Network_Vlan, err error) {
2653	params := []interface{}{
2654		networkVlans,
2655	}
2656	err = r.Session.DoRequest("SoftLayer_Network_Component", "addNetworkVlanTrunks", params, &r.Options, &resp)
2657	return
2658}
2659
2660// This method will remove all VLANs trunked to this network component. The native VLAN (networkVlanId/networkVlan) will remain active, and cannot be removed via the API. Returns a list of SoftLayer_Network_Vlan objects for which the trunks were removed.
2661func (r Network_Component) ClearNetworkVlanTrunks() (resp []datatypes.Network_Vlan, err error) {
2662	err = r.Session.DoRequest("SoftLayer_Network_Component", "clearNetworkVlanTrunks", nil, &r.Options, &resp)
2663	return
2664}
2665
2666// Retrieve Reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) command currently executing by the server's remote management card.
2667func (r Network_Component) GetActiveCommand() (resp datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
2668	err = r.Session.DoRequest("SoftLayer_Network_Component", "getActiveCommand", nil, &r.Options, &resp)
2669	return
2670}
2671
2672// Retrieve bandwidth graph by date.
2673func (r Network_Component) GetCustomBandwidthDataByDate(graphData *datatypes.Container_Graph) (resp datatypes.Container_Graph, err error) {
2674	params := []interface{}{
2675		graphData,
2676	}
2677	err = r.Session.DoRequest("SoftLayer_Network_Component", "getCustomBandwidthDataByDate", params, &r.Options, &resp)
2678	return
2679}
2680
2681// Retrieve The network component linking this object to a child device
2682func (r Network_Component) GetDownlinkComponent() (resp datatypes.Network_Component, err error) {
2683	err = r.Session.DoRequest("SoftLayer_Network_Component", "getDownlinkComponent", nil, &r.Options, &resp)
2684	return
2685}
2686
2687// Retrieve The duplex mode of a network component.
2688func (r Network_Component) GetDuplexMode() (resp datatypes.Network_Component_Duplex_Mode, err error) {
2689	err = r.Session.DoRequest("SoftLayer_Network_Component", "getDuplexMode", nil, &r.Options, &resp)
2690	return
2691}
2692
2693// Retrieve The hardware that a network component resides in.
2694func (r Network_Component) GetHardware() (resp datatypes.Hardware, err error) {
2695	err = r.Session.DoRequest("SoftLayer_Network_Component", "getHardware", nil, &r.Options, &resp)
2696	return
2697}
2698
2699// Retrieve
2700func (r Network_Component) GetHighAvailabilityFirewallFlag() (resp bool, err error) {
2701	err = r.Session.DoRequest("SoftLayer_Network_Component", "getHighAvailabilityFirewallFlag", nil, &r.Options, &resp)
2702	return
2703}
2704
2705// Retrieve A hardware switch's interface to the bandwidth pod.
2706func (r Network_Component) GetInterface() (resp datatypes.Network_Bandwidth_Version1_Interface, err error) {
2707	err = r.Session.DoRequest("SoftLayer_Network_Component", "getInterface", nil, &r.Options, &resp)
2708	return
2709}
2710
2711// Retrieve The records of all IP addresses bound to a network component.
2712func (r Network_Component) GetIpAddressBindings() (resp []datatypes.Network_Component_IpAddress, err error) {
2713	err = r.Session.DoRequest("SoftLayer_Network_Component", "getIpAddressBindings", nil, &r.Options, &resp)
2714	return
2715}
2716
2717// Retrieve
2718func (r Network_Component) GetIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
2719	err = r.Session.DoRequest("SoftLayer_Network_Component", "getIpAddresses", nil, &r.Options, &resp)
2720	return
2721}
2722
2723// Retrieve Last reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) command issued to the server's remote management card.
2724func (r Network_Component) GetLastCommand() (resp datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
2725	err = r.Session.DoRequest("SoftLayer_Network_Component", "getLastCommand", nil, &r.Options, &resp)
2726	return
2727}
2728
2729// Retrieve The metric tracking object for this network component.
2730func (r Network_Component) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
2731	err = r.Session.DoRequest("SoftLayer_Network_Component", "getMetricTrackingObject", nil, &r.Options, &resp)
2732	return
2733}
2734
2735// Retrieve The upstream network component firewall.
2736func (r Network_Component) GetNetworkComponentFirewall() (resp datatypes.Network_Component_Firewall, err error) {
2737	err = r.Session.DoRequest("SoftLayer_Network_Component", "getNetworkComponentFirewall", nil, &r.Options, &resp)
2738	return
2739}
2740
2741// Retrieve A network component's associated group.
2742func (r Network_Component) GetNetworkComponentGroup() (resp datatypes.Network_Component_Group, err error) {
2743	err = r.Session.DoRequest("SoftLayer_Network_Component", "getNetworkComponentGroup", nil, &r.Options, &resp)
2744	return
2745}
2746
2747// Retrieve All network devices in SoftLayer's network hierarchy that this device is connected to.
2748func (r Network_Component) GetNetworkHardware() (resp []datatypes.Hardware, err error) {
2749	err = r.Session.DoRequest("SoftLayer_Network_Component", "getNetworkHardware", nil, &r.Options, &resp)
2750	return
2751}
2752
2753// Retrieve The VLAN that a network component's subnet is associated with.
2754func (r Network_Component) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
2755	err = r.Session.DoRequest("SoftLayer_Network_Component", "getNetworkVlan", nil, &r.Options, &resp)
2756	return
2757}
2758
2759// Retrieve The VLANs that are trunked to this network component.
2760func (r Network_Component) GetNetworkVlanTrunks() (resp []datatypes.Network_Component_Network_Vlan_Trunk, err error) {
2761	err = r.Session.DoRequest("SoftLayer_Network_Component", "getNetworkVlanTrunks", nil, &r.Options, &resp)
2762	return
2763}
2764
2765// no documentation yet
2766func (r Network_Component) GetObject() (resp datatypes.Network_Component, err error) {
2767	err = r.Session.DoRequest("SoftLayer_Network_Component", "getObject", nil, &r.Options, &resp)
2768	return
2769}
2770
2771//
2772// **DEPRECATED - This operation will cease to function after April 4th, 2016 and will be removed from v3.2**
2773// Retrieve various network statistics.  The network statistics are retrieved from the network device using snmpget. Below is a list of statistics retrieved:
2774// * Administrative Status
2775// * Operational Status
2776// * Maximum Transmission Unit
2777// * In Octets
2778// * Out Octets
2779// * In Unicast Packets
2780// * Out Unicast Packets
2781// * In Multicast Packets
2782// * Out Multicast Packets
2783func (r Network_Component) GetPortStatistics() (resp datatypes.Container_Network_Port_Statistic, err error) {
2784	err = r.Session.DoRequest("SoftLayer_Network_Component", "getPortStatistics", nil, &r.Options, &resp)
2785	return
2786}
2787
2788// Retrieve The primary IPv4 Address record for a network component.
2789func (r Network_Component) GetPrimaryIpAddressRecord() (resp datatypes.Network_Subnet_IpAddress, err error) {
2790	err = r.Session.DoRequest("SoftLayer_Network_Component", "getPrimaryIpAddressRecord", nil, &r.Options, &resp)
2791	return
2792}
2793
2794// Retrieve The subnet of the primary IP address assigned to this network component.
2795func (r Network_Component) GetPrimarySubnet() (resp datatypes.Network_Subnet, err error) {
2796	err = r.Session.DoRequest("SoftLayer_Network_Component", "getPrimarySubnet", nil, &r.Options, &resp)
2797	return
2798}
2799
2800// Retrieve The primary IPv6 Address record for a network component.
2801func (r Network_Component) GetPrimaryVersion6IpAddressRecord() (resp datatypes.Network_Subnet_IpAddress, err error) {
2802	err = r.Session.DoRequest("SoftLayer_Network_Component", "getPrimaryVersion6IpAddressRecord", nil, &r.Options, &resp)
2803	return
2804}
2805
2806// Retrieve The last five reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) commands issued to the server's remote management card.
2807func (r Network_Component) GetRecentCommands() (resp []datatypes.Hardware_Component_RemoteManagement_Command_Request, err error) {
2808	err = r.Session.DoRequest("SoftLayer_Network_Component", "getRecentCommands", nil, &r.Options, &resp)
2809	return
2810}
2811
2812// Retrieve Indicates whether the network component is participating in a group of two or more components capable of being operationally redundant, if enabled.
2813func (r Network_Component) GetRedundancyCapableFlag() (resp bool, err error) {
2814	err = r.Session.DoRequest("SoftLayer_Network_Component", "getRedundancyCapableFlag", nil, &r.Options, &resp)
2815	return
2816}
2817
2818// Retrieve Indicates whether the network component is participating in a group of two or more components which is actively providing link redundancy.
2819func (r Network_Component) GetRedundancyEnabledFlag() (resp bool, err error) {
2820	err = r.Session.DoRequest("SoftLayer_Network_Component", "getRedundancyEnabledFlag", nil, &r.Options, &resp)
2821	return
2822}
2823
2824// Retrieve User(s) credentials to issue commands and/or interact with the server's remote management card.
2825func (r Network_Component) GetRemoteManagementUsers() (resp []datatypes.Hardware_Component_RemoteManagement_User, err error) {
2826	err = r.Session.DoRequest("SoftLayer_Network_Component", "getRemoteManagementUsers", nil, &r.Options, &resp)
2827	return
2828}
2829
2830// Retrieve A network component's routers.
2831func (r Network_Component) GetRouter() (resp datatypes.Hardware, err error) {
2832	err = r.Session.DoRequest("SoftLayer_Network_Component", "getRouter", nil, &r.Options, &resp)
2833	return
2834}
2835
2836// Retrieve Whether a network component's primary ip address is from a storage network subnet or not.
2837func (r Network_Component) GetStorageNetworkFlag() (resp bool, err error) {
2838	err = r.Session.DoRequest("SoftLayer_Network_Component", "getStorageNetworkFlag", nil, &r.Options, &resp)
2839	return
2840}
2841
2842// Retrieve A network component's subnets. A subnet is a group of IP addresses
2843func (r Network_Component) GetSubnets() (resp []datatypes.Network_Subnet, err error) {
2844	err = r.Session.DoRequest("SoftLayer_Network_Component", "getSubnets", nil, &r.Options, &resp)
2845	return
2846}
2847
2848// Retrieve The network component linking this object to parent
2849func (r Network_Component) GetUplinkComponent() (resp datatypes.Network_Component, err error) {
2850	err = r.Session.DoRequest("SoftLayer_Network_Component", "getUplinkComponent", nil, &r.Options, &resp)
2851	return
2852}
2853
2854// Retrieve The duplex mode of the uplink network component linking to this object
2855func (r Network_Component) GetUplinkDuplexMode() (resp datatypes.Network_Component_Duplex_Mode, err error) {
2856	err = r.Session.DoRequest("SoftLayer_Network_Component", "getUplinkDuplexMode", nil, &r.Options, &resp)
2857	return
2858}
2859
2860// Remove one or more VLANs currently attached to the uplinkComponent of this networkComponent. The VLANs given must be assigned to your account, and on the router the network component is connected to. If any VLANs not currently trunked are given, they will be silently ignored.
2861//
2862// This method should be called on a network component attached directly to customer assigned hardware, though all trunking operations will occur on the uplinkComponent. A current list of VLAN trunks for a network component on a customer server can be found at 'uplinkComponent->networkVlanTrunks'.
2863//
2864// Configuration of network hardware is done asynchronously, do not depend on the return of this call as an indication that the removed VLANs will be inaccessible.
2865func (r Network_Component) RemoveNetworkVlanTrunks(networkVlans []datatypes.Network_Vlan) (resp []datatypes.Network_Vlan, err error) {
2866	params := []interface{}{
2867		networkVlans,
2868	}
2869	err = r.Session.DoRequest("SoftLayer_Network_Component", "removeNetworkVlanTrunks", params, &r.Options, &resp)
2870	return
2871}
2872
2873// The SoftLayer_Network_Component_Firewall data type contains general information relating to a single SoftLayer network component firewall. This is the object which ties the running rules to a specific downstream server. Use the [[SoftLayer Network Firewall Template]] service to pull SoftLayer recommended rule set templates. Use the [[SoftLayer Network Firewall Update Request]] service to submit a firewall update request.
2874type Network_Component_Firewall struct {
2875	Session *session.Session
2876	Options sl.Options
2877}
2878
2879// GetNetworkComponentFirewallService returns an instance of the Network_Component_Firewall SoftLayer service
2880func GetNetworkComponentFirewallService(sess *session.Session) Network_Component_Firewall {
2881	return Network_Component_Firewall{Session: sess}
2882}
2883
2884func (r Network_Component_Firewall) Id(id int) Network_Component_Firewall {
2885	r.Options.Id = &id
2886	return r
2887}
2888
2889func (r Network_Component_Firewall) Mask(mask string) Network_Component_Firewall {
2890	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2891		mask = fmt.Sprintf("mask[%s]", mask)
2892	}
2893
2894	r.Options.Mask = mask
2895	return r
2896}
2897
2898func (r Network_Component_Firewall) Filter(filter string) Network_Component_Firewall {
2899	r.Options.Filter = filter
2900	return r
2901}
2902
2903func (r Network_Component_Firewall) Limit(limit int) Network_Component_Firewall {
2904	r.Options.Limit = &limit
2905	return r
2906}
2907
2908func (r Network_Component_Firewall) Offset(offset int) Network_Component_Firewall {
2909	r.Options.Offset = &offset
2910	return r
2911}
2912
2913// Retrieve The additional subnets linked to this network component firewall, that inherit rules from the host that the context slot is attached to.
2914func (r Network_Component_Firewall) GetApplyServerRuleSubnets() (resp []datatypes.Network_Subnet, err error) {
2915	err = r.Session.DoRequest("SoftLayer_Network_Component_Firewall", "getApplyServerRuleSubnets", nil, &r.Options, &resp)
2916	return
2917}
2918
2919// Retrieve The billing item for a Hardware Firewall (Dedicated).
2920func (r Network_Component_Firewall) GetBillingItem() (resp datatypes.Billing_Item, err error) {
2921	err = r.Session.DoRequest("SoftLayer_Network_Component_Firewall", "getBillingItem", nil, &r.Options, &resp)
2922	return
2923}
2924
2925// Retrieve The network component of the guest virtual server that this network component firewall belongs to.
2926func (r Network_Component_Firewall) GetGuestNetworkComponent() (resp datatypes.Virtual_Guest_Network_Component, err error) {
2927	err = r.Session.DoRequest("SoftLayer_Network_Component_Firewall", "getGuestNetworkComponent", nil, &r.Options, &resp)
2928	return
2929}
2930
2931// Retrieve The network component of the switch interface that this network component firewall belongs to.
2932func (r Network_Component_Firewall) GetNetworkComponent() (resp datatypes.Network_Component, err error) {
2933	err = r.Session.DoRequest("SoftLayer_Network_Component_Firewall", "getNetworkComponent", nil, &r.Options, &resp)
2934	return
2935}
2936
2937// Retrieve The update requests made for this firewall.
2938func (r Network_Component_Firewall) GetNetworkFirewallUpdateRequest() (resp []datatypes.Network_Firewall_Update_Request, err error) {
2939	err = r.Session.DoRequest("SoftLayer_Network_Component_Firewall", "getNetworkFirewallUpdateRequest", nil, &r.Options, &resp)
2940	return
2941}
2942
2943// getObject returns a SoftLayer_Network_Firewall_Module_Context_Interface_AccessControlList_Network_Component object. You can only get objects for servers attached to your account that have a network firewall enabled.
2944func (r Network_Component_Firewall) GetObject() (resp datatypes.Network_Component_Firewall, err error) {
2945	err = r.Session.DoRequest("SoftLayer_Network_Component_Firewall", "getObject", nil, &r.Options, &resp)
2946	return
2947}
2948
2949// Retrieve The currently running rule set of this network component firewall.
2950func (r Network_Component_Firewall) GetRules() (resp []datatypes.Network_Component_Firewall_Rule, err error) {
2951	err = r.Session.DoRequest("SoftLayer_Network_Component_Firewall", "getRules", nil, &r.Options, &resp)
2952	return
2953}
2954
2955// Retrieve The additional subnets linked to this network component firewall.
2956func (r Network_Component_Firewall) GetSubnets() (resp []datatypes.Network_Subnet, err error) {
2957	err = r.Session.DoRequest("SoftLayer_Network_Component_Firewall", "getSubnets", nil, &r.Options, &resp)
2958	return
2959}
2960
2961// The SoftLayer_Network_ContentDelivery_Account data type models an individual CDN account. CDN accounts contain references to the SoftLayer customer account they belong to, login credentials for upload services, and a CDN account's status. Please contact SoftLayer sales to purchase or cancel a CDN account
2962type Network_ContentDelivery_Account struct {
2963	Session *session.Session
2964	Options sl.Options
2965}
2966
2967// GetNetworkContentDeliveryAccountService returns an instance of the Network_ContentDelivery_Account SoftLayer service
2968func GetNetworkContentDeliveryAccountService(sess *session.Session) Network_ContentDelivery_Account {
2969	return Network_ContentDelivery_Account{Session: sess}
2970}
2971
2972func (r Network_ContentDelivery_Account) Id(id int) Network_ContentDelivery_Account {
2973	r.Options.Id = &id
2974	return r
2975}
2976
2977func (r Network_ContentDelivery_Account) Mask(mask string) Network_ContentDelivery_Account {
2978	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
2979		mask = fmt.Sprintf("mask[%s]", mask)
2980	}
2981
2982	r.Options.Mask = mask
2983	return r
2984}
2985
2986func (r Network_ContentDelivery_Account) Filter(filter string) Network_ContentDelivery_Account {
2987	r.Options.Filter = filter
2988	return r
2989}
2990
2991func (r Network_ContentDelivery_Account) Limit(limit int) Network_ContentDelivery_Account {
2992	r.Options.Limit = &limit
2993	return r
2994}
2995
2996func (r Network_ContentDelivery_Account) Offset(offset int) Network_ContentDelivery_Account {
2997	r.Options.Offset = &offset
2998	return r
2999}
3000
3001// Internap servers attempts to validate a token before serving a protected content. SoftLayer customer does not need to invoke this method.  Please refer to [[SoftLayer_Network_ContentDelivery_Authentication_Token|Authentication Token]] object for more details on Content Authentication Service.
3002func (r Network_ContentDelivery_Account) AuthenticateResourceRequest(parameter *datatypes.Container_Network_ContentDelivery_Authentication_Parameter) (resp bool, err error) {
3003	params := []interface{}{
3004		parameter,
3005	}
3006	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "authenticateResourceRequest", params, &r.Options, &resp)
3007	return
3008}
3009
3010// You can further organize your contents on the CDN FTP server by creating sub directories.  This method creates a directory on the CDN FTP server. A user must have CDN_FILE_MANAGE privilege to use this method. A directory name must be an absolute path and you can only create sub directories in /media folder.
3011func (r Network_ContentDelivery_Account) CreateDirectory(directoryName *string) (resp bool, err error) {
3012	params := []interface{}{
3013		directoryName,
3014	}
3015	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "createDirectory", params, &r.Options, &resp)
3016	return
3017}
3018
3019// This method allows you to create a default CDN FTP user record on the ftp.cdnlayer.service.softlayer.com server. As with a CDN FTP user account, you can upload contents to the CDN host server through the SoftLayer private network.  SoftLayer currently allows only one FTP user for each CDN account. Your default CDN FTP user record is created upon successful creation of a CDN account.  You may not need to use this method at all. This is provided in support of the previous CDN customers. SoftLayer may offer multiple CDN FTP users for a single CDN account in the future.
3020//
3021// Optionally, you can provide a new password when invoking this method and a new password must follow the rules below:
3022// * ...must be between 8 and 20 characters long
3023// * ...must be an alphanumeric value
3024// * ...can contain these characters: - _ ! % # $ ^ & *
3025func (r Network_ContentDelivery_Account) CreateFtpUser(newPassword *string) (resp bool, err error) {
3026	params := []interface{}{
3027		newPassword,
3028	}
3029	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "createFtpUser", params, &r.Options, &resp)
3030	return
3031}
3032
3033// With Origin Pull, content is pulled from your origin server as needed and then delivered to visitors. You do not need to upload your files to the CDN FTP: you can utilize the files that currently exist on your origin server. It will take 10 to 15 minutes for this to take effect after you create an Origin Pull rule. Origin Pull is only supported for HTTP protocol and you would continue to use the CDN FTP for Flash and Windows Media streaming services.
3034//
3035// A valid origin host can include a directory information.  You may include an authentication username and password along with an origin host. If you set an authentication username and password, CDN servers will include "Authorization:" header in every request. You may use the "Authorization:" header to grant access to CDN servers or you may use it to distinguish CDN servers from normal visitors. Here is a list of valid origin hosts:
3036// * www.website.com
3037// * www.website.com/cdn_content
3038// * cdn_user:password@www.website.com
3039// * cdn_user:password@www.website.com/images
3040//
3041//
3042// An authentication username should be an alphanumeric string and allowed special characters are . - _<br /> An authentication password should be an alphanumeric string and allowed special characters are . - _ ! # $ % ^ & *<br /> Both username and password must be between 3 to 10 characters long.
3043//
3044// CDN nodes will cache your contents and you can control cache lifetime by modifying your web server's configuration. This method also creates a FTP directory restriction upon successful Origin Pull set up. You will not be able to access /media/http directory since contents will be pulled from your origin server. An origin domain must be a valid domain name and it can contain path information. This can help you organize contents on your origin server. For example, you could set an origin domain as: mydomain.com/cdn_contents
3045//
3046// A CNAME record allows you to have a customized URL. You can get rid of your CDN account name from the URL. A valid CNAME for the Origin Pull method must point to <CDN_AcccountName>.http.cdn.softlayer.net.
3047//
3048// There are 2 types of origin pull mappings.  The one with a CNAME record or the one without a CNAME record and they work very differently.
3049//
3050// gzip is supported if your web server sends a proper gzip header. For more details, visit our [http://knowledgelayer.softlayer.com/topic/cdn KnowledgeLayer]
3051func (r Network_ContentDelivery_Account) CreateOriginPullMapping(mappingObject *datatypes.Container_Network_ContentDelivery_OriginPull_Mapping) (resp bool, err error) {
3052	params := []interface{}{
3053		mappingObject,
3054	}
3055	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "createOriginPullMapping", params, &r.Options, &resp)
3056	return
3057}
3058
3059// This method is deprecated, please use [[[[SoftLayer_Network_ContentDelivery_Account::createOriginPullMapping|createOriginPullMapping]] method instead.
3060func (r Network_ContentDelivery_Account) CreateOriginPullRule(originDomain *string, cnameRecord *string) (resp bool, err error) {
3061	params := []interface{}{
3062		originDomain,
3063		cnameRecord,
3064	}
3065	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "createOriginPullRule", params, &r.Options, &resp)
3066	return
3067}
3068
3069// You need to specify a directory on your CDN FTP or on your origin host in which your secure content resides to enable the token authentication . It will take about about 30 minutes for a newly configured token authentication directory to take effect.
3070func (r Network_ContentDelivery_Account) CreateTokenAuthenticationDirectory(directory *string, mediaType *string) (resp bool, err error) {
3071	params := []interface{}{
3072		directory,
3073		mediaType,
3074	}
3075	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "createTokenAuthenticationDirectory", params, &r.Options, &resp)
3076	return
3077}
3078
3079// This method deletes your FTP user record on the ftp.cdnlayer.service.softlayer.com server. Refer to the service overview of [[SoftLayer_Network_ContentDelivery_Account::createFtpUser|createFtpUser]] method for more information on the CDN FTP server.
3080func (r Network_ContentDelivery_Account) DeleteFtpUser() (resp bool, err error) {
3081	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "deleteFtpUser", nil, &r.Options, &resp)
3082	return
3083}
3084
3085// This method removes an Origin Pull domain rule.  Once an Origin Pull rule is removed, you will be able to access the /media/http directory. It will take 10 to 15 minutes for this to take effect after you remove your Origin Pull rule.  Cached contents on CDN POPs may live longer than 15 minutes.
3086func (r Network_ContentDelivery_Account) DeleteOriginPullRule(originMappingId *string) (resp bool, err error) {
3087	params := []interface{}{
3088		originMappingId,
3089	}
3090	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "deleteOriginPullRule", params, &r.Options, &resp)
3091	return
3092}
3093
3094// This method disables CDN access log.
3095func (r Network_ContentDelivery_Account) DisableLogging() (resp bool, err error) {
3096	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "disableLogging", nil, &r.Options, &resp)
3097	return
3098}
3099
3100// This method enables CDN access log.
3101func (r Network_ContentDelivery_Account) EnableLogging() (resp bool, err error) {
3102	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "enableLogging", nil, &r.Options, &resp)
3103	return
3104}
3105
3106// Retrieve The customer account that a CDN account belongs to.
3107func (r Network_ContentDelivery_Account) GetAccount() (resp datatypes.Account, err error) {
3108	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getAccount", nil, &r.Options, &resp)
3109	return
3110}
3111
3112// This method returns bandwidth data for each POP. [[SoftLayer_Container_Network_ContentDelivery_Bandwidth_PointsOfPresence_Summary|POP Bandwidth]] object contains a starting time, ending time, total bytes, POP name and bandwidth unit.
3113//
3114// POP bandwidth data is updated everyday at 22:50 CST (or CDT). It queries and stores POP data from the day before. It is a more resource intensive process than a regular CDN bandwidth update thus we run this once a day. Since the POP bandwidth data is delayed for a day, there is no correction process for POP data. The POP bandwidth is not associated with any billing process and is mainly used to generate a POP bandwidth graph.
3115func (r Network_ContentDelivery_Account) GetAllPopsBandwidthData(beginDateTime *datatypes.Time, endDateTime *datatypes.Time) (resp []datatypes.Container_Network_ContentDelivery_Bandwidth_PointsOfPresence_Summary, err error) {
3116	params := []interface{}{
3117		beginDateTime,
3118		endDateTime,
3119	}
3120	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getAllPopsBandwidthData", params, &r.Options, &resp)
3121	return
3122}
3123
3124// This method returns a bandwidth graph for every POP wrapped in [[SoftLayer_Container_Bandwidth_GraphOutputsExtended|Bandwidth Graph]] object. A POP bandwidth graph shows bandwidth consumption per each POP in a bar graph. [[SoftLayer_Container_Bandwidth_GraphOutputsExtended|Bandwidth Graph]] object contains a begin time, end time, title of the graph, binary date, in and outbound total bandwidth in bytes
3125func (r Network_ContentDelivery_Account) GetAllPopsBandwidthImage(title *string, beginDateTime *datatypes.Time, endDateTime *datatypes.Time, unit *string) (resp datatypes.Container_Bandwidth_GraphOutputsExtended, err error) {
3126	params := []interface{}{
3127		title,
3128		beginDateTime,
3129		endDateTime,
3130		unit,
3131	}
3132	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getAllPopsBandwidthImage", params, &r.Options, &resp)
3133	return
3134}
3135
3136// Retrieve The CDN account id that this CDN account is associated with.
3137func (r Network_ContentDelivery_Account) GetAssociatedCdnAccountId() (resp string, err error) {
3138	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getAssociatedCdnAccountId", nil, &r.Options, &resp)
3139	return
3140}
3141
3142// Retrieve The IP addresses that are used for the content authentication service.
3143func (r Network_ContentDelivery_Account) GetAuthenticationIpAddresses() (resp []datatypes.Network_ContentDelivery_Authentication_Address, err error) {
3144	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getAuthenticationIpAddresses", nil, &r.Options, &resp)
3145	return
3146}
3147
3148// CDN servers will invoke a Web Service method to validate a content authentication token. This method returns all token validation web service endpoints set for a CDN account. You can override the default web service by calling [[SoftLayer_Network_ContentDelivery_Authentication_Token|setContentAuthenticationWsdl setContentAuthenticationWsdl]] method.
3149func (r Network_ContentDelivery_Account) GetAuthenticationServiceEndpoints() (resp []datatypes.Container_Network_ContentDelivery_Authentication_ServiceEndpoint, err error) {
3150	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getAuthenticationServiceEndpoints", nil, &r.Options, &resp)
3151	return
3152}
3153
3154// This method returns bandwidth data for a given time range.  It returns an array of [[SoftLayer_Container_Network_ContentDelivery_Bandwidth_Summary|bandwidth summary]] objects. [[SoftLayer_Container_Network_ContentDelivery_Bandwidth_Summary|Bandwidth summary]] object contains a beginning time, ending time, and bandwidth in bytes.
3155//
3156// A Beginning and ending date parameters have to be a timestamp in "yyyy-mm-dd HH24:mi:ss" format and it assumes the time is in Central Standard Time (CST) or Central Daylight Time (CDT) time zone. CDN bandwidth data is stored in Greenwich Mean Time (GMT) internally and converts a beginning and ending time to GMT before querying.
3157//
3158// Unlike server bandwidth, CDN bandwidth returns total bytes consumed within an hour. For example, if you pass "2008-10-10 00:00:00" for a beginning time and "2008-10-10 05:00:00" for an ending time, your return value will have 6 elements of bandwidth summary objects. The first bandwidth summary object will have the total bytes consumed between 2008-10-10 00:00:00 and 2008-10-10 05:00:00. And the last object will have the bandwidth consumed between 2008-10-10 05:00:00 and 2008-10-10 00:59:59. The bandwidth data is updated at 10 minutes after every hour.  The queried data is on a two hour time delay. The two hour delay is required to gather bandwidth data from each POP and that is the minimum delay required to create a feasible graph. It usually takes about 8 hours to reconcile all the data from every CDN POP. This hourly data is corrected after 24 hours if necessary.  If you consume a large amount of bandwidth, your bandwidth data will be updated the next day.
3159func (r Network_ContentDelivery_Account) GetBandwidthData(beginDateTime *datatypes.Time, endDateTime *datatypes.Time) (resp []datatypes.Container_Network_ContentDelivery_Bandwidth_Summary, err error) {
3160	params := []interface{}{
3161		beginDateTime,
3162		endDateTime,
3163	}
3164	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getBandwidthData", params, &r.Options, &resp)
3165	return
3166}
3167
3168// This method returns bandwidth data for a given time range.  It returns an array of [[SoftLayer_Container_Network_ContentDelivery_Report_Usage|bandwidth usage report]] objects.
3169//
3170// These will be first sorted by timestamp, and there will be one entry with that timestamp for each enabled region. The region type 'NONE' is provided only when non-region-specific data is returned. [[SoftLayer_Container_Network_ContentDelivery_Report_Usage|bandwidth usage report]] objects with a region will never contain non-region-specific data. Non-region-specific values are standardTotal and sslTotal; standardTotal is computed by adding the HTTP Large, Windows Media, Flash and Application Delivery Network bandwidth. The sslTotal is computed by adding the HTTP Large SSL bandwidth and the Application Delivery Network SSL bandwidth.
3171//
3172// A Beginning and ending date parameters have to be a timestamp in "yyyy-mm-dd HH24:mi:ss" format and it assumes the time is in Central Standard Time (CST) or Central Daylight Time (CDT) time zone. CDN bandwidth data is stored in Greenwich Mean Time (GMT) internally and converts a beginning and ending time to GMT before querying.
3173//
3174// Unlike server bandwidth, CDN bandwidth returns total bytes consumed within an hour. For example, if you pass "2008-10-10 00:00:00" for a beginning time and "2008-10-10 05:00:00" for an ending time, your return value will have 6 elements of bandwidth summary objects. The first bandwidth summary object will have the total bytes consumed between 2008-10-10 00:00:00 and 2008-10-10 05:00:00. And the last object will have the bandwidth consumed between 2008-10-10 05:00:00 and 2008-10-10 00:59:59. The bandwidth data is updated at 10 minutes after every hour.  The queried data is on a two hour time delay. The two hour delay is required to gather bandwidth data from each POP and that is the minimum delay required to create a feasible graph. It usually takes about 8 hours to reconcile all the data from every CDN POP. This hourly data is corrected after 24 hours if necessary.  If you consume a large amount of bandwidth, your bandwidth data will be updated the next day.
3175func (r Network_ContentDelivery_Account) GetBandwidthDataWithTypes(beginDateTime *datatypes.Time, endDateTime *datatypes.Time, period *string) (resp []datatypes.Container_Network_ContentDelivery_Report_Usage, err error) {
3176	params := []interface{}{
3177		beginDateTime,
3178		endDateTime,
3179		period,
3180	}
3181	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getBandwidthDataWithTypes", params, &r.Options, &resp)
3182	return
3183}
3184
3185// This method returns a bandwidth graph wrapped in [[SoftLayer_Container_Bandwidth_GraphOutputsExtended|Bandwidth Graph]] object. [[SoftLayer_Container_Bandwidth_GraphOutputsExtended|Bandwidth Graph]] object contains a starting time, ending time, graph title, graph binary data, and in and outbound total bytes.
3186func (r Network_ContentDelivery_Account) GetBandwidthImage(title *string, beginDateTime *datatypes.Time, endDateTime *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputsExtended, err error) {
3187	params := []interface{}{
3188		title,
3189		beginDateTime,
3190		endDateTime,
3191	}
3192	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getBandwidthImage", params, &r.Options, &resp)
3193	return
3194}
3195
3196// Retrieve The current billing item for a CDN account.
3197func (r Network_ContentDelivery_Account) GetBillingItem() (resp datatypes.Billing_Item, err error) {
3198	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getBillingItem", nil, &r.Options, &resp)
3199	return
3200}
3201
3202// Retrieve The name of a CDN account.
3203func (r Network_ContentDelivery_Account) GetCdnAccountName() (resp string, err error) {
3204	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getCdnAccountName", nil, &r.Options, &resp)
3205	return
3206}
3207
3208// Retrieve A brief note on a CDN account.
3209func (r Network_ContentDelivery_Account) GetCdnAccountNote() (resp string, err error) {
3210	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getCdnAccountNote", nil, &r.Options, &resp)
3211	return
3212}
3213
3214// Retrieve The solution type of a CDN account.
3215func (r Network_ContentDelivery_Account) GetCdnSolutionName() (resp string, err error) {
3216	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getCdnSolutionName", nil, &r.Options, &resp)
3217	return
3218}
3219
3220// An origin pull mapping is a combination of your customer origin record and a CNAME (optional) record. You can now keep track of your customer origin records separate from your CNAME records. This service returns your customer origin records.
3221func (r Network_ContentDelivery_Account) GetCustomerOrigins(mediaType *string) (resp []datatypes.Container_Network_ContentDelivery_OriginPull_Mapping, err error) {
3222	params := []interface{}{
3223		mediaType,
3224	}
3225	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getCustomerOrigins", params, &r.Options, &resp)
3226	return
3227}
3228
3229// Retrieve Indicates if CDN account is dependent on other service. If set, this CDN account is limited to these services: createOriginPullMapping, deleteOriginPullRule, getOriginPullMappingInformation, getCdnUrls, purgeCache, loadContent, manageHttpCompression
3230func (r Network_ContentDelivery_Account) GetDependantServiceFlag() (resp bool, err error) {
3231	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getDependantServiceFlag", nil, &r.Options, &resp)
3232	return
3233}
3234
3235// This method returns an array of [[SoftLayer_Container_Network_Directory_Listing|Directory Listing]] objects. You must have CDN_FILE_MANAGE privilege and you can only retrieve directory information within <b>/media</b> directory. A [[SoftLayer_Container_Network_Directory_Listing|Directory Listing]] object contains type (indicating whether it is a file or a directory), name and file count if it is a directory.
3236func (r Network_ContentDelivery_Account) GetDirectoryInformation(directoryName *string) (resp []datatypes.Container_Network_Directory_Listing, err error) {
3237	params := []interface{}{
3238		directoryName,
3239	}
3240	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getDirectoryInformation", params, &r.Options, &resp)
3241	return
3242}
3243
3244// This method returns disk space usage data for your CDN FTP.
3245func (r Network_ContentDelivery_Account) GetDiskSpaceUsageDataByDate(beginDateTime *datatypes.Time, endDateTime *datatypes.Time) (resp []datatypes.Metric_Tracking_Object_Data, err error) {
3246	params := []interface{}{
3247		beginDateTime,
3248		endDateTime,
3249	}
3250	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getDiskSpaceUsageDataByDate", params, &r.Options, &resp)
3251	return
3252}
3253
3254// This method returns a disk usage graph wrapped in [[SoftLayer_Container_Bandwidth_GraphOutputsExtended|Bandwidth Graph]] object. [[SoftLayer_Container_Bandwidth_GraphOutputsExtended|Bandwidth Graph]] object contains a starting time, ending time, graph title, graph binary data, and in and outbound total bytes.
3255func (r Network_ContentDelivery_Account) GetDiskSpaceUsageImageByDate(beginDateTime *datatypes.Time, endDateTime *datatypes.Time) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
3256	params := []interface{}{
3257		beginDateTime,
3258		endDateTime,
3259	}
3260	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getDiskSpaceUsageImageByDate", params, &r.Options, &resp)
3261	return
3262}
3263
3264// This method returns your login credentials to the CDN FTP server (ftp.cdnlayer.service.softlayer.com server). You must have CDN_FILE_MANAGE privilege. Refer to the service overview of [[SoftLayer_Network_ContentDelivery_Account::createFtpUser|createFtpUser]] method for more information on the CDN FTP server.
3265//
3266// If you want to download raw log files, prefix the username with "LOGS-" (without quotes) when logging in. SoftLayer designed CDN accounts so they can have multiple CDN FTP users. However, this method returns the default CDN FTP user information: multi user support may be implemented in the future.
3267func (r Network_ContentDelivery_Account) GetFtpAttributes() (resp datatypes.Container_Network_Authentication_Data, err error) {
3268	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getFtpAttributes", nil, &r.Options, &resp)
3269	return
3270}
3271
3272// Retrieve Indicates if it is a legacy CDN or not
3273func (r Network_ContentDelivery_Account) GetLegacyCdnFlag() (resp bool, err error) {
3274	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getLegacyCdnFlag", nil, &r.Options, &resp)
3275	return
3276}
3277
3278// Retrieve Indicates if CDN logging is enabled.
3279func (r Network_ContentDelivery_Account) GetLogEnabledFlag() (resp string, err error) {
3280	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getLogEnabledFlag", nil, &r.Options, &resp)
3281	return
3282}
3283
3284// This method returns CDN URLs for static file (http), Flash streaming (rtmp) and Window Media (mms) streaming services. You can generate your CDN URLs based on the information retrieved by this method.
3285func (r Network_ContentDelivery_Account) GetMediaUrls() (resp []datatypes.Container_Network_ContentDelivery_SupportedProtocol, err error) {
3286	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getMediaUrls", nil, &r.Options, &resp)
3287	return
3288}
3289
3290// getObject retrieves the SoftLayer_Network_ContentDelivery_Account object whose ID number corresponds to the ID number of the initial parameter passed to the SoftLayer_Network_ContentDelivery_Account service. You can only retrieve CDN accounts assigned to your SoftLayer customer account.
3291func (r Network_ContentDelivery_Account) GetObject() (resp datatypes.Network_ContentDelivery_Account, err error) {
3292	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getObject", nil, &r.Options, &resp)
3293	return
3294}
3295
3296// This method returns a list of origin pull configuration data.
3297func (r Network_ContentDelivery_Account) GetOriginPullMappingInformation() (resp []datatypes.Container_Network_ContentDelivery_OriginPull_Mapping, err error) {
3298	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getOriginPullMappingInformation", nil, &r.Options, &resp)
3299	return
3300}
3301
3302// This method returns CDN URLs that supports Origin Pull mappings.
3303func (r Network_ContentDelivery_Account) GetOriginPullSupportedMediaUrls() (resp []datatypes.Container_Network_ContentDelivery_SupportedProtocol, err error) {
3304	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getOriginPullSupportedMediaUrls", nil, &r.Options, &resp)
3305	return
3306}
3307
3308// This method returns the domain name of your Origin Pull rule.  It assumes you have already setup an Origin Pull rule.  Otherwise, it will throw an exception. A returning value is the value of the first parameter (origin pull domain) you provided to [[SoftLayer_Network_ContentDelivery_Account::createOriginPullRule|createOriginPullRule]] method. See Error Handling section below for possible errors.
3309func (r Network_ContentDelivery_Account) GetOriginPullUrl() (resp string, err error) {
3310	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getOriginPullUrl", nil, &r.Options, &resp)
3311	return
3312}
3313
3314// This method returns an array of CDN POPs (Points of Presence) object. [[SoftLayer_Container_Network_ContentDelivery_PointsOfPresence|POP object]] object contains the POP id and name.
3315func (r Network_ContentDelivery_Account) GetPopNames() (resp []datatypes.Container_Network_ContentDelivery_PointsOfPresence, err error) {
3316	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getPopNames", nil, &r.Options, &resp)
3317	return
3318}
3319
3320// Retrieve Indicates if customer is allowed to access the CDN provider's management portal.
3321func (r Network_ContentDelivery_Account) GetProviderPortalAccessFlag() (resp bool, err error) {
3322	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getProviderPortalAccessFlag", nil, &r.Options, &resp)
3323	return
3324}
3325
3326// This method returns your login credentials to the CDN provider portal.
3327func (r Network_ContentDelivery_Account) GetProviderPortalCredentials() (resp datatypes.Container_Network_Authentication_Data, err error) {
3328	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getProviderPortalCredentials", nil, &r.Options, &resp)
3329	return
3330}
3331
3332// Retrieve A CDN account's status presented in a more detailed data type.
3333func (r Network_ContentDelivery_Account) GetStatus() (resp datatypes.Network_ContentDelivery_Account_Status, err error) {
3334	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getStatus", nil, &r.Options, &resp)
3335	return
3336}
3337
3338// This method returns all token authentication directories.
3339func (r Network_ContentDelivery_Account) GetTokenAuthenticationDirectories() (resp []datatypes.Container_Network_Directory_Listing, err error) {
3340	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getTokenAuthenticationDirectories", nil, &r.Options, &resp)
3341	return
3342}
3343
3344// Retrieve Indicates if the token authentication service is enabled or not.
3345func (r Network_ContentDelivery_Account) GetTokenAuthenticationEnabledFlag() (resp bool, err error) {
3346	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getTokenAuthenticationEnabledFlag", nil, &r.Options, &resp)
3347	return
3348}
3349
3350// This method returns your login credentials to the public CDN FTP.
3351func (r Network_ContentDelivery_Account) GetVendorFtpAttributes() (resp datatypes.Container_Network_Authentication_Data, err error) {
3352	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "getVendorFtpAttributes", nil, &r.Options, &resp)
3353	return
3354}
3355
3356// Whether you are using Origin Pull or POP Pull, your content will be transferred and cached on CDN POP (node) on the initial request. If you wish to load your content to all CDN POPs, you may use this service to accomplish that. Please keep in mind, it will take about 10 to 15 minutes to load content to all CDN POPs depending on the load.
3357//
3358// You can only specify 5 URLs at a time.
3359func (r Network_ContentDelivery_Account) LoadContent(objectUrls []string) (resp bool, err error) {
3360	params := []interface{}{
3361		objectUrls,
3362	}
3363	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "loadContent", params, &r.Options, &resp)
3364	return
3365}
3366
3367// HTTP Compression is used to reduce the bandwidth used to deliver an object. You can specify list of content types that needs to be compressed. If you omit the content type parameter, these values will be used by default:
3368// * text/plain
3369// * text/html
3370// * text/css
3371// * application/x-javascript
3372// * text/javascript
3373//
3374//
3375// Note that files larger than 1MB will never be served with compression regardless of whether their content-type is enabled for compression.
3376func (r Network_ContentDelivery_Account) ManageHttpCompression(enableFlag *bool, mimeTypes []string) (resp bool, err error) {
3377	params := []interface{}{
3378		enableFlag,
3379		mimeTypes,
3380	}
3381	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "manageHttpCompression", params, &r.Options, &resp)
3382	return
3383}
3384
3385// CDN's cache mechanism works similar to that of web browsers. When CDN pulls a file from your origin server or from your CDN FTP directory for the first time, it creates a cache file on itself. CDN re-uses cache files to save trips to the origin server and thus it speeds up delivering content to visitors. This method removes cached objects on every server in the CDN network. If you see a stale content or a file that send an incorrect header, purging cache will correct the issue. CDN will pull a fresh content from your origin server or your CDN FTP.
3386//
3387// This method takes an array of URLs. A URL must be exact as it is being requested by clients. An example URLs may look like this:
3388// * http://<your CDN username>.http.cdn.softlayer.net/mycdnname/some_file.txt
3389//
3390//
3391// If you created a CNAME that points to CDN host, use your CNAME URL instead.
3392// * http://image.mydomain.com/some_file.txt
3393//
3394//
3395// It takes approximately 3-5 minutes for the system to delete the requested object on every CDN server from submission .
3396func (r Network_ContentDelivery_Account) PurgeCache(objectUrls []string) (resp []datatypes.Container_Network_ContentDelivery_PurgeService_Response, err error) {
3397	params := []interface{}{
3398		objectUrls,
3399	}
3400	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "purgeCache", params, &r.Options, &resp)
3401	return
3402}
3403
3404// If you want to turn off the token authentication, use this method to remove a directory from the token authentication directory.
3405func (r Network_ContentDelivery_Account) RemoveAuthenticationDirectory(directory *string, mediaType *string) (resp bool, err error) {
3406	params := []interface{}{
3407		directory,
3408		mediaType,
3409	}
3410	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "removeAuthenticationDirectory", params, &r.Options, &resp)
3411	return
3412}
3413
3414// With this method you can remove a file or a directory on the CDN FTP server. If a source name ends with a slash (/), this method assumes it is a directory.  A source name must be an absolute path. It does not check to see if a file or directory exists before deletion. You can only remove files and directories that are in /media folder. Be sure to catch an exception for the detail on an error.
3415func (r Network_ContentDelivery_Account) RemoveFile(source *string) (resp bool, err error) {
3416	params := []interface{}{
3417		source,
3418	}
3419	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "removeFile", params, &r.Options, &resp)
3420	return
3421}
3422
3423// CDN servers will invoke a Web Service method to validate a content authentication token. CDN uses the default Web Service provided by SoftLayer to validate a token. A customer can use their own implementation of the token authentication Web Service. A valid SOAP WSDL will look similar [https://manage.softlayer.com/CdnService/authenticationWsdlExample/wsdl this].
3424func (r Network_ContentDelivery_Account) SetAuthenticationServiceEndpoint(webserviceEndpoint *string, protocol *string) (resp bool, err error) {
3425	params := []interface{}{
3426		webserviceEndpoint,
3427		protocol,
3428	}
3429	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "setAuthenticationServiceEndpoint", params, &r.Options, &resp)
3430	return
3431}
3432
3433// With a CDN FTP, you can upload contents to CDN host server. Once you uploaded contents, your contents will be fetched by the CDN POP (Points of Presence) servers as needed.
3434//
3435// CDN supports three protocols: Flash streaming (rtmp), Window Media streaming (mms) and HTTP. Once you log in to the CDN FTP server, you will see three directories under /media directory.  You have to upload your contents to a proper directory to use the different services. Refer to [[SoftLayer_Network_ContentDelivery_Account|CDN Account]] service overview for details on the CDN FTP server. "gzip" is supported if you compress your content before uploading and you have to change its extension to ".gz".  [SoftLayer_Network_ContentDelivery_Account::createOriginPullRule|Origin Pull] also supports "gzip" contents and you don't have to modify file extension with Origin Pull. Once uploaded, your contents should be available almost immediately to visitors.  However, it may take about 30 minutes to propagate files to the entire CDN network after uploading. For more details, visit our [hhttp://knowledgelayer.softlayer.com/topic/cdn KnowledgeLayer]
3436//
3437// This method updates the password for your CDN FTP account on the ftp.cdnlayer.service.softlayer.com server. You must provide an alphanumeric value for a new password.  - _ ! % # $ ^ & * characters are allowed beside an alphanumeric string.
3438func (r Network_ContentDelivery_Account) SetFtpPassword(newPassword *string) (resp bool, err error) {
3439	params := []interface{}{
3440		newPassword,
3441	}
3442	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "setFtpPassword", params, &r.Options, &resp)
3443	return
3444}
3445
3446// This method allows you to edit CDN account note. The maximum length for CDN account note is 30 characters.
3447func (r Network_ContentDelivery_Account) UpdateNote(note *string) (resp bool, err error) {
3448	params := []interface{}{
3449		note,
3450	}
3451	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "updateNote", params, &r.Options, &resp)
3452	return
3453}
3454
3455// With this method, you can upload binary data to the CDN FTP server.  This method supports files up to 20 Mega Bytes. You need to use the CDN FTP (ftp.cdnlayer.service.softlayer.com) to upload files larger than 20 MB.  This method takes [[SoftLayer_Container_Utility_File_Attachment]] a first parameter. A target name must be an absolute path and you can only upload a file to a directory that is in /media folder.
3456func (r Network_ContentDelivery_Account) UploadStream(source *datatypes.Container_Utility_File_Attachment, target *string) (resp bool, err error) {
3457	params := []interface{}{
3458		source,
3459		target,
3460	}
3461	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Account", "uploadStream", params, &r.Options, &resp)
3462	return
3463}
3464
3465// The SoftLayer_Network_ContentDelivery_Authentication_Address data type models an individual IP address that CDN allow or deny access from.
3466type Network_ContentDelivery_Authentication_Address struct {
3467	Session *session.Session
3468	Options sl.Options
3469}
3470
3471// GetNetworkContentDeliveryAuthenticationAddressService returns an instance of the Network_ContentDelivery_Authentication_Address SoftLayer service
3472func GetNetworkContentDeliveryAuthenticationAddressService(sess *session.Session) Network_ContentDelivery_Authentication_Address {
3473	return Network_ContentDelivery_Authentication_Address{Session: sess}
3474}
3475
3476func (r Network_ContentDelivery_Authentication_Address) Id(id int) Network_ContentDelivery_Authentication_Address {
3477	r.Options.Id = &id
3478	return r
3479}
3480
3481func (r Network_ContentDelivery_Authentication_Address) Mask(mask string) Network_ContentDelivery_Authentication_Address {
3482	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3483		mask = fmt.Sprintf("mask[%s]", mask)
3484	}
3485
3486	r.Options.Mask = mask
3487	return r
3488}
3489
3490func (r Network_ContentDelivery_Authentication_Address) Filter(filter string) Network_ContentDelivery_Authentication_Address {
3491	r.Options.Filter = filter
3492	return r
3493}
3494
3495func (r Network_ContentDelivery_Authentication_Address) Limit(limit int) Network_ContentDelivery_Authentication_Address {
3496	r.Options.Limit = &limit
3497	return r
3498}
3499
3500func (r Network_ContentDelivery_Authentication_Address) Offset(offset int) Network_ContentDelivery_Authentication_Address {
3501	r.Options.Offset = &offset
3502	return r
3503}
3504
3505// This method creates an authentication IP record.  Required parameters are
3506//
3507//
3508// * cdnAccountId - A CDN account id that belongs to your SoftLayer Account
3509// * ipAddress - An IP address or a IP range
3510// * accessType- It can be "ALLOW" or "DENY"
3511func (r Network_ContentDelivery_Authentication_Address) CreateObject(templateObject *datatypes.Network_ContentDelivery_Authentication_Address) (resp datatypes.Network_ContentDelivery_Authentication_Address, err error) {
3512	params := []interface{}{
3513		templateObject,
3514	}
3515	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Address", "createObject", params, &r.Options, &resp)
3516	return
3517}
3518
3519// This method deletes an authentication IP address.
3520func (r Network_ContentDelivery_Authentication_Address) DeleteObject() (resp bool, err error) {
3521	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Address", "deleteObject", nil, &r.Options, &resp)
3522	return
3523}
3524
3525// This method let you edit an authentication IP object by passing a modified object.
3526func (r Network_ContentDelivery_Authentication_Address) EditObject(templateObject *datatypes.Network_ContentDelivery_Authentication_Address) (resp bool, err error) {
3527	params := []interface{}{
3528		templateObject,
3529	}
3530	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Address", "editObject", params, &r.Options, &resp)
3531	return
3532}
3533
3534// getObject retrieves the SoftLayer_Network_ContentDelivery_Authentication_Address object whose ID number corresponds to the ID number of the initial parameter passed to the SoftLayer_Network_ContentDelivery_Authentication_Address service. You can only retrieve authentication IP addresses assigned to one of your CDN account.
3535func (r Network_ContentDelivery_Authentication_Address) GetObject() (resp datatypes.Network_ContentDelivery_Authentication_Address, err error) {
3536	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Address", "getObject", nil, &r.Options, &resp)
3537	return
3538}
3539
3540// The authentication IP address match occurs from the higher priority IP to the lower. This method will be helpful if you want to modify the order (priority) of the authentication IP addresses. You can use this method instead of editing individual authentication IP addresses.
3541//
3542// You can retrieve authentication IP address using [[SoftLayer_Network_ContentDelivery_Account::getAuthenticationIpAddresses|getAuthenticationIpAddresses]] method. Then, rearrange the authentication IP addresses and pass them to this method. When creating template objects as parameter, make sure to include the id of each authentication IP addresses. You must provide every authentication IP address.  New priorities will be assigned to each authentication IP addresses in the order of they are passed.
3543func (r Network_ContentDelivery_Authentication_Address) RearrangeAuthenticationIp(cdnAccountId *int, templateObjects []datatypes.Network_ContentDelivery_Authentication_Address) (resp bool, err error) {
3544	params := []interface{}{
3545		cdnAccountId,
3546		templateObjects,
3547	}
3548	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Address", "rearrangeAuthenticationIp", params, &r.Options, &resp)
3549	return
3550}
3551
3552// The SoftLayer_Network_ContentDelivery_Authentication_Address data type models an individual IP address that CDN allow or deny access from.
3553type Network_ContentDelivery_Authentication_Token struct {
3554	Session *session.Session
3555	Options sl.Options
3556}
3557
3558// GetNetworkContentDeliveryAuthenticationTokenService returns an instance of the Network_ContentDelivery_Authentication_Token SoftLayer service
3559func GetNetworkContentDeliveryAuthenticationTokenService(sess *session.Session) Network_ContentDelivery_Authentication_Token {
3560	return Network_ContentDelivery_Authentication_Token{Session: sess}
3561}
3562
3563func (r Network_ContentDelivery_Authentication_Token) Id(id int) Network_ContentDelivery_Authentication_Token {
3564	r.Options.Id = &id
3565	return r
3566}
3567
3568func (r Network_ContentDelivery_Authentication_Token) Mask(mask string) Network_ContentDelivery_Authentication_Token {
3569	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3570		mask = fmt.Sprintf("mask[%s]", mask)
3571	}
3572
3573	r.Options.Mask = mask
3574	return r
3575}
3576
3577func (r Network_ContentDelivery_Authentication_Token) Filter(filter string) Network_ContentDelivery_Authentication_Token {
3578	r.Options.Filter = filter
3579	return r
3580}
3581
3582func (r Network_ContentDelivery_Authentication_Token) Limit(limit int) Network_ContentDelivery_Authentication_Token {
3583	r.Options.Limit = &limit
3584	return r
3585}
3586
3587func (r Network_ContentDelivery_Authentication_Token) Offset(offset int) Network_ContentDelivery_Authentication_Token {
3588	r.Options.Offset = &offset
3589	return r
3590}
3591
3592// This method is deprecated! Use the [[SoftLayer_Network_ContentDelivery_Authentication_Token::getTimedToken|getTimedToken]] method.
3593//
3594// This method creates a managed authentication token. When passing a parameter, the only required value is your CDN account id which can be obtained from the [[SoftLayer_Account::getCdnAccounts|getCdnAccounts]] method. There are 3 optional parameters you can pass:
3595//
3596//
3597// * name - This helps you keep track of managed tokens.
3598// * referrer - If set, the token validation will check the client's referrer. Keep in mind, if a client doesn't have the referrer information, the token validation will fail.
3599// * clientIp - If set, the token validation will check the client's IP address.
3600//
3601//
3602func (r Network_ContentDelivery_Authentication_Token) CreateObject(templateObject *datatypes.Network_ContentDelivery_Authentication_Token) (resp datatypes.Network_ContentDelivery_Authentication_Token, err error) {
3603	params := []interface{}{
3604		templateObject,
3605	}
3606	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Token", "createObject", params, &r.Options, &resp)
3607	return
3608}
3609
3610// This method is deprecated!
3611//
3612// This method returns all managed tokens for a CDN account.
3613func (r Network_ContentDelivery_Authentication_Token) GetAllManagedTokens(cdnAccountId *int) (resp []datatypes.Network_ContentDelivery_Authentication_Token, err error) {
3614	params := []interface{}{
3615		cdnAccountId,
3616	}
3617	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Token", "getAllManagedTokens", params, &r.Options, &resp)
3618	return
3619}
3620
3621// This method is deprecated!
3622//
3623// getObject retrieves the SoftLayer_Network_ContentDelivery_Authentication_Token object whose ID number corresponds to the ID number of the initial parameter passed to the SoftLayer_Network_ContentDelivery_Authentication_Token service. You can only retrieve managed tokens assigned to one of your CDN account.
3624func (r Network_ContentDelivery_Authentication_Token) GetObject() (resp datatypes.Network_ContentDelivery_Authentication_Token, err error) {
3625	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Token", "getObject", nil, &r.Options, &resp)
3626	return
3627}
3628
3629// This method returns an authentication token that expires after the seconds you specify. You can provide number of seconds to manage the token life.  This parameter sets the expiration time for a token. A valid life time must be an integer between 60 and 604800 (1 week). A customer can also provide client ip and (or) referrer information.  If used, a client from the same IP and referrer can view the protected contents.
3630//
3631// A valid IP address must be an IPv4 format or an IP block. if you want to block access from IP 211.37.0.0/16, you can enter "211.37." instead. IP blocks can be specified in the manner of "8bit times n".
3632//
3633// The referrer is the URL of the previous webpage from which a link was followed.  A referrer should not include "http://" prefix and it can be maximum of 30 characters.
3634func (r Network_ContentDelivery_Authentication_Token) GetTimedToken(cdnAccountId *int, tokenLife *int, clientIp *string, referrer *string, mediaType *string) (resp string, err error) {
3635	params := []interface{}{
3636		cdnAccountId,
3637		tokenLife,
3638		clientIp,
3639		referrer,
3640		mediaType,
3641	}
3642	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Token", "getTimedToken", params, &r.Options, &resp)
3643	return
3644}
3645
3646// This method is deprecated!
3647//
3648// This method revokes all managed tokens belong to a CDN account.
3649func (r Network_ContentDelivery_Authentication_Token) RevokeAllManagedTokens(cdnAccountId *int) (resp bool, err error) {
3650	params := []interface{}{
3651		cdnAccountId,
3652	}
3653	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Token", "revokeAllManagedTokens", params, &r.Options, &resp)
3654	return
3655}
3656
3657// This method revokes all tokens belong to a CDN account.  Valid media types are "HTTP", "FLASH" and "WM".
3658func (r Network_ContentDelivery_Authentication_Token) RevokeAllTokens(cdnAccountId *int, mediaType *string) (resp bool, err error) {
3659	params := []interface{}{
3660		cdnAccountId,
3661		mediaType,
3662	}
3663	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Token", "revokeAllTokens", params, &r.Options, &resp)
3664	return
3665}
3666
3667// This method is deprecated!
3668//
3669// Revokes a managed token. If you revoke a token, the token will be removed from SoftLayer's system but it will not remove your content on CDN FTP. The content that requires token validation will not be available to the visitor who is using a revoked token.
3670func (r Network_ContentDelivery_Authentication_Token) RevokeManagedToken(cdnAccountId *int, token *string) (resp bool, err error) {
3671	params := []interface{}{
3672		cdnAccountId,
3673		token,
3674	}
3675	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Token", "revokeManagedToken", params, &r.Options, &resp)
3676	return
3677}
3678
3679// This method is deprecated!
3680//
3681// Deletes multiple managed tokens
3682func (r Network_ContentDelivery_Authentication_Token) RevokeManagedTokens(templateObjects []datatypes.Network_ContentDelivery_Authentication_Token) (resp bool, err error) {
3683	params := []interface{}{
3684		templateObjects,
3685	}
3686	err = r.Session.DoRequest("SoftLayer_Network_ContentDelivery_Authentication_Token", "revokeManagedTokens", params, &r.Options, &resp)
3687	return
3688}
3689
3690// The SoftLayer_Network_Customer_Subnet data type contains general information relating to a single customer subnet (remote).
3691type Network_Customer_Subnet struct {
3692	Session *session.Session
3693	Options sl.Options
3694}
3695
3696// GetNetworkCustomerSubnetService returns an instance of the Network_Customer_Subnet SoftLayer service
3697func GetNetworkCustomerSubnetService(sess *session.Session) Network_Customer_Subnet {
3698	return Network_Customer_Subnet{Session: sess}
3699}
3700
3701func (r Network_Customer_Subnet) Id(id int) Network_Customer_Subnet {
3702	r.Options.Id = &id
3703	return r
3704}
3705
3706func (r Network_Customer_Subnet) Mask(mask string) Network_Customer_Subnet {
3707	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3708		mask = fmt.Sprintf("mask[%s]", mask)
3709	}
3710
3711	r.Options.Mask = mask
3712	return r
3713}
3714
3715func (r Network_Customer_Subnet) Filter(filter string) Network_Customer_Subnet {
3716	r.Options.Filter = filter
3717	return r
3718}
3719
3720func (r Network_Customer_Subnet) Limit(limit int) Network_Customer_Subnet {
3721	r.Options.Limit = &limit
3722	return r
3723}
3724
3725func (r Network_Customer_Subnet) Offset(offset int) Network_Customer_Subnet {
3726	r.Options.Offset = &offset
3727	return r
3728}
3729
3730// For IPSec network tunnels, customers can create their local subnets using this method.  After the customer is created successfully, the customer subnet can then be added to the IPSec network tunnel.
3731func (r Network_Customer_Subnet) CreateObject(templateObject *datatypes.Network_Customer_Subnet) (resp datatypes.Network_Customer_Subnet, err error) {
3732	params := []interface{}{
3733		templateObject,
3734	}
3735	err = r.Session.DoRequest("SoftLayer_Network_Customer_Subnet", "createObject", params, &r.Options, &resp)
3736	return
3737}
3738
3739// Retrieve All ip addresses associated with a subnet.
3740func (r Network_Customer_Subnet) GetIpAddresses() (resp []datatypes.Network_Customer_Subnet_IpAddress, err error) {
3741	err = r.Session.DoRequest("SoftLayer_Network_Customer_Subnet", "getIpAddresses", nil, &r.Options, &resp)
3742	return
3743}
3744
3745// getObject retrieves the SoftLayer_Network_Customer_Subnet object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Customer_Subnet service. You can only retrieve the subnet whose account matches the account that your portal user is assigned to.
3746func (r Network_Customer_Subnet) GetObject() (resp datatypes.Network_Customer_Subnet, err error) {
3747	err = r.Session.DoRequest("SoftLayer_Network_Customer_Subnet", "getObject", nil, &r.Options, &resp)
3748	return
3749}
3750
3751// The SoftLayer_Network_DirectLink_Location presents a structure containing attributes of a Direct Link location, and its related object SoftLayer location.
3752type Network_DirectLink_Location struct {
3753	Session *session.Session
3754	Options sl.Options
3755}
3756
3757// GetNetworkDirectLinkLocationService returns an instance of the Network_DirectLink_Location SoftLayer service
3758func GetNetworkDirectLinkLocationService(sess *session.Session) Network_DirectLink_Location {
3759	return Network_DirectLink_Location{Session: sess}
3760}
3761
3762func (r Network_DirectLink_Location) Id(id int) Network_DirectLink_Location {
3763	r.Options.Id = &id
3764	return r
3765}
3766
3767func (r Network_DirectLink_Location) Mask(mask string) Network_DirectLink_Location {
3768	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3769		mask = fmt.Sprintf("mask[%s]", mask)
3770	}
3771
3772	r.Options.Mask = mask
3773	return r
3774}
3775
3776func (r Network_DirectLink_Location) Filter(filter string) Network_DirectLink_Location {
3777	r.Options.Filter = filter
3778	return r
3779}
3780
3781func (r Network_DirectLink_Location) Limit(limit int) Network_DirectLink_Location {
3782	r.Options.Limit = &limit
3783	return r
3784}
3785
3786func (r Network_DirectLink_Location) Offset(offset int) Network_DirectLink_Location {
3787	r.Options.Offset = &offset
3788	return r
3789}
3790
3791// Return all existing Direct Link location.
3792func (r Network_DirectLink_Location) GetAllObjects() (resp []datatypes.Network_DirectLink_Location, err error) {
3793	err = r.Session.DoRequest("SoftLayer_Network_DirectLink_Location", "getAllObjects", nil, &r.Options, &resp)
3794	return
3795}
3796
3797// Retrieve The location of Direct Link facility.
3798func (r Network_DirectLink_Location) GetLocation() (resp datatypes.Location, err error) {
3799	err = r.Session.DoRequest("SoftLayer_Network_DirectLink_Location", "getLocation", nil, &r.Options, &resp)
3800	return
3801}
3802
3803// no documentation yet
3804func (r Network_DirectLink_Location) GetObject() (resp datatypes.Network_DirectLink_Location, err error) {
3805	err = r.Session.DoRequest("SoftLayer_Network_DirectLink_Location", "getObject", nil, &r.Options, &resp)
3806	return
3807}
3808
3809// Retrieve The Id of Direct Link provider.
3810func (r Network_DirectLink_Location) GetProvider() (resp datatypes.Network_DirectLink_Provider, err error) {
3811	err = r.Session.DoRequest("SoftLayer_Network_DirectLink_Location", "getProvider", nil, &r.Options, &resp)
3812	return
3813}
3814
3815// Retrieve The Id of Direct Link service type.
3816func (r Network_DirectLink_Location) GetServiceType() (resp datatypes.Network_DirectLink_ServiceType, err error) {
3817	err = r.Session.DoRequest("SoftLayer_Network_DirectLink_Location", "getServiceType", nil, &r.Options, &resp)
3818	return
3819}
3820
3821// The SoftLayer_Network_DirectLink_Provider presents a structure containing attributes of a Direct Link provider.
3822type Network_DirectLink_Provider struct {
3823	Session *session.Session
3824	Options sl.Options
3825}
3826
3827// GetNetworkDirectLinkProviderService returns an instance of the Network_DirectLink_Provider SoftLayer service
3828func GetNetworkDirectLinkProviderService(sess *session.Session) Network_DirectLink_Provider {
3829	return Network_DirectLink_Provider{Session: sess}
3830}
3831
3832func (r Network_DirectLink_Provider) Id(id int) Network_DirectLink_Provider {
3833	r.Options.Id = &id
3834	return r
3835}
3836
3837func (r Network_DirectLink_Provider) Mask(mask string) Network_DirectLink_Provider {
3838	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3839		mask = fmt.Sprintf("mask[%s]", mask)
3840	}
3841
3842	r.Options.Mask = mask
3843	return r
3844}
3845
3846func (r Network_DirectLink_Provider) Filter(filter string) Network_DirectLink_Provider {
3847	r.Options.Filter = filter
3848	return r
3849}
3850
3851func (r Network_DirectLink_Provider) Limit(limit int) Network_DirectLink_Provider {
3852	r.Options.Limit = &limit
3853	return r
3854}
3855
3856func (r Network_DirectLink_Provider) Offset(offset int) Network_DirectLink_Provider {
3857	r.Options.Offset = &offset
3858	return r
3859}
3860
3861// no documentation yet
3862func (r Network_DirectLink_Provider) GetObject() (resp datatypes.Network_DirectLink_Provider, err error) {
3863	err = r.Session.DoRequest("SoftLayer_Network_DirectLink_Provider", "getObject", nil, &r.Options, &resp)
3864	return
3865}
3866
3867// The SoftLayer_Network_DirectLink_ServiceType presents a structure containing attributes of a Direct Link Service Type.
3868type Network_DirectLink_ServiceType struct {
3869	Session *session.Session
3870	Options sl.Options
3871}
3872
3873// GetNetworkDirectLinkServiceTypeService returns an instance of the Network_DirectLink_ServiceType SoftLayer service
3874func GetNetworkDirectLinkServiceTypeService(sess *session.Session) Network_DirectLink_ServiceType {
3875	return Network_DirectLink_ServiceType{Session: sess}
3876}
3877
3878func (r Network_DirectLink_ServiceType) Id(id int) Network_DirectLink_ServiceType {
3879	r.Options.Id = &id
3880	return r
3881}
3882
3883func (r Network_DirectLink_ServiceType) Mask(mask string) Network_DirectLink_ServiceType {
3884	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3885		mask = fmt.Sprintf("mask[%s]", mask)
3886	}
3887
3888	r.Options.Mask = mask
3889	return r
3890}
3891
3892func (r Network_DirectLink_ServiceType) Filter(filter string) Network_DirectLink_ServiceType {
3893	r.Options.Filter = filter
3894	return r
3895}
3896
3897func (r Network_DirectLink_ServiceType) Limit(limit int) Network_DirectLink_ServiceType {
3898	r.Options.Limit = &limit
3899	return r
3900}
3901
3902func (r Network_DirectLink_ServiceType) Offset(offset int) Network_DirectLink_ServiceType {
3903	r.Options.Offset = &offset
3904	return r
3905}
3906
3907// no documentation yet
3908func (r Network_DirectLink_ServiceType) GetObject() (resp datatypes.Network_DirectLink_ServiceType, err error) {
3909	err = r.Session.DoRequest("SoftLayer_Network_DirectLink_ServiceType", "getObject", nil, &r.Options, &resp)
3910	return
3911}
3912
3913// The SoftLayer_Network_Firewall_AccessControlList data type contains general information relating to a single SoftLayer firewall access to controll list. This is the object which ties the running rules to a specific context. Use the [[SoftLayer Network Firewall Template]] service to pull SoftLayer recommended rule set templates. Use the [[SoftLayer Network Firewall Update Request]] service to submit a firewall update request.
3914type Network_Firewall_AccessControlList struct {
3915	Session *session.Session
3916	Options sl.Options
3917}
3918
3919// GetNetworkFirewallAccessControlListService returns an instance of the Network_Firewall_AccessControlList SoftLayer service
3920func GetNetworkFirewallAccessControlListService(sess *session.Session) Network_Firewall_AccessControlList {
3921	return Network_Firewall_AccessControlList{Session: sess}
3922}
3923
3924func (r Network_Firewall_AccessControlList) Id(id int) Network_Firewall_AccessControlList {
3925	r.Options.Id = &id
3926	return r
3927}
3928
3929func (r Network_Firewall_AccessControlList) Mask(mask string) Network_Firewall_AccessControlList {
3930	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3931		mask = fmt.Sprintf("mask[%s]", mask)
3932	}
3933
3934	r.Options.Mask = mask
3935	return r
3936}
3937
3938func (r Network_Firewall_AccessControlList) Filter(filter string) Network_Firewall_AccessControlList {
3939	r.Options.Filter = filter
3940	return r
3941}
3942
3943func (r Network_Firewall_AccessControlList) Limit(limit int) Network_Firewall_AccessControlList {
3944	r.Options.Limit = &limit
3945	return r
3946}
3947
3948func (r Network_Firewall_AccessControlList) Offset(offset int) Network_Firewall_AccessControlList {
3949	r.Options.Offset = &offset
3950	return r
3951}
3952
3953// Retrieve The update requests made for this firewall.
3954func (r Network_Firewall_AccessControlList) GetNetworkFirewallUpdateRequests() (resp []datatypes.Network_Firewall_Update_Request, err error) {
3955	err = r.Session.DoRequest("SoftLayer_Network_Firewall_AccessControlList", "getNetworkFirewallUpdateRequests", nil, &r.Options, &resp)
3956	return
3957}
3958
3959// Retrieve
3960func (r Network_Firewall_AccessControlList) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
3961	err = r.Session.DoRequest("SoftLayer_Network_Firewall_AccessControlList", "getNetworkVlan", nil, &r.Options, &resp)
3962	return
3963}
3964
3965// getObject returns a SoftLayer_Network_Firewall_AccessControlList object. You can only get objects for servers attached to your account that have a network firewall enabled.
3966func (r Network_Firewall_AccessControlList) GetObject() (resp datatypes.Network_Firewall_AccessControlList, err error) {
3967	err = r.Session.DoRequest("SoftLayer_Network_Firewall_AccessControlList", "getObject", nil, &r.Options, &resp)
3968	return
3969}
3970
3971// Retrieve The currently running rule set of this context access control list firewall.
3972func (r Network_Firewall_AccessControlList) GetRules() (resp []datatypes.Network_Vlan_Firewall_Rule, err error) {
3973	err = r.Session.DoRequest("SoftLayer_Network_Firewall_AccessControlList", "getRules", nil, &r.Options, &resp)
3974	return
3975}
3976
3977// The SoftLayer_Network_Firewall_Interface data type contains general information relating to a single SoftLayer firewall interface. This is the object which ties the firewall context access control list to a firewall. Use the [[SoftLayer Network Firewall Template]] service to pull SoftLayer recommended rule set templates. Use the [[SoftLayer Network Firewall Update Request]] service to submit a firewall update request.
3978type Network_Firewall_Interface struct {
3979	Session *session.Session
3980	Options sl.Options
3981}
3982
3983// GetNetworkFirewallInterfaceService returns an instance of the Network_Firewall_Interface SoftLayer service
3984func GetNetworkFirewallInterfaceService(sess *session.Session) Network_Firewall_Interface {
3985	return Network_Firewall_Interface{Session: sess}
3986}
3987
3988func (r Network_Firewall_Interface) Id(id int) Network_Firewall_Interface {
3989	r.Options.Id = &id
3990	return r
3991}
3992
3993func (r Network_Firewall_Interface) Mask(mask string) Network_Firewall_Interface {
3994	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
3995		mask = fmt.Sprintf("mask[%s]", mask)
3996	}
3997
3998	r.Options.Mask = mask
3999	return r
4000}
4001
4002func (r Network_Firewall_Interface) Filter(filter string) Network_Firewall_Interface {
4003	r.Options.Filter = filter
4004	return r
4005}
4006
4007func (r Network_Firewall_Interface) Limit(limit int) Network_Firewall_Interface {
4008	r.Options.Limit = &limit
4009	return r
4010}
4011
4012func (r Network_Firewall_Interface) Offset(offset int) Network_Firewall_Interface {
4013	r.Options.Offset = &offset
4014	return r
4015}
4016
4017// Retrieve
4018func (r Network_Firewall_Interface) GetFirewallContextAccessControlLists() (resp []datatypes.Network_Firewall_AccessControlList, err error) {
4019	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Interface", "getFirewallContextAccessControlLists", nil, &r.Options, &resp)
4020	return
4021}
4022
4023// Retrieve
4024func (r Network_Firewall_Interface) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
4025	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Interface", "getNetworkVlan", nil, &r.Options, &resp)
4026	return
4027}
4028
4029// getObject returns a SoftLayer_Network_Firewall_Interface object. You can only get objects for servers attached to your account that have a network firewall enabled.
4030func (r Network_Firewall_Interface) GetObject() (resp datatypes.Network_Firewall_Interface, err error) {
4031	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Interface", "getObject", nil, &r.Options, &resp)
4032	return
4033}
4034
4035// no documentation yet
4036type Network_Firewall_Module_Context_Interface struct {
4037	Session *session.Session
4038	Options sl.Options
4039}
4040
4041// GetNetworkFirewallModuleContextInterfaceService returns an instance of the Network_Firewall_Module_Context_Interface SoftLayer service
4042func GetNetworkFirewallModuleContextInterfaceService(sess *session.Session) Network_Firewall_Module_Context_Interface {
4043	return Network_Firewall_Module_Context_Interface{Session: sess}
4044}
4045
4046func (r Network_Firewall_Module_Context_Interface) Id(id int) Network_Firewall_Module_Context_Interface {
4047	r.Options.Id = &id
4048	return r
4049}
4050
4051func (r Network_Firewall_Module_Context_Interface) Mask(mask string) Network_Firewall_Module_Context_Interface {
4052	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4053		mask = fmt.Sprintf("mask[%s]", mask)
4054	}
4055
4056	r.Options.Mask = mask
4057	return r
4058}
4059
4060func (r Network_Firewall_Module_Context_Interface) Filter(filter string) Network_Firewall_Module_Context_Interface {
4061	r.Options.Filter = filter
4062	return r
4063}
4064
4065func (r Network_Firewall_Module_Context_Interface) Limit(limit int) Network_Firewall_Module_Context_Interface {
4066	r.Options.Limit = &limit
4067	return r
4068}
4069
4070func (r Network_Firewall_Module_Context_Interface) Offset(offset int) Network_Firewall_Module_Context_Interface {
4071	r.Options.Offset = &offset
4072	return r
4073}
4074
4075// Retrieve
4076func (r Network_Firewall_Module_Context_Interface) GetFirewallContextAccessControlLists() (resp []datatypes.Network_Firewall_AccessControlList, err error) {
4077	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Module_Context_Interface", "getFirewallContextAccessControlLists", nil, &r.Options, &resp)
4078	return
4079}
4080
4081// Retrieve
4082func (r Network_Firewall_Module_Context_Interface) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
4083	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Module_Context_Interface", "getNetworkVlan", nil, &r.Options, &resp)
4084	return
4085}
4086
4087// no documentation yet
4088func (r Network_Firewall_Module_Context_Interface) GetObject() (resp datatypes.Network_Firewall_Module_Context_Interface, err error) {
4089	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Module_Context_Interface", "getObject", nil, &r.Options, &resp)
4090	return
4091}
4092
4093// The SoftLayer_Network_Firewall_Template type contains general information for a SoftLayer network firewall template.
4094//
4095// Firewall templates are recommend rule sets for use with SoftLayer Hardware Firewall (Dedicated).  These optimized templates are designed to balance security restriction with application availability.  The templates given may be altered to provide custom network security, or may be used as-is for basic security. At least one rule set MUST be applied for the firewall to block traffic. Use the [[SoftLayer Network Component Firewall]] service to view current rules. Use the [[SoftLayer Network Firewall Update Request]] service to submit a firewall update request.
4096type Network_Firewall_Template struct {
4097	Session *session.Session
4098	Options sl.Options
4099}
4100
4101// GetNetworkFirewallTemplateService returns an instance of the Network_Firewall_Template SoftLayer service
4102func GetNetworkFirewallTemplateService(sess *session.Session) Network_Firewall_Template {
4103	return Network_Firewall_Template{Session: sess}
4104}
4105
4106func (r Network_Firewall_Template) Id(id int) Network_Firewall_Template {
4107	r.Options.Id = &id
4108	return r
4109}
4110
4111func (r Network_Firewall_Template) Mask(mask string) Network_Firewall_Template {
4112	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4113		mask = fmt.Sprintf("mask[%s]", mask)
4114	}
4115
4116	r.Options.Mask = mask
4117	return r
4118}
4119
4120func (r Network_Firewall_Template) Filter(filter string) Network_Firewall_Template {
4121	r.Options.Filter = filter
4122	return r
4123}
4124
4125func (r Network_Firewall_Template) Limit(limit int) Network_Firewall_Template {
4126	r.Options.Limit = &limit
4127	return r
4128}
4129
4130func (r Network_Firewall_Template) Offset(offset int) Network_Firewall_Template {
4131	r.Options.Offset = &offset
4132	return r
4133}
4134
4135// Get all available firewall template objects.
4136//
4137// ''getAllObjects'' returns an array of SoftLayer_Network_Firewall_Template objects upon success.
4138func (r Network_Firewall_Template) GetAllObjects() (resp []datatypes.Network_Firewall_Template, err error) {
4139	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Template", "getAllObjects", nil, &r.Options, &resp)
4140	return
4141}
4142
4143// getObject returns a SoftLayer_Network_Firewall_Template object. You can retrieve all available firewall templates. getAllObjects returns an array of all available SoftLayer_Network_Firewall_Template objects. You can use these templates to generate a [[SoftLayer Network Firewall Update Request]].
4144//
4145// @SLDNDocumentation Service See Also SoftLayer_Network_Firewall_Update_Request
4146func (r Network_Firewall_Template) GetObject() (resp datatypes.Network_Firewall_Template, err error) {
4147	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Template", "getObject", nil, &r.Options, &resp)
4148	return
4149}
4150
4151// Retrieve The rule set that belongs to this firewall rules template.
4152func (r Network_Firewall_Template) GetRules() (resp []datatypes.Network_Firewall_Template_Rule, err error) {
4153	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Template", "getRules", nil, &r.Options, &resp)
4154	return
4155}
4156
4157// The SoftLayer_Network_Firewall_Update_Request data type contains information relating to a SoftLayer network firewall update request. Use the [[SoftLayer Network Component Firewall]] service to view current rules. Use the [[SoftLayer Network Firewall Template]] service to pull SoftLayer recommended rule set templates.
4158type Network_Firewall_Update_Request struct {
4159	Session *session.Session
4160	Options sl.Options
4161}
4162
4163// GetNetworkFirewallUpdateRequestService returns an instance of the Network_Firewall_Update_Request SoftLayer service
4164func GetNetworkFirewallUpdateRequestService(sess *session.Session) Network_Firewall_Update_Request {
4165	return Network_Firewall_Update_Request{Session: sess}
4166}
4167
4168func (r Network_Firewall_Update_Request) Id(id int) Network_Firewall_Update_Request {
4169	r.Options.Id = &id
4170	return r
4171}
4172
4173func (r Network_Firewall_Update_Request) Mask(mask string) Network_Firewall_Update_Request {
4174	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4175		mask = fmt.Sprintf("mask[%s]", mask)
4176	}
4177
4178	r.Options.Mask = mask
4179	return r
4180}
4181
4182func (r Network_Firewall_Update_Request) Filter(filter string) Network_Firewall_Update_Request {
4183	r.Options.Filter = filter
4184	return r
4185}
4186
4187func (r Network_Firewall_Update_Request) Limit(limit int) Network_Firewall_Update_Request {
4188	r.Options.Limit = &limit
4189	return r
4190}
4191
4192func (r Network_Firewall_Update_Request) Offset(offset int) Network_Firewall_Update_Request {
4193	r.Options.Offset = &offset
4194	return r
4195}
4196
4197// Create a new firewall update request. The SoftLayer_Network_Firewall_Update_Request object passed to this function must have at least one rule.
4198//
4199// ''createObject'' returns a Boolean ''true'' on successful object creation or ''false'' if your firewall update request was unable to be created.
4200func (r Network_Firewall_Update_Request) CreateObject(templateObject *datatypes.Network_Firewall_Update_Request) (resp datatypes.Network_Firewall_Update_Request, err error) {
4201	params := []interface{}{
4202		templateObject,
4203	}
4204	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "createObject", params, &r.Options, &resp)
4205	return
4206}
4207
4208// Retrieve The user that authorized this firewall update request.
4209func (r Network_Firewall_Update_Request) GetAuthorizingUser() (resp datatypes.User_Interface, err error) {
4210	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "getAuthorizingUser", nil, &r.Options, &resp)
4211	return
4212}
4213
4214// Get the possible attribute values for a firewall update request rule.  These are the valid values which may be submitted as rule parameters for a firewall update request.
4215//
4216// ''getFirewallUpdateRequestRuleAttributes'' returns a SoftLayer_Container_Utility_Network_Firewall_Rule_Attribute object upon success.
4217func (r Network_Firewall_Update_Request) GetFirewallUpdateRequestRuleAttributes() (resp datatypes.Container_Utility_Network_Firewall_Rule_Attribute, err error) {
4218	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "getFirewallUpdateRequestRuleAttributes", nil, &r.Options, &resp)
4219	return
4220}
4221
4222// Retrieve The downstream virtual server that the rule set will be applied to.
4223func (r Network_Firewall_Update_Request) GetGuest() (resp datatypes.Virtual_Guest, err error) {
4224	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "getGuest", nil, &r.Options, &resp)
4225	return
4226}
4227
4228// Retrieve The downstream server that the rule set will be applied to.
4229func (r Network_Firewall_Update_Request) GetHardware() (resp datatypes.Hardware, err error) {
4230	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "getHardware", nil, &r.Options, &resp)
4231	return
4232}
4233
4234// Retrieve The network component firewall that the rule set will be applied to.
4235func (r Network_Firewall_Update_Request) GetNetworkComponentFirewall() (resp datatypes.Network_Component_Firewall, err error) {
4236	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "getNetworkComponentFirewall", nil, &r.Options, &resp)
4237	return
4238}
4239
4240// ''getObject'' returns a SoftLayer_Network_Firewall_Update_Request object. You can only get historical objects for servers attached to your account that have a network firewall enabled. ''createObject'' inserts a new SoftLayer_Network_Firewall_Update_Request object. You can only insert requests for servers attached to your account that have a network firewall enabled. ''getFirewallUpdateRequestRuleAttributes'' Get the possible attribute values for a firewall update request rule.
4241func (r Network_Firewall_Update_Request) GetObject() (resp datatypes.Network_Firewall_Update_Request, err error) {
4242	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "getObject", nil, &r.Options, &resp)
4243	return
4244}
4245
4246// Retrieve The group of rules contained within the update request.
4247func (r Network_Firewall_Update_Request) GetRules() (resp []datatypes.Network_Firewall_Update_Request_Rule, err error) {
4248	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "getRules", nil, &r.Options, &resp)
4249	return
4250}
4251
4252// no documentation yet
4253func (r Network_Firewall_Update_Request) UpdateRuleNote(fwRule *datatypes.Network_Component_Firewall_Rule, note *string) (resp bool, err error) {
4254	params := []interface{}{
4255		fwRule,
4256		note,
4257	}
4258	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request", "updateRuleNote", params, &r.Options, &resp)
4259	return
4260}
4261
4262// The SoftLayer_Network_Firewall_Update_Request_Rule type contains information relating to a SoftLayer network firewall update request rule. This rule is a member of a [[SoftLayer Network Firewall Update Request]]. Use the [[SoftLayer Network Component Firewall]] service to view current rules. Use the [[SoftLayer Network Firewall Template]] service to pull SoftLayer recommended rule set templates.
4263type Network_Firewall_Update_Request_Rule struct {
4264	Session *session.Session
4265	Options sl.Options
4266}
4267
4268// GetNetworkFirewallUpdateRequestRuleService returns an instance of the Network_Firewall_Update_Request_Rule SoftLayer service
4269func GetNetworkFirewallUpdateRequestRuleService(sess *session.Session) Network_Firewall_Update_Request_Rule {
4270	return Network_Firewall_Update_Request_Rule{Session: sess}
4271}
4272
4273func (r Network_Firewall_Update_Request_Rule) Id(id int) Network_Firewall_Update_Request_Rule {
4274	r.Options.Id = &id
4275	return r
4276}
4277
4278func (r Network_Firewall_Update_Request_Rule) Mask(mask string) Network_Firewall_Update_Request_Rule {
4279	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4280		mask = fmt.Sprintf("mask[%s]", mask)
4281	}
4282
4283	r.Options.Mask = mask
4284	return r
4285}
4286
4287func (r Network_Firewall_Update_Request_Rule) Filter(filter string) Network_Firewall_Update_Request_Rule {
4288	r.Options.Filter = filter
4289	return r
4290}
4291
4292func (r Network_Firewall_Update_Request_Rule) Limit(limit int) Network_Firewall_Update_Request_Rule {
4293	r.Options.Limit = &limit
4294	return r
4295}
4296
4297func (r Network_Firewall_Update_Request_Rule) Offset(offset int) Network_Firewall_Update_Request_Rule {
4298	r.Options.Offset = &offset
4299	return r
4300}
4301
4302// Create a new firewall update request. The SoftLayer_Network_Firewall_Update_Request object passed to this function must have at least one rule.
4303//
4304// ''createObject'' returns a Boolean ''true'' on successful object creation or ''false'' if your firewall update request was unable to be created..
4305func (r Network_Firewall_Update_Request_Rule) CreateObject(templateObject *datatypes.Network_Firewall_Update_Request_Rule) (resp datatypes.Network_Firewall_Update_Request_Rule, err error) {
4306	params := []interface{}{
4307		templateObject,
4308	}
4309	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request_Rule", "createObject", params, &r.Options, &resp)
4310	return
4311}
4312
4313// Retrieve The update request that this rule belongs to.
4314func (r Network_Firewall_Update_Request_Rule) GetFirewallUpdateRequest() (resp datatypes.Network_Firewall_Update_Request, err error) {
4315	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request_Rule", "getFirewallUpdateRequest", nil, &r.Options, &resp)
4316	return
4317}
4318
4319// getObject returns a SoftLayer_Network_Firewall_Update_Request_Rule object. You can only get historical objects for servers attached to your account that have a network firewall enabled. createObject inserts a new SoftLayer_Network_Firewall_Update_Request_Rule object. Use the SoftLayer_Network_Firewall_Update_Request to create groups of rules for an update request.
4320func (r Network_Firewall_Update_Request_Rule) GetObject() (resp datatypes.Network_Firewall_Update_Request_Rule, err error) {
4321	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request_Rule", "getObject", nil, &r.Options, &resp)
4322	return
4323}
4324
4325// Validate the supplied firewall request rule against the object it will apply to. For IPv4 rules, pass in an instance of SoftLayer_Network_Firewall_Update_Request_Rule. for IPv6 rules, pass in an instance of SoftLayer_Network_Firewall_Update_Request_Rule_Version6. The ID of the applied to object can either be applyToComponentId (an ID of a SoftLayer_Network_Component_Firewall) or applyToAclId (an ID of a SoftLayer_Network_Firewall_Module_Context_Interface_AccessControlList). One, and only one, of applyToComponentId and applyToAclId can be specified.
4326//
4327// If validation is successful, nothing is returned. If validation is unsuccessful, an exception is thrown explaining the nature of the validation error.
4328func (r Network_Firewall_Update_Request_Rule) ValidateRule(rule *datatypes.Network_Firewall_Update_Request_Rule, applyToComponentId *int, applyToAclId *int) (err error) {
4329	var resp datatypes.Void
4330	params := []interface{}{
4331		rule,
4332		applyToComponentId,
4333		applyToAclId,
4334	}
4335	err = r.Session.DoRequest("SoftLayer_Network_Firewall_Update_Request_Rule", "validateRule", params, &r.Options, &resp)
4336	return
4337}
4338
4339// no documentation yet
4340type Network_Gateway struct {
4341	Session *session.Session
4342	Options sl.Options
4343}
4344
4345// GetNetworkGatewayService returns an instance of the Network_Gateway SoftLayer service
4346func GetNetworkGatewayService(sess *session.Session) Network_Gateway {
4347	return Network_Gateway{Session: sess}
4348}
4349
4350func (r Network_Gateway) Id(id int) Network_Gateway {
4351	r.Options.Id = &id
4352	return r
4353}
4354
4355func (r Network_Gateway) Mask(mask string) Network_Gateway {
4356	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4357		mask = fmt.Sprintf("mask[%s]", mask)
4358	}
4359
4360	r.Options.Mask = mask
4361	return r
4362}
4363
4364func (r Network_Gateway) Filter(filter string) Network_Gateway {
4365	r.Options.Filter = filter
4366	return r
4367}
4368
4369func (r Network_Gateway) Limit(limit int) Network_Gateway {
4370	r.Options.Limit = &limit
4371	return r
4372}
4373
4374func (r Network_Gateway) Offset(offset int) Network_Gateway {
4375	r.Options.Offset = &offset
4376	return r
4377}
4378
4379// Start the asynchronous process to bypass all VLANs. Any VLANs that are already bypassed will be ignored. The status field can be checked for progress.
4380func (r Network_Gateway) BypassAllVlans() (err error) {
4381	var resp datatypes.Void
4382	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "bypassAllVlans", nil, &r.Options, &resp)
4383	return
4384}
4385
4386// Start the asynchronous process to bypass the provided VLANs. The VLANs must already be attached. Any VLANs that are already bypassed will be ignored. The status field can be checked for progress.
4387func (r Network_Gateway) BypassVlans(vlans []datatypes.Network_Gateway_Vlan) (err error) {
4388	var resp datatypes.Void
4389	params := []interface{}{
4390		vlans,
4391	}
4392	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "bypassVlans", params, &r.Options, &resp)
4393	return
4394}
4395
4396// Create and return a new gateway. This object can be created with any number of members or VLANs, but they all must be in the same pod. By creating a gateway with members and/or VLANs attached, it is the equivalent of individually calling their createObject methods except this will start a single asynchronous process to setup the gateway. The status of this process can be checked using the status field.
4397func (r Network_Gateway) CreateObject(templateObject *datatypes.Network_Gateway) (resp datatypes.Network_Gateway, err error) {
4398	params := []interface{}{
4399		templateObject,
4400	}
4401	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "createObject", params, &r.Options, &resp)
4402	return
4403}
4404
4405// Edit this gateway. Currently, the only value that can be edited is the name.
4406func (r Network_Gateway) EditObject(templateObject *datatypes.Network_Gateway) (resp bool, err error) {
4407	params := []interface{}{
4408		templateObject,
4409	}
4410	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "editObject", params, &r.Options, &resp)
4411	return
4412}
4413
4414// Retrieve The account for this gateway.
4415func (r Network_Gateway) GetAccount() (resp datatypes.Account, err error) {
4416	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getAccount", nil, &r.Options, &resp)
4417	return
4418}
4419
4420// Retrieve All VLANs trunked to this gateway.
4421func (r Network_Gateway) GetInsideVlans() (resp []datatypes.Network_Gateway_Vlan, err error) {
4422	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getInsideVlans", nil, &r.Options, &resp)
4423	return
4424}
4425
4426// Retrieve The members for this gateway.
4427func (r Network_Gateway) GetMembers() (resp []datatypes.Network_Gateway_Member, err error) {
4428	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getMembers", nil, &r.Options, &resp)
4429	return
4430}
4431
4432// Retrieve The firewall associated with this gateway, if any.
4433func (r Network_Gateway) GetNetworkFirewall() (resp datatypes.Network_Vlan_Firewall, err error) {
4434	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getNetworkFirewall", nil, &r.Options, &resp)
4435	return
4436}
4437
4438// Retrieve Whether or not there is a firewall associated with this gateway.
4439func (r Network_Gateway) GetNetworkFirewallFlag() (resp bool, err error) {
4440	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getNetworkFirewallFlag", nil, &r.Options, &resp)
4441	return
4442}
4443
4444// no documentation yet
4445func (r Network_Gateway) GetObject() (resp datatypes.Network_Gateway, err error) {
4446	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getObject", nil, &r.Options, &resp)
4447	return
4448}
4449
4450// Get all VLANs that can become inside VLANs on this gateway. This means the VLAN must not already be an inside VLAN, on the same router as this gateway, not a gateway transit VLAN, and not firewalled.
4451func (r Network_Gateway) GetPossibleInsideVlans() (resp []datatypes.Network_Vlan, err error) {
4452	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getPossibleInsideVlans", nil, &r.Options, &resp)
4453	return
4454}
4455
4456// Retrieve The private gateway IP address.
4457func (r Network_Gateway) GetPrivateIpAddress() (resp datatypes.Network_Subnet_IpAddress, err error) {
4458	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getPrivateIpAddress", nil, &r.Options, &resp)
4459	return
4460}
4461
4462// Retrieve The private VLAN for accessing this gateway.
4463func (r Network_Gateway) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
4464	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getPrivateVlan", nil, &r.Options, &resp)
4465	return
4466}
4467
4468// Retrieve The public gateway IP address.
4469func (r Network_Gateway) GetPublicIpAddress() (resp datatypes.Network_Subnet_IpAddress, err error) {
4470	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getPublicIpAddress", nil, &r.Options, &resp)
4471	return
4472}
4473
4474// Retrieve The public gateway IPv6 address.
4475func (r Network_Gateway) GetPublicIpv6Address() (resp datatypes.Network_Subnet_IpAddress, err error) {
4476	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getPublicIpv6Address", nil, &r.Options, &resp)
4477	return
4478}
4479
4480// Retrieve The public VLAN for accessing this gateway.
4481func (r Network_Gateway) GetPublicVlan() (resp datatypes.Network_Vlan, err error) {
4482	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getPublicVlan", nil, &r.Options, &resp)
4483	return
4484}
4485
4486// Retrieve The current status of the gateway.
4487func (r Network_Gateway) GetStatus() (resp datatypes.Network_Gateway_Status, err error) {
4488	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "getStatus", nil, &r.Options, &resp)
4489	return
4490}
4491
4492// Start the asynchronous process to unbypass all VLANs. Any VLANs that are already unbypassed will be ignored. The status field can be checked for progress.
4493func (r Network_Gateway) UnbypassAllVlans() (err error) {
4494	var resp datatypes.Void
4495	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "unbypassAllVlans", nil, &r.Options, &resp)
4496	return
4497}
4498
4499// Start the asynchronous process to unbypass the provided VLANs. The VLANs must already be attached. Any VLANs that are already unbypassed will be ignored. The status field can be checked for progress.
4500func (r Network_Gateway) UnbypassVlans(vlans []datatypes.Network_Gateway_Vlan) (err error) {
4501	var resp datatypes.Void
4502	params := []interface{}{
4503		vlans,
4504	}
4505	err = r.Session.DoRequest("SoftLayer_Network_Gateway", "unbypassVlans", params, &r.Options, &resp)
4506	return
4507}
4508
4509// no documentation yet
4510type Network_Gateway_Member struct {
4511	Session *session.Session
4512	Options sl.Options
4513}
4514
4515// GetNetworkGatewayMemberService returns an instance of the Network_Gateway_Member SoftLayer service
4516func GetNetworkGatewayMemberService(sess *session.Session) Network_Gateway_Member {
4517	return Network_Gateway_Member{Session: sess}
4518}
4519
4520func (r Network_Gateway_Member) Id(id int) Network_Gateway_Member {
4521	r.Options.Id = &id
4522	return r
4523}
4524
4525func (r Network_Gateway_Member) Mask(mask string) Network_Gateway_Member {
4526	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4527		mask = fmt.Sprintf("mask[%s]", mask)
4528	}
4529
4530	r.Options.Mask = mask
4531	return r
4532}
4533
4534func (r Network_Gateway_Member) Filter(filter string) Network_Gateway_Member {
4535	r.Options.Filter = filter
4536	return r
4537}
4538
4539func (r Network_Gateway_Member) Limit(limit int) Network_Gateway_Member {
4540	r.Options.Limit = &limit
4541	return r
4542}
4543
4544func (r Network_Gateway_Member) Offset(offset int) Network_Gateway_Member {
4545	r.Options.Offset = &offset
4546	return r
4547}
4548
4549// Create a new hardware member on the gateway. This also asynchronously sets up the network for this member. Progress of this process can be monitored via the gateway status. All members created with this object must have no VLANs attached.
4550func (r Network_Gateway_Member) CreateObject(templateObject *datatypes.Network_Gateway_Member) (resp datatypes.Network_Gateway_Member, err error) {
4551	params := []interface{}{
4552		templateObject,
4553	}
4554	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Member", "createObject", params, &r.Options, &resp)
4555	return
4556}
4557
4558// Create multiple new hardware members on the gateway. This also asynchronously sets up the network for the members. Progress of this process can be monitored via the gateway status. All members created with this object must have no VLANs attached.
4559func (r Network_Gateway_Member) CreateObjects(templateObjects []datatypes.Network_Gateway_Member) (resp []datatypes.Network_Gateway_Member, err error) {
4560	params := []interface{}{
4561		templateObjects,
4562	}
4563	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Member", "createObjects", params, &r.Options, &resp)
4564	return
4565}
4566
4567// Retrieve The device for this member.
4568func (r Network_Gateway_Member) GetHardware() (resp datatypes.Hardware, err error) {
4569	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Member", "getHardware", nil, &r.Options, &resp)
4570	return
4571}
4572
4573// Retrieve The gateway this member belongs to.
4574func (r Network_Gateway_Member) GetNetworkGateway() (resp datatypes.Network_Gateway, err error) {
4575	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Member", "getNetworkGateway", nil, &r.Options, &resp)
4576	return
4577}
4578
4579// no documentation yet
4580func (r Network_Gateway_Member) GetObject() (resp datatypes.Network_Gateway_Member, err error) {
4581	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Member", "getObject", nil, &r.Options, &resp)
4582	return
4583}
4584
4585// no documentation yet
4586type Network_Gateway_Status struct {
4587	Session *session.Session
4588	Options sl.Options
4589}
4590
4591// GetNetworkGatewayStatusService returns an instance of the Network_Gateway_Status SoftLayer service
4592func GetNetworkGatewayStatusService(sess *session.Session) Network_Gateway_Status {
4593	return Network_Gateway_Status{Session: sess}
4594}
4595
4596func (r Network_Gateway_Status) Id(id int) Network_Gateway_Status {
4597	r.Options.Id = &id
4598	return r
4599}
4600
4601func (r Network_Gateway_Status) Mask(mask string) Network_Gateway_Status {
4602	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4603		mask = fmt.Sprintf("mask[%s]", mask)
4604	}
4605
4606	r.Options.Mask = mask
4607	return r
4608}
4609
4610func (r Network_Gateway_Status) Filter(filter string) Network_Gateway_Status {
4611	r.Options.Filter = filter
4612	return r
4613}
4614
4615func (r Network_Gateway_Status) Limit(limit int) Network_Gateway_Status {
4616	r.Options.Limit = &limit
4617	return r
4618}
4619
4620func (r Network_Gateway_Status) Offset(offset int) Network_Gateway_Status {
4621	r.Options.Offset = &offset
4622	return r
4623}
4624
4625// no documentation yet
4626func (r Network_Gateway_Status) GetObject() (resp datatypes.Network_Gateway_Status, err error) {
4627	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Status", "getObject", nil, &r.Options, &resp)
4628	return
4629}
4630
4631// no documentation yet
4632type Network_Gateway_Vlan struct {
4633	Session *session.Session
4634	Options sl.Options
4635}
4636
4637// GetNetworkGatewayVlanService returns an instance of the Network_Gateway_Vlan SoftLayer service
4638func GetNetworkGatewayVlanService(sess *session.Session) Network_Gateway_Vlan {
4639	return Network_Gateway_Vlan{Session: sess}
4640}
4641
4642func (r Network_Gateway_Vlan) Id(id int) Network_Gateway_Vlan {
4643	r.Options.Id = &id
4644	return r
4645}
4646
4647func (r Network_Gateway_Vlan) Mask(mask string) Network_Gateway_Vlan {
4648	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4649		mask = fmt.Sprintf("mask[%s]", mask)
4650	}
4651
4652	r.Options.Mask = mask
4653	return r
4654}
4655
4656func (r Network_Gateway_Vlan) Filter(filter string) Network_Gateway_Vlan {
4657	r.Options.Filter = filter
4658	return r
4659}
4660
4661func (r Network_Gateway_Vlan) Limit(limit int) Network_Gateway_Vlan {
4662	r.Options.Limit = &limit
4663	return r
4664}
4665
4666func (r Network_Gateway_Vlan) Offset(offset int) Network_Gateway_Vlan {
4667	r.Options.Offset = &offset
4668	return r
4669}
4670
4671// Start the asynchronous process to bypass/unroute the VLAN from this gateway.
4672func (r Network_Gateway_Vlan) Bypass() (err error) {
4673	var resp datatypes.Void
4674	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "bypass", nil, &r.Options, &resp)
4675	return
4676}
4677
4678// Create a new VLAN attachment. If the bypassFlag is false, this will also create an asynchronous process to route the VLAN through the gateway.
4679func (r Network_Gateway_Vlan) CreateObject(templateObject *datatypes.Network_Gateway_Vlan) (resp datatypes.Network_Gateway_Vlan, err error) {
4680	params := []interface{}{
4681		templateObject,
4682	}
4683	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "createObject", params, &r.Options, &resp)
4684	return
4685}
4686
4687// Create multiple new VLAN attachments. If the bypassFlag is false, this will also create an asynchronous process to route the VLANs through the gateway.
4688func (r Network_Gateway_Vlan) CreateObjects(templateObjects []datatypes.Network_Gateway_Vlan) (resp []datatypes.Network_Gateway_Vlan, err error) {
4689	params := []interface{}{
4690		templateObjects,
4691	}
4692	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "createObjects", params, &r.Options, &resp)
4693	return
4694}
4695
4696// Start the asynchronous process to detach this VLANs from the gateway.
4697func (r Network_Gateway_Vlan) DeleteObject() (err error) {
4698	var resp datatypes.Void
4699	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "deleteObject", nil, &r.Options, &resp)
4700	return
4701}
4702
4703// Detach several VLANs. This will not detach them right away, but rather start an asynchronous process to detach.
4704func (r Network_Gateway_Vlan) DeleteObjects(templateObjects []datatypes.Network_Gateway_Vlan) (resp bool, err error) {
4705	params := []interface{}{
4706		templateObjects,
4707	}
4708	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "deleteObjects", params, &r.Options, &resp)
4709	return
4710}
4711
4712// Retrieve The gateway this VLAN is attached to.
4713func (r Network_Gateway_Vlan) GetNetworkGateway() (resp datatypes.Network_Gateway, err error) {
4714	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "getNetworkGateway", nil, &r.Options, &resp)
4715	return
4716}
4717
4718// Retrieve The network VLAN record.
4719func (r Network_Gateway_Vlan) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
4720	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "getNetworkVlan", nil, &r.Options, &resp)
4721	return
4722}
4723
4724// no documentation yet
4725func (r Network_Gateway_Vlan) GetObject() (resp datatypes.Network_Gateway_Vlan, err error) {
4726	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "getObject", nil, &r.Options, &resp)
4727	return
4728}
4729
4730// Start the asynchronous process to route the VLAN to this gateway.
4731func (r Network_Gateway_Vlan) Unbypass() (err error) {
4732	var resp datatypes.Void
4733	err = r.Session.DoRequest("SoftLayer_Network_Gateway_Vlan", "unbypass", nil, &r.Options, &resp)
4734	return
4735}
4736
4737// no documentation yet
4738type Network_Interconnect_Tenant struct {
4739	Session *session.Session
4740	Options sl.Options
4741}
4742
4743// GetNetworkInterconnectTenantService returns an instance of the Network_Interconnect_Tenant SoftLayer service
4744func GetNetworkInterconnectTenantService(sess *session.Session) Network_Interconnect_Tenant {
4745	return Network_Interconnect_Tenant{Session: sess}
4746}
4747
4748func (r Network_Interconnect_Tenant) Id(id int) Network_Interconnect_Tenant {
4749	r.Options.Id = &id
4750	return r
4751}
4752
4753func (r Network_Interconnect_Tenant) Mask(mask string) Network_Interconnect_Tenant {
4754	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4755		mask = fmt.Sprintf("mask[%s]", mask)
4756	}
4757
4758	r.Options.Mask = mask
4759	return r
4760}
4761
4762func (r Network_Interconnect_Tenant) Filter(filter string) Network_Interconnect_Tenant {
4763	r.Options.Filter = filter
4764	return r
4765}
4766
4767func (r Network_Interconnect_Tenant) Limit(limit int) Network_Interconnect_Tenant {
4768	r.Options.Limit = &limit
4769	return r
4770}
4771
4772func (r Network_Interconnect_Tenant) Offset(offset int) Network_Interconnect_Tenant {
4773	r.Options.Offset = &offset
4774	return r
4775}
4776
4777// no documentation yet
4778func (r Network_Interconnect_Tenant) GetAllObjects() (resp []datatypes.Network_Interconnect_Tenant, err error) {
4779	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getAllObjects", nil, &r.Options, &resp)
4780	return
4781}
4782
4783// no documentation yet
4784func (r Network_Interconnect_Tenant) GetAllPortLabelsWithCurrentUsage(directLinkLocationId *int) (resp []string, err error) {
4785	params := []interface{}{
4786		directLinkLocationId,
4787	}
4788	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getAllPortLabelsWithCurrentUsage", params, &r.Options, &resp)
4789	return
4790}
4791
4792// Retrieve The billing item for a network interconnect.
4793func (r Network_Interconnect_Tenant) GetBillingItem() (resp datatypes.Billing_Item_Network_Interconnect, err error) {
4794	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getBillingItem", nil, &r.Options, &resp)
4795	return
4796}
4797
4798// no documentation yet
4799func (r Network_Interconnect_Tenant) GetConnection(serviceKey *string) (resp string, err error) {
4800	params := []interface{}{
4801		serviceKey,
4802	}
4803	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getConnection", params, &r.Options, &resp)
4804	return
4805}
4806
4807// Retrieve
4808func (r Network_Interconnect_Tenant) GetDatacenterName() (resp string, err error) {
4809	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getDatacenterName", nil, &r.Options, &resp)
4810	return
4811}
4812
4813// no documentation yet
4814func (r Network_Interconnect_Tenant) GetDirectLinkSpeeds(offeringType *string) (resp string, err error) {
4815	params := []interface{}{
4816		offeringType,
4817	}
4818	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getDirectLinkSpeeds", params, &r.Options, &resp)
4819	return
4820}
4821
4822// no documentation yet
4823func (r Network_Interconnect_Tenant) GetNetworkZones() (resp []string, err error) {
4824	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getNetworkZones", nil, &r.Options, &resp)
4825	return
4826}
4827
4828// no documentation yet
4829func (r Network_Interconnect_Tenant) GetObject() (resp datatypes.Network_Interconnect_Tenant, err error) {
4830	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getObject", nil, &r.Options, &resp)
4831	return
4832}
4833
4834// Retrieve
4835func (r Network_Interconnect_Tenant) GetPortLabel() (resp string, err error) {
4836	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getPortLabel", nil, &r.Options, &resp)
4837	return
4838}
4839
4840// no documentation yet
4841func (r Network_Interconnect_Tenant) GetPorts(provider *string) (resp string, err error) {
4842	params := []interface{}{
4843		provider,
4844	}
4845	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getPorts", params, &r.Options, &resp)
4846	return
4847}
4848
4849// Retrieve
4850func (r Network_Interconnect_Tenant) GetServiceType() (resp datatypes.Network_DirectLink_ServiceType, err error) {
4851	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getServiceType", nil, &r.Options, &resp)
4852	return
4853}
4854
4855// Retrieve
4856func (r Network_Interconnect_Tenant) GetVendorName() (resp string, err error) {
4857	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getVendorName", nil, &r.Options, &resp)
4858	return
4859}
4860
4861// Retrieve
4862func (r Network_Interconnect_Tenant) GetZoneName() (resp string, err error) {
4863	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "getZoneName", nil, &r.Options, &resp)
4864	return
4865}
4866
4867// no documentation yet
4868func (r Network_Interconnect_Tenant) IsAdnAccount() (resp bool, err error) {
4869	err = r.Session.DoRequest("SoftLayer_Network_Interconnect_Tenant", "isAdnAccount", nil, &r.Options, &resp)
4870	return
4871}
4872
4873// The SoftLayer_Network_LBaaS_HealthMonitor type presents a structure containing attributes of a health monitor object associated with load balancer instance. Note that the relationship between backend (pool) and health monitor is N-to-1, especially that the pools object associated with a health monitor must have the same pair of protocol and port. Example: frontend FA: http, 80   - backend BA: tcp, 3456 - healthmonitor HM_tcp3456 frontend FB: https, 443 - backend BB: tcp, 3456 - healthmonitor HM_tcp3456 In above example both backends BA and BB share the same healthmonitor HM_tcp3456
4874type Network_LBaaS_HealthMonitor struct {
4875	Session *session.Session
4876	Options sl.Options
4877}
4878
4879// GetNetworkLBaaSHealthMonitorService returns an instance of the Network_LBaaS_HealthMonitor SoftLayer service
4880func GetNetworkLBaaSHealthMonitorService(sess *session.Session) Network_LBaaS_HealthMonitor {
4881	return Network_LBaaS_HealthMonitor{Session: sess}
4882}
4883
4884func (r Network_LBaaS_HealthMonitor) Id(id int) Network_LBaaS_HealthMonitor {
4885	r.Options.Id = &id
4886	return r
4887}
4888
4889func (r Network_LBaaS_HealthMonitor) Mask(mask string) Network_LBaaS_HealthMonitor {
4890	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4891		mask = fmt.Sprintf("mask[%s]", mask)
4892	}
4893
4894	r.Options.Mask = mask
4895	return r
4896}
4897
4898func (r Network_LBaaS_HealthMonitor) Filter(filter string) Network_LBaaS_HealthMonitor {
4899	r.Options.Filter = filter
4900	return r
4901}
4902
4903func (r Network_LBaaS_HealthMonitor) Limit(limit int) Network_LBaaS_HealthMonitor {
4904	r.Options.Limit = &limit
4905	return r
4906}
4907
4908func (r Network_LBaaS_HealthMonitor) Offset(offset int) Network_LBaaS_HealthMonitor {
4909	r.Options.Offset = &offset
4910	return r
4911}
4912
4913// no documentation yet
4914func (r Network_LBaaS_HealthMonitor) GetObject() (resp datatypes.Network_LBaaS_HealthMonitor, err error) {
4915	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_HealthMonitor", "getObject", nil, &r.Options, &resp)
4916	return
4917}
4918
4919// Update load balancers health monitor and return load balancer object with listeners (frontend), pools (backend), health monitor server instances (members) and datacenter populated
4920func (r Network_LBaaS_HealthMonitor) UpdateLoadBalancerHealthMonitors(loadBalancerUuid *string, healthMonitorConfigurations []datatypes.Network_LBaaS_LoadBalancerHealthMonitorConfiguration) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
4921	params := []interface{}{
4922		loadBalancerUuid,
4923		healthMonitorConfigurations,
4924	}
4925	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_HealthMonitor", "updateLoadBalancerHealthMonitors", params, &r.Options, &resp)
4926	return
4927}
4928
4929// The SoftLayer_Network_LBaaS_Listener type presents a data structure for a load balancers listener, also called frontend.
4930type Network_LBaaS_Listener struct {
4931	Session *session.Session
4932	Options sl.Options
4933}
4934
4935// GetNetworkLBaaSListenerService returns an instance of the Network_LBaaS_Listener SoftLayer service
4936func GetNetworkLBaaSListenerService(sess *session.Session) Network_LBaaS_Listener {
4937	return Network_LBaaS_Listener{Session: sess}
4938}
4939
4940func (r Network_LBaaS_Listener) Id(id int) Network_LBaaS_Listener {
4941	r.Options.Id = &id
4942	return r
4943}
4944
4945func (r Network_LBaaS_Listener) Mask(mask string) Network_LBaaS_Listener {
4946	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
4947		mask = fmt.Sprintf("mask[%s]", mask)
4948	}
4949
4950	r.Options.Mask = mask
4951	return r
4952}
4953
4954func (r Network_LBaaS_Listener) Filter(filter string) Network_LBaaS_Listener {
4955	r.Options.Filter = filter
4956	return r
4957}
4958
4959func (r Network_LBaaS_Listener) Limit(limit int) Network_LBaaS_Listener {
4960	r.Options.Limit = &limit
4961	return r
4962}
4963
4964func (r Network_LBaaS_Listener) Offset(offset int) Network_LBaaS_Listener {
4965	r.Options.Offset = &offset
4966	return r
4967}
4968
4969// Delete load balancers front- and backend protocols and return load balancer object with listeners (frontend), pools (backend), server instances (members) and datacenter populated.
4970func (r Network_LBaaS_Listener) DeleteLoadBalancerProtocols(loadBalancerUuid *string, listenerUuids []string) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
4971	params := []interface{}{
4972		loadBalancerUuid,
4973		listenerUuids,
4974	}
4975	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_Listener", "deleteLoadBalancerProtocols", params, &r.Options, &resp)
4976	return
4977}
4978
4979// Retrieve
4980func (r Network_LBaaS_Listener) GetDefaultPool() (resp datatypes.Network_LBaaS_Pool, err error) {
4981	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_Listener", "getDefaultPool", nil, &r.Options, &resp)
4982	return
4983}
4984
4985// no documentation yet
4986func (r Network_LBaaS_Listener) GetObject() (resp datatypes.Network_LBaaS_Listener, err error) {
4987	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_Listener", "getObject", nil, &r.Options, &resp)
4988	return
4989}
4990
4991// Update (create) load balancers front- and backend protocols and return load balancer object with listeners (frontend), pools (backend), server instances (members) and datacenter populated. Note if a protocolConfiguration has no listenerUuid set, this function will create the specified front- and backend accordingly. Otherwise the given front- and backend will be updated with the new protocol and port.
4992func (r Network_LBaaS_Listener) UpdateLoadBalancerProtocols(loadBalancerUuid *string, protocolConfigurations []datatypes.Network_LBaaS_LoadBalancerProtocolConfiguration) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
4993	params := []interface{}{
4994		loadBalancerUuid,
4995		protocolConfigurations,
4996	}
4997	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_Listener", "updateLoadBalancerProtocols", params, &r.Options, &resp)
4998	return
4999}
5000
5001// The SoftLayer_Network_LBaaS_LoadBalancer type presents a structure containing attributes of a load balancer, and its related objects including listeners, pools and members.
5002type Network_LBaaS_LoadBalancer struct {
5003	Session *session.Session
5004	Options sl.Options
5005}
5006
5007// GetNetworkLBaaSLoadBalancerService returns an instance of the Network_LBaaS_LoadBalancer SoftLayer service
5008func GetNetworkLBaaSLoadBalancerService(sess *session.Session) Network_LBaaS_LoadBalancer {
5009	return Network_LBaaS_LoadBalancer{Session: sess}
5010}
5011
5012func (r Network_LBaaS_LoadBalancer) Id(id int) Network_LBaaS_LoadBalancer {
5013	r.Options.Id = &id
5014	return r
5015}
5016
5017func (r Network_LBaaS_LoadBalancer) Mask(mask string) Network_LBaaS_LoadBalancer {
5018	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5019		mask = fmt.Sprintf("mask[%s]", mask)
5020	}
5021
5022	r.Options.Mask = mask
5023	return r
5024}
5025
5026func (r Network_LBaaS_LoadBalancer) Filter(filter string) Network_LBaaS_LoadBalancer {
5027	r.Options.Filter = filter
5028	return r
5029}
5030
5031func (r Network_LBaaS_LoadBalancer) Limit(limit int) Network_LBaaS_LoadBalancer {
5032	r.Options.Limit = &limit
5033	return r
5034}
5035
5036func (r Network_LBaaS_LoadBalancer) Offset(offset int) Network_LBaaS_LoadBalancer {
5037	r.Options.Offset = &offset
5038	return r
5039}
5040
5041// Cancel a load balancer with the given uuid. The billing system will execute the deletion of load balancer and all objects associated with it such as load balancer appliances, listeners, pools and members in the background.
5042func (r Network_LBaaS_LoadBalancer) CancelLoadBalancer(uuid *string) (resp bool, err error) {
5043	params := []interface{}{
5044		uuid,
5045	}
5046	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "cancelLoadBalancer", params, &r.Options, &resp)
5047	return
5048}
5049
5050// Return all existing load balancers
5051func (r Network_LBaaS_LoadBalancer) GetAllObjects() (resp []datatypes.Network_LBaaS_LoadBalancer, err error) {
5052	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getAllObjects", nil, &r.Options, &resp)
5053	return
5054}
5055
5056// Retrieve Datacenter, where load balancer is located.
5057func (r Network_LBaaS_LoadBalancer) GetDatacenter() (resp datatypes.Location, err error) {
5058	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getDatacenter", nil, &r.Options, &resp)
5059	return
5060}
5061
5062// Retrieve Health monitors for the backend members.
5063func (r Network_LBaaS_LoadBalancer) GetHealthMonitors() (resp []datatypes.Network_LBaaS_HealthMonitor, err error) {
5064	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getHealthMonitors", nil, &r.Options, &resp)
5065	return
5066}
5067
5068// Return listener time series datapoints. The time series data is available for Throughput, ConnectionRate and ActiveConnections. Throughput is in bits per second. The values are an average over the time range. The time series data is available for 1hour, 6hours, 12hours, 1day, 1week or 2weeks.
5069//
5070//
5071func (r Network_LBaaS_LoadBalancer) GetListenerTimeSeriesData(loadBalancerUuid *string, metricName *string, timeRange *string, listenerUuid *string) (resp []datatypes.Network_LBaaS_LoadBalancerMonitoringMetricDataPoint, err error) {
5072	params := []interface{}{
5073		loadBalancerUuid,
5074		metricName,
5075		timeRange,
5076		listenerUuid,
5077	}
5078	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getListenerTimeSeriesData", params, &r.Options, &resp)
5079	return
5080}
5081
5082// Retrieve Listeners assigned to load balancer.
5083func (r Network_LBaaS_LoadBalancer) GetListeners() (resp []datatypes.Network_LBaaS_Listener, err error) {
5084	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getListeners", nil, &r.Options, &resp)
5085	return
5086}
5087
5088// Get the load balancer object with given uuid.
5089func (r Network_LBaaS_LoadBalancer) GetLoadBalancer(uuid *string) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
5090	params := []interface{}{
5091		uuid,
5092	}
5093	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getLoadBalancer", params, &r.Options, &resp)
5094	return
5095}
5096
5097// Return load balancer members health
5098func (r Network_LBaaS_LoadBalancer) GetLoadBalancerMemberHealth(uuid *string) (resp []datatypes.Network_LBaaS_PoolMembersHealth, err error) {
5099	params := []interface{}{
5100		uuid,
5101	}
5102	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getLoadBalancerMemberHealth", params, &r.Options, &resp)
5103	return
5104}
5105
5106// Return load balancers statistics such as total number of current sessions and total number of accumulated connections.
5107func (r Network_LBaaS_LoadBalancer) GetLoadBalancerStatistics(uuid *string) (resp datatypes.Network_LBaaS_LoadBalancerStatistics, err error) {
5108	params := []interface{}{
5109		uuid,
5110	}
5111	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getLoadBalancerStatistics", params, &r.Options, &resp)
5112	return
5113}
5114
5115// Retrieve Members assigned to load balancer.
5116func (r Network_LBaaS_LoadBalancer) GetMembers() (resp []datatypes.Network_LBaaS_Member, err error) {
5117	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getMembers", nil, &r.Options, &resp)
5118	return
5119}
5120
5121// no documentation yet
5122func (r Network_LBaaS_LoadBalancer) GetObject() (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
5123	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getObject", nil, &r.Options, &resp)
5124	return
5125}
5126
5127// Retrieve list of preferred custom ciphers configured for the load balancer.
5128func (r Network_LBaaS_LoadBalancer) GetSslCiphers() (resp []datatypes.Network_LBaaS_SSLCipher, err error) {
5129	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "getSslCiphers", nil, &r.Options, &resp)
5130	return
5131}
5132
5133// no documentation yet
5134func (r Network_LBaaS_LoadBalancer) ServiceLoadBalancer(data *string) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
5135	params := []interface{}{
5136		data,
5137	}
5138	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "serviceLoadBalancer", params, &r.Options, &resp)
5139	return
5140}
5141
5142// Update load balancer's description, and return the load balancer object containing all listeners, pools, members and datacenter.
5143func (r Network_LBaaS_LoadBalancer) UpdateLoadBalancer(uuid *string, newDescription *string) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
5144	params := []interface{}{
5145		uuid,
5146		newDescription,
5147	}
5148	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "updateLoadBalancer", params, &r.Options, &resp)
5149	return
5150}
5151
5152// Updates the load balancer with the new cipher list. All new connections going forward will use the new set of ciphers selected by the user.
5153func (r Network_LBaaS_LoadBalancer) UpdateSslCiphers(loadBalancerUuid *string, cipherList []int) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
5154	params := []interface{}{
5155		loadBalancerUuid,
5156		cipherList,
5157	}
5158	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_LoadBalancer", "updateSslCiphers", params, &r.Options, &resp)
5159	return
5160}
5161
5162// The SoftLayer_Network_LBaaS_Member represents the backend member for a load balancer. It can be either a virtual server or a bare metal machine.
5163type Network_LBaaS_Member struct {
5164	Session *session.Session
5165	Options sl.Options
5166}
5167
5168// GetNetworkLBaaSMemberService returns an instance of the Network_LBaaS_Member SoftLayer service
5169func GetNetworkLBaaSMemberService(sess *session.Session) Network_LBaaS_Member {
5170	return Network_LBaaS_Member{Session: sess}
5171}
5172
5173func (r Network_LBaaS_Member) Id(id int) Network_LBaaS_Member {
5174	r.Options.Id = &id
5175	return r
5176}
5177
5178func (r Network_LBaaS_Member) Mask(mask string) Network_LBaaS_Member {
5179	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5180		mask = fmt.Sprintf("mask[%s]", mask)
5181	}
5182
5183	r.Options.Mask = mask
5184	return r
5185}
5186
5187func (r Network_LBaaS_Member) Filter(filter string) Network_LBaaS_Member {
5188	r.Options.Filter = filter
5189	return r
5190}
5191
5192func (r Network_LBaaS_Member) Limit(limit int) Network_LBaaS_Member {
5193	r.Options.Limit = &limit
5194	return r
5195}
5196
5197func (r Network_LBaaS_Member) Offset(offset int) Network_LBaaS_Member {
5198	r.Options.Offset = &offset
5199	return r
5200}
5201
5202// Add server instances as members to load balancer and return it with listeners, pools and members populated
5203func (r Network_LBaaS_Member) AddLoadBalancerMembers(loadBalancerUuid *string, serverInstances []datatypes.Network_LBaaS_LoadBalancerServerInstanceInfo) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
5204	params := []interface{}{
5205		loadBalancerUuid,
5206		serverInstances,
5207	}
5208	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_Member", "addLoadBalancerMembers", params, &r.Options, &resp)
5209	return
5210}
5211
5212// Delete given members from load balancer and return load balancer object with listeners, pools and members populated
5213func (r Network_LBaaS_Member) DeleteLoadBalancerMembers(loadBalancerUuid *string, memberUuids []string) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
5214	params := []interface{}{
5215		loadBalancerUuid,
5216		memberUuids,
5217	}
5218	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_Member", "deleteLoadBalancerMembers", params, &r.Options, &resp)
5219	return
5220}
5221
5222// no documentation yet
5223func (r Network_LBaaS_Member) GetObject() (resp datatypes.Network_LBaaS_Member, err error) {
5224	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_Member", "getObject", nil, &r.Options, &resp)
5225	return
5226}
5227
5228// Update members weight and return load balancer object with listeners, pools and members populated
5229func (r Network_LBaaS_Member) UpdateLoadBalancerMembers(loadBalancerUuid *string, members []datatypes.Network_LBaaS_Member) (resp datatypes.Network_LBaaS_LoadBalancer, err error) {
5230	params := []interface{}{
5231		loadBalancerUuid,
5232		members,
5233	}
5234	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_Member", "updateLoadBalancerMembers", params, &r.Options, &resp)
5235	return
5236}
5237
5238// The SoftLayer_Network_LBaaS_SSLCipher type presents a structure that contains attributes of load balancer cipher suites.
5239//
5240//
5241type Network_LBaaS_SSLCipher struct {
5242	Session *session.Session
5243	Options sl.Options
5244}
5245
5246// GetNetworkLBaaSSSLCipherService returns an instance of the Network_LBaaS_SSLCipher SoftLayer service
5247func GetNetworkLBaaSSSLCipherService(sess *session.Session) Network_LBaaS_SSLCipher {
5248	return Network_LBaaS_SSLCipher{Session: sess}
5249}
5250
5251func (r Network_LBaaS_SSLCipher) Id(id int) Network_LBaaS_SSLCipher {
5252	r.Options.Id = &id
5253	return r
5254}
5255
5256func (r Network_LBaaS_SSLCipher) Mask(mask string) Network_LBaaS_SSLCipher {
5257	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5258		mask = fmt.Sprintf("mask[%s]", mask)
5259	}
5260
5261	r.Options.Mask = mask
5262	return r
5263}
5264
5265func (r Network_LBaaS_SSLCipher) Filter(filter string) Network_LBaaS_SSLCipher {
5266	r.Options.Filter = filter
5267	return r
5268}
5269
5270func (r Network_LBaaS_SSLCipher) Limit(limit int) Network_LBaaS_SSLCipher {
5271	r.Options.Limit = &limit
5272	return r
5273}
5274
5275func (r Network_LBaaS_SSLCipher) Offset(offset int) Network_LBaaS_SSLCipher {
5276	r.Options.Offset = &offset
5277	return r
5278}
5279
5280// Returns all supported cipher list
5281func (r Network_LBaaS_SSLCipher) GetAllObjects() (resp []datatypes.Network_LBaaS_SSLCipher, err error) {
5282	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_SSLCipher", "getAllObjects", nil, &r.Options, &resp)
5283	return
5284}
5285
5286// no documentation yet
5287func (r Network_LBaaS_SSLCipher) GetObject() (resp datatypes.Network_LBaaS_SSLCipher, err error) {
5288	err = r.Session.DoRequest("SoftLayer_Network_LBaaS_SSLCipher", "getObject", nil, &r.Options, &resp)
5289	return
5290}
5291
5292// The SoftLayer_Network_LoadBalancer_Global_Account data type contains the properties for a single global load balancer account.  The properties you are able to edit are fallbackIp, loadBalanceTypeId, and notes. The hosts relational property can be used for creating and editing hosts that belong to the global load balancer account.  The [[SoftLayer_Network_LoadBalancer_Global_Account::editObject|editObject]] method contains details on creating and edited hosts through the hosts relational property.
5293type Network_LoadBalancer_Global_Account struct {
5294	Session *session.Session
5295	Options sl.Options
5296}
5297
5298// GetNetworkLoadBalancerGlobalAccountService returns an instance of the Network_LoadBalancer_Global_Account SoftLayer service
5299func GetNetworkLoadBalancerGlobalAccountService(sess *session.Session) Network_LoadBalancer_Global_Account {
5300	return Network_LoadBalancer_Global_Account{Session: sess}
5301}
5302
5303func (r Network_LoadBalancer_Global_Account) Id(id int) Network_LoadBalancer_Global_Account {
5304	r.Options.Id = &id
5305	return r
5306}
5307
5308func (r Network_LoadBalancer_Global_Account) Mask(mask string) Network_LoadBalancer_Global_Account {
5309	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5310		mask = fmt.Sprintf("mask[%s]", mask)
5311	}
5312
5313	r.Options.Mask = mask
5314	return r
5315}
5316
5317func (r Network_LoadBalancer_Global_Account) Filter(filter string) Network_LoadBalancer_Global_Account {
5318	r.Options.Filter = filter
5319	return r
5320}
5321
5322func (r Network_LoadBalancer_Global_Account) Limit(limit int) Network_LoadBalancer_Global_Account {
5323	r.Options.Limit = &limit
5324	return r
5325}
5326
5327func (r Network_LoadBalancer_Global_Account) Offset(offset int) Network_LoadBalancer_Global_Account {
5328	r.Options.Offset = &offset
5329	return r
5330}
5331
5332// If your globally load balanced domain is hosted on the SoftLayer nameservers this method will add the required NS resource record to your DNS zone file and remove any A records that match the host portion of a global load balancer account hostname.  A NS resource record is required to be able to use your SoftLayer global load balancer account. Please make sure the zone file for the hostname listed on your SoftLayer global load balancer account is setup prior to using this method.  If your globally load balanced domain is hosted on any other nameservers this method will not be able to add the required NS record.
5333func (r Network_LoadBalancer_Global_Account) AddNsRecord() (resp bool, err error) {
5334	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "addNsRecord", nil, &r.Options, &resp)
5335	return
5336}
5337
5338// Edit the properties of a global load balancer account by passing in a modified instance of the object. The global load balancer account properties you are able to edit are: fallback ip, load balance type id, and notes. Hosts that belong to your SoftLayer global load balancer account are created and modified through this method. An example templateObject that updates global load balancer account properties, updates the properties of a host, and adds a new host is shown below:
5339//
5340//
5341// * id: 2
5342// * loadBalanceTypeId: 2
5343// * notes: Notes updated
5344// * fallbackIp: 1.1.1.1
5345// * hosts:
5346// ** id: 19
5347// ** destinationIp: 2.2.2.2
5348// ** weight: 25
5349// ** healthCheck: http
5350// ** destinationPort: 80
5351// ** enabled: 1<br /><br />
5352// ** destinationIp: 3.3.3.3
5353// ** weight: 25
5354// ** healthCheck: http
5355// ** destinationPort: 80
5356// ** enabled: 1
5357//
5358//
5359//
5360//
5361// The first section contains the properties of the global load balancer account that will be updated, while the second section contains the elements of the 'hosts' property of the global load balancer account.  The first host listed will have its properties updated because the 'id' property of the host is set, meaning the global load balancer host with an id of 19 will be updated. The second host listed will be created because it lacks the 'id' property.
5362//
5363// There is a limit to the maximum number of hosts that you are allowed to add, and is defined by the allowedNumberOfHosts property on the global load balancer account.  The destination IP address of a host must be an IP address that belongs to your SoftLayer Account, or a local load balancer virtual IP address that belongs to your account.  The destination IP address and destination port are required and must be provided when creating a host.
5364func (r Network_LoadBalancer_Global_Account) EditObject(templateObject *datatypes.Network_LoadBalancer_Global_Account) (resp bool, err error) {
5365	params := []interface{}{
5366		templateObject,
5367	}
5368	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "editObject", params, &r.Options, &resp)
5369	return
5370}
5371
5372// Retrieve Your SoftLayer customer account.
5373func (r Network_LoadBalancer_Global_Account) GetAccount() (resp datatypes.Account, err error) {
5374	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "getAccount", nil, &r.Options, &resp)
5375	return
5376}
5377
5378// Retrieve The current billing item for a Global Load Balancer account.
5379func (r Network_LoadBalancer_Global_Account) GetBillingItem() (resp datatypes.Billing_Item, err error) {
5380	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "getBillingItem", nil, &r.Options, &resp)
5381	return
5382}
5383
5384// Retrieve The hosts in the load balancing pool for a global load balancer account.
5385func (r Network_LoadBalancer_Global_Account) GetHosts() (resp []datatypes.Network_LoadBalancer_Global_Host, err error) {
5386	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "getHosts", nil, &r.Options, &resp)
5387	return
5388}
5389
5390// Retrieve The load balance method of a global load balancer account
5391func (r Network_LoadBalancer_Global_Account) GetLoadBalanceType() (resp datatypes.Network_LoadBalancer_Global_Type, err error) {
5392	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "getLoadBalanceType", nil, &r.Options, &resp)
5393	return
5394}
5395
5396// Retrieve A flag indicating that the global load balancer is a managed resource.
5397func (r Network_LoadBalancer_Global_Account) GetManagedResourceFlag() (resp bool, err error) {
5398	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "getManagedResourceFlag", nil, &r.Options, &resp)
5399	return
5400}
5401
5402// getObject retrieves the SoftLayer_Network_LoadBalancer_Global_Account object whose ID number corresponds to the ID number of the init paramater passed to the SoftLayer_Network_LoadBalancer_Global_Account service. You can only retrieve a global load balancer account that is assigned to your SoftLayer customer account.
5403func (r Network_LoadBalancer_Global_Account) GetObject() (resp datatypes.Network_LoadBalancer_Global_Account, err error) {
5404	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "getObject", nil, &r.Options, &resp)
5405	return
5406}
5407
5408// If your globally load balanced domain is hosted on the SoftLayer nameservers this method will remove the NS resource record from your DNS zone file. Removing the NS resource record will basically disable your global load balancer account since no DNS requests will be forwarded to the global load balancers. Any A records that were removed when the NS resource record was added will not be created for you.  If your globally load balanced domain is hosted on any other nameservers this method will not be able to remove the required NS record.
5409func (r Network_LoadBalancer_Global_Account) RemoveNsRecord() (resp bool, err error) {
5410	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Account", "removeNsRecord", nil, &r.Options, &resp)
5411	return
5412}
5413
5414// The SoftLayer_Network_LoadBalancer_Global_Host data type represents a single host that belongs to a global load balancer account's load balancing pool.
5415//
5416// The destination IP address of a host must be one that belongs to your SoftLayer customer account, or to a datacenter load balancer virtual ip that belongs to your SoftLayer customer account.  The destination IP address and port of a global load balancer host is a required field and must exist during creation and can not be removed.  The acceptable values for the health check type are 'none', 'http', and 'tcp'. The status property is updated in 5 minute intervals and the hits property is updated in 10 minute intervals.
5417//
5418// The order of the host is only important if you are using the 'failover' load balance method, and the weight is only important if you are using the 'weighted round robin' load balance method.
5419type Network_LoadBalancer_Global_Host struct {
5420	Session *session.Session
5421	Options sl.Options
5422}
5423
5424// GetNetworkLoadBalancerGlobalHostService returns an instance of the Network_LoadBalancer_Global_Host SoftLayer service
5425func GetNetworkLoadBalancerGlobalHostService(sess *session.Session) Network_LoadBalancer_Global_Host {
5426	return Network_LoadBalancer_Global_Host{Session: sess}
5427}
5428
5429func (r Network_LoadBalancer_Global_Host) Id(id int) Network_LoadBalancer_Global_Host {
5430	r.Options.Id = &id
5431	return r
5432}
5433
5434func (r Network_LoadBalancer_Global_Host) Mask(mask string) Network_LoadBalancer_Global_Host {
5435	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5436		mask = fmt.Sprintf("mask[%s]", mask)
5437	}
5438
5439	r.Options.Mask = mask
5440	return r
5441}
5442
5443func (r Network_LoadBalancer_Global_Host) Filter(filter string) Network_LoadBalancer_Global_Host {
5444	r.Options.Filter = filter
5445	return r
5446}
5447
5448func (r Network_LoadBalancer_Global_Host) Limit(limit int) Network_LoadBalancer_Global_Host {
5449	r.Options.Limit = &limit
5450	return r
5451}
5452
5453func (r Network_LoadBalancer_Global_Host) Offset(offset int) Network_LoadBalancer_Global_Host {
5454	r.Options.Offset = &offset
5455	return r
5456}
5457
5458// Remove a host from the load balancing pool of a global load balancer account.
5459func (r Network_LoadBalancer_Global_Host) DeleteObject() (resp bool, err error) {
5460	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Host", "deleteObject", nil, &r.Options, &resp)
5461	return
5462}
5463
5464// Retrieve The global load balancer account a host belongs to.
5465func (r Network_LoadBalancer_Global_Host) GetLoadBalancerAccount() (resp datatypes.Network_LoadBalancer_Global_Account, err error) {
5466	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Host", "getLoadBalancerAccount", nil, &r.Options, &resp)
5467	return
5468}
5469
5470// getObject retrieves the SoftLayer_Network_LoadBalancer_Global_Host object whose ID number corresponds to the ID number of the init paramater passed to the SoftLayer_Network_LoadBalancer_Global_Host service. You can only retrieve a global load balancer host that is assigned to your SoftLayer global load balancer account.
5471func (r Network_LoadBalancer_Global_Host) GetObject() (resp datatypes.Network_LoadBalancer_Global_Host, err error) {
5472	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Global_Host", "getObject", nil, &r.Options, &resp)
5473	return
5474}
5475
5476// The SoftLayer_Network_LoadBalancer_Service data type contains all the information relating to a specific service (destination) on a particular load balancer.
5477//
5478// Information retained on the object itself is the the source and destination of the service, routing type, weight, and whether or not the service is currently enabled.
5479type Network_LoadBalancer_Service struct {
5480	Session *session.Session
5481	Options sl.Options
5482}
5483
5484// GetNetworkLoadBalancerServiceService returns an instance of the Network_LoadBalancer_Service SoftLayer service
5485func GetNetworkLoadBalancerServiceService(sess *session.Session) Network_LoadBalancer_Service {
5486	return Network_LoadBalancer_Service{Session: sess}
5487}
5488
5489func (r Network_LoadBalancer_Service) Id(id int) Network_LoadBalancer_Service {
5490	r.Options.Id = &id
5491	return r
5492}
5493
5494func (r Network_LoadBalancer_Service) Mask(mask string) Network_LoadBalancer_Service {
5495	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5496		mask = fmt.Sprintf("mask[%s]", mask)
5497	}
5498
5499	r.Options.Mask = mask
5500	return r
5501}
5502
5503func (r Network_LoadBalancer_Service) Filter(filter string) Network_LoadBalancer_Service {
5504	r.Options.Filter = filter
5505	return r
5506}
5507
5508func (r Network_LoadBalancer_Service) Limit(limit int) Network_LoadBalancer_Service {
5509	r.Options.Limit = &limit
5510	return r
5511}
5512
5513func (r Network_LoadBalancer_Service) Offset(offset int) Network_LoadBalancer_Service {
5514	r.Options.Offset = &offset
5515	return r
5516}
5517
5518// Calling deleteObject on a particular server will remove it from the load balancer.  This is the only way to remove a service from your load balancer.  If you wish to remove a server, first call this function, then reload the virtualIpAddress object and edit the remaining services to reflect the other changes that you wish to make.
5519func (r Network_LoadBalancer_Service) DeleteObject() (resp bool, err error) {
5520	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Service", "deleteObject", nil, &r.Options, &resp)
5521	return
5522}
5523
5524// Get the graph image for a load balancer service based on the supplied graph type and metric.  The available graph types are: 'connections' and 'status', and the available metrics are: 'day', 'week' and 'month'.
5525//
5526// This method returns the raw binary image data.
5527func (r Network_LoadBalancer_Service) GetGraphImage(graphType *string, metric *string) (resp []byte, err error) {
5528	params := []interface{}{
5529		graphType,
5530		metric,
5531	}
5532	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Service", "getGraphImage", params, &r.Options, &resp)
5533	return
5534}
5535
5536// getObject retrieves the SoftLayer_Network_LoadBalancer_Service object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_LoadBalancer_Service service. You can only retrieve services on load balancers assigned to your account, and it is recommended that you simply retrieve the entire load balancer, as an individual service has no explicit purpose without its "siblings".
5537func (r Network_LoadBalancer_Service) GetObject() (resp datatypes.Network_LoadBalancer_Service, err error) {
5538	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Service", "getObject", nil, &r.Options, &resp)
5539	return
5540}
5541
5542// Returns an array of SoftLayer_Container_Network_LoadBalancer_StatusEntry objects.  A SoftLayer_Container_Network_LoadBalancer_StatusEntry object has two variables, "Label" and "Value"
5543//
5544// Calling this function executes a command on the physical load balancer itself, and therefore should be called infrequently.  For a general idea of the load balancer service, use the "peakConnections" variable on the Type
5545//
5546// Possible values for "Label" are:
5547//
5548//
5549// * IP Address
5550// * Port
5551// * Server Status
5552// * Load Status
5553// * Current Connections
5554// * Total Hits
5555//
5556//
5557// Not all labels are guaranteed to be returned.
5558func (r Network_LoadBalancer_Service) GetStatus() (resp []datatypes.Container_Network_LoadBalancer_StatusEntry, err error) {
5559	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Service", "getStatus", nil, &r.Options, &resp)
5560	return
5561}
5562
5563// Retrieve The load balancer that this service belongs to.
5564func (r Network_LoadBalancer_Service) GetVip() (resp datatypes.Network_LoadBalancer_VirtualIpAddress, err error) {
5565	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Service", "getVip", nil, &r.Options, &resp)
5566	return
5567}
5568
5569// Calling resetPeakConnections will set the peakConnections variable to zero on this particular object. Peak connections will continue to increase normally after this method call, it will only temporarily reset the statistic to zero, until the next time it is polled.
5570func (r Network_LoadBalancer_Service) ResetPeakConnections() (resp bool, err error) {
5571	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_Service", "resetPeakConnections", nil, &r.Options, &resp)
5572	return
5573}
5574
5575// The SoftLayer_Network_LoadBalancer_VirtualIpAddress data type contains all the information relating to a specific load balancer assigned to a customer account.
5576//
5577// Information retained on the object itself is the virtual IP address, load balancing method, and any notes that are related to the load balancer.  There is also an array of SoftLayer_Network_LoadBalancer_Service objects, which represent the load balancer services, explained more fully in the SoftLayer_Network_LoadBalancer_Service documentation.
5578type Network_LoadBalancer_VirtualIpAddress struct {
5579	Session *session.Session
5580	Options sl.Options
5581}
5582
5583// GetNetworkLoadBalancerVirtualIpAddressService returns an instance of the Network_LoadBalancer_VirtualIpAddress SoftLayer service
5584func GetNetworkLoadBalancerVirtualIpAddressService(sess *session.Session) Network_LoadBalancer_VirtualIpAddress {
5585	return Network_LoadBalancer_VirtualIpAddress{Session: sess}
5586}
5587
5588func (r Network_LoadBalancer_VirtualIpAddress) Id(id int) Network_LoadBalancer_VirtualIpAddress {
5589	r.Options.Id = &id
5590	return r
5591}
5592
5593func (r Network_LoadBalancer_VirtualIpAddress) Mask(mask string) Network_LoadBalancer_VirtualIpAddress {
5594	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5595		mask = fmt.Sprintf("mask[%s]", mask)
5596	}
5597
5598	r.Options.Mask = mask
5599	return r
5600}
5601
5602func (r Network_LoadBalancer_VirtualIpAddress) Filter(filter string) Network_LoadBalancer_VirtualIpAddress {
5603	r.Options.Filter = filter
5604	return r
5605}
5606
5607func (r Network_LoadBalancer_VirtualIpAddress) Limit(limit int) Network_LoadBalancer_VirtualIpAddress {
5608	r.Options.Limit = &limit
5609	return r
5610}
5611
5612func (r Network_LoadBalancer_VirtualIpAddress) Offset(offset int) Network_LoadBalancer_VirtualIpAddress {
5613	r.Options.Offset = &offset
5614	return r
5615}
5616
5617// Disable a Virtual IP Address, removing it from load balancer rotation and denying all connections to that IP address.
5618func (r Network_LoadBalancer_VirtualIpAddress) Disable() (resp bool, err error) {
5619	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "disable", nil, &r.Options, &resp)
5620	return
5621}
5622
5623// Like any other API object, the load balancers can have their exposed properties edited by passing in a modified version of the object.  The load balancer object also can modify its services in this way.  Simply request the load balancer object you wish to edit, then modify the objects in the services array and pass the modified object to this function.  WARNING:  Services cannot be deleted in this manner, you must call deleteObject() on the service to physically remove them from the load balancer.
5624func (r Network_LoadBalancer_VirtualIpAddress) EditObject(templateObject *datatypes.Network_LoadBalancer_VirtualIpAddress) (resp bool, err error) {
5625	params := []interface{}{
5626		templateObject,
5627	}
5628	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "editObject", params, &r.Options, &resp)
5629	return
5630}
5631
5632// Enable a disabled Virtual IP Address, allowing connections back to the IP address.
5633func (r Network_LoadBalancer_VirtualIpAddress) Enable() (resp bool, err error) {
5634	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "enable", nil, &r.Options, &resp)
5635	return
5636}
5637
5638// Retrieve The account that owns this load balancer.
5639func (r Network_LoadBalancer_VirtualIpAddress) GetAccount() (resp datatypes.Account, err error) {
5640	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "getAccount", nil, &r.Options, &resp)
5641	return
5642}
5643
5644// Retrieve The current billing item for the Load Balancer.
5645func (r Network_LoadBalancer_VirtualIpAddress) GetBillingItem() (resp datatypes.Billing_Item, err error) {
5646	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "getBillingItem", nil, &r.Options, &resp)
5647	return
5648}
5649
5650// Retrieve If false, this VIP and associated services may be edited via the portal or the API. If true, you must configure this VIP manually on the device.
5651func (r Network_LoadBalancer_VirtualIpAddress) GetCustomerManagedFlag() (resp int, err error) {
5652	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "getCustomerManagedFlag", nil, &r.Options, &resp)
5653	return
5654}
5655
5656// Retrieve A flag indicating that the load balancer is a managed resource.
5657func (r Network_LoadBalancer_VirtualIpAddress) GetManagedResourceFlag() (resp bool, err error) {
5658	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "getManagedResourceFlag", nil, &r.Options, &resp)
5659	return
5660}
5661
5662// getObject retrieves the SoftLayer_Network_LoadBalancer_VirtualIpAddress object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_LoadBalancer_VirtualIpAddress service. You can only retrieve Load Balancers assigned to your account.
5663func (r Network_LoadBalancer_VirtualIpAddress) GetObject() (resp datatypes.Network_LoadBalancer_VirtualIpAddress, err error) {
5664	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "getObject", nil, &r.Options, &resp)
5665	return
5666}
5667
5668// Retrieve the services on this load balancer.
5669func (r Network_LoadBalancer_VirtualIpAddress) GetServices() (resp []datatypes.Network_LoadBalancer_Service, err error) {
5670	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "getServices", nil, &r.Options, &resp)
5671	return
5672}
5673
5674// Quickly remove all active external connections to a Virtual IP Address.
5675func (r Network_LoadBalancer_VirtualIpAddress) KickAllConnections() (resp bool, err error) {
5676	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "kickAllConnections", nil, &r.Options, &resp)
5677	return
5678}
5679
5680// Upgrades the connection limit on the VirtualIp and changes the billing item on your account to reflect the change. This function will only upgrade you to the next "level" of service.  The next level follows this pattern Current Level  =>  Next Level 50                 100 100                200 200                500 500                1000 1000               1200 1200               1500 1500               2000 2000               2500 2500               3000
5681func (r Network_LoadBalancer_VirtualIpAddress) UpgradeConnectionLimit() (resp bool, err error) {
5682	err = r.Session.DoRequest("SoftLayer_Network_LoadBalancer_VirtualIpAddress", "upgradeConnectionLimit", nil, &r.Options, &resp)
5683	return
5684}
5685
5686// The SoftLayer_Network_Media_Transcode_Account contains information regarding a transcode account.
5687type Network_Media_Transcode_Account struct {
5688	Session *session.Session
5689	Options sl.Options
5690}
5691
5692// GetNetworkMediaTranscodeAccountService returns an instance of the Network_Media_Transcode_Account SoftLayer service
5693func GetNetworkMediaTranscodeAccountService(sess *session.Session) Network_Media_Transcode_Account {
5694	return Network_Media_Transcode_Account{Session: sess}
5695}
5696
5697func (r Network_Media_Transcode_Account) Id(id int) Network_Media_Transcode_Account {
5698	r.Options.Id = &id
5699	return r
5700}
5701
5702func (r Network_Media_Transcode_Account) Mask(mask string) Network_Media_Transcode_Account {
5703	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5704		mask = fmt.Sprintf("mask[%s]", mask)
5705	}
5706
5707	r.Options.Mask = mask
5708	return r
5709}
5710
5711func (r Network_Media_Transcode_Account) Filter(filter string) Network_Media_Transcode_Account {
5712	r.Options.Filter = filter
5713	return r
5714}
5715
5716func (r Network_Media_Transcode_Account) Limit(limit int) Network_Media_Transcode_Account {
5717	r.Options.Limit = &limit
5718	return r
5719}
5720
5721func (r Network_Media_Transcode_Account) Offset(offset int) Network_Media_Transcode_Account {
5722	r.Options.Offset = &offset
5723	return r
5724}
5725
5726// With this method, you can create a transcode account.  Individual SoftLayer account can have a single Transcode account. You have to pass your SoftLayer account id as a parameter.
5727func (r Network_Media_Transcode_Account) CreateTranscodeAccount() (resp bool, err error) {
5728	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "createTranscodeAccount", nil, &r.Options, &resp)
5729	return
5730}
5731
5732// '''Note'''. This method is obsolete. Please use the [[SoftLayer_Network_Media_Transcode_Job::createObject|createObject]] method on SoftLayer_Network_Media_Transcode_Job object instead. SoftLayer_Network_Media_Transcode_Job::createObject returns an object of a newly created Transcode Job.
5733//
5734// With this method, you can create a transcode job.
5735//
5736// The very first step of creating a transcode job is to upload your media files to the /in directory on your Transcode FTP space. Then, you have to pass a [[SoftLayer_Network_Media_Transcode_Job|Transcode job]] object as a parameter for this method.
5737//
5738// There are 4 required properties of SoftLayer_Network_Media_Transcode_Job object: transcodePresetName, transcodePresetGuid, inputFile, and outputFile. A transcode preset is a configuration that defines a certain media output.  You can retrieve all the supported presets with the [[SoftLayer_Network_Media_Transcode_Account::getPresets|getPresets]] method. You can also use [[SoftLayer_Network_Media_Transcode_Account::getPresetDetail|getPresetDetail]] method to get more information on a preset. Use these two methods to determine appropriate values for "transcodePresetName" and "transcodePresetGuid" properties. For an "inputFile", you must specify a file that exists in the /in directory of your Transcode FTP space. An "outputFile" name will be used by the Transcode server for naming a transcoded file.  An output file name must be in /out directory. If your outputFile name already exists in the /out directory, the Transcode server will append a file name with _n (an underscore and the total number of files with the identical name plus 1).
5739//
5740// The "name" property is optional and it can help you keep track of transcode jobs easily. "autoDeleteDuration" is another optional property that you can specify.  It determines how soon your input file will be deleted. If autoDeleteDuration is set to zero, your input file will be removed immediately after the last transcode job running on it is completed. A value for autoDeleteDuration property is in seconds and the maximum value is 259200 which is 3 days.
5741//
5742// An example SoftLayer_Network_Media_Transcode_Job parameter looks like this:
5743//
5744//
5745// * name: My transcoding
5746// * transcodePresetName: F4V 896kbps 640x352 16x9 29.97fps
5747// * transcodePresetGuid: {87E01268-C3E3-4A85-9701-052C9AC42BD4}
5748// * inputFile: /in/my_birthday.wmv
5749// * outputFile: /out/my_birthday_flash
5750//
5751//
5752// Notice that an output file does not have a file extension.  The Transcode server will append a file extension based on an output format. A newly created transcode job will be in "Pending" status and it will be added to the Transcoding queue. You will receive a notification email whenever there is a status change on your transcode job.  For example, the Transcode server starts to process your transcode job, you will be notified via an email.
5753//
5754// You can add up to 3 pending jobs at a time. Transcode jobs with any other status such as "Complete" or "Error" will not be counted toward your pending jobs.
5755//
5756// Once a job is complete, the Transcode server will place the output file into the /out directory along with a notification email. The files in the /out directory will be removed 3 days after they were created.  You will need to use an FTP client to download transcoded files.
5757//
5758//
5759func (r Network_Media_Transcode_Account) CreateTranscodeJob(newJob *datatypes.Network_Media_Transcode_Job) (resp bool, err error) {
5760	params := []interface{}{
5761		newJob,
5762	}
5763	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "createTranscodeJob", params, &r.Options, &resp)
5764	return
5765}
5766
5767// Retrieve The SoftLayer account information
5768func (r Network_Media_Transcode_Account) GetAccount() (resp datatypes.Account, err error) {
5769	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "getAccount", nil, &r.Options, &resp)
5770	return
5771}
5772
5773// This method returns a collection of SoftLayer_Container_Network_Ftp_Directory objects. You can retrieve directory information for /in and /out directories. A [[SoftLayer_Container_Network_Directory_Listing|Directory Listing]] object contains a type (indicating whether it is a file or a directory), name and file count if it is a directory.
5774func (r Network_Media_Transcode_Account) GetDirectoryInformation(directoryName *string, extensionFilter *string) (resp []datatypes.Container_Network_Directory_Listing, err error) {
5775	params := []interface{}{
5776		directoryName,
5777		extensionFilter,
5778	}
5779	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "getDirectoryInformation", params, &r.Options, &resp)
5780	return
5781}
5782
5783// This method returns detailed information of a media file that resides in the Transcode FTP server. A [[SoftLayer_Container_Network_Media_Information|media information]] object contains media details such as file size, media format, frame rate, aspect ratio and so on.  This information is merely for reference purposes. You should not rely on this data. Our library grabs small pieces of data from a media file to gather media details.  This information may not be available for some files.
5784func (r Network_Media_Transcode_Account) GetFileDetail(source *string) (resp datatypes.Container_Network_Media_Information, err error) {
5785	params := []interface{}{
5786		source,
5787	}
5788	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "getFileDetail", params, &r.Options, &resp)
5789	return
5790}
5791
5792// This method returns your Transcode FTP login credentials to the transcode.service.softlayer.com server.
5793//
5794// The Transcode FTP server is available via the SoftLayer private network. There is no API method that you can upload a file to Transcode server so you need to use an FTP client. You will have /in and /out directories on the Transcode FTP server.  You will have read-write privileges for /in directory and read-only privilege for /out directory. All the files in both /in and /out directories will be deleted after 72 hours from the creation date.
5795func (r Network_Media_Transcode_Account) GetFtpAttributes() (resp datatypes.Container_Network_Authentication_Data, err error) {
5796	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "getFtpAttributes", nil, &r.Options, &resp)
5797	return
5798}
5799
5800// getObject method retrieves the SoftLayer_Network_Media_Transcode_Account object whose ID number corresponds to the ID number of the initial parameter passed to the SoftLayer_Network_Media_Transcode_Account service. You can only retrieve a Transcode account assigned to your SoftLayer customer account.
5801func (r Network_Media_Transcode_Account) GetObject() (resp datatypes.Network_Media_Transcode_Account, err error) {
5802	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "getObject", nil, &r.Options, &resp)
5803	return
5804}
5805
5806// This method returns an array of [[SoftLayer_Container_Network_Media_Transcode_Preset_Element|preset element]] objects. Each preset has its own collection of preset elements such as encoder, frame rate, aspect ratio and so on. Each element object has a default value for itself and an array of [[SoftLayer_Container_Network_Media_Transcode_Preset_Element_Option|element option]] objects. For example, "Frame Rate" element for "Windows Media 9 - Download - 1 Mbps - NTSC - Constrained VBR" preset has 19 element options. 15.0 frame rate is selected by default.  Currently, you are not able to change the default value. Customizing these values may be possible in the future.
5807func (r Network_Media_Transcode_Account) GetPresetDetail(guid *string) (resp []datatypes.Container_Network_Media_Transcode_Preset_Element, err error) {
5808	params := []interface{}{
5809		guid,
5810	}
5811	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "getPresetDetail", params, &r.Options, &resp)
5812	return
5813}
5814
5815// A transcode preset is a configuration that defines a certain media output. This method returns an array of transcoding preset objects supported by SoftLayer's Transcode server. Each [[SoftLayer_Container_Network_Media_Transcode_Preset|preset object]] contains a GUID property. You will need a GUID string when you create a new transcode job.
5816func (r Network_Media_Transcode_Account) GetPresets() (resp []datatypes.Container_Network_Media_Transcode_Preset, err error) {
5817	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "getPresets", nil, &r.Options, &resp)
5818	return
5819}
5820
5821// Retrieve Transcode jobs
5822func (r Network_Media_Transcode_Account) GetTranscodeJobs() (resp []datatypes.Network_Media_Transcode_Job, err error) {
5823	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Account", "getTranscodeJobs", nil, &r.Options, &resp)
5824	return
5825}
5826
5827// The SoftLayer_Network_Media_Transcode_Job contains information regarding a transcode job such as input file, output format, user id and so on.
5828type Network_Media_Transcode_Job struct {
5829	Session *session.Session
5830	Options sl.Options
5831}
5832
5833// GetNetworkMediaTranscodeJobService returns an instance of the Network_Media_Transcode_Job SoftLayer service
5834func GetNetworkMediaTranscodeJobService(sess *session.Session) Network_Media_Transcode_Job {
5835	return Network_Media_Transcode_Job{Session: sess}
5836}
5837
5838func (r Network_Media_Transcode_Job) Id(id int) Network_Media_Transcode_Job {
5839	r.Options.Id = &id
5840	return r
5841}
5842
5843func (r Network_Media_Transcode_Job) Mask(mask string) Network_Media_Transcode_Job {
5844	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5845		mask = fmt.Sprintf("mask[%s]", mask)
5846	}
5847
5848	r.Options.Mask = mask
5849	return r
5850}
5851
5852func (r Network_Media_Transcode_Job) Filter(filter string) Network_Media_Transcode_Job {
5853	r.Options.Filter = filter
5854	return r
5855}
5856
5857func (r Network_Media_Transcode_Job) Limit(limit int) Network_Media_Transcode_Job {
5858	r.Options.Limit = &limit
5859	return r
5860}
5861
5862func (r Network_Media_Transcode_Job) Offset(offset int) Network_Media_Transcode_Job {
5863	r.Options.Offset = &offset
5864	return r
5865}
5866
5867// With this method, you can create a transcode job.
5868//
5869// The very first step of creating a transcode job is to upload your media files to the /in directory on your Transcode FTP space. Then, you have to pass a [[SoftLayer_Network_Media_Transcode_Job|Transcode job]] object as a parameter for this method.
5870//
5871// There are 4 required properties of SoftLayer_Network_Media_Transcode_Job object: transcodePresetName, transcodePresetGuid, inputFile, and outputFile. A transcode preset is a configuration that defines a certain media output.  You can retrieve all the supported presets with the [[SoftLayer_Network_Media_Transcode_Account::getPresets|getPresets]] method. You can also use [[SoftLayer_Network_Media_Transcode_Account::getPresetDetail|getPresetDetail]] method to get more information on a preset. Use these two methods to determine appropriate values for "transcodePresetName" and "transcodePresetGuid" properties. For an "inputFile", you must specify a file that exists in the /in directory of your Transcode FTP space. An "outputFile" name will be used by the Transcode server for naming a transcoded file.  An output file name must be in /out directory. If your outputFile name already exists in the /out directory, the Transcode server will append a file name with _n (an underscore and the total number of files with the identical name plus 1).
5872//
5873// The "name" property is optional and it can help you keep track of transcode jobs easily. "autoDeleteDuration" is another optional property that you can specify.  It determines how soon your input file will be deleted. If autoDeleteDuration is set to zero, your input file will be removed immediately after the last transcode job running on it is completed. A value for autoDeleteDuration property is in seconds and the maximum value is 259200 which is 3 days.
5874//
5875// An example SoftLayer_Network_Media_Transcode_Job parameter looks like this:
5876//
5877//
5878// * name: My transcoding
5879// * transcodePresetName: F4V 896kbps 640x352 16x9 29.97fps
5880// * transcodePresetGuid: {87E01268-C3E3-4A85-9701-052C9AC42BD4}
5881// * inputFile: /in/my_birthday.wmv
5882// * outputFile: /out/my_birthday_flash
5883//
5884//
5885// Notice that an output file does not have a file extension.  The Transcode server will append a file extension based on an output format. A newly created transcode job will be in "Pending" status and it will be added to the Transcoding queue. You will receive a notification email whenever there is a status change on your transcode job.  For example, the Transcode server starts to process your transcode job, you will be notified via an email.
5886//
5887// You can add up to 3 pending jobs at a time. Transcode jobs with any other status such as "Complete" or "Error" will not be counted toward your pending jobs.
5888//
5889// Once a job is complete, the Transcode server will place the output file into the /out directory along with a notification email. The files in the /out directory will be removed 3 days after they were created.  You will need to use an FTP client to download transcoded files.
5890//
5891//
5892func (r Network_Media_Transcode_Job) CreateObject(templateObject *datatypes.Network_Media_Transcode_Job) (resp datatypes.Network_Media_Transcode_Job, err error) {
5893	params := []interface{}{
5894		templateObject,
5895	}
5896	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job", "createObject", params, &r.Options, &resp)
5897	return
5898}
5899
5900// Retrieve
5901func (r Network_Media_Transcode_Job) GetHistory() (resp []datatypes.Network_Media_Transcode_Job_History, err error) {
5902	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job", "getHistory", nil, &r.Options, &resp)
5903	return
5904}
5905
5906// no documentation yet
5907func (r Network_Media_Transcode_Job) GetObject() (resp datatypes.Network_Media_Transcode_Job, err error) {
5908	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job", "getObject", nil, &r.Options, &resp)
5909	return
5910}
5911
5912// Retrieve The transcode service account
5913func (r Network_Media_Transcode_Job) GetTranscodeAccount() (resp datatypes.Network_Media_Transcode_Account, err error) {
5914	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job", "getTranscodeAccount", nil, &r.Options, &resp)
5915	return
5916}
5917
5918// Retrieve The status information of a transcode job
5919func (r Network_Media_Transcode_Job) GetTranscodeStatus() (resp datatypes.Network_Media_Transcode_Job_Status, err error) {
5920	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job", "getTranscodeStatus", nil, &r.Options, &resp)
5921	return
5922}
5923
5924// Retrieve The status of a transcode job
5925func (r Network_Media_Transcode_Job) GetTranscodeStatusName() (resp string, err error) {
5926	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job", "getTranscodeStatusName", nil, &r.Options, &resp)
5927	return
5928}
5929
5930// Retrieve The SoftLayer user that created the transcode job
5931func (r Network_Media_Transcode_Job) GetUser() (resp datatypes.User_Customer, err error) {
5932	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job", "getUser", nil, &r.Options, &resp)
5933	return
5934}
5935
5936// The SoftLayer_Network_Media_Transcode_Job_Status contains information on a transcode job status.
5937type Network_Media_Transcode_Job_Status struct {
5938	Session *session.Session
5939	Options sl.Options
5940}
5941
5942// GetNetworkMediaTranscodeJobStatusService returns an instance of the Network_Media_Transcode_Job_Status SoftLayer service
5943func GetNetworkMediaTranscodeJobStatusService(sess *session.Session) Network_Media_Transcode_Job_Status {
5944	return Network_Media_Transcode_Job_Status{Session: sess}
5945}
5946
5947func (r Network_Media_Transcode_Job_Status) Id(id int) Network_Media_Transcode_Job_Status {
5948	r.Options.Id = &id
5949	return r
5950}
5951
5952func (r Network_Media_Transcode_Job_Status) Mask(mask string) Network_Media_Transcode_Job_Status {
5953	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
5954		mask = fmt.Sprintf("mask[%s]", mask)
5955	}
5956
5957	r.Options.Mask = mask
5958	return r
5959}
5960
5961func (r Network_Media_Transcode_Job_Status) Filter(filter string) Network_Media_Transcode_Job_Status {
5962	r.Options.Filter = filter
5963	return r
5964}
5965
5966func (r Network_Media_Transcode_Job_Status) Limit(limit int) Network_Media_Transcode_Job_Status {
5967	r.Options.Limit = &limit
5968	return r
5969}
5970
5971func (r Network_Media_Transcode_Job_Status) Offset(offset int) Network_Media_Transcode_Job_Status {
5972	r.Options.Offset = &offset
5973	return r
5974}
5975
5976// This method returns all transcode job statuses.
5977func (r Network_Media_Transcode_Job_Status) GetAllStatuses() (resp []datatypes.Network_Media_Transcode_Job_Status, err error) {
5978	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job_Status", "getAllStatuses", nil, &r.Options, &resp)
5979	return
5980}
5981
5982// no documentation yet
5983func (r Network_Media_Transcode_Job_Status) GetObject() (resp datatypes.Network_Media_Transcode_Job_Status, err error) {
5984	err = r.Session.DoRequest("SoftLayer_Network_Media_Transcode_Job_Status", "getObject", nil, &r.Options, &resp)
5985	return
5986}
5987
5988// no documentation yet
5989type Network_Message_Delivery struct {
5990	Session *session.Session
5991	Options sl.Options
5992}
5993
5994// GetNetworkMessageDeliveryService returns an instance of the Network_Message_Delivery SoftLayer service
5995func GetNetworkMessageDeliveryService(sess *session.Session) Network_Message_Delivery {
5996	return Network_Message_Delivery{Session: sess}
5997}
5998
5999func (r Network_Message_Delivery) Id(id int) Network_Message_Delivery {
6000	r.Options.Id = &id
6001	return r
6002}
6003
6004func (r Network_Message_Delivery) Mask(mask string) Network_Message_Delivery {
6005	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6006		mask = fmt.Sprintf("mask[%s]", mask)
6007	}
6008
6009	r.Options.Mask = mask
6010	return r
6011}
6012
6013func (r Network_Message_Delivery) Filter(filter string) Network_Message_Delivery {
6014	r.Options.Filter = filter
6015	return r
6016}
6017
6018func (r Network_Message_Delivery) Limit(limit int) Network_Message_Delivery {
6019	r.Options.Limit = &limit
6020	return r
6021}
6022
6023func (r Network_Message_Delivery) Offset(offset int) Network_Message_Delivery {
6024	r.Options.Offset = &offset
6025	return r
6026}
6027
6028// no documentation yet
6029func (r Network_Message_Delivery) EditObject(templateObject *datatypes.Network_Message_Delivery) (resp bool, err error) {
6030	params := []interface{}{
6031		templateObject,
6032	}
6033	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery", "editObject", params, &r.Options, &resp)
6034	return
6035}
6036
6037// Retrieve The SoftLayer customer account that a network message delivery account belongs to.
6038func (r Network_Message_Delivery) GetAccount() (resp datatypes.Account, err error) {
6039	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery", "getAccount", nil, &r.Options, &resp)
6040	return
6041}
6042
6043// Retrieve The billing item for a network message delivery account.
6044func (r Network_Message_Delivery) GetBillingItem() (resp datatypes.Billing_Item, err error) {
6045	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery", "getBillingItem", nil, &r.Options, &resp)
6046	return
6047}
6048
6049// no documentation yet
6050func (r Network_Message_Delivery) GetObject() (resp datatypes.Network_Message_Delivery, err error) {
6051	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery", "getObject", nil, &r.Options, &resp)
6052	return
6053}
6054
6055// Retrieve The message delivery type of a network message delivery account.
6056func (r Network_Message_Delivery) GetType() (resp datatypes.Network_Message_Delivery_Type, err error) {
6057	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery", "getType", nil, &r.Options, &resp)
6058	return
6059}
6060
6061// Retrieve The vendor for a network message delivery account.
6062func (r Network_Message_Delivery) GetVendor() (resp datatypes.Network_Message_Delivery_Vendor, err error) {
6063	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery", "getVendor", nil, &r.Options, &resp)
6064	return
6065}
6066
6067// no documentation yet
6068type Network_Message_Delivery_Email_Sendgrid struct {
6069	Session *session.Session
6070	Options sl.Options
6071}
6072
6073// GetNetworkMessageDeliveryEmailSendgridService returns an instance of the Network_Message_Delivery_Email_Sendgrid SoftLayer service
6074func GetNetworkMessageDeliveryEmailSendgridService(sess *session.Session) Network_Message_Delivery_Email_Sendgrid {
6075	return Network_Message_Delivery_Email_Sendgrid{Session: sess}
6076}
6077
6078func (r Network_Message_Delivery_Email_Sendgrid) Id(id int) Network_Message_Delivery_Email_Sendgrid {
6079	r.Options.Id = &id
6080	return r
6081}
6082
6083func (r Network_Message_Delivery_Email_Sendgrid) Mask(mask string) Network_Message_Delivery_Email_Sendgrid {
6084	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6085		mask = fmt.Sprintf("mask[%s]", mask)
6086	}
6087
6088	r.Options.Mask = mask
6089	return r
6090}
6091
6092func (r Network_Message_Delivery_Email_Sendgrid) Filter(filter string) Network_Message_Delivery_Email_Sendgrid {
6093	r.Options.Filter = filter
6094	return r
6095}
6096
6097func (r Network_Message_Delivery_Email_Sendgrid) Limit(limit int) Network_Message_Delivery_Email_Sendgrid {
6098	r.Options.Limit = &limit
6099	return r
6100}
6101
6102func (r Network_Message_Delivery_Email_Sendgrid) Offset(offset int) Network_Message_Delivery_Email_Sendgrid {
6103	r.Options.Offset = &offset
6104	return r
6105}
6106
6107// no documentation yet
6108func (r Network_Message_Delivery_Email_Sendgrid) AddUnsubscribeEmailAddress(emailAddress *string) (resp bool, err error) {
6109	params := []interface{}{
6110		emailAddress,
6111	}
6112	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "addUnsubscribeEmailAddress", params, &r.Options, &resp)
6113	return
6114}
6115
6116// no documentation yet
6117func (r Network_Message_Delivery_Email_Sendgrid) DeleteEmailListEntries(list *string, entries []string) (resp bool, err error) {
6118	params := []interface{}{
6119		list,
6120		entries,
6121	}
6122	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "deleteEmailListEntries", params, &r.Options, &resp)
6123	return
6124}
6125
6126// no documentation yet
6127func (r Network_Message_Delivery_Email_Sendgrid) DisableSmtpAccess() (resp bool, err error) {
6128	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "disableSmtpAccess", nil, &r.Options, &resp)
6129	return
6130}
6131
6132// no documentation yet
6133func (r Network_Message_Delivery_Email_Sendgrid) EditObject(templateObject *datatypes.Network_Message_Delivery) (resp bool, err error) {
6134	params := []interface{}{
6135		templateObject,
6136	}
6137	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "editObject", params, &r.Options, &resp)
6138	return
6139}
6140
6141// no documentation yet
6142func (r Network_Message_Delivery_Email_Sendgrid) EnableSmtpAccess() (resp bool, err error) {
6143	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "enableSmtpAccess", nil, &r.Options, &resp)
6144	return
6145}
6146
6147// Retrieve The SoftLayer customer account that a network message delivery account belongs to.
6148func (r Network_Message_Delivery_Email_Sendgrid) GetAccount() (resp datatypes.Account, err error) {
6149	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getAccount", nil, &r.Options, &resp)
6150	return
6151}
6152
6153// no documentation yet
6154func (r Network_Message_Delivery_Email_Sendgrid) GetAccountOverview() (resp datatypes.Container_Network_Message_Delivery_Email_Sendgrid_Account_Overview, err error) {
6155	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getAccountOverview", nil, &r.Options, &resp)
6156	return
6157}
6158
6159// Retrieve The billing item for a network message delivery account.
6160func (r Network_Message_Delivery_Email_Sendgrid) GetBillingItem() (resp datatypes.Billing_Item, err error) {
6161	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getBillingItem", nil, &r.Options, &resp)
6162	return
6163}
6164
6165// no documentation yet
6166func (r Network_Message_Delivery_Email_Sendgrid) GetCategoryList() (resp []string, err error) {
6167	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getCategoryList", nil, &r.Options, &resp)
6168	return
6169}
6170
6171// Retrieve The contact e-mail address used by SendGrid.
6172func (r Network_Message_Delivery_Email_Sendgrid) GetEmailAddress() (resp string, err error) {
6173	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getEmailAddress", nil, &r.Options, &resp)
6174	return
6175}
6176
6177// no documentation yet
6178func (r Network_Message_Delivery_Email_Sendgrid) GetEmailList(list *string) (resp []datatypes.Container_Network_Message_Delivery_Email_Sendgrid_List_Entry, err error) {
6179	params := []interface{}{
6180		list,
6181	}
6182	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getEmailList", params, &r.Options, &resp)
6183	return
6184}
6185
6186// no documentation yet
6187func (r Network_Message_Delivery_Email_Sendgrid) GetObject() (resp datatypes.Network_Message_Delivery_Email_Sendgrid, err error) {
6188	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getObject", nil, &r.Options, &resp)
6189	return
6190}
6191
6192// Retrieve A flag that determines if a SendGrid e-mail delivery account has access to send mail through the SendGrid SMTP server.
6193func (r Network_Message_Delivery_Email_Sendgrid) GetSmtpAccess() (resp string, err error) {
6194	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getSmtpAccess", nil, &r.Options, &resp)
6195	return
6196}
6197
6198// no documentation yet
6199func (r Network_Message_Delivery_Email_Sendgrid) GetStatistics(options *datatypes.Container_Network_Message_Delivery_Email_Sendgrid_Statistics_Options) (resp []datatypes.Container_Network_Message_Delivery_Email_Sendgrid_Statistics, err error) {
6200	params := []interface{}{
6201		options,
6202	}
6203	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getStatistics", params, &r.Options, &resp)
6204	return
6205}
6206
6207// no documentation yet
6208func (r Network_Message_Delivery_Email_Sendgrid) GetStatisticsGraph(options *datatypes.Container_Network_Message_Delivery_Email_Sendgrid_Statistics_Options) (resp datatypes.Container_Network_Message_Delivery_Email_Sendgrid_Statistics_Graph, err error) {
6209	params := []interface{}{
6210		options,
6211	}
6212	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getStatisticsGraph", params, &r.Options, &resp)
6213	return
6214}
6215
6216// Retrieve The message delivery type of a network message delivery account.
6217func (r Network_Message_Delivery_Email_Sendgrid) GetType() (resp datatypes.Network_Message_Delivery_Type, err error) {
6218	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getType", nil, &r.Options, &resp)
6219	return
6220}
6221
6222// Retrieve The vendor for a network message delivery account.
6223func (r Network_Message_Delivery_Email_Sendgrid) GetVendor() (resp datatypes.Network_Message_Delivery_Vendor, err error) {
6224	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getVendor", nil, &r.Options, &resp)
6225	return
6226}
6227
6228// no documentation yet
6229func (r Network_Message_Delivery_Email_Sendgrid) GetVendorPortalUrl() (resp string, err error) {
6230	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "getVendorPortalUrl", nil, &r.Options, &resp)
6231	return
6232}
6233
6234// no documentation yet
6235func (r Network_Message_Delivery_Email_Sendgrid) SendEmail(emailContainer *datatypes.Container_Network_Message_Delivery_Email) (resp bool, err error) {
6236	params := []interface{}{
6237		emailContainer,
6238	}
6239	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "sendEmail", params, &r.Options, &resp)
6240	return
6241}
6242
6243// no documentation yet
6244func (r Network_Message_Delivery_Email_Sendgrid) UpdateEmailAddress(emailAddress *string) (resp bool, err error) {
6245	params := []interface{}{
6246		emailAddress,
6247	}
6248	err = r.Session.DoRequest("SoftLayer_Network_Message_Delivery_Email_Sendgrid", "updateEmailAddress", params, &r.Options, &resp)
6249	return
6250}
6251
6252// no documentation yet
6253type Network_Monitor struct {
6254	Session *session.Session
6255	Options sl.Options
6256}
6257
6258// GetNetworkMonitorService returns an instance of the Network_Monitor SoftLayer service
6259func GetNetworkMonitorService(sess *session.Session) Network_Monitor {
6260	return Network_Monitor{Session: sess}
6261}
6262
6263func (r Network_Monitor) Id(id int) Network_Monitor {
6264	r.Options.Id = &id
6265	return r
6266}
6267
6268func (r Network_Monitor) Mask(mask string) Network_Monitor {
6269	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6270		mask = fmt.Sprintf("mask[%s]", mask)
6271	}
6272
6273	r.Options.Mask = mask
6274	return r
6275}
6276
6277func (r Network_Monitor) Filter(filter string) Network_Monitor {
6278	r.Options.Filter = filter
6279	return r
6280}
6281
6282func (r Network_Monitor) Limit(limit int) Network_Monitor {
6283	r.Options.Limit = &limit
6284	return r
6285}
6286
6287func (r Network_Monitor) Offset(offset int) Network_Monitor {
6288	r.Options.Offset = &offset
6289	return r
6290}
6291
6292// This will return an arrayObject of objects containing the ipaddresses.  Using an string parameter you can send a partial ipaddress to search within a given ipaddress.  You can also set the max limit as well using the setting the resultLimit.
6293func (r Network_Monitor) GetIpAddressesByHardware(hardware *datatypes.Hardware, partialIpAddress *string) (resp []datatypes.Network_Subnet_IpAddress, err error) {
6294	params := []interface{}{
6295		hardware,
6296		partialIpAddress,
6297	}
6298	err = r.Session.DoRequest("SoftLayer_Network_Monitor", "getIpAddressesByHardware", params, &r.Options, &resp)
6299	return
6300}
6301
6302// This will return an arrayObject of objects containing the ipaddresses.  Using an string parameter you can send a partial ipaddress to search within a given ipaddress.  You can also set the max limit as well using the setting the resultLimit.
6303func (r Network_Monitor) GetIpAddressesByVirtualGuest(guest *datatypes.Virtual_Guest, partialIpAddress *string) (resp []datatypes.Network_Subnet_IpAddress, err error) {
6304	params := []interface{}{
6305		guest,
6306		partialIpAddress,
6307	}
6308	err = r.Session.DoRequest("SoftLayer_Network_Monitor", "getIpAddressesByVirtualGuest", params, &r.Options, &resp)
6309	return
6310}
6311
6312// The Monitoring_Query_Host type represents a monitoring instance.  It consists of a hardware ID to monitor, an IP address attached to that hardware ID, a method of monitoring, and what to do in the instance that the monitor ever fails.
6313type Network_Monitor_Version1_Query_Host struct {
6314	Session *session.Session
6315	Options sl.Options
6316}
6317
6318// GetNetworkMonitorVersion1QueryHostService returns an instance of the Network_Monitor_Version1_Query_Host SoftLayer service
6319func GetNetworkMonitorVersion1QueryHostService(sess *session.Session) Network_Monitor_Version1_Query_Host {
6320	return Network_Monitor_Version1_Query_Host{Session: sess}
6321}
6322
6323func (r Network_Monitor_Version1_Query_Host) Id(id int) Network_Monitor_Version1_Query_Host {
6324	r.Options.Id = &id
6325	return r
6326}
6327
6328func (r Network_Monitor_Version1_Query_Host) Mask(mask string) Network_Monitor_Version1_Query_Host {
6329	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6330		mask = fmt.Sprintf("mask[%s]", mask)
6331	}
6332
6333	r.Options.Mask = mask
6334	return r
6335}
6336
6337func (r Network_Monitor_Version1_Query_Host) Filter(filter string) Network_Monitor_Version1_Query_Host {
6338	r.Options.Filter = filter
6339	return r
6340}
6341
6342func (r Network_Monitor_Version1_Query_Host) Limit(limit int) Network_Monitor_Version1_Query_Host {
6343	r.Options.Limit = &limit
6344	return r
6345}
6346
6347func (r Network_Monitor_Version1_Query_Host) Offset(offset int) Network_Monitor_Version1_Query_Host {
6348	r.Options.Offset = &offset
6349	return r
6350}
6351
6352// Passing in an unsaved instances of a Query_Host object into this function will create the object and return the results to the user.
6353func (r Network_Monitor_Version1_Query_Host) CreateObject(templateObject *datatypes.Network_Monitor_Version1_Query_Host) (resp datatypes.Network_Monitor_Version1_Query_Host, err error) {
6354	params := []interface{}{
6355		templateObject,
6356	}
6357	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "createObject", params, &r.Options, &resp)
6358	return
6359}
6360
6361// Passing in a collection of unsaved instances of Query_Host objects into this function will create all objects and return the results to the user.
6362func (r Network_Monitor_Version1_Query_Host) CreateObjects(templateObjects []datatypes.Network_Monitor_Version1_Query_Host) (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
6363	params := []interface{}{
6364		templateObjects,
6365	}
6366	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "createObjects", params, &r.Options, &resp)
6367	return
6368}
6369
6370// Like any other API object, the monitoring objects can be deleted by passing an instance of them into this function.  The ID on the object must be set.
6371func (r Network_Monitor_Version1_Query_Host) DeleteObject() (resp bool, err error) {
6372	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "deleteObject", nil, &r.Options, &resp)
6373	return
6374}
6375
6376// Like any other API object, the monitoring objects can be deleted by passing an instance of them into this function.  The ID on the object must be set.
6377func (r Network_Monitor_Version1_Query_Host) DeleteObjects(templateObjects []datatypes.Network_Monitor_Version1_Query_Host) (resp bool, err error) {
6378	params := []interface{}{
6379		templateObjects,
6380	}
6381	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "deleteObjects", params, &r.Options, &resp)
6382	return
6383}
6384
6385// Like any other API object, the monitoring objects can have their exposed properties edited by passing in a modified version of the object.
6386func (r Network_Monitor_Version1_Query_Host) EditObject(templateObject *datatypes.Network_Monitor_Version1_Query_Host) (resp bool, err error) {
6387	params := []interface{}{
6388		templateObject,
6389	}
6390	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "editObject", params, &r.Options, &resp)
6391	return
6392}
6393
6394// Like any other API object, the monitoring objects can have their exposed properties edited by passing in a modified version of the object.
6395func (r Network_Monitor_Version1_Query_Host) EditObjects(templateObjects []datatypes.Network_Monitor_Version1_Query_Host) (resp bool, err error) {
6396	params := []interface{}{
6397		templateObjects,
6398	}
6399	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "editObjects", params, &r.Options, &resp)
6400	return
6401}
6402
6403// This method returns all Query_Host objects associated with the passed in hardware ID as long as that hardware ID is owned by the current user's account.
6404//
6405// This behavior can also be accomplished by simply tapping networkMonitors on the Hardware_Server object.
6406func (r Network_Monitor_Version1_Query_Host) FindByHardwareId(hardwareId *int) (resp []datatypes.Network_Monitor_Version1_Query_Host, err error) {
6407	params := []interface{}{
6408		hardwareId,
6409	}
6410	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "findByHardwareId", params, &r.Options, &resp)
6411	return
6412}
6413
6414// Retrieve The hardware that is being monitored by this monitoring instance
6415func (r Network_Monitor_Version1_Query_Host) GetHardware() (resp datatypes.Hardware, err error) {
6416	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "getHardware", nil, &r.Options, &resp)
6417	return
6418}
6419
6420// Retrieve The most recent result for this particular monitoring instance.
6421func (r Network_Monitor_Version1_Query_Host) GetLastResult() (resp datatypes.Network_Monitor_Version1_Query_Result, err error) {
6422	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "getLastResult", nil, &r.Options, &resp)
6423	return
6424}
6425
6426// getObject retrieves the SoftLayer_Network_Monitor_Version1_Query_Host object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Monitor_Version1_Query_Host service. You can only retrieve query hosts attached to hardware that belong to your account.
6427func (r Network_Monitor_Version1_Query_Host) GetObject() (resp datatypes.Network_Monitor_Version1_Query_Host, err error) {
6428	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "getObject", nil, &r.Options, &resp)
6429	return
6430}
6431
6432// Retrieve The type of monitoring query that is executed when this hardware is monitored.
6433func (r Network_Monitor_Version1_Query_Host) GetQueryType() (resp datatypes.Network_Monitor_Version1_Query_Type, err error) {
6434	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "getQueryType", nil, &r.Options, &resp)
6435	return
6436}
6437
6438// Retrieve The action taken when a monitor fails.
6439func (r Network_Monitor_Version1_Query_Host) GetResponseAction() (resp datatypes.Network_Monitor_Version1_Query_ResponseType, err error) {
6440	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host", "getResponseAction", nil, &r.Options, &resp)
6441	return
6442}
6443
6444// The monitoring stratum type stores the maximum level of the various components of the monitoring system that a particular hardware object has access to.  This object cannot be accessed by ID, and cannot be modified. The user can access this object through Hardware_Server->availableMonitoring.
6445//
6446// There are two values on this object that are important:
6447// # monitorLevel determines the highest level of SoftLayer_Network_Monitor_Version1_Query_Type object that can be placed in a monitoring instance on this server
6448// # responseLevel determines the highest level of SoftLayer_Network_Monitor_Version1_Query_ResponseType object that can be placed in a monitoring instance on this server
6449//
6450//
6451// Also note that the query type and response types are available through getAllQueryTypes and getAllResponseTypes, respectively.
6452type Network_Monitor_Version1_Query_Host_Stratum struct {
6453	Session *session.Session
6454	Options sl.Options
6455}
6456
6457// GetNetworkMonitorVersion1QueryHostStratumService returns an instance of the Network_Monitor_Version1_Query_Host_Stratum SoftLayer service
6458func GetNetworkMonitorVersion1QueryHostStratumService(sess *session.Session) Network_Monitor_Version1_Query_Host_Stratum {
6459	return Network_Monitor_Version1_Query_Host_Stratum{Session: sess}
6460}
6461
6462func (r Network_Monitor_Version1_Query_Host_Stratum) Id(id int) Network_Monitor_Version1_Query_Host_Stratum {
6463	r.Options.Id = &id
6464	return r
6465}
6466
6467func (r Network_Monitor_Version1_Query_Host_Stratum) Mask(mask string) Network_Monitor_Version1_Query_Host_Stratum {
6468	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6469		mask = fmt.Sprintf("mask[%s]", mask)
6470	}
6471
6472	r.Options.Mask = mask
6473	return r
6474}
6475
6476func (r Network_Monitor_Version1_Query_Host_Stratum) Filter(filter string) Network_Monitor_Version1_Query_Host_Stratum {
6477	r.Options.Filter = filter
6478	return r
6479}
6480
6481func (r Network_Monitor_Version1_Query_Host_Stratum) Limit(limit int) Network_Monitor_Version1_Query_Host_Stratum {
6482	r.Options.Limit = &limit
6483	return r
6484}
6485
6486func (r Network_Monitor_Version1_Query_Host_Stratum) Offset(offset int) Network_Monitor_Version1_Query_Host_Stratum {
6487	r.Options.Offset = &offset
6488	return r
6489}
6490
6491// Calling this function returns all possible query type objects. These objects are to be used to set the values on the SoftLayer_Network_Monitor_Version1_Query_Host when creating new monitoring instances.
6492func (r Network_Monitor_Version1_Query_Host_Stratum) GetAllQueryTypes() (resp []datatypes.Network_Monitor_Version1_Query_Type, err error) {
6493	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host_Stratum", "getAllQueryTypes", nil, &r.Options, &resp)
6494	return
6495}
6496
6497// Calling this function returns all possible response type objects. These objects are to be used to set the values on the SoftLayer_Network_Monitor_Version1_Query_Host when creating new monitoring instances.
6498func (r Network_Monitor_Version1_Query_Host_Stratum) GetAllResponseTypes() (resp []datatypes.Network_Monitor_Version1_Query_ResponseType, err error) {
6499	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host_Stratum", "getAllResponseTypes", nil, &r.Options, &resp)
6500	return
6501}
6502
6503// Retrieve The hardware object that these monitoring permissions applies to.
6504func (r Network_Monitor_Version1_Query_Host_Stratum) GetHardware() (resp datatypes.Hardware, err error) {
6505	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host_Stratum", "getHardware", nil, &r.Options, &resp)
6506	return
6507}
6508
6509// getObject retrieves the SoftLayer_Network_Monitor_Version1_Query_Host_Stratum object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Monitor_Version1_Query_Host_Stratum service. You can only retrieve strata attached to hardware that belong to your account.
6510func (r Network_Monitor_Version1_Query_Host_Stratum) GetObject() (resp datatypes.Network_Monitor_Version1_Query_Host_Stratum, err error) {
6511	err = r.Session.DoRequest("SoftLayer_Network_Monitor_Version1_Query_Host_Stratum", "getObject", nil, &r.Options, &resp)
6512	return
6513}
6514
6515// SoftLayer_Network_Pod refers to a portion of a data center that share a Backend Customer Router (BCR) and usually a front-end counterpart known as a Frontend Customer Router (FCR). A Pod primarily denotes a logical location within the network and the physical aspects that support networks. This is in contrast to representing a specific physical location.
6516//
6517// A ``Pod`` is identified by a ``name``, which is unique. A Pod name follows the format 'dddnn.podii', where 'ddd' is a data center code, 'nn' is the data center number, 'pod' is a literal string and 'ii' is a two digit, left-zero- padded number which corresponds to a Backend Customer Router (BCR) of the desired data center. Examples:
6518// * dal09.pod01 = Dallas 9, Pod 1 (ie. bcr01)
6519// * sjc01.pod04 = San Jose 1, Pod 4 (ie. bcr04)
6520// * ams01.pod01 = Amsterdam 1, Pod 1 (ie. bcr01)
6521type Network_Pod struct {
6522	Session *session.Session
6523	Options sl.Options
6524}
6525
6526// GetNetworkPodService returns an instance of the Network_Pod SoftLayer service
6527func GetNetworkPodService(sess *session.Session) Network_Pod {
6528	return Network_Pod{Session: sess}
6529}
6530
6531func (r Network_Pod) Id(id int) Network_Pod {
6532	r.Options.Id = &id
6533	return r
6534}
6535
6536func (r Network_Pod) Mask(mask string) Network_Pod {
6537	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6538		mask = fmt.Sprintf("mask[%s]", mask)
6539	}
6540
6541	r.Options.Mask = mask
6542	return r
6543}
6544
6545func (r Network_Pod) Filter(filter string) Network_Pod {
6546	r.Options.Filter = filter
6547	return r
6548}
6549
6550func (r Network_Pod) Limit(limit int) Network_Pod {
6551	r.Options.Limit = &limit
6552	return r
6553}
6554
6555func (r Network_Pod) Offset(offset int) Network_Pod {
6556	r.Options.Offset = &offset
6557	return r
6558}
6559
6560// no documentation yet
6561func (r Network_Pod) GetAllObjects() (resp []datatypes.Network_Pod, err error) {
6562	err = r.Session.DoRequest("SoftLayer_Network_Pod", "getAllObjects", nil, &r.Options, &resp)
6563	return
6564}
6565
6566// Provides the list of capabilities a Pod fulfills. See [[SoftLayer_Network_Pod/listCapabilities]] for more information on capabilities.
6567func (r Network_Pod) GetCapabilities() (resp []string, err error) {
6568	err = r.Session.DoRequest("SoftLayer_Network_Pod", "getCapabilities", nil, &r.Options, &resp)
6569	return
6570}
6571
6572// Set the initialization parameter to the ``name`` of the Pod to retrieve.
6573func (r Network_Pod) GetObject() (resp datatypes.Network_Pod, err error) {
6574	err = r.Session.DoRequest("SoftLayer_Network_Pod", "getObject", nil, &r.Options, &resp)
6575	return
6576}
6577
6578// A capability is simply a string literal that denotes the availability of a feature. Capabilities are generally self describing, but any additional details concerning the implications of a capability will be documented elsewhere; usually by the Service or Operation related to it.
6579func (r Network_Pod) ListCapabilities() (resp []string, err error) {
6580	err = r.Session.DoRequest("SoftLayer_Network_Pod", "listCapabilities", nil, &r.Options, &resp)
6581	return
6582}
6583
6584// The SoftLayer_Network_SecurityGroup data type contains general information for a single security group. A security group contains a set of IP filter [[SoftLayer_Network_SecurityGroup_Rule (type)|rules]] that define how to handle incoming (ingress) and outgoing (egress) traffic to both the public and private interfaces of a virtual server instance and a set of [[SoftLayer_Virtual_Network_SecurityGroup_NetworkComponentBinding (type)|bindings]] to associate virtual guest network components with the security group.
6585type Network_SecurityGroup struct {
6586	Session *session.Session
6587	Options sl.Options
6588}
6589
6590// GetNetworkSecurityGroupService returns an instance of the Network_SecurityGroup SoftLayer service
6591func GetNetworkSecurityGroupService(sess *session.Session) Network_SecurityGroup {
6592	return Network_SecurityGroup{Session: sess}
6593}
6594
6595func (r Network_SecurityGroup) Id(id int) Network_SecurityGroup {
6596	r.Options.Id = &id
6597	return r
6598}
6599
6600func (r Network_SecurityGroup) Mask(mask string) Network_SecurityGroup {
6601	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6602		mask = fmt.Sprintf("mask[%s]", mask)
6603	}
6604
6605	r.Options.Mask = mask
6606	return r
6607}
6608
6609func (r Network_SecurityGroup) Filter(filter string) Network_SecurityGroup {
6610	r.Options.Filter = filter
6611	return r
6612}
6613
6614func (r Network_SecurityGroup) Limit(limit int) Network_SecurityGroup {
6615	r.Options.Limit = &limit
6616	return r
6617}
6618
6619func (r Network_SecurityGroup) Offset(offset int) Network_SecurityGroup {
6620	r.Options.Offset = &offset
6621	return r
6622}
6623
6624// Add new rules to a security group by sending in an array of template [[SoftLayer_Network_SecurityGroup_Rule (type)]] objects to be created.
6625func (r Network_SecurityGroup) AddRules(ruleTemplates []datatypes.Network_SecurityGroup_Rule) (resp datatypes.Network_SecurityGroup_RequestRules, err error) {
6626	params := []interface{}{
6627		ruleTemplates,
6628	}
6629	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "addRules", params, &r.Options, &resp)
6630	return
6631}
6632
6633// Attach virtual guest network components to a security group by creating [[SoftLayer_Virtual_Network_SecurityGroup_NetworkComponentBinding (type)]] objects.
6634func (r Network_SecurityGroup) AttachNetworkComponents(networkComponentIds []int) (resp datatypes.Network_SecurityGroup_Request, err error) {
6635	params := []interface{}{
6636		networkComponentIds,
6637	}
6638	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "attachNetworkComponents", params, &r.Options, &resp)
6639	return
6640}
6641
6642// Create a new security group.
6643func (r Network_SecurityGroup) CreateObject(templateObject *datatypes.Network_SecurityGroup) (resp datatypes.Network_SecurityGroup, err error) {
6644	params := []interface{}{
6645		templateObject,
6646	}
6647	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "createObject", params, &r.Options, &resp)
6648	return
6649}
6650
6651// Create new security groups.
6652func (r Network_SecurityGroup) CreateObjects(templateObjects []datatypes.Network_SecurityGroup) (resp []datatypes.Network_SecurityGroup, err error) {
6653	params := []interface{}{
6654		templateObjects,
6655	}
6656	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "createObjects", params, &r.Options, &resp)
6657	return
6658}
6659
6660// Delete a security group for an account. A security group cannot be deleted if any network components are attached or if the security group is a remote security group for a [[SoftLayer_Network_SecurityGroup_Rule (type)|rule]].
6661func (r Network_SecurityGroup) DeleteObject() (resp bool, err error) {
6662	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "deleteObject", nil, &r.Options, &resp)
6663	return
6664}
6665
6666// Delete security groups for an account. A security group cannot be deleted if any network components are attached or if the security group is a remote security group for a [[SoftLayer_Network_SecurityGroup_Rule (type)|rule]].
6667func (r Network_SecurityGroup) DeleteObjects(templateObjects []datatypes.Network_SecurityGroup) (resp bool, err error) {
6668	params := []interface{}{
6669		templateObjects,
6670	}
6671	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "deleteObjects", params, &r.Options, &resp)
6672	return
6673}
6674
6675// Detach virtual guest network components from a security group by deleting its [[SoftLayer_Virtual_Network_SecurityGroup_NetworkComponentBinding (type)]].
6676func (r Network_SecurityGroup) DetachNetworkComponents(networkComponentIds []int) (resp datatypes.Network_SecurityGroup_Request, err error) {
6677	params := []interface{}{
6678		networkComponentIds,
6679	}
6680	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "detachNetworkComponents", params, &r.Options, &resp)
6681	return
6682}
6683
6684// Edit a security group.
6685func (r Network_SecurityGroup) EditObject(templateObject *datatypes.Network_SecurityGroup) (resp bool, err error) {
6686	params := []interface{}{
6687		templateObject,
6688	}
6689	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "editObject", params, &r.Options, &resp)
6690	return
6691}
6692
6693// Edit security groups.
6694func (r Network_SecurityGroup) EditObjects(templateObjects []datatypes.Network_SecurityGroup) (resp bool, err error) {
6695	params := []interface{}{
6696		templateObjects,
6697	}
6698	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "editObjects", params, &r.Options, &resp)
6699	return
6700}
6701
6702// Edit rules that belong to the security group. An array of skeleton [[SoftLayer_Network_SecurityGroup_Rule]] objects must be sent in with only the properties defined that you want to change. To edit a property to null, send in -1 for integer properties and "" for string properties. Unchanged properties are left alone.
6703func (r Network_SecurityGroup) EditRules(ruleTemplates []datatypes.Network_SecurityGroup_Rule) (resp datatypes.Network_SecurityGroup_RequestRules, err error) {
6704	params := []interface{}{
6705		ruleTemplates,
6706	}
6707	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "editRules", params, &r.Options, &resp)
6708	return
6709}
6710
6711// Retrieve The account this security group belongs to.
6712func (r Network_SecurityGroup) GetAccount() (resp datatypes.Account, err error) {
6713	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "getAccount", nil, &r.Options, &resp)
6714	return
6715}
6716
6717// no documentation yet
6718func (r Network_SecurityGroup) GetAllObjects() (resp []datatypes.Network_SecurityGroup, err error) {
6719	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "getAllObjects", nil, &r.Options, &resp)
6720	return
6721}
6722
6723// List the current security group limits
6724func (r Network_SecurityGroup) GetLimits() (resp []datatypes.Container_Network_SecurityGroup_Limit, err error) {
6725	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "getLimits", nil, &r.Options, &resp)
6726	return
6727}
6728
6729// Retrieve The network component bindings for this security group.
6730func (r Network_SecurityGroup) GetNetworkComponentBindings() (resp []datatypes.Virtual_Network_SecurityGroup_NetworkComponentBinding, err error) {
6731	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "getNetworkComponentBindings", nil, &r.Options, &resp)
6732	return
6733}
6734
6735// no documentation yet
6736func (r Network_SecurityGroup) GetObject() (resp datatypes.Network_SecurityGroup, err error) {
6737	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "getObject", nil, &r.Options, &resp)
6738	return
6739}
6740
6741// Retrieve The order bindings for this security group
6742func (r Network_SecurityGroup) GetOrderBindings() (resp []datatypes.Network_SecurityGroup_OrderBinding, err error) {
6743	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "getOrderBindings", nil, &r.Options, &resp)
6744	return
6745}
6746
6747// Retrieve The rules for this security group.
6748func (r Network_SecurityGroup) GetRules() (resp []datatypes.Network_SecurityGroup_Rule, err error) {
6749	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "getRules", nil, &r.Options, &resp)
6750	return
6751}
6752
6753// List the data centers that currently support the use of security groups.
6754func (r Network_SecurityGroup) GetSupportedDataCenters() (resp []datatypes.Location, err error) {
6755	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "getSupportedDataCenters", nil, &r.Options, &resp)
6756	return
6757}
6758
6759// Remove rules from a security group.
6760func (r Network_SecurityGroup) RemoveRules(ruleIds []int) (resp datatypes.Network_SecurityGroup_RequestRules, err error) {
6761	params := []interface{}{
6762		ruleIds,
6763	}
6764	err = r.Session.DoRequest("SoftLayer_Network_SecurityGroup", "removeRules", params, &r.Options, &resp)
6765	return
6766}
6767
6768// The SoftLayer_Network_Security_Scanner_Request data type represents a single vulnerability scan request. It provides information on when the scan was created, last updated, and the current status. The status messages are as follows:
6769// *Scan Pending
6770// *Scan Processing
6771// *Scan Complete
6772// *Scan Cancelled
6773// *Generating Report.
6774type Network_Security_Scanner_Request struct {
6775	Session *session.Session
6776	Options sl.Options
6777}
6778
6779// GetNetworkSecurityScannerRequestService returns an instance of the Network_Security_Scanner_Request SoftLayer service
6780func GetNetworkSecurityScannerRequestService(sess *session.Session) Network_Security_Scanner_Request {
6781	return Network_Security_Scanner_Request{Session: sess}
6782}
6783
6784func (r Network_Security_Scanner_Request) Id(id int) Network_Security_Scanner_Request {
6785	r.Options.Id = &id
6786	return r
6787}
6788
6789func (r Network_Security_Scanner_Request) Mask(mask string) Network_Security_Scanner_Request {
6790	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6791		mask = fmt.Sprintf("mask[%s]", mask)
6792	}
6793
6794	r.Options.Mask = mask
6795	return r
6796}
6797
6798func (r Network_Security_Scanner_Request) Filter(filter string) Network_Security_Scanner_Request {
6799	r.Options.Filter = filter
6800	return r
6801}
6802
6803func (r Network_Security_Scanner_Request) Limit(limit int) Network_Security_Scanner_Request {
6804	r.Options.Limit = &limit
6805	return r
6806}
6807
6808func (r Network_Security_Scanner_Request) Offset(offset int) Network_Security_Scanner_Request {
6809	r.Options.Offset = &offset
6810	return r
6811}
6812
6813// Create a new vulnerability scan request. New scan requests are picked up every five minutes, and the time to complete an actual scan may vary. Once the scan is finished, it can take up to another five minutes for the report to be generated and accessible.
6814func (r Network_Security_Scanner_Request) CreateObject(templateObject *datatypes.Network_Security_Scanner_Request) (resp datatypes.Network_Security_Scanner_Request, err error) {
6815	params := []interface{}{
6816		templateObject,
6817	}
6818	err = r.Session.DoRequest("SoftLayer_Network_Security_Scanner_Request", "createObject", params, &r.Options, &resp)
6819	return
6820}
6821
6822// Retrieve The account associated with a security scan request.
6823func (r Network_Security_Scanner_Request) GetAccount() (resp datatypes.Account, err error) {
6824	err = r.Session.DoRequest("SoftLayer_Network_Security_Scanner_Request", "getAccount", nil, &r.Options, &resp)
6825	return
6826}
6827
6828// Retrieve The virtual guest a security scan is run against.
6829func (r Network_Security_Scanner_Request) GetGuest() (resp datatypes.Virtual_Guest, err error) {
6830	err = r.Session.DoRequest("SoftLayer_Network_Security_Scanner_Request", "getGuest", nil, &r.Options, &resp)
6831	return
6832}
6833
6834// Retrieve The hardware a security scan is run against.
6835func (r Network_Security_Scanner_Request) GetHardware() (resp datatypes.Hardware, err error) {
6836	err = r.Session.DoRequest("SoftLayer_Network_Security_Scanner_Request", "getHardware", nil, &r.Options, &resp)
6837	return
6838}
6839
6840// getObject retrieves the SoftLayer_Network_Security_Scanner_Request object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Security_Scanner_Request service. You can only retrieve requests and reports that are assigned to your SoftLayer account.
6841func (r Network_Security_Scanner_Request) GetObject() (resp datatypes.Network_Security_Scanner_Request, err error) {
6842	err = r.Session.DoRequest("SoftLayer_Network_Security_Scanner_Request", "getObject", nil, &r.Options, &resp)
6843	return
6844}
6845
6846// Get the vulnerability report for a scan request, formatted as HTML string. Previous scan reports are held indefinitely.
6847func (r Network_Security_Scanner_Request) GetReport() (resp string, err error) {
6848	err = r.Session.DoRequest("SoftLayer_Network_Security_Scanner_Request", "getReport", nil, &r.Options, &resp)
6849	return
6850}
6851
6852// Retrieve Flag whether the requestor owns the hardware the scan was run on. This flag will  return for hardware servers only, virtual servers will result in a null return even if you have  a request out for them.
6853func (r Network_Security_Scanner_Request) GetRequestorOwnedFlag() (resp bool, err error) {
6854	err = r.Session.DoRequest("SoftLayer_Network_Security_Scanner_Request", "getRequestorOwnedFlag", nil, &r.Options, &resp)
6855	return
6856}
6857
6858// Retrieve A security scan request's status.
6859func (r Network_Security_Scanner_Request) GetStatus() (resp datatypes.Network_Security_Scanner_Request_Status, err error) {
6860	err = r.Session.DoRequest("SoftLayer_Network_Security_Scanner_Request", "getStatus", nil, &r.Options, &resp)
6861	return
6862}
6863
6864// The SoftLayer_Network_Service_Vpn_Overrides data type contains information relating user ids to subnet ids when VPN access is manually configured.  It is essentially an entry in a 'white list' of subnets a SoftLayer portal VPN user may access.
6865type Network_Service_Vpn_Overrides struct {
6866	Session *session.Session
6867	Options sl.Options
6868}
6869
6870// GetNetworkServiceVpnOverridesService returns an instance of the Network_Service_Vpn_Overrides SoftLayer service
6871func GetNetworkServiceVpnOverridesService(sess *session.Session) Network_Service_Vpn_Overrides {
6872	return Network_Service_Vpn_Overrides{Session: sess}
6873}
6874
6875func (r Network_Service_Vpn_Overrides) Id(id int) Network_Service_Vpn_Overrides {
6876	r.Options.Id = &id
6877	return r
6878}
6879
6880func (r Network_Service_Vpn_Overrides) Mask(mask string) Network_Service_Vpn_Overrides {
6881	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6882		mask = fmt.Sprintf("mask[%s]", mask)
6883	}
6884
6885	r.Options.Mask = mask
6886	return r
6887}
6888
6889func (r Network_Service_Vpn_Overrides) Filter(filter string) Network_Service_Vpn_Overrides {
6890	r.Options.Filter = filter
6891	return r
6892}
6893
6894func (r Network_Service_Vpn_Overrides) Limit(limit int) Network_Service_Vpn_Overrides {
6895	r.Options.Limit = &limit
6896	return r
6897}
6898
6899func (r Network_Service_Vpn_Overrides) Offset(offset int) Network_Service_Vpn_Overrides {
6900	r.Options.Offset = &offset
6901	return r
6902}
6903
6904// Create Softlayer portal user VPN overrides.
6905func (r Network_Service_Vpn_Overrides) CreateObjects(templateObjects []datatypes.Network_Service_Vpn_Overrides) (resp bool, err error) {
6906	params := []interface{}{
6907		templateObjects,
6908	}
6909	err = r.Session.DoRequest("SoftLayer_Network_Service_Vpn_Overrides", "createObjects", params, &r.Options, &resp)
6910	return
6911}
6912
6913// Use this method to delete a single SoftLayer portal VPN user subnet override.
6914func (r Network_Service_Vpn_Overrides) DeleteObject() (resp bool, err error) {
6915	err = r.Session.DoRequest("SoftLayer_Network_Service_Vpn_Overrides", "deleteObject", nil, &r.Options, &resp)
6916	return
6917}
6918
6919// Use this method to delete a collection of SoftLayer portal VPN user subnet overrides.
6920func (r Network_Service_Vpn_Overrides) DeleteObjects(templateObjects []datatypes.Network_Service_Vpn_Overrides) (resp bool, err error) {
6921	params := []interface{}{
6922		templateObjects,
6923	}
6924	err = r.Session.DoRequest("SoftLayer_Network_Service_Vpn_Overrides", "deleteObjects", params, &r.Options, &resp)
6925	return
6926}
6927
6928// no documentation yet
6929func (r Network_Service_Vpn_Overrides) GetObject() (resp datatypes.Network_Service_Vpn_Overrides, err error) {
6930	err = r.Session.DoRequest("SoftLayer_Network_Service_Vpn_Overrides", "getObject", nil, &r.Options, &resp)
6931	return
6932}
6933
6934// Retrieve Subnet components accessible by a SoftLayer VPN portal user.
6935func (r Network_Service_Vpn_Overrides) GetSubnet() (resp datatypes.Network_Subnet, err error) {
6936	err = r.Session.DoRequest("SoftLayer_Network_Service_Vpn_Overrides", "getSubnet", nil, &r.Options, &resp)
6937	return
6938}
6939
6940// Retrieve SoftLayer VPN portal user.
6941func (r Network_Service_Vpn_Overrides) GetUser() (resp datatypes.User_Customer, err error) {
6942	err = r.Session.DoRequest("SoftLayer_Network_Service_Vpn_Overrides", "getUser", nil, &r.Options, &resp)
6943	return
6944}
6945
6946// The SoftLayer_Network_Storage data type contains general information regarding a Storage product such as account id, access username and password, the Storage product type, and the server the Storage service is associated with. Currently, only EVault backup storage has an associated server.
6947type Network_Storage struct {
6948	Session *session.Session
6949	Options sl.Options
6950}
6951
6952// GetNetworkStorageService returns an instance of the Network_Storage SoftLayer service
6953func GetNetworkStorageService(sess *session.Session) Network_Storage {
6954	return Network_Storage{Session: sess}
6955}
6956
6957func (r Network_Storage) Id(id int) Network_Storage {
6958	r.Options.Id = &id
6959	return r
6960}
6961
6962func (r Network_Storage) Mask(mask string) Network_Storage {
6963	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
6964		mask = fmt.Sprintf("mask[%s]", mask)
6965	}
6966
6967	r.Options.Mask = mask
6968	return r
6969}
6970
6971func (r Network_Storage) Filter(filter string) Network_Storage {
6972	r.Options.Filter = filter
6973	return r
6974}
6975
6976func (r Network_Storage) Limit(limit int) Network_Storage {
6977	r.Options.Limit = &limit
6978	return r
6979}
6980
6981func (r Network_Storage) Offset(offset int) Network_Storage {
6982	r.Options.Offset = &offset
6983	return r
6984}
6985
6986// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
6987func (r Network_Storage) AllowAccessFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
6988	params := []interface{}{
6989		hardwareObjectTemplate,
6990	}
6991	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromHardware", params, &r.Options, &resp)
6992	return
6993}
6994
6995// no documentation yet
6996func (r Network_Storage) AllowAccessFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
6997	params := []interface{}{
6998		hardwareObjectTemplates,
6999	}
7000	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromHardwareList", params, &r.Options, &resp)
7001	return
7002}
7003
7004// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
7005func (r Network_Storage) AllowAccessFromHost(typeClassName *string, hostId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
7006	params := []interface{}{
7007		typeClassName,
7008		hostId,
7009	}
7010	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromHost", params, &r.Options, &resp)
7011	return
7012}
7013
7014// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage volume will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
7015func (r Network_Storage) AllowAccessFromHostList(hostObjectTemplates []datatypes.Container_Network_Storage_Host) (resp []datatypes.Network_Storage_Allowed_Host, err error) {
7016	params := []interface{}{
7017		hostObjectTemplates,
7018	}
7019	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromHostList", params, &r.Options, &resp)
7020	return
7021}
7022
7023// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage will be listed in the allowedIpAddresses property of this storage volume.
7024func (r Network_Storage) AllowAccessFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
7025	params := []interface{}{
7026		ipAddressObjectTemplate,
7027	}
7028	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromIpAddress", params, &r.Options, &resp)
7029	return
7030}
7031
7032// no documentation yet
7033func (r Network_Storage) AllowAccessFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
7034	params := []interface{}{
7035		ipAddressObjectTemplates,
7036	}
7037	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromIpAddressList", params, &r.Options, &resp)
7038	return
7039}
7040
7041// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
7042func (r Network_Storage) AllowAccessFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
7043	params := []interface{}{
7044		subnetObjectTemplate,
7045	}
7046	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromSubnet", params, &r.Options, &resp)
7047	return
7048}
7049
7050// no documentation yet
7051func (r Network_Storage) AllowAccessFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
7052	params := []interface{}{
7053		subnetObjectTemplates,
7054	}
7055	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromSubnetList", params, &r.Options, &resp)
7056	return
7057}
7058
7059// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
7060func (r Network_Storage) AllowAccessFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
7061	params := []interface{}{
7062		virtualGuestObjectTemplate,
7063	}
7064	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromVirtualGuest", params, &r.Options, &resp)
7065	return
7066}
7067
7068// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
7069func (r Network_Storage) AllowAccessFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
7070	params := []interface{}{
7071		virtualGuestObjectTemplates,
7072	}
7073	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessFromVirtualGuestList", params, &r.Options, &resp)
7074	return
7075}
7076
7077// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage replicant volume.
7078func (r Network_Storage) AllowAccessToReplicantFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
7079	params := []interface{}{
7080		hardwareObjectTemplate,
7081	}
7082	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessToReplicantFromHardware", params, &r.Options, &resp)
7083	return
7084}
7085
7086// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Hardware objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationHardware property of this storage volume.
7087func (r Network_Storage) AllowAccessToReplicantFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
7088	params := []interface{}{
7089		hardwareObjectTemplates,
7090	}
7091	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessToReplicantFromHardwareList", params, &r.Options, &resp)
7092	return
7093}
7094
7095// no documentation yet
7096func (r Network_Storage) AllowAccessToReplicantFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
7097	params := []interface{}{
7098		ipAddressObjectTemplate,
7099	}
7100	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessToReplicantFromIpAddress", params, &r.Options, &resp)
7101	return
7102}
7103
7104// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationIpAddresses property of this storage volume.
7105func (r Network_Storage) AllowAccessToReplicantFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
7106	params := []interface{}{
7107		ipAddressObjectTemplates,
7108	}
7109	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessToReplicantFromIpAddressList", params, &r.Options, &resp)
7110	return
7111}
7112
7113// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage replicant volume.
7114func (r Network_Storage) AllowAccessToReplicantFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
7115	params := []interface{}{
7116		subnetObjectTemplate,
7117	}
7118	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessToReplicantFromSubnet", params, &r.Options, &resp)
7119	return
7120}
7121
7122// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationSubnets property of this storage volume.
7123func (r Network_Storage) AllowAccessToReplicantFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
7124	params := []interface{}{
7125		subnetObjectTemplates,
7126	}
7127	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessToReplicantFromSubnetList", params, &r.Options, &resp)
7128	return
7129}
7130
7131// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage replicant volume.
7132func (r Network_Storage) AllowAccessToReplicantFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
7133	params := []interface{}{
7134		virtualGuestObjectTemplate,
7135	}
7136	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessToReplicantFromVirtualGuest", params, &r.Options, &resp)
7137	return
7138}
7139
7140// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationVirtualGuests property of this storage volume.
7141func (r Network_Storage) AllowAccessToReplicantFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
7142	params := []interface{}{
7143		virtualGuestObjectTemplates,
7144	}
7145	err = r.Session.DoRequest("SoftLayer_Network_Storage", "allowAccessToReplicantFromVirtualGuestList", params, &r.Options, &resp)
7146	return
7147}
7148
7149// This method will assign an existing credential to the current volume. The credential must have been created using the 'addNewCredential' method. The volume type must support an additional credential.
7150func (r Network_Storage) AssignCredential(username *string) (resp bool, err error) {
7151	params := []interface{}{
7152		username,
7153	}
7154	err = r.Session.DoRequest("SoftLayer_Network_Storage", "assignCredential", params, &r.Options, &resp)
7155	return
7156}
7157
7158// This method will set up a new credential for the remote storage volume. The storage volume must support an additional credential. Once created, the credential will be automatically assigned to the current volume. If there are no volumes assigned to the credential it will be automatically deleted.
7159func (r Network_Storage) AssignNewCredential(typ *string) (resp datatypes.Network_Storage_Credential, err error) {
7160	params := []interface{}{
7161		typ,
7162	}
7163	err = r.Session.DoRequest("SoftLayer_Network_Storage", "assignNewCredential", params, &r.Options, &resp)
7164	return
7165}
7166
7167// The method will change the password for the given Storage/Virtual Server Storage account.
7168func (r Network_Storage) ChangePassword(username *string, currentPassword *string, newPassword *string) (resp bool, err error) {
7169	params := []interface{}{
7170		username,
7171		currentPassword,
7172		newPassword,
7173	}
7174	err = r.Session.DoRequest("SoftLayer_Network_Storage", "changePassword", params, &r.Options, &resp)
7175	return
7176}
7177
7178// {{CloudLayerOnlyMethod}}
7179//
7180// collectBandwidth() Retrieve the bandwidth usage for the current billing cycle.
7181func (r Network_Storage) CollectBandwidth(typ *string, startDate *datatypes.Time, endDate *datatypes.Time) (resp uint, err error) {
7182	params := []interface{}{
7183		typ,
7184		startDate,
7185		endDate,
7186	}
7187	err = r.Session.DoRequest("SoftLayer_Network_Storage", "collectBandwidth", params, &r.Options, &resp)
7188	return
7189}
7190
7191// {{CloudLayerOnlyMethod}}
7192//
7193// collectBytesUsed() retrieves the number of bytes capacity currently in use on a Storage account.
7194func (r Network_Storage) CollectBytesUsed() (resp uint, err error) {
7195	err = r.Session.DoRequest("SoftLayer_Network_Storage", "collectBytesUsed", nil, &r.Options, &resp)
7196	return
7197}
7198
7199// no documentation yet
7200func (r Network_Storage) CreateFolder(folder *string) (resp bool, err error) {
7201	params := []interface{}{
7202		folder,
7203	}
7204	err = r.Session.DoRequest("SoftLayer_Network_Storage", "createFolder", params, &r.Options, &resp)
7205	return
7206}
7207
7208// The LUN ID only takes effect during the Host Authorization process. It is required to de-authorize all hosts before using this method.
7209func (r Network_Storage) CreateOrUpdateLunId(lunId *int) (resp datatypes.Network_Storage_Property, err error) {
7210	params := []interface{}{
7211		lunId,
7212	}
7213	err = r.Session.DoRequest("SoftLayer_Network_Storage", "createOrUpdateLunId", params, &r.Options, &resp)
7214	return
7215}
7216
7217// no documentation yet
7218func (r Network_Storage) CreateSnapshot(notes *string) (resp datatypes.Network_Storage, err error) {
7219	params := []interface{}{
7220		notes,
7221	}
7222	err = r.Session.DoRequest("SoftLayer_Network_Storage", "createSnapshot", params, &r.Options, &resp)
7223	return
7224}
7225
7226// {{CloudLayerOnlyMethod}} Delete all files within a Storage account. Depending on the type of Storage account, Deleting either deletes files permanently or sends files to your account's recycle bin.
7227//
7228// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the files are in the account's recycle bin. If the files exist in the recycle bin, then they are permanently deleted.
7229//
7230// Please note, files can not be restored once they are permanently deleted.
7231func (r Network_Storage) DeleteAllFiles() (resp bool, err error) {
7232	err = r.Session.DoRequest("SoftLayer_Network_Storage", "deleteAllFiles", nil, &r.Options, &resp)
7233	return
7234}
7235
7236// {{CloudLayerOnlyMethod}} Delete an individual file within a Storage account. Depending on the type of Storage account, Deleting a file either deletes the file permanently or sends the file to your account's recycle bin.
7237//
7238// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the file is in the account's recycle bin. If the file exist in the recycle bin, then it is permanently deleted.
7239//
7240// Please note, a file can not be restored once it is permanently deleted.
7241func (r Network_Storage) DeleteFile(fileId *string) (resp bool, err error) {
7242	params := []interface{}{
7243		fileId,
7244	}
7245	err = r.Session.DoRequest("SoftLayer_Network_Storage", "deleteFile", params, &r.Options, &resp)
7246	return
7247}
7248
7249// {{CloudLayerOnlyMethod}} Delete multiple files within a Storage account. Depending on the type of Storage account, Deleting either deletes files permanently or sends files to your account's recycle bin.
7250//
7251// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the files are in the account's recycle bin. If the files exist in the recycle bin, then they are permanently deleted.
7252//
7253// Please note, files can not be restored once they are permanently deleted.
7254func (r Network_Storage) DeleteFiles(fileIds []string) (resp bool, err error) {
7255	params := []interface{}{
7256		fileIds,
7257	}
7258	err = r.Session.DoRequest("SoftLayer_Network_Storage", "deleteFiles", params, &r.Options, &resp)
7259	return
7260}
7261
7262// no documentation yet
7263func (r Network_Storage) DeleteFolder(folder *string) (resp bool, err error) {
7264	params := []interface{}{
7265		folder,
7266	}
7267	err = r.Session.DoRequest("SoftLayer_Network_Storage", "deleteFolder", params, &r.Options, &resp)
7268	return
7269}
7270
7271// Delete a network storage volume. '''This cannot be undone.''' At this time only network storage snapshots may be deleted with this method.
7272//
7273// ''deleteObject'' returns Boolean ''true'' on successful deletion or ''false'' if it was unable to remove a volume;
7274func (r Network_Storage) DeleteObject() (resp bool, err error) {
7275	err = r.Session.DoRequest("SoftLayer_Network_Storage", "deleteObject", nil, &r.Options, &resp)
7276	return
7277}
7278
7279// This method is not valid for Legacy iSCSI Storage Volumes.
7280//
7281// Disable scheduled snapshots of this storage volume. Scheduling options include 'INTERVAL', HOURLY, DAILY and WEEKLY schedules.
7282func (r Network_Storage) DisableSnapshots(scheduleType *string) (resp bool, err error) {
7283	params := []interface{}{
7284		scheduleType,
7285	}
7286	err = r.Session.DoRequest("SoftLayer_Network_Storage", "disableSnapshots", params, &r.Options, &resp)
7287	return
7288}
7289
7290// {{CloudLayerOnlyMethod}} Download a file from a Storage account. This method returns a file's details including the file's raw content.
7291func (r Network_Storage) DownloadFile(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
7292	params := []interface{}{
7293		fileId,
7294	}
7295	err = r.Session.DoRequest("SoftLayer_Network_Storage", "downloadFile", params, &r.Options, &resp)
7296	return
7297}
7298
7299// This method will change the password of a credential created using the 'addNewCredential' method. If the credential exists on multiple storage volumes it will change for those volumes as well.
7300func (r Network_Storage) EditCredential(username *string, newPassword *string) (resp bool, err error) {
7301	params := []interface{}{
7302		username,
7303		newPassword,
7304	}
7305	err = r.Session.DoRequest("SoftLayer_Network_Storage", "editCredential", params, &r.Options, &resp)
7306	return
7307}
7308
7309// The password and/or notes may be modified for the Storage service except evault passwords and notes.
7310func (r Network_Storage) EditObject(templateObject *datatypes.Network_Storage) (resp bool, err error) {
7311	params := []interface{}{
7312		templateObject,
7313	}
7314	err = r.Session.DoRequest("SoftLayer_Network_Storage", "editObject", params, &r.Options, &resp)
7315	return
7316}
7317
7318// This method is not valid for Legacy iSCSI Storage Volumes.
7319//
7320// Enable scheduled snapshots of this storage volume. Scheduling options include HOURLY, DAILY and WEEKLY schedules. For HOURLY schedules, provide relevant data for $scheduleType, $retentionCount and $minute. For DAILY schedules, provide relevant data for $scheduleType, $retentionCount, $minute, and $hour. For WEEKLY schedules, provide relevant data for all parameters of this method.
7321func (r Network_Storage) EnableSnapshots(scheduleType *string, retentionCount *int, minute *int, hour *int, dayOfWeek *string) (resp bool, err error) {
7322	params := []interface{}{
7323		scheduleType,
7324		retentionCount,
7325		minute,
7326		hour,
7327		dayOfWeek,
7328	}
7329	err = r.Session.DoRequest("SoftLayer_Network_Storage", "enableSnapshots", params, &r.Options, &resp)
7330	return
7331}
7332
7333// Failback from a volume replicant. In order to failback the volume must have already been failed over to a replicant.
7334func (r Network_Storage) FailbackFromReplicant() (resp bool, err error) {
7335	err = r.Session.DoRequest("SoftLayer_Network_Storage", "failbackFromReplicant", nil, &r.Options, &resp)
7336	return
7337}
7338
7339// Failover to a volume replicant.  During the time which the replicant is in use the local nas volume will not be available.
7340func (r Network_Storage) FailoverToReplicant(replicantId *int) (resp bool, err error) {
7341	params := []interface{}{
7342		replicantId,
7343	}
7344	err = r.Session.DoRequest("SoftLayer_Network_Storage", "failoverToReplicant", params, &r.Options, &resp)
7345	return
7346}
7347
7348// Retrieve The account that a Storage services belongs to.
7349func (r Network_Storage) GetAccount() (resp datatypes.Account, err error) {
7350	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAccount", nil, &r.Options, &resp)
7351	return
7352}
7353
7354// Retrieve Other usernames and passwords associated with a Storage volume.
7355func (r Network_Storage) GetAccountPassword() (resp datatypes.Account_Password, err error) {
7356	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAccountPassword", nil, &r.Options, &resp)
7357	return
7358}
7359
7360// Retrieve The currently active transactions on a network storage volume.
7361func (r Network_Storage) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
7362	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getActiveTransactions", nil, &r.Options, &resp)
7363	return
7364}
7365
7366// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date for all files in a Storage account's root directory. This does not download file content.
7367func (r Network_Storage) GetAllFiles() (resp []datatypes.Container_Utility_File_Entity, err error) {
7368	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllFiles", nil, &r.Options, &resp)
7369	return
7370}
7371
7372// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date for all files matching the filter's criteria in a Storage account's root directory. This does not download file content.
7373func (r Network_Storage) GetAllFilesByFilter(filter *datatypes.Container_Utility_File_Entity) (resp []datatypes.Container_Utility_File_Entity, err error) {
7374	params := []interface{}{
7375		filter,
7376	}
7377	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllFilesByFilter", params, &r.Options, &resp)
7378	return
7379}
7380
7381// This method retrieves a list of SoftLayer_Hardware that can be authorized to this SoftLayer_Network_Storage.
7382func (r Network_Storage) GetAllowableHardware(filterHostname *string) (resp []datatypes.Hardware, err error) {
7383	params := []interface{}{
7384		filterHostname,
7385	}
7386	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowableHardware", params, &r.Options, &resp)
7387	return
7388}
7389
7390// This method retrieves a list of SoftLayer_Network_Subnet_IpAddress that can be authorized to this SoftLayer_Network_Storage.
7391func (r Network_Storage) GetAllowableIpAddresses(subnetId *int, filterIpAddress *string) (resp []datatypes.Network_Subnet_IpAddress, err error) {
7392	params := []interface{}{
7393		subnetId,
7394		filterIpAddress,
7395	}
7396	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowableIpAddresses", params, &r.Options, &resp)
7397	return
7398}
7399
7400// This method retrieves a list of SoftLayer_Network_Subnet that can be authorized to this SoftLayer_Network_Storage.
7401func (r Network_Storage) GetAllowableSubnets(filterNetworkIdentifier *string) (resp []datatypes.Network_Subnet, err error) {
7402	params := []interface{}{
7403		filterNetworkIdentifier,
7404	}
7405	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowableSubnets", params, &r.Options, &resp)
7406	return
7407}
7408
7409// This method retrieves a list of SoftLayer_Virtual_Guest that can be authorized to this SoftLayer_Network_Storage.
7410func (r Network_Storage) GetAllowableVirtualGuests(filterHostname *string) (resp []datatypes.Virtual_Guest, err error) {
7411	params := []interface{}{
7412		filterHostname,
7413	}
7414	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowableVirtualGuests", params, &r.Options, &resp)
7415	return
7416}
7417
7418// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume.
7419func (r Network_Storage) GetAllowedHardware() (resp []datatypes.Hardware, err error) {
7420	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedHardware", nil, &r.Options, &resp)
7421	return
7422}
7423
7424// Retrieves the total number of allowed hosts limit per volume.
7425func (r Network_Storage) GetAllowedHostsLimit() (resp int, err error) {
7426	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedHostsLimit", nil, &r.Options, &resp)
7427	return
7428}
7429
7430// Retrieve The SoftLayer_Network_Subnet_IpAddress objects which are allowed access to this storage volume.
7431func (r Network_Storage) GetAllowedIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
7432	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedIpAddresses", nil, &r.Options, &resp)
7433	return
7434}
7435
7436// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume's Replicant.
7437func (r Network_Storage) GetAllowedReplicationHardware() (resp []datatypes.Hardware, err error) {
7438	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedReplicationHardware", nil, &r.Options, &resp)
7439	return
7440}
7441
7442// Retrieve The SoftLayer_Network_Subnet_IpAddress objects which are allowed access to this storage volume's Replicant.
7443func (r Network_Storage) GetAllowedReplicationIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
7444	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedReplicationIpAddresses", nil, &r.Options, &resp)
7445	return
7446}
7447
7448// Retrieve The SoftLayer_Network_Subnet objects which are allowed access to this storage volume's Replicant.
7449func (r Network_Storage) GetAllowedReplicationSubnets() (resp []datatypes.Network_Subnet, err error) {
7450	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedReplicationSubnets", nil, &r.Options, &resp)
7451	return
7452}
7453
7454// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume's Replicant.
7455func (r Network_Storage) GetAllowedReplicationVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
7456	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedReplicationVirtualGuests", nil, &r.Options, &resp)
7457	return
7458}
7459
7460// Retrieve The SoftLayer_Network_Subnet objects which are allowed access to this storage volume.
7461func (r Network_Storage) GetAllowedSubnets() (resp []datatypes.Network_Subnet, err error) {
7462	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedSubnets", nil, &r.Options, &resp)
7463	return
7464}
7465
7466// Retrieve The SoftLayer_Virtual_Guest objects which are allowed access to this storage volume.
7467func (r Network_Storage) GetAllowedVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
7468	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getAllowedVirtualGuests", nil, &r.Options, &resp)
7469	return
7470}
7471
7472// Retrieve The current billing item for a Storage volume.
7473func (r Network_Storage) GetBillingItem() (resp datatypes.Billing_Item, err error) {
7474	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getBillingItem", nil, &r.Options, &resp)
7475	return
7476}
7477
7478// Retrieve
7479func (r Network_Storage) GetBillingItemCategory() (resp datatypes.Product_Item_Category, err error) {
7480	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getBillingItemCategory", nil, &r.Options, &resp)
7481	return
7482}
7483
7484// Retrieve network storage accounts by username and storage account type. Use this method if you wish to retrieve a storage record by username rather than by id. The ''type'' parameter must correspond to one of the available ''nasType'' values in the SoftLayer_Network_Storage data type.
7485func (r Network_Storage) GetByUsername(username *string, typ *string) (resp []datatypes.Network_Storage, err error) {
7486	params := []interface{}{
7487		username,
7488		typ,
7489	}
7490	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getByUsername", params, &r.Options, &resp)
7491	return
7492}
7493
7494// Retrieve The amount of space used by the volume, in bytes.
7495func (r Network_Storage) GetBytesUsed() (resp string, err error) {
7496	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getBytesUsed", nil, &r.Options, &resp)
7497	return
7498}
7499
7500// no documentation yet
7501func (r Network_Storage) GetCdnUrls() (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_ContentDeliveryUrl, err error) {
7502	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getCdnUrls", nil, &r.Options, &resp)
7503	return
7504}
7505
7506// no documentation yet
7507func (r Network_Storage) GetClusterResource() (resp datatypes.Network_Service_Resource, err error) {
7508	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getClusterResource", nil, &r.Options, &resp)
7509	return
7510}
7511
7512// Retrieve The schedule id which was executed to create a snapshot.
7513func (r Network_Storage) GetCreationScheduleId() (resp string, err error) {
7514	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getCreationScheduleId", nil, &r.Options, &resp)
7515	return
7516}
7517
7518// Retrieve
7519func (r Network_Storage) GetCredentials() (resp []datatypes.Network_Storage_Credential, err error) {
7520	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getCredentials", nil, &r.Options, &resp)
7521	return
7522}
7523
7524// Retrieve The Daily Schedule which is associated with this network storage volume.
7525func (r Network_Storage) GetDailySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
7526	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getDailySchedule", nil, &r.Options, &resp)
7527	return
7528}
7529
7530// Retrieve The events which have taken place on a network storage volume.
7531func (r Network_Storage) GetEvents() (resp []datatypes.Network_Storage_Event, err error) {
7532	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getEvents", nil, &r.Options, &resp)
7533	return
7534}
7535
7536//
7537//
7538//
7539func (r Network_Storage) GetFileBlockEncryptedLocations() (resp []datatypes.Location, err error) {
7540	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getFileBlockEncryptedLocations", nil, &r.Options, &resp)
7541	return
7542}
7543
7544// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date of a file within a Storage account. This does not download file content.
7545func (r Network_Storage) GetFileByIdentifier(identifier *string) (resp datatypes.Container_Utility_File_Entity, err error) {
7546	params := []interface{}{
7547		identifier,
7548	}
7549	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getFileByIdentifier", params, &r.Options, &resp)
7550	return
7551}
7552
7553// {{CloudLayerOnlyMethod}} Retrieve the file number of files in a Virtual Server Storage account's root directory. This does not include the files stored in the recycle bin.
7554func (r Network_Storage) GetFileCount() (resp int, err error) {
7555	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getFileCount", nil, &r.Options, &resp)
7556	return
7557}
7558
7559// no documentation yet
7560func (r Network_Storage) GetFileList(folder *string, path *string) (resp []datatypes.Container_Utility_File_Entity, err error) {
7561	params := []interface{}{
7562		folder,
7563		path,
7564	}
7565	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getFileList", params, &r.Options, &resp)
7566	return
7567}
7568
7569// Retrieve Retrieves the NFS Network Mount Address Name for a given File Storage Volume.
7570func (r Network_Storage) GetFileNetworkMountAddress() (resp string, err error) {
7571	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getFileNetworkMountAddress", nil, &r.Options, &resp)
7572	return
7573}
7574
7575// {{CloudLayerOnlyMethod}} Retrieve the number of files pending deletion in a Storage account's recycle bin. Files in an account's recycle bin may either be restored to the account's root directory or permanently deleted.
7576func (r Network_Storage) GetFilePendingDeleteCount() (resp int, err error) {
7577	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getFilePendingDeleteCount", nil, &r.Options, &resp)
7578	return
7579}
7580
7581// {{CloudLayerOnlyMethod}} Retrieve a list of files that are pending deletion in a Storage account's recycle bin. Files in an account's recycle bin may either be restored to the account's root directory or permanently deleted. This method does not download file content.
7582func (r Network_Storage) GetFilesPendingDelete() (resp []datatypes.Container_Utility_File_Entity, err error) {
7583	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getFilesPendingDelete", nil, &r.Options, &resp)
7584	return
7585}
7586
7587// no documentation yet
7588func (r Network_Storage) GetFolderList() (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_Folder, err error) {
7589	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getFolderList", nil, &r.Options, &resp)
7590	return
7591}
7592
7593// {{CloudLayerOnlyMethod}}
7594//
7595// getGraph() retrieves a Storage account's usage and returns a PNG graph image, title, and the minimum and maximum dates included in the graphed date range. Virtual Server storage accounts can also graph upload and download bandwidth usage.
7596func (r Network_Storage) GetGraph(startDate *datatypes.Time, endDate *datatypes.Time, typ *string) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
7597	params := []interface{}{
7598		startDate,
7599		endDate,
7600		typ,
7601	}
7602	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getGraph", params, &r.Options, &resp)
7603	return
7604}
7605
7606// Retrieve When applicable, the hardware associated with a Storage service.
7607func (r Network_Storage) GetHardware() (resp datatypes.Hardware, err error) {
7608	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getHardware", nil, &r.Options, &resp)
7609	return
7610}
7611
7612// Retrieve
7613func (r Network_Storage) GetHasEncryptionAtRest() (resp bool, err error) {
7614	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getHasEncryptionAtRest", nil, &r.Options, &resp)
7615	return
7616}
7617
7618// Retrieve The Hourly Schedule which is associated with this network storage volume.
7619func (r Network_Storage) GetHourlySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
7620	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getHourlySchedule", nil, &r.Options, &resp)
7621	return
7622}
7623
7624// Retrieve The Interval Schedule which is associated with this network storage volume.
7625func (r Network_Storage) GetIntervalSchedule() (resp datatypes.Network_Storage_Schedule, err error) {
7626	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getIntervalSchedule", nil, &r.Options, &resp)
7627	return
7628}
7629
7630// Retrieve The maximum number of IOPs selected for this volume.
7631func (r Network_Storage) GetIops() (resp string, err error) {
7632	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getIops", nil, &r.Options, &resp)
7633	return
7634}
7635
7636// Retrieve Determines whether a volume is ready to order snapshot space, or, if snapshot space is already available, to assign a snapshot schedule, or to take a manual snapshot.
7637func (r Network_Storage) GetIsReadyForSnapshot() (resp bool, err error) {
7638	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getIsReadyForSnapshot", nil, &r.Options, &resp)
7639	return
7640}
7641
7642// Retrieve Determines whether a volume is ready to have Hosts authorized to access it. This does not indicate whether another operation may be blocking, please refer to this volume's volumeStatus property for details.
7643func (r Network_Storage) GetIsReadyToMount() (resp bool, err error) {
7644	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getIsReadyToMount", nil, &r.Options, &resp)
7645	return
7646}
7647
7648// Retrieve Relationship between a container volume and iSCSI LUNs.
7649func (r Network_Storage) GetIscsiLuns() (resp []datatypes.Network_Storage, err error) {
7650	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getIscsiLuns", nil, &r.Options, &resp)
7651	return
7652}
7653
7654// Retrieve Returns the target IP addresses of an iSCSI volume.
7655func (r Network_Storage) GetIscsiTargetIpAddresses() (resp []string, err error) {
7656	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getIscsiTargetIpAddresses", nil, &r.Options, &resp)
7657	return
7658}
7659
7660// Retrieve The ID of the LUN volume.
7661func (r Network_Storage) GetLunId() (resp string, err error) {
7662	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getLunId", nil, &r.Options, &resp)
7663	return
7664}
7665
7666// Retrieve The manually-created snapshots associated with this SoftLayer_Network_Storage volume. Does not support pagination by result limit and offset.
7667func (r Network_Storage) GetManualSnapshots() (resp []datatypes.Network_Storage, err error) {
7668	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getManualSnapshots", nil, &r.Options, &resp)
7669	return
7670}
7671
7672// no documentation yet
7673func (r Network_Storage) GetMaximumExpansionSize() (resp int, err error) {
7674	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getMaximumExpansionSize", nil, &r.Options, &resp)
7675	return
7676}
7677
7678// Retrieve A network storage volume's metric tracking object. This object records all periodic polled data available to this volume.
7679func (r Network_Storage) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
7680	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getMetricTrackingObject", nil, &r.Options, &resp)
7681	return
7682}
7683
7684// Retrieve Whether or not a network storage volume may be mounted.
7685func (r Network_Storage) GetMountableFlag() (resp string, err error) {
7686	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getMountableFlag", nil, &r.Options, &resp)
7687	return
7688}
7689
7690// Retrieve The current status of split or move operation as a part of volume duplication.
7691func (r Network_Storage) GetMoveAndSplitStatus() (resp string, err error) {
7692	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getMoveAndSplitStatus", nil, &r.Options, &resp)
7693	return
7694}
7695
7696// no documentation yet
7697func (r Network_Storage) GetNetworkConnectionDetails() (resp datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
7698	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getNetworkConnectionDetails", nil, &r.Options, &resp)
7699	return
7700}
7701
7702// no documentation yet
7703func (r Network_Storage) GetNetworkMountAddress() (resp string, err error) {
7704	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getNetworkMountAddress", nil, &r.Options, &resp)
7705	return
7706}
7707
7708// Retrieve The subscribers that will be notified for usage amount warnings and overages.
7709func (r Network_Storage) GetNotificationSubscribers() (resp []datatypes.Notification_User_Subscriber, err error) {
7710	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getNotificationSubscribers", nil, &r.Options, &resp)
7711	return
7712}
7713
7714// getObject retrieves the SoftLayer_Network_Storage object whose ID corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Storage service.
7715//
7716// Please use the associated methods in the [[SoftLayer_Network_Storage]] service to retrieve a Storage account's id.
7717func (r Network_Storage) GetObject() (resp datatypes.Network_Storage, err error) {
7718	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getObject", nil, &r.Options, &resp)
7719	return
7720}
7721
7722// no documentation yet
7723func (r Network_Storage) GetObjectStorageConnectionInformation() (resp []datatypes.Container_Network_Service_Resource_ObjectStorage_ConnectionInformation, err error) {
7724	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getObjectStorageConnectionInformation", nil, &r.Options, &resp)
7725	return
7726}
7727
7728// Retrieve network storage accounts by SoftLayer_Network_Storage_Credential object. Use this method if you wish to retrieve a storage record by a credential rather than by id.
7729func (r Network_Storage) GetObjectsByCredential(credentialObject *datatypes.Network_Storage_Credential) (resp []datatypes.Network_Storage, err error) {
7730	params := []interface{}{
7731		credentialObject,
7732	}
7733	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getObjectsByCredential", params, &r.Options, &resp)
7734	return
7735}
7736
7737// Retrieve The name of the snapshot that this volume was duplicated from.
7738func (r Network_Storage) GetOriginalSnapshotName() (resp string, err error) {
7739	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getOriginalSnapshotName", nil, &r.Options, &resp)
7740	return
7741}
7742
7743// Retrieve The name of the volume that this volume was duplicated from.
7744func (r Network_Storage) GetOriginalVolumeName() (resp string, err error) {
7745	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getOriginalVolumeName", nil, &r.Options, &resp)
7746	return
7747}
7748
7749// Retrieve The size (in GB) of the volume or LUN before any size expansion, or of the volume (before any possible size expansion) from which the duplicate volume or LUN was created.
7750func (r Network_Storage) GetOriginalVolumeSize() (resp string, err error) {
7751	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getOriginalVolumeSize", nil, &r.Options, &resp)
7752	return
7753}
7754
7755// Retrieve A volume's configured SoftLayer_Network_Storage_Iscsi_OS_Type.
7756func (r Network_Storage) GetOsType() (resp datatypes.Network_Storage_Iscsi_OS_Type, err error) {
7757	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getOsType", nil, &r.Options, &resp)
7758	return
7759}
7760
7761// Retrieve A volume's configured SoftLayer_Network_Storage_Iscsi_OS_Type ID.
7762func (r Network_Storage) GetOsTypeId() (resp string, err error) {
7763	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getOsTypeId", nil, &r.Options, &resp)
7764	return
7765}
7766
7767// Retrieve The volumes or snapshots partnered with a network storage volume in a parental role.
7768func (r Network_Storage) GetParentPartnerships() (resp []datatypes.Network_Storage_Partnership, err error) {
7769	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getParentPartnerships", nil, &r.Options, &resp)
7770	return
7771}
7772
7773// Retrieve The parent volume of a volume in a complex storage relationship.
7774func (r Network_Storage) GetParentVolume() (resp datatypes.Network_Storage, err error) {
7775	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getParentVolume", nil, &r.Options, &resp)
7776	return
7777}
7778
7779// Retrieve The volumes or snapshots partnered with a network storage volume.
7780func (r Network_Storage) GetPartnerships() (resp []datatypes.Network_Storage_Partnership, err error) {
7781	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getPartnerships", nil, &r.Options, &resp)
7782	return
7783}
7784
7785// Retrieve All permissions group(s) this volume is in.
7786func (r Network_Storage) GetPermissionsGroups() (resp []datatypes.Network_Storage_Group, err error) {
7787	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getPermissionsGroups", nil, &r.Options, &resp)
7788	return
7789}
7790
7791// Retrieve The properties used to provide additional details about a network storage volume.
7792func (r Network_Storage) GetProperties() (resp []datatypes.Network_Storage_Property, err error) {
7793	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getProperties", nil, &r.Options, &resp)
7794	return
7795}
7796
7797// Retrieve The number of IOPs provisioned for this volume.
7798func (r Network_Storage) GetProvisionedIops() (resp string, err error) {
7799	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getProvisionedIops", nil, &r.Options, &resp)
7800	return
7801}
7802
7803// {{CloudLayerOnlyMethod}} Retrieve the details of a file that is pending deletion in a Storage account's a recycle bin.
7804func (r Network_Storage) GetRecycleBinFileByIdentifier(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
7805	params := []interface{}{
7806		fileId,
7807	}
7808	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getRecycleBinFileByIdentifier", params, &r.Options, &resp)
7809	return
7810}
7811
7812// Retrieves the remaining number of allowed hosts per volume.
7813func (r Network_Storage) GetRemainingAllowedHosts() (resp int, err error) {
7814	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getRemainingAllowedHosts", nil, &r.Options, &resp)
7815	return
7816}
7817
7818// Retrieves the remaining number of allowed hosts for a volume's replicant.
7819func (r Network_Storage) GetRemainingAllowedHostsForReplicant() (resp int, err error) {
7820	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getRemainingAllowedHostsForReplicant", nil, &r.Options, &resp)
7821	return
7822}
7823
7824// Retrieve The iSCSI LUN volumes being replicated by this network storage volume.
7825func (r Network_Storage) GetReplicatingLuns() (resp []datatypes.Network_Storage, err error) {
7826	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getReplicatingLuns", nil, &r.Options, &resp)
7827	return
7828}
7829
7830// Retrieve The network storage volume being replicated by a volume.
7831func (r Network_Storage) GetReplicatingVolume() (resp datatypes.Network_Storage, err error) {
7832	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getReplicatingVolume", nil, &r.Options, &resp)
7833	return
7834}
7835
7836// Retrieve The volume replication events.
7837func (r Network_Storage) GetReplicationEvents() (resp []datatypes.Network_Storage_Event, err error) {
7838	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getReplicationEvents", nil, &r.Options, &resp)
7839	return
7840}
7841
7842// Retrieve The network storage volumes configured to be replicants of a volume.
7843func (r Network_Storage) GetReplicationPartners() (resp []datatypes.Network_Storage, err error) {
7844	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getReplicationPartners", nil, &r.Options, &resp)
7845	return
7846}
7847
7848// Retrieve The Replication Schedule associated with a network storage volume.
7849func (r Network_Storage) GetReplicationSchedule() (resp datatypes.Network_Storage_Schedule, err error) {
7850	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getReplicationSchedule", nil, &r.Options, &resp)
7851	return
7852}
7853
7854// Retrieve The current replication status of a network storage volume. Indicates Failover or Failback status.
7855func (r Network_Storage) GetReplicationStatus() (resp string, err error) {
7856	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getReplicationStatus", nil, &r.Options, &resp)
7857	return
7858}
7859
7860// Retrieve The schedules which are associated with a network storage volume.
7861func (r Network_Storage) GetSchedules() (resp []datatypes.Network_Storage_Schedule, err error) {
7862	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getSchedules", nil, &r.Options, &resp)
7863	return
7864}
7865
7866// Retrieve The network resource a Storage service is connected to.
7867func (r Network_Storage) GetServiceResource() (resp datatypes.Network_Service_Resource, err error) {
7868	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getServiceResource", nil, &r.Options, &resp)
7869	return
7870}
7871
7872// Retrieve The IP address of a Storage resource.
7873func (r Network_Storage) GetServiceResourceBackendIpAddress() (resp string, err error) {
7874	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getServiceResourceBackendIpAddress", nil, &r.Options, &resp)
7875	return
7876}
7877
7878// Retrieve The name of a Storage's network resource.
7879func (r Network_Storage) GetServiceResourceName() (resp string, err error) {
7880	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getServiceResourceName", nil, &r.Options, &resp)
7881	return
7882}
7883
7884// Retrieve A volume's configured snapshot space size.
7885func (r Network_Storage) GetSnapshotCapacityGb() (resp string, err error) {
7886	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getSnapshotCapacityGb", nil, &r.Options, &resp)
7887	return
7888}
7889
7890// Retrieve The creation timestamp of the snapshot on the storage platform.
7891func (r Network_Storage) GetSnapshotCreationTimestamp() (resp string, err error) {
7892	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getSnapshotCreationTimestamp", nil, &r.Options, &resp)
7893	return
7894}
7895
7896// Retrieve The percentage of used snapshot space after which to delete automated snapshots.
7897func (r Network_Storage) GetSnapshotDeletionThresholdPercentage() (resp string, err error) {
7898	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getSnapshotDeletionThresholdPercentage", nil, &r.Options, &resp)
7899	return
7900}
7901
7902// Retrieve The snapshot size in bytes.
7903func (r Network_Storage) GetSnapshotSizeBytes() (resp string, err error) {
7904	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getSnapshotSizeBytes", nil, &r.Options, &resp)
7905	return
7906}
7907
7908// Retrieve A volume's available snapshot reservation space.
7909func (r Network_Storage) GetSnapshotSpaceAvailable() (resp string, err error) {
7910	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getSnapshotSpaceAvailable", nil, &r.Options, &resp)
7911	return
7912}
7913
7914// Retrieve The snapshots associated with this SoftLayer_Network_Storage volume.
7915func (r Network_Storage) GetSnapshots() (resp []datatypes.Network_Storage, err error) {
7916	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getSnapshots", nil, &r.Options, &resp)
7917	return
7918}
7919
7920// Retrieves a list of snapshots for this SoftLayer_Network_Storage volume. This method works with the result limits and offset to support pagination.
7921func (r Network_Storage) GetSnapshotsForVolume() (resp []datatypes.Network_Storage, err error) {
7922	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getSnapshotsForVolume", nil, &r.Options, &resp)
7923	return
7924}
7925
7926// Retrieve
7927func (r Network_Storage) GetStaasVersion() (resp string, err error) {
7928	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getStaasVersion", nil, &r.Options, &resp)
7929	return
7930}
7931
7932// Retrieve The network storage groups this volume is attached to.
7933func (r Network_Storage) GetStorageGroups() (resp []datatypes.Network_Storage_Group, err error) {
7934	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getStorageGroups", nil, &r.Options, &resp)
7935	return
7936}
7937
7938// no documentation yet
7939func (r Network_Storage) GetStorageGroupsNetworkConnectionDetails() (resp []datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
7940	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getStorageGroupsNetworkConnectionDetails", nil, &r.Options, &resp)
7941	return
7942}
7943
7944// Retrieve
7945func (r Network_Storage) GetStorageTierLevel() (resp string, err error) {
7946	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getStorageTierLevel", nil, &r.Options, &resp)
7947	return
7948}
7949
7950// Retrieve A description of the Storage object.
7951func (r Network_Storage) GetStorageType() (resp datatypes.Network_Storage_Type, err error) {
7952	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getStorageType", nil, &r.Options, &resp)
7953	return
7954}
7955
7956// no documentation yet
7957func (r Network_Storage) GetTargetIpAddresses() (resp []string, err error) {
7958	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getTargetIpAddresses", nil, &r.Options, &resp)
7959	return
7960}
7961
7962// Retrieve The amount of space used by the volume.
7963func (r Network_Storage) GetTotalBytesUsed() (resp string, err error) {
7964	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getTotalBytesUsed", nil, &r.Options, &resp)
7965	return
7966}
7967
7968// Retrieve The total snapshot retention count of all schedules on this network storage volume.
7969func (r Network_Storage) GetTotalScheduleSnapshotRetentionCount() (resp uint, err error) {
7970	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getTotalScheduleSnapshotRetentionCount", nil, &r.Options, &resp)
7971	return
7972}
7973
7974// Retrieve The usage notification for SL Storage services.
7975func (r Network_Storage) GetUsageNotification() (resp datatypes.Notification, err error) {
7976	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getUsageNotification", nil, &r.Options, &resp)
7977	return
7978}
7979
7980// no documentation yet
7981func (r Network_Storage) GetValidReplicationTargetDatacenterLocations() (resp []datatypes.Location, err error) {
7982	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getValidReplicationTargetDatacenterLocations", nil, &r.Options, &resp)
7983	return
7984}
7985
7986// Retrieve The type of network storage service.
7987func (r Network_Storage) GetVendorName() (resp string, err error) {
7988	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getVendorName", nil, &r.Options, &resp)
7989	return
7990}
7991
7992// Retrieve When applicable, the virtual guest associated with a Storage service.
7993func (r Network_Storage) GetVirtualGuest() (resp datatypes.Virtual_Guest, err error) {
7994	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getVirtualGuest", nil, &r.Options, &resp)
7995	return
7996}
7997
7998// This method returns the parameters for cloning a volume
7999func (r Network_Storage) GetVolumeDuplicateParameters() (resp datatypes.Container_Network_Storage_VolumeDuplicateParameters, err error) {
8000	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getVolumeDuplicateParameters", nil, &r.Options, &resp)
8001	return
8002}
8003
8004// Retrieve The username and password history for a Storage service.
8005func (r Network_Storage) GetVolumeHistory() (resp []datatypes.Network_Storage_History, err error) {
8006	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getVolumeHistory", nil, &r.Options, &resp)
8007	return
8008}
8009
8010// Retrieve The current status of a network storage volume.
8011func (r Network_Storage) GetVolumeStatus() (resp string, err error) {
8012	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getVolumeStatus", nil, &r.Options, &resp)
8013	return
8014}
8015
8016// Retrieve The account username and password for the EVault webCC interface.
8017func (r Network_Storage) GetWebccAccount() (resp datatypes.Account_Password, err error) {
8018	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getWebccAccount", nil, &r.Options, &resp)
8019	return
8020}
8021
8022// Retrieve The Weekly Schedule which is associated with this network storage volume.
8023func (r Network_Storage) GetWeeklySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
8024	err = r.Session.DoRequest("SoftLayer_Network_Storage", "getWeeklySchedule", nil, &r.Options, &resp)
8025	return
8026}
8027
8028// Immediate Failover to a volume replicant.  During the time which the replicant is in use the local nas volume will not be available.
8029func (r Network_Storage) ImmediateFailoverToReplicant(replicantId *int) (resp bool, err error) {
8030	params := []interface{}{
8031		replicantId,
8032	}
8033	err = r.Session.DoRequest("SoftLayer_Network_Storage", "immediateFailoverToReplicant", params, &r.Options, &resp)
8034	return
8035}
8036
8037// no documentation yet
8038func (r Network_Storage) IsBlockingOperationInProgress(exemptStatusKeyNames []string) (resp bool, err error) {
8039	params := []interface{}{
8040		exemptStatusKeyNames,
8041	}
8042	err = r.Session.DoRequest("SoftLayer_Network_Storage", "isBlockingOperationInProgress", params, &r.Options, &resp)
8043	return
8044}
8045
8046// This method returns a boolean indicating whether the clone volume is ready for snapshot.
8047func (r Network_Storage) IsDuplicateReadyForSnapshot() (resp bool, err error) {
8048	err = r.Session.DoRequest("SoftLayer_Network_Storage", "isDuplicateReadyForSnapshot", nil, &r.Options, &resp)
8049	return
8050}
8051
8052// This method returns a boolean indicating whether the clone volume is ready to mount.
8053func (r Network_Storage) IsDuplicateReadyToMount() (resp bool, err error) {
8054	err = r.Session.DoRequest("SoftLayer_Network_Storage", "isDuplicateReadyToMount", nil, &r.Options, &resp)
8055	return
8056}
8057
8058// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
8059func (r Network_Storage) RemoveAccessFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
8060	params := []interface{}{
8061		hardwareObjectTemplate,
8062	}
8063	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromHardware", params, &r.Options, &resp)
8064	return
8065}
8066
8067// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
8068func (r Network_Storage) RemoveAccessFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
8069	params := []interface{}{
8070		hardwareObjectTemplates,
8071	}
8072	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromHardwareList", params, &r.Options, &resp)
8073	return
8074}
8075
8076// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
8077func (r Network_Storage) RemoveAccessFromHost(typeClassName *string, hostId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8078	params := []interface{}{
8079		typeClassName,
8080		hostId,
8081	}
8082	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromHost", params, &r.Options, &resp)
8083	return
8084}
8085
8086// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
8087func (r Network_Storage) RemoveAccessFromHostList(hostObjectTemplates []datatypes.Container_Network_Storage_Host) (resp []datatypes.Network_Storage_Allowed_Host, err error) {
8088	params := []interface{}{
8089		hostObjectTemplates,
8090	}
8091	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromHostList", params, &r.Options, &resp)
8092	return
8093}
8094
8095// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage will be listed in the allowedIpAddresses property of this storage volume.
8096func (r Network_Storage) RemoveAccessFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
8097	params := []interface{}{
8098		ipAddressObjectTemplate,
8099	}
8100	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromIpAddress", params, &r.Options, &resp)
8101	return
8102}
8103
8104// no documentation yet
8105func (r Network_Storage) RemoveAccessFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
8106	params := []interface{}{
8107		ipAddressObjectTemplates,
8108	}
8109	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromIpAddressList", params, &r.Options, &resp)
8110	return
8111}
8112
8113// no documentation yet
8114func (r Network_Storage) RemoveAccessFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
8115	params := []interface{}{
8116		subnetObjectTemplate,
8117	}
8118	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromSubnet", params, &r.Options, &resp)
8119	return
8120}
8121
8122// no documentation yet
8123func (r Network_Storage) RemoveAccessFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
8124	params := []interface{}{
8125		subnetObjectTemplates,
8126	}
8127	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromSubnetList", params, &r.Options, &resp)
8128	return
8129}
8130
8131// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
8132func (r Network_Storage) RemoveAccessFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
8133	params := []interface{}{
8134		virtualGuestObjectTemplate,
8135	}
8136	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromVirtualGuest", params, &r.Options, &resp)
8137	return
8138}
8139
8140// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
8141func (r Network_Storage) RemoveAccessFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
8142	params := []interface{}{
8143		virtualGuestObjectTemplates,
8144	}
8145	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessFromVirtualGuestList", params, &r.Options, &resp)
8146	return
8147}
8148
8149// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Hardware objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationHardware property of this storage volume.
8150func (r Network_Storage) RemoveAccessToReplicantFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
8151	params := []interface{}{
8152		hardwareObjectTemplates,
8153	}
8154	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessToReplicantFromHardwareList", params, &r.Options, &resp)
8155	return
8156}
8157
8158// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationIpAddresses property of this storage volume.
8159func (r Network_Storage) RemoveAccessToReplicantFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
8160	params := []interface{}{
8161		ipAddressObjectTemplates,
8162	}
8163	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessToReplicantFromIpAddressList", params, &r.Options, &resp)
8164	return
8165}
8166
8167// no documentation yet
8168func (r Network_Storage) RemoveAccessToReplicantFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
8169	params := []interface{}{
8170		subnetObjectTemplate,
8171	}
8172	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessToReplicantFromSubnet", params, &r.Options, &resp)
8173	return
8174}
8175
8176// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationSubnets property of this storage volume.
8177func (r Network_Storage) RemoveAccessToReplicantFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
8178	params := []interface{}{
8179		subnetObjectTemplates,
8180	}
8181	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessToReplicantFromSubnetList", params, &r.Options, &resp)
8182	return
8183}
8184
8185// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationVirtualGuests property of this storage volume.
8186func (r Network_Storage) RemoveAccessToReplicantFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
8187	params := []interface{}{
8188		virtualGuestObjectTemplates,
8189	}
8190	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeAccessToReplicantFromVirtualGuestList", params, &r.Options, &resp)
8191	return
8192}
8193
8194// This method will remove a credential from the current volume. The credential must have been created using the 'addNewCredential' method.
8195func (r Network_Storage) RemoveCredential(username *string) (resp bool, err error) {
8196	params := []interface{}{
8197		username,
8198	}
8199	err = r.Session.DoRequest("SoftLayer_Network_Storage", "removeCredential", params, &r.Options, &resp)
8200	return
8201}
8202
8203// {{CloudLayerOnlyMethod}} Restore an individual file so that it may be used as it was before it was deleted.
8204//
8205// If a file is deleted from a Virtual Server Storage account, the file is placed into the account's recycle bin and not permanently deleted. Therefore, restoreFile can be used to place the file back into your Virtual Server account's root directory.
8206func (r Network_Storage) RestoreFile(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
8207	params := []interface{}{
8208		fileId,
8209	}
8210	err = r.Session.DoRequest("SoftLayer_Network_Storage", "restoreFile", params, &r.Options, &resp)
8211	return
8212}
8213
8214// Restore the volume from a snapshot that was previously taken.
8215func (r Network_Storage) RestoreFromSnapshot(snapshotId *int) (resp bool, err error) {
8216	params := []interface{}{
8217		snapshotId,
8218	}
8219	err = r.Session.DoRequest("SoftLayer_Network_Storage", "restoreFromSnapshot", params, &r.Options, &resp)
8220	return
8221}
8222
8223// The method will retrieve the password for the StorageLayer or Virtual Server Storage Account and email the password.  The Storage Account passwords will be emailed to the master user.  For Virtual Server Storage, the password will be sent to the email address used as the username.
8224func (r Network_Storage) SendPasswordReminderEmail(username *string) (resp bool, err error) {
8225	params := []interface{}{
8226		username,
8227	}
8228	err = r.Session.DoRequest("SoftLayer_Network_Storage", "sendPasswordReminderEmail", params, &r.Options, &resp)
8229	return
8230}
8231
8232// Enable or disable the mounting of a Storage volume. When mounting is enabled the Storage volume will be mountable or available for use.
8233//
8234// For Virtual Server volumes, disabling mounting will deny access to the Virtual Server Account, remove published material and deny all file interaction including uploads and downloads.
8235//
8236// Enabling or disabling mounting for Storage volumes is not possible if mounting has been disabled by SoftLayer or a parent account.
8237func (r Network_Storage) SetMountable(mountable *bool) (resp bool, err error) {
8238	params := []interface{}{
8239		mountable,
8240	}
8241	err = r.Session.DoRequest("SoftLayer_Network_Storage", "setMountable", params, &r.Options, &resp)
8242	return
8243}
8244
8245// no documentation yet
8246func (r Network_Storage) SetSnapshotAllocation(capacityGb *int) (err error) {
8247	var resp datatypes.Void
8248	params := []interface{}{
8249		capacityGb,
8250	}
8251	err = r.Session.DoRequest("SoftLayer_Network_Storage", "setSnapshotAllocation", params, &r.Options, &resp)
8252	return
8253}
8254
8255// Upgrade the Storage volume to one of the upgradable packages (for example from 10 Gigs of EVault storage to 100 Gigs of EVault storage).
8256func (r Network_Storage) UpgradeVolumeCapacity(itemId *int) (resp bool, err error) {
8257	params := []interface{}{
8258		itemId,
8259	}
8260	err = r.Session.DoRequest("SoftLayer_Network_Storage", "upgradeVolumeCapacity", params, &r.Options, &resp)
8261	return
8262}
8263
8264// {{CloudLayerOnlyMethod}} Upload a file to a Storage account's root directory. Once uploaded, this method returns new file entity identifier for the upload file.
8265//
8266// The following properties are required in the ''file'' parameter.
8267// *'''name''': The name of the file you wish to upload
8268// *'''content''': The raw contents of the file you wish to upload.
8269// *'''contentType''': The MIME-type of content that you wish to upload.
8270func (r Network_Storage) UploadFile(file *datatypes.Container_Utility_File_Entity) (resp datatypes.Container_Utility_File_Entity, err error) {
8271	params := []interface{}{
8272		file,
8273	}
8274	err = r.Session.DoRequest("SoftLayer_Network_Storage", "uploadFile", params, &r.Options, &resp)
8275	return
8276}
8277
8278// no documentation yet
8279type Network_Storage_Allowed_Host struct {
8280	Session *session.Session
8281	Options sl.Options
8282}
8283
8284// GetNetworkStorageAllowedHostService returns an instance of the Network_Storage_Allowed_Host SoftLayer service
8285func GetNetworkStorageAllowedHostService(sess *session.Session) Network_Storage_Allowed_Host {
8286	return Network_Storage_Allowed_Host{Session: sess}
8287}
8288
8289func (r Network_Storage_Allowed_Host) Id(id int) Network_Storage_Allowed_Host {
8290	r.Options.Id = &id
8291	return r
8292}
8293
8294func (r Network_Storage_Allowed_Host) Mask(mask string) Network_Storage_Allowed_Host {
8295	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
8296		mask = fmt.Sprintf("mask[%s]", mask)
8297	}
8298
8299	r.Options.Mask = mask
8300	return r
8301}
8302
8303func (r Network_Storage_Allowed_Host) Filter(filter string) Network_Storage_Allowed_Host {
8304	r.Options.Filter = filter
8305	return r
8306}
8307
8308func (r Network_Storage_Allowed_Host) Limit(limit int) Network_Storage_Allowed_Host {
8309	r.Options.Limit = &limit
8310	return r
8311}
8312
8313func (r Network_Storage_Allowed_Host) Offset(offset int) Network_Storage_Allowed_Host {
8314	r.Options.Offset = &offset
8315	return r
8316}
8317
8318// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Hardware object's id.
8319func (r Network_Storage_Allowed_Host) CreateFromHardware(hardwareId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8320	params := []interface{}{
8321		hardwareId,
8322		iqn,
8323	}
8324	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "createFromHardware", params, &r.Options, &resp)
8325	return
8326}
8327
8328// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet_IpAddress object's id.
8329func (r Network_Storage_Allowed_Host) CreateFromIpAddress(ipAddressId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8330	params := []interface{}{
8331		ipAddressId,
8332		iqn,
8333	}
8334	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "createFromIpAddress", params, &r.Options, &resp)
8335	return
8336}
8337
8338// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet object's id. Allowed_Host objects created for SoftLayer_Network_Subnet objects do not support IQNs.
8339func (r Network_Storage_Allowed_Host) CreateFromSubnet(subnetId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8340	params := []interface{}{
8341		subnetId,
8342	}
8343	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "createFromSubnet", params, &r.Options, &resp)
8344	return
8345}
8346
8347// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Virtual_Guest object's id.
8348func (r Network_Storage_Allowed_Host) CreateFromVirtualGuest(virtualGuestId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8349	params := []interface{}{
8350		virtualGuestId,
8351		iqn,
8352	}
8353	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "createFromVirtualGuest", params, &r.Options, &resp)
8354	return
8355}
8356
8357// no documentation yet
8358func (r Network_Storage_Allowed_Host) EditObject(templateObject *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
8359	params := []interface{}{
8360		templateObject,
8361	}
8362	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "editObject", params, &r.Options, &resp)
8363	return
8364}
8365
8366// no documentation yet
8367func (r Network_Storage_Allowed_Host) GetAllObjects() (resp []datatypes.Network_Storage_Allowed_Host, err error) {
8368	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getAllObjects", nil, &r.Options, &resp)
8369	return
8370}
8371
8372// Retrieve The SoftLayer_Network_Storage_Group objects this SoftLayer_Network_Storage_Allowed_Host is present in.
8373func (r Network_Storage_Allowed_Host) GetAssignedGroups() (resp []datatypes.Network_Storage_Group, err error) {
8374	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getAssignedGroups", nil, &r.Options, &resp)
8375	return
8376}
8377
8378// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8379func (r Network_Storage_Allowed_Host) GetAssignedIscsiVolumes() (resp []datatypes.Network_Storage, err error) {
8380	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getAssignedIscsiVolumes", nil, &r.Options, &resp)
8381	return
8382}
8383
8384// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8385func (r Network_Storage_Allowed_Host) GetAssignedNfsVolumes() (resp []datatypes.Network_Storage, err error) {
8386	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getAssignedNfsVolumes", nil, &r.Options, &resp)
8387	return
8388}
8389
8390// Retrieve The SoftLayer_Network_Storage primary volumes whose replicas are allowed access.
8391func (r Network_Storage_Allowed_Host) GetAssignedReplicationVolumes() (resp []datatypes.Network_Storage, err error) {
8392	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getAssignedReplicationVolumes", nil, &r.Options, &resp)
8393	return
8394}
8395
8396// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8397func (r Network_Storage_Allowed_Host) GetAssignedVolumes() (resp []datatypes.Network_Storage, err error) {
8398	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getAssignedVolumes", nil, &r.Options, &resp)
8399	return
8400}
8401
8402// Retrieve The SoftLayer_Network_Storage_Credential this allowed host uses.
8403func (r Network_Storage_Allowed_Host) GetCredential() (resp datatypes.Network_Storage_Credential, err error) {
8404	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getCredential", nil, &r.Options, &resp)
8405	return
8406}
8407
8408// no documentation yet
8409func (r Network_Storage_Allowed_Host) GetObject() (resp datatypes.Network_Storage_Allowed_Host, err error) {
8410	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getObject", nil, &r.Options, &resp)
8411	return
8412}
8413
8414// Retrieve Connections to a target with a source IP in this subnet prefix are allowed.
8415func (r Network_Storage_Allowed_Host) GetSourceSubnet() (resp string, err error) {
8416	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "getSourceSubnet", nil, &r.Options, &resp)
8417	return
8418}
8419
8420// Use this method to modify the credential password for a SoftLayer_Network_Storage_Allowed_Host object.
8421func (r Network_Storage_Allowed_Host) SetCredentialPassword(password *string) (resp bool, err error) {
8422	params := []interface{}{
8423		password,
8424	}
8425	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host", "setCredentialPassword", params, &r.Options, &resp)
8426	return
8427}
8428
8429// no documentation yet
8430type Network_Storage_Allowed_Host_Hardware struct {
8431	Session *session.Session
8432	Options sl.Options
8433}
8434
8435// GetNetworkStorageAllowedHostHardwareService returns an instance of the Network_Storage_Allowed_Host_Hardware SoftLayer service
8436func GetNetworkStorageAllowedHostHardwareService(sess *session.Session) Network_Storage_Allowed_Host_Hardware {
8437	return Network_Storage_Allowed_Host_Hardware{Session: sess}
8438}
8439
8440func (r Network_Storage_Allowed_Host_Hardware) Id(id int) Network_Storage_Allowed_Host_Hardware {
8441	r.Options.Id = &id
8442	return r
8443}
8444
8445func (r Network_Storage_Allowed_Host_Hardware) Mask(mask string) Network_Storage_Allowed_Host_Hardware {
8446	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
8447		mask = fmt.Sprintf("mask[%s]", mask)
8448	}
8449
8450	r.Options.Mask = mask
8451	return r
8452}
8453
8454func (r Network_Storage_Allowed_Host_Hardware) Filter(filter string) Network_Storage_Allowed_Host_Hardware {
8455	r.Options.Filter = filter
8456	return r
8457}
8458
8459func (r Network_Storage_Allowed_Host_Hardware) Limit(limit int) Network_Storage_Allowed_Host_Hardware {
8460	r.Options.Limit = &limit
8461	return r
8462}
8463
8464func (r Network_Storage_Allowed_Host_Hardware) Offset(offset int) Network_Storage_Allowed_Host_Hardware {
8465	r.Options.Offset = &offset
8466	return r
8467}
8468
8469// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Hardware object's id.
8470func (r Network_Storage_Allowed_Host_Hardware) CreateFromHardware(hardwareId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8471	params := []interface{}{
8472		hardwareId,
8473		iqn,
8474	}
8475	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "createFromHardware", params, &r.Options, &resp)
8476	return
8477}
8478
8479// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet_IpAddress object's id.
8480func (r Network_Storage_Allowed_Host_Hardware) CreateFromIpAddress(ipAddressId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8481	params := []interface{}{
8482		ipAddressId,
8483		iqn,
8484	}
8485	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "createFromIpAddress", params, &r.Options, &resp)
8486	return
8487}
8488
8489// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet object's id. Allowed_Host objects created for SoftLayer_Network_Subnet objects do not support IQNs.
8490func (r Network_Storage_Allowed_Host_Hardware) CreateFromSubnet(subnetId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8491	params := []interface{}{
8492		subnetId,
8493	}
8494	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "createFromSubnet", params, &r.Options, &resp)
8495	return
8496}
8497
8498// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Virtual_Guest object's id.
8499func (r Network_Storage_Allowed_Host_Hardware) CreateFromVirtualGuest(virtualGuestId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8500	params := []interface{}{
8501		virtualGuestId,
8502		iqn,
8503	}
8504	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "createFromVirtualGuest", params, &r.Options, &resp)
8505	return
8506}
8507
8508// no documentation yet
8509func (r Network_Storage_Allowed_Host_Hardware) EditObject(templateObject *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
8510	params := []interface{}{
8511		templateObject,
8512	}
8513	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "editObject", params, &r.Options, &resp)
8514	return
8515}
8516
8517// Retrieve The SoftLayer_Account object which this SoftLayer_Network_Storage_Allowed_Host belongs to.
8518func (r Network_Storage_Allowed_Host_Hardware) GetAccount() (resp datatypes.Account, err error) {
8519	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getAccount", nil, &r.Options, &resp)
8520	return
8521}
8522
8523// no documentation yet
8524func (r Network_Storage_Allowed_Host_Hardware) GetAllObjects() (resp []datatypes.Network_Storage_Allowed_Host, err error) {
8525	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getAllObjects", nil, &r.Options, &resp)
8526	return
8527}
8528
8529// Retrieve The SoftLayer_Network_Storage_Group objects this SoftLayer_Network_Storage_Allowed_Host is present in.
8530func (r Network_Storage_Allowed_Host_Hardware) GetAssignedGroups() (resp []datatypes.Network_Storage_Group, err error) {
8531	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getAssignedGroups", nil, &r.Options, &resp)
8532	return
8533}
8534
8535// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8536func (r Network_Storage_Allowed_Host_Hardware) GetAssignedIscsiVolumes() (resp []datatypes.Network_Storage, err error) {
8537	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getAssignedIscsiVolumes", nil, &r.Options, &resp)
8538	return
8539}
8540
8541// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8542func (r Network_Storage_Allowed_Host_Hardware) GetAssignedNfsVolumes() (resp []datatypes.Network_Storage, err error) {
8543	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getAssignedNfsVolumes", nil, &r.Options, &resp)
8544	return
8545}
8546
8547// Retrieve The SoftLayer_Network_Storage primary volumes whose replicas are allowed access.
8548func (r Network_Storage_Allowed_Host_Hardware) GetAssignedReplicationVolumes() (resp []datatypes.Network_Storage, err error) {
8549	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getAssignedReplicationVolumes", nil, &r.Options, &resp)
8550	return
8551}
8552
8553// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8554func (r Network_Storage_Allowed_Host_Hardware) GetAssignedVolumes() (resp []datatypes.Network_Storage, err error) {
8555	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getAssignedVolumes", nil, &r.Options, &resp)
8556	return
8557}
8558
8559// Retrieve The SoftLayer_Network_Storage_Credential this allowed host uses.
8560func (r Network_Storage_Allowed_Host_Hardware) GetCredential() (resp datatypes.Network_Storage_Credential, err error) {
8561	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getCredential", nil, &r.Options, &resp)
8562	return
8563}
8564
8565// no documentation yet
8566func (r Network_Storage_Allowed_Host_Hardware) GetObject() (resp datatypes.Network_Storage_Allowed_Host_Hardware, err error) {
8567	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getObject", nil, &r.Options, &resp)
8568	return
8569}
8570
8571// Retrieve The SoftLayer_Hardware object which this SoftLayer_Network_Storage_Allowed_Host is referencing.
8572func (r Network_Storage_Allowed_Host_Hardware) GetResource() (resp datatypes.Hardware, err error) {
8573	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getResource", nil, &r.Options, &resp)
8574	return
8575}
8576
8577// Retrieve Connections to a target with a source IP in this subnet prefix are allowed.
8578func (r Network_Storage_Allowed_Host_Hardware) GetSourceSubnet() (resp string, err error) {
8579	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "getSourceSubnet", nil, &r.Options, &resp)
8580	return
8581}
8582
8583// Use this method to modify the credential password for a SoftLayer_Network_Storage_Allowed_Host object.
8584func (r Network_Storage_Allowed_Host_Hardware) SetCredentialPassword(password *string) (resp bool, err error) {
8585	params := []interface{}{
8586		password,
8587	}
8588	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Hardware", "setCredentialPassword", params, &r.Options, &resp)
8589	return
8590}
8591
8592// no documentation yet
8593type Network_Storage_Allowed_Host_IpAddress struct {
8594	Session *session.Session
8595	Options sl.Options
8596}
8597
8598// GetNetworkStorageAllowedHostIpAddressService returns an instance of the Network_Storage_Allowed_Host_IpAddress SoftLayer service
8599func GetNetworkStorageAllowedHostIpAddressService(sess *session.Session) Network_Storage_Allowed_Host_IpAddress {
8600	return Network_Storage_Allowed_Host_IpAddress{Session: sess}
8601}
8602
8603func (r Network_Storage_Allowed_Host_IpAddress) Id(id int) Network_Storage_Allowed_Host_IpAddress {
8604	r.Options.Id = &id
8605	return r
8606}
8607
8608func (r Network_Storage_Allowed_Host_IpAddress) Mask(mask string) Network_Storage_Allowed_Host_IpAddress {
8609	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
8610		mask = fmt.Sprintf("mask[%s]", mask)
8611	}
8612
8613	r.Options.Mask = mask
8614	return r
8615}
8616
8617func (r Network_Storage_Allowed_Host_IpAddress) Filter(filter string) Network_Storage_Allowed_Host_IpAddress {
8618	r.Options.Filter = filter
8619	return r
8620}
8621
8622func (r Network_Storage_Allowed_Host_IpAddress) Limit(limit int) Network_Storage_Allowed_Host_IpAddress {
8623	r.Options.Limit = &limit
8624	return r
8625}
8626
8627func (r Network_Storage_Allowed_Host_IpAddress) Offset(offset int) Network_Storage_Allowed_Host_IpAddress {
8628	r.Options.Offset = &offset
8629	return r
8630}
8631
8632// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Hardware object's id.
8633func (r Network_Storage_Allowed_Host_IpAddress) CreateFromHardware(hardwareId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8634	params := []interface{}{
8635		hardwareId,
8636		iqn,
8637	}
8638	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "createFromHardware", params, &r.Options, &resp)
8639	return
8640}
8641
8642// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet_IpAddress object's id.
8643func (r Network_Storage_Allowed_Host_IpAddress) CreateFromIpAddress(ipAddressId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8644	params := []interface{}{
8645		ipAddressId,
8646		iqn,
8647	}
8648	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "createFromIpAddress", params, &r.Options, &resp)
8649	return
8650}
8651
8652// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet object's id. Allowed_Host objects created for SoftLayer_Network_Subnet objects do not support IQNs.
8653func (r Network_Storage_Allowed_Host_IpAddress) CreateFromSubnet(subnetId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8654	params := []interface{}{
8655		subnetId,
8656	}
8657	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "createFromSubnet", params, &r.Options, &resp)
8658	return
8659}
8660
8661// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Virtual_Guest object's id.
8662func (r Network_Storage_Allowed_Host_IpAddress) CreateFromVirtualGuest(virtualGuestId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8663	params := []interface{}{
8664		virtualGuestId,
8665		iqn,
8666	}
8667	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "createFromVirtualGuest", params, &r.Options, &resp)
8668	return
8669}
8670
8671// no documentation yet
8672func (r Network_Storage_Allowed_Host_IpAddress) EditObject(templateObject *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
8673	params := []interface{}{
8674		templateObject,
8675	}
8676	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "editObject", params, &r.Options, &resp)
8677	return
8678}
8679
8680// Retrieve The SoftLayer_Account object which this SoftLayer_Network_Storage_Allowed_Host belongs to.
8681func (r Network_Storage_Allowed_Host_IpAddress) GetAccount() (resp datatypes.Account, err error) {
8682	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getAccount", nil, &r.Options, &resp)
8683	return
8684}
8685
8686// no documentation yet
8687func (r Network_Storage_Allowed_Host_IpAddress) GetAllObjects() (resp []datatypes.Network_Storage_Allowed_Host, err error) {
8688	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getAllObjects", nil, &r.Options, &resp)
8689	return
8690}
8691
8692// Retrieve The SoftLayer_Network_Storage_Group objects this SoftLayer_Network_Storage_Allowed_Host is present in.
8693func (r Network_Storage_Allowed_Host_IpAddress) GetAssignedGroups() (resp []datatypes.Network_Storage_Group, err error) {
8694	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getAssignedGroups", nil, &r.Options, &resp)
8695	return
8696}
8697
8698// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8699func (r Network_Storage_Allowed_Host_IpAddress) GetAssignedIscsiVolumes() (resp []datatypes.Network_Storage, err error) {
8700	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getAssignedIscsiVolumes", nil, &r.Options, &resp)
8701	return
8702}
8703
8704// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8705func (r Network_Storage_Allowed_Host_IpAddress) GetAssignedNfsVolumes() (resp []datatypes.Network_Storage, err error) {
8706	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getAssignedNfsVolumes", nil, &r.Options, &resp)
8707	return
8708}
8709
8710// Retrieve The SoftLayer_Network_Storage primary volumes whose replicas are allowed access.
8711func (r Network_Storage_Allowed_Host_IpAddress) GetAssignedReplicationVolumes() (resp []datatypes.Network_Storage, err error) {
8712	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getAssignedReplicationVolumes", nil, &r.Options, &resp)
8713	return
8714}
8715
8716// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8717func (r Network_Storage_Allowed_Host_IpAddress) GetAssignedVolumes() (resp []datatypes.Network_Storage, err error) {
8718	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getAssignedVolumes", nil, &r.Options, &resp)
8719	return
8720}
8721
8722// Retrieve The SoftLayer_Network_Storage_Credential this allowed host uses.
8723func (r Network_Storage_Allowed_Host_IpAddress) GetCredential() (resp datatypes.Network_Storage_Credential, err error) {
8724	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getCredential", nil, &r.Options, &resp)
8725	return
8726}
8727
8728// no documentation yet
8729func (r Network_Storage_Allowed_Host_IpAddress) GetObject() (resp datatypes.Network_Storage_Allowed_Host_IpAddress, err error) {
8730	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getObject", nil, &r.Options, &resp)
8731	return
8732}
8733
8734// Retrieve The SoftLayer_Network_Subnet_IpAddress object which this SoftLayer_Network_Storage_Allowed_Host is referencing.
8735func (r Network_Storage_Allowed_Host_IpAddress) GetResource() (resp datatypes.Network_Subnet_IpAddress, err error) {
8736	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getResource", nil, &r.Options, &resp)
8737	return
8738}
8739
8740// Retrieve Connections to a target with a source IP in this subnet prefix are allowed.
8741func (r Network_Storage_Allowed_Host_IpAddress) GetSourceSubnet() (resp string, err error) {
8742	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "getSourceSubnet", nil, &r.Options, &resp)
8743	return
8744}
8745
8746// Use this method to modify the credential password for a SoftLayer_Network_Storage_Allowed_Host object.
8747func (r Network_Storage_Allowed_Host_IpAddress) SetCredentialPassword(password *string) (resp bool, err error) {
8748	params := []interface{}{
8749		password,
8750	}
8751	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_IpAddress", "setCredentialPassword", params, &r.Options, &resp)
8752	return
8753}
8754
8755// no documentation yet
8756type Network_Storage_Allowed_Host_Subnet struct {
8757	Session *session.Session
8758	Options sl.Options
8759}
8760
8761// GetNetworkStorageAllowedHostSubnetService returns an instance of the Network_Storage_Allowed_Host_Subnet SoftLayer service
8762func GetNetworkStorageAllowedHostSubnetService(sess *session.Session) Network_Storage_Allowed_Host_Subnet {
8763	return Network_Storage_Allowed_Host_Subnet{Session: sess}
8764}
8765
8766func (r Network_Storage_Allowed_Host_Subnet) Id(id int) Network_Storage_Allowed_Host_Subnet {
8767	r.Options.Id = &id
8768	return r
8769}
8770
8771func (r Network_Storage_Allowed_Host_Subnet) Mask(mask string) Network_Storage_Allowed_Host_Subnet {
8772	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
8773		mask = fmt.Sprintf("mask[%s]", mask)
8774	}
8775
8776	r.Options.Mask = mask
8777	return r
8778}
8779
8780func (r Network_Storage_Allowed_Host_Subnet) Filter(filter string) Network_Storage_Allowed_Host_Subnet {
8781	r.Options.Filter = filter
8782	return r
8783}
8784
8785func (r Network_Storage_Allowed_Host_Subnet) Limit(limit int) Network_Storage_Allowed_Host_Subnet {
8786	r.Options.Limit = &limit
8787	return r
8788}
8789
8790func (r Network_Storage_Allowed_Host_Subnet) Offset(offset int) Network_Storage_Allowed_Host_Subnet {
8791	r.Options.Offset = &offset
8792	return r
8793}
8794
8795// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Hardware object's id.
8796func (r Network_Storage_Allowed_Host_Subnet) CreateFromHardware(hardwareId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8797	params := []interface{}{
8798		hardwareId,
8799		iqn,
8800	}
8801	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "createFromHardware", params, &r.Options, &resp)
8802	return
8803}
8804
8805// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet_IpAddress object's id.
8806func (r Network_Storage_Allowed_Host_Subnet) CreateFromIpAddress(ipAddressId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8807	params := []interface{}{
8808		ipAddressId,
8809		iqn,
8810	}
8811	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "createFromIpAddress", params, &r.Options, &resp)
8812	return
8813}
8814
8815// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet object's id. Allowed_Host objects created for SoftLayer_Network_Subnet objects do not support IQNs.
8816func (r Network_Storage_Allowed_Host_Subnet) CreateFromSubnet(subnetId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8817	params := []interface{}{
8818		subnetId,
8819	}
8820	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "createFromSubnet", params, &r.Options, &resp)
8821	return
8822}
8823
8824// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Virtual_Guest object's id.
8825func (r Network_Storage_Allowed_Host_Subnet) CreateFromVirtualGuest(virtualGuestId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8826	params := []interface{}{
8827		virtualGuestId,
8828		iqn,
8829	}
8830	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "createFromVirtualGuest", params, &r.Options, &resp)
8831	return
8832}
8833
8834// no documentation yet
8835func (r Network_Storage_Allowed_Host_Subnet) EditObject(templateObject *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
8836	params := []interface{}{
8837		templateObject,
8838	}
8839	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "editObject", params, &r.Options, &resp)
8840	return
8841}
8842
8843// Retrieve The SoftLayer_Account object which this SoftLayer_Network_Storage_Allowed_Host belongs to.
8844func (r Network_Storage_Allowed_Host_Subnet) GetAccount() (resp datatypes.Account, err error) {
8845	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getAccount", nil, &r.Options, &resp)
8846	return
8847}
8848
8849// no documentation yet
8850func (r Network_Storage_Allowed_Host_Subnet) GetAllObjects() (resp []datatypes.Network_Storage_Allowed_Host, err error) {
8851	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getAllObjects", nil, &r.Options, &resp)
8852	return
8853}
8854
8855// Retrieve The SoftLayer_Network_Storage_Group objects this SoftLayer_Network_Storage_Allowed_Host is present in.
8856func (r Network_Storage_Allowed_Host_Subnet) GetAssignedGroups() (resp []datatypes.Network_Storage_Group, err error) {
8857	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getAssignedGroups", nil, &r.Options, &resp)
8858	return
8859}
8860
8861// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8862func (r Network_Storage_Allowed_Host_Subnet) GetAssignedIscsiVolumes() (resp []datatypes.Network_Storage, err error) {
8863	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getAssignedIscsiVolumes", nil, &r.Options, &resp)
8864	return
8865}
8866
8867// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8868func (r Network_Storage_Allowed_Host_Subnet) GetAssignedNfsVolumes() (resp []datatypes.Network_Storage, err error) {
8869	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getAssignedNfsVolumes", nil, &r.Options, &resp)
8870	return
8871}
8872
8873// Retrieve The SoftLayer_Network_Storage primary volumes whose replicas are allowed access.
8874func (r Network_Storage_Allowed_Host_Subnet) GetAssignedReplicationVolumes() (resp []datatypes.Network_Storage, err error) {
8875	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getAssignedReplicationVolumes", nil, &r.Options, &resp)
8876	return
8877}
8878
8879// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
8880func (r Network_Storage_Allowed_Host_Subnet) GetAssignedVolumes() (resp []datatypes.Network_Storage, err error) {
8881	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getAssignedVolumes", nil, &r.Options, &resp)
8882	return
8883}
8884
8885// Retrieve The SoftLayer_Network_Storage_Credential this allowed host uses.
8886func (r Network_Storage_Allowed_Host_Subnet) GetCredential() (resp datatypes.Network_Storage_Credential, err error) {
8887	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getCredential", nil, &r.Options, &resp)
8888	return
8889}
8890
8891// no documentation yet
8892func (r Network_Storage_Allowed_Host_Subnet) GetObject() (resp datatypes.Network_Storage_Allowed_Host_Subnet, err error) {
8893	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getObject", nil, &r.Options, &resp)
8894	return
8895}
8896
8897// Retrieve The SoftLayer_Network_Subnet object which this SoftLayer_Network_Storage_Allowed_Host is referencing.
8898func (r Network_Storage_Allowed_Host_Subnet) GetResource() (resp datatypes.Network_Subnet, err error) {
8899	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getResource", nil, &r.Options, &resp)
8900	return
8901}
8902
8903// Retrieve Connections to a target with a source IP in this subnet prefix are allowed.
8904func (r Network_Storage_Allowed_Host_Subnet) GetSourceSubnet() (resp string, err error) {
8905	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "getSourceSubnet", nil, &r.Options, &resp)
8906	return
8907}
8908
8909// Use this method to modify the credential password for a SoftLayer_Network_Storage_Allowed_Host object.
8910func (r Network_Storage_Allowed_Host_Subnet) SetCredentialPassword(password *string) (resp bool, err error) {
8911	params := []interface{}{
8912		password,
8913	}
8914	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_Subnet", "setCredentialPassword", params, &r.Options, &resp)
8915	return
8916}
8917
8918// no documentation yet
8919type Network_Storage_Allowed_Host_VirtualGuest struct {
8920	Session *session.Session
8921	Options sl.Options
8922}
8923
8924// GetNetworkStorageAllowedHostVirtualGuestService returns an instance of the Network_Storage_Allowed_Host_VirtualGuest SoftLayer service
8925func GetNetworkStorageAllowedHostVirtualGuestService(sess *session.Session) Network_Storage_Allowed_Host_VirtualGuest {
8926	return Network_Storage_Allowed_Host_VirtualGuest{Session: sess}
8927}
8928
8929func (r Network_Storage_Allowed_Host_VirtualGuest) Id(id int) Network_Storage_Allowed_Host_VirtualGuest {
8930	r.Options.Id = &id
8931	return r
8932}
8933
8934func (r Network_Storage_Allowed_Host_VirtualGuest) Mask(mask string) Network_Storage_Allowed_Host_VirtualGuest {
8935	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
8936		mask = fmt.Sprintf("mask[%s]", mask)
8937	}
8938
8939	r.Options.Mask = mask
8940	return r
8941}
8942
8943func (r Network_Storage_Allowed_Host_VirtualGuest) Filter(filter string) Network_Storage_Allowed_Host_VirtualGuest {
8944	r.Options.Filter = filter
8945	return r
8946}
8947
8948func (r Network_Storage_Allowed_Host_VirtualGuest) Limit(limit int) Network_Storage_Allowed_Host_VirtualGuest {
8949	r.Options.Limit = &limit
8950	return r
8951}
8952
8953func (r Network_Storage_Allowed_Host_VirtualGuest) Offset(offset int) Network_Storage_Allowed_Host_VirtualGuest {
8954	r.Options.Offset = &offset
8955	return r
8956}
8957
8958// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Hardware object's id.
8959func (r Network_Storage_Allowed_Host_VirtualGuest) CreateFromHardware(hardwareId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8960	params := []interface{}{
8961		hardwareId,
8962		iqn,
8963	}
8964	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "createFromHardware", params, &r.Options, &resp)
8965	return
8966}
8967
8968// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet_IpAddress object's id.
8969func (r Network_Storage_Allowed_Host_VirtualGuest) CreateFromIpAddress(ipAddressId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8970	params := []interface{}{
8971		ipAddressId,
8972		iqn,
8973	}
8974	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "createFromIpAddress", params, &r.Options, &resp)
8975	return
8976}
8977
8978// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Network_Subnet object's id. Allowed_Host objects created for SoftLayer_Network_Subnet objects do not support IQNs.
8979func (r Network_Storage_Allowed_Host_VirtualGuest) CreateFromSubnet(subnetId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8980	params := []interface{}{
8981		subnetId,
8982	}
8983	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "createFromSubnet", params, &r.Options, &resp)
8984	return
8985}
8986
8987// This method is used to create a new SoftLayer_Network_Storage_Allowed_Host using an existing SoftLayer_Virtual_Guest object's id.
8988func (r Network_Storage_Allowed_Host_VirtualGuest) CreateFromVirtualGuest(virtualGuestId *int, iqn *string) (resp datatypes.Network_Storage_Allowed_Host, err error) {
8989	params := []interface{}{
8990		virtualGuestId,
8991		iqn,
8992	}
8993	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "createFromVirtualGuest", params, &r.Options, &resp)
8994	return
8995}
8996
8997// no documentation yet
8998func (r Network_Storage_Allowed_Host_VirtualGuest) EditObject(templateObject *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
8999	params := []interface{}{
9000		templateObject,
9001	}
9002	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "editObject", params, &r.Options, &resp)
9003	return
9004}
9005
9006// Retrieve The SoftLayer_Account object which this SoftLayer_Network_Storage_Allowed_Host belongs to.
9007func (r Network_Storage_Allowed_Host_VirtualGuest) GetAccount() (resp datatypes.Account, err error) {
9008	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getAccount", nil, &r.Options, &resp)
9009	return
9010}
9011
9012// no documentation yet
9013func (r Network_Storage_Allowed_Host_VirtualGuest) GetAllObjects() (resp []datatypes.Network_Storage_Allowed_Host, err error) {
9014	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getAllObjects", nil, &r.Options, &resp)
9015	return
9016}
9017
9018// Retrieve The SoftLayer_Network_Storage_Group objects this SoftLayer_Network_Storage_Allowed_Host is present in.
9019func (r Network_Storage_Allowed_Host_VirtualGuest) GetAssignedGroups() (resp []datatypes.Network_Storage_Group, err error) {
9020	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getAssignedGroups", nil, &r.Options, &resp)
9021	return
9022}
9023
9024// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
9025func (r Network_Storage_Allowed_Host_VirtualGuest) GetAssignedIscsiVolumes() (resp []datatypes.Network_Storage, err error) {
9026	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getAssignedIscsiVolumes", nil, &r.Options, &resp)
9027	return
9028}
9029
9030// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
9031func (r Network_Storage_Allowed_Host_VirtualGuest) GetAssignedNfsVolumes() (resp []datatypes.Network_Storage, err error) {
9032	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getAssignedNfsVolumes", nil, &r.Options, &resp)
9033	return
9034}
9035
9036// Retrieve The SoftLayer_Network_Storage primary volumes whose replicas are allowed access.
9037func (r Network_Storage_Allowed_Host_VirtualGuest) GetAssignedReplicationVolumes() (resp []datatypes.Network_Storage, err error) {
9038	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getAssignedReplicationVolumes", nil, &r.Options, &resp)
9039	return
9040}
9041
9042// Retrieve The SoftLayer_Network_Storage volumes to which this SoftLayer_Network_Storage_Allowed_Host is allowed access.
9043func (r Network_Storage_Allowed_Host_VirtualGuest) GetAssignedVolumes() (resp []datatypes.Network_Storage, err error) {
9044	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getAssignedVolumes", nil, &r.Options, &resp)
9045	return
9046}
9047
9048// Retrieve The SoftLayer_Network_Storage_Credential this allowed host uses.
9049func (r Network_Storage_Allowed_Host_VirtualGuest) GetCredential() (resp datatypes.Network_Storage_Credential, err error) {
9050	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getCredential", nil, &r.Options, &resp)
9051	return
9052}
9053
9054// no documentation yet
9055func (r Network_Storage_Allowed_Host_VirtualGuest) GetObject() (resp datatypes.Network_Storage_Allowed_Host_VirtualGuest, err error) {
9056	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getObject", nil, &r.Options, &resp)
9057	return
9058}
9059
9060// Retrieve The SoftLayer_Virtual_Guest object which this SoftLayer_Network_Storage_Allowed_Host is referencing.
9061func (r Network_Storage_Allowed_Host_VirtualGuest) GetResource() (resp datatypes.Virtual_Guest, err error) {
9062	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getResource", nil, &r.Options, &resp)
9063	return
9064}
9065
9066// Retrieve Connections to a target with a source IP in this subnet prefix are allowed.
9067func (r Network_Storage_Allowed_Host_VirtualGuest) GetSourceSubnet() (resp string, err error) {
9068	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "getSourceSubnet", nil, &r.Options, &resp)
9069	return
9070}
9071
9072// Use this method to modify the credential password for a SoftLayer_Network_Storage_Allowed_Host object.
9073func (r Network_Storage_Allowed_Host_VirtualGuest) SetCredentialPassword(password *string) (resp bool, err error) {
9074	params := []interface{}{
9075		password,
9076	}
9077	err = r.Session.DoRequest("SoftLayer_Network_Storage_Allowed_Host_VirtualGuest", "setCredentialPassword", params, &r.Options, &resp)
9078	return
9079}
9080
9081// The SoftLayer_Network_Storage_Backup_Evault contains general information regarding an EVault Storage service such as account id, username, maximum capacity, password, Storage's product type and the server id.
9082type Network_Storage_Backup_Evault struct {
9083	Session *session.Session
9084	Options sl.Options
9085}
9086
9087// GetNetworkStorageBackupEvaultService returns an instance of the Network_Storage_Backup_Evault SoftLayer service
9088func GetNetworkStorageBackupEvaultService(sess *session.Session) Network_Storage_Backup_Evault {
9089	return Network_Storage_Backup_Evault{Session: sess}
9090}
9091
9092func (r Network_Storage_Backup_Evault) Id(id int) Network_Storage_Backup_Evault {
9093	r.Options.Id = &id
9094	return r
9095}
9096
9097func (r Network_Storage_Backup_Evault) Mask(mask string) Network_Storage_Backup_Evault {
9098	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
9099		mask = fmt.Sprintf("mask[%s]", mask)
9100	}
9101
9102	r.Options.Mask = mask
9103	return r
9104}
9105
9106func (r Network_Storage_Backup_Evault) Filter(filter string) Network_Storage_Backup_Evault {
9107	r.Options.Filter = filter
9108	return r
9109}
9110
9111func (r Network_Storage_Backup_Evault) Limit(limit int) Network_Storage_Backup_Evault {
9112	r.Options.Limit = &limit
9113	return r
9114}
9115
9116func (r Network_Storage_Backup_Evault) Offset(offset int) Network_Storage_Backup_Evault {
9117	r.Options.Offset = &offset
9118	return r
9119}
9120
9121// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
9122func (r Network_Storage_Backup_Evault) AllowAccessFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
9123	params := []interface{}{
9124		hardwareObjectTemplate,
9125	}
9126	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromHardware", params, &r.Options, &resp)
9127	return
9128}
9129
9130// no documentation yet
9131func (r Network_Storage_Backup_Evault) AllowAccessFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
9132	params := []interface{}{
9133		hardwareObjectTemplates,
9134	}
9135	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromHardwareList", params, &r.Options, &resp)
9136	return
9137}
9138
9139// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
9140func (r Network_Storage_Backup_Evault) AllowAccessFromHost(typeClassName *string, hostId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
9141	params := []interface{}{
9142		typeClassName,
9143		hostId,
9144	}
9145	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromHost", params, &r.Options, &resp)
9146	return
9147}
9148
9149// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage volume will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
9150func (r Network_Storage_Backup_Evault) AllowAccessFromHostList(hostObjectTemplates []datatypes.Container_Network_Storage_Host) (resp []datatypes.Network_Storage_Allowed_Host, err error) {
9151	params := []interface{}{
9152		hostObjectTemplates,
9153	}
9154	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromHostList", params, &r.Options, &resp)
9155	return
9156}
9157
9158// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage will be listed in the allowedIpAddresses property of this storage volume.
9159func (r Network_Storage_Backup_Evault) AllowAccessFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
9160	params := []interface{}{
9161		ipAddressObjectTemplate,
9162	}
9163	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromIpAddress", params, &r.Options, &resp)
9164	return
9165}
9166
9167// no documentation yet
9168func (r Network_Storage_Backup_Evault) AllowAccessFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
9169	params := []interface{}{
9170		ipAddressObjectTemplates,
9171	}
9172	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromIpAddressList", params, &r.Options, &resp)
9173	return
9174}
9175
9176// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
9177func (r Network_Storage_Backup_Evault) AllowAccessFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
9178	params := []interface{}{
9179		subnetObjectTemplate,
9180	}
9181	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromSubnet", params, &r.Options, &resp)
9182	return
9183}
9184
9185// no documentation yet
9186func (r Network_Storage_Backup_Evault) AllowAccessFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
9187	params := []interface{}{
9188		subnetObjectTemplates,
9189	}
9190	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromSubnetList", params, &r.Options, &resp)
9191	return
9192}
9193
9194// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
9195func (r Network_Storage_Backup_Evault) AllowAccessFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
9196	params := []interface{}{
9197		virtualGuestObjectTemplate,
9198	}
9199	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromVirtualGuest", params, &r.Options, &resp)
9200	return
9201}
9202
9203// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
9204func (r Network_Storage_Backup_Evault) AllowAccessFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
9205	params := []interface{}{
9206		virtualGuestObjectTemplates,
9207	}
9208	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessFromVirtualGuestList", params, &r.Options, &resp)
9209	return
9210}
9211
9212// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage replicant volume.
9213func (r Network_Storage_Backup_Evault) AllowAccessToReplicantFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
9214	params := []interface{}{
9215		hardwareObjectTemplate,
9216	}
9217	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessToReplicantFromHardware", params, &r.Options, &resp)
9218	return
9219}
9220
9221// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Hardware objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationHardware property of this storage volume.
9222func (r Network_Storage_Backup_Evault) AllowAccessToReplicantFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
9223	params := []interface{}{
9224		hardwareObjectTemplates,
9225	}
9226	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessToReplicantFromHardwareList", params, &r.Options, &resp)
9227	return
9228}
9229
9230// no documentation yet
9231func (r Network_Storage_Backup_Evault) AllowAccessToReplicantFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
9232	params := []interface{}{
9233		ipAddressObjectTemplate,
9234	}
9235	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessToReplicantFromIpAddress", params, &r.Options, &resp)
9236	return
9237}
9238
9239// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationIpAddresses property of this storage volume.
9240func (r Network_Storage_Backup_Evault) AllowAccessToReplicantFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
9241	params := []interface{}{
9242		ipAddressObjectTemplates,
9243	}
9244	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessToReplicantFromIpAddressList", params, &r.Options, &resp)
9245	return
9246}
9247
9248// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage replicant volume.
9249func (r Network_Storage_Backup_Evault) AllowAccessToReplicantFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
9250	params := []interface{}{
9251		subnetObjectTemplate,
9252	}
9253	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessToReplicantFromSubnet", params, &r.Options, &resp)
9254	return
9255}
9256
9257// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationSubnets property of this storage volume.
9258func (r Network_Storage_Backup_Evault) AllowAccessToReplicantFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
9259	params := []interface{}{
9260		subnetObjectTemplates,
9261	}
9262	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessToReplicantFromSubnetList", params, &r.Options, &resp)
9263	return
9264}
9265
9266// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage replicant volume.
9267func (r Network_Storage_Backup_Evault) AllowAccessToReplicantFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
9268	params := []interface{}{
9269		virtualGuestObjectTemplate,
9270	}
9271	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessToReplicantFromVirtualGuest", params, &r.Options, &resp)
9272	return
9273}
9274
9275// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationVirtualGuests property of this storage volume.
9276func (r Network_Storage_Backup_Evault) AllowAccessToReplicantFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
9277	params := []interface{}{
9278		virtualGuestObjectTemplates,
9279	}
9280	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "allowAccessToReplicantFromVirtualGuestList", params, &r.Options, &resp)
9281	return
9282}
9283
9284// This method will assign an existing credential to the current volume. The credential must have been created using the 'addNewCredential' method. The volume type must support an additional credential.
9285func (r Network_Storage_Backup_Evault) AssignCredential(username *string) (resp bool, err error) {
9286	params := []interface{}{
9287		username,
9288	}
9289	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "assignCredential", params, &r.Options, &resp)
9290	return
9291}
9292
9293// This method will set up a new credential for the remote storage volume. The storage volume must support an additional credential. Once created, the credential will be automatically assigned to the current volume. If there are no volumes assigned to the credential it will be automatically deleted.
9294func (r Network_Storage_Backup_Evault) AssignNewCredential(typ *string) (resp datatypes.Network_Storage_Credential, err error) {
9295	params := []interface{}{
9296		typ,
9297	}
9298	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "assignNewCredential", params, &r.Options, &resp)
9299	return
9300}
9301
9302// The method will change the password for the given Storage/Virtual Server Storage account.
9303func (r Network_Storage_Backup_Evault) ChangePassword(username *string, currentPassword *string, newPassword *string) (resp bool, err error) {
9304	params := []interface{}{
9305		username,
9306		currentPassword,
9307		newPassword,
9308	}
9309	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "changePassword", params, &r.Options, &resp)
9310	return
9311}
9312
9313// {{CloudLayerOnlyMethod}}
9314//
9315// collectBandwidth() Retrieve the bandwidth usage for the current billing cycle.
9316func (r Network_Storage_Backup_Evault) CollectBandwidth(typ *string, startDate *datatypes.Time, endDate *datatypes.Time) (resp uint, err error) {
9317	params := []interface{}{
9318		typ,
9319		startDate,
9320		endDate,
9321	}
9322	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "collectBandwidth", params, &r.Options, &resp)
9323	return
9324}
9325
9326// {{CloudLayerOnlyMethod}}
9327//
9328// collectBytesUsed() retrieves the number of bytes capacity currently in use on a Storage account.
9329func (r Network_Storage_Backup_Evault) CollectBytesUsed() (resp uint, err error) {
9330	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "collectBytesUsed", nil, &r.Options, &resp)
9331	return
9332}
9333
9334// no documentation yet
9335func (r Network_Storage_Backup_Evault) CreateFolder(folder *string) (resp bool, err error) {
9336	params := []interface{}{
9337		folder,
9338	}
9339	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "createFolder", params, &r.Options, &resp)
9340	return
9341}
9342
9343// The LUN ID only takes effect during the Host Authorization process. It is required to de-authorize all hosts before using this method.
9344func (r Network_Storage_Backup_Evault) CreateOrUpdateLunId(lunId *int) (resp datatypes.Network_Storage_Property, err error) {
9345	params := []interface{}{
9346		lunId,
9347	}
9348	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "createOrUpdateLunId", params, &r.Options, &resp)
9349	return
9350}
9351
9352// no documentation yet
9353func (r Network_Storage_Backup_Evault) CreateSnapshot(notes *string) (resp datatypes.Network_Storage, err error) {
9354	params := []interface{}{
9355		notes,
9356	}
9357	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "createSnapshot", params, &r.Options, &resp)
9358	return
9359}
9360
9361// {{CloudLayerOnlyMethod}} Delete all files within a Storage account. Depending on the type of Storage account, Deleting either deletes files permanently or sends files to your account's recycle bin.
9362//
9363// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the files are in the account's recycle bin. If the files exist in the recycle bin, then they are permanently deleted.
9364//
9365// Please note, files can not be restored once they are permanently deleted.
9366func (r Network_Storage_Backup_Evault) DeleteAllFiles() (resp bool, err error) {
9367	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "deleteAllFiles", nil, &r.Options, &resp)
9368	return
9369}
9370
9371// {{CloudLayerOnlyMethod}} Delete an individual file within a Storage account. Depending on the type of Storage account, Deleting a file either deletes the file permanently or sends the file to your account's recycle bin.
9372//
9373// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the file is in the account's recycle bin. If the file exist in the recycle bin, then it is permanently deleted.
9374//
9375// Please note, a file can not be restored once it is permanently deleted.
9376func (r Network_Storage_Backup_Evault) DeleteFile(fileId *string) (resp bool, err error) {
9377	params := []interface{}{
9378		fileId,
9379	}
9380	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "deleteFile", params, &r.Options, &resp)
9381	return
9382}
9383
9384// {{CloudLayerOnlyMethod}} Delete multiple files within a Storage account. Depending on the type of Storage account, Deleting either deletes files permanently or sends files to your account's recycle bin.
9385//
9386// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the files are in the account's recycle bin. If the files exist in the recycle bin, then they are permanently deleted.
9387//
9388// Please note, files can not be restored once they are permanently deleted.
9389func (r Network_Storage_Backup_Evault) DeleteFiles(fileIds []string) (resp bool, err error) {
9390	params := []interface{}{
9391		fileIds,
9392	}
9393	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "deleteFiles", params, &r.Options, &resp)
9394	return
9395}
9396
9397// no documentation yet
9398func (r Network_Storage_Backup_Evault) DeleteFolder(folder *string) (resp bool, err error) {
9399	params := []interface{}{
9400		folder,
9401	}
9402	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "deleteFolder", params, &r.Options, &resp)
9403	return
9404}
9405
9406// Delete a network storage volume. '''This cannot be undone.''' At this time only network storage snapshots may be deleted with this method.
9407//
9408// ''deleteObject'' returns Boolean ''true'' on successful deletion or ''false'' if it was unable to remove a volume;
9409func (r Network_Storage_Backup_Evault) DeleteObject() (resp bool, err error) {
9410	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "deleteObject", nil, &r.Options, &resp)
9411	return
9412}
9413
9414// This method can be used to help maintain the storage space on a vault.  When a job is removed from the Webcc, the task and stored usage still exists on the vault. This method can be used to delete the associated task and its usage.
9415//
9416// All that is required for the use of the method is to pass in an integer array of task(s).
9417//
9418//
9419func (r Network_Storage_Backup_Evault) DeleteTasks(tasks []int) (resp bool, err error) {
9420	params := []interface{}{
9421		tasks,
9422	}
9423	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "deleteTasks", params, &r.Options, &resp)
9424	return
9425}
9426
9427// This method is not valid for Legacy iSCSI Storage Volumes.
9428//
9429// Disable scheduled snapshots of this storage volume. Scheduling options include 'INTERVAL', HOURLY, DAILY and WEEKLY schedules.
9430func (r Network_Storage_Backup_Evault) DisableSnapshots(scheduleType *string) (resp bool, err error) {
9431	params := []interface{}{
9432		scheduleType,
9433	}
9434	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "disableSnapshots", params, &r.Options, &resp)
9435	return
9436}
9437
9438// {{CloudLayerOnlyMethod}} Download a file from a Storage account. This method returns a file's details including the file's raw content.
9439func (r Network_Storage_Backup_Evault) DownloadFile(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
9440	params := []interface{}{
9441		fileId,
9442	}
9443	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "downloadFile", params, &r.Options, &resp)
9444	return
9445}
9446
9447// This method will change the password of a credential created using the 'addNewCredential' method. If the credential exists on multiple storage volumes it will change for those volumes as well.
9448func (r Network_Storage_Backup_Evault) EditCredential(username *string, newPassword *string) (resp bool, err error) {
9449	params := []interface{}{
9450		username,
9451		newPassword,
9452	}
9453	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "editCredential", params, &r.Options, &resp)
9454	return
9455}
9456
9457// The password and/or notes may be modified for the Storage service except evault passwords and notes.
9458func (r Network_Storage_Backup_Evault) EditObject(templateObject *datatypes.Network_Storage) (resp bool, err error) {
9459	params := []interface{}{
9460		templateObject,
9461	}
9462	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "editObject", params, &r.Options, &resp)
9463	return
9464}
9465
9466// This method is not valid for Legacy iSCSI Storage Volumes.
9467//
9468// Enable scheduled snapshots of this storage volume. Scheduling options include HOURLY, DAILY and WEEKLY schedules. For HOURLY schedules, provide relevant data for $scheduleType, $retentionCount and $minute. For DAILY schedules, provide relevant data for $scheduleType, $retentionCount, $minute, and $hour. For WEEKLY schedules, provide relevant data for all parameters of this method.
9469func (r Network_Storage_Backup_Evault) EnableSnapshots(scheduleType *string, retentionCount *int, minute *int, hour *int, dayOfWeek *string) (resp bool, err error) {
9470	params := []interface{}{
9471		scheduleType,
9472		retentionCount,
9473		minute,
9474		hour,
9475		dayOfWeek,
9476	}
9477	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "enableSnapshots", params, &r.Options, &resp)
9478	return
9479}
9480
9481// Failback from a volume replicant. In order to failback the volume must have already been failed over to a replicant.
9482func (r Network_Storage_Backup_Evault) FailbackFromReplicant() (resp bool, err error) {
9483	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "failbackFromReplicant", nil, &r.Options, &resp)
9484	return
9485}
9486
9487// Failover to a volume replicant.  During the time which the replicant is in use the local nas volume will not be available.
9488func (r Network_Storage_Backup_Evault) FailoverToReplicant(replicantId *int) (resp bool, err error) {
9489	params := []interface{}{
9490		replicantId,
9491	}
9492	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "failoverToReplicant", params, &r.Options, &resp)
9493	return
9494}
9495
9496// Retrieve The account that a Storage services belongs to.
9497func (r Network_Storage_Backup_Evault) GetAccount() (resp datatypes.Account, err error) {
9498	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAccount", nil, &r.Options, &resp)
9499	return
9500}
9501
9502// Retrieve Other usernames and passwords associated with a Storage volume.
9503func (r Network_Storage_Backup_Evault) GetAccountPassword() (resp datatypes.Account_Password, err error) {
9504	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAccountPassword", nil, &r.Options, &resp)
9505	return
9506}
9507
9508// Retrieve The currently active transactions on a network storage volume.
9509func (r Network_Storage_Backup_Evault) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
9510	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getActiveTransactions", nil, &r.Options, &resp)
9511	return
9512}
9513
9514// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date for all files in a Storage account's root directory. This does not download file content.
9515func (r Network_Storage_Backup_Evault) GetAllFiles() (resp []datatypes.Container_Utility_File_Entity, err error) {
9516	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllFiles", nil, &r.Options, &resp)
9517	return
9518}
9519
9520// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date for all files matching the filter's criteria in a Storage account's root directory. This does not download file content.
9521func (r Network_Storage_Backup_Evault) GetAllFilesByFilter(filter *datatypes.Container_Utility_File_Entity) (resp []datatypes.Container_Utility_File_Entity, err error) {
9522	params := []interface{}{
9523		filter,
9524	}
9525	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllFilesByFilter", params, &r.Options, &resp)
9526	return
9527}
9528
9529// This method retrieves a list of SoftLayer_Hardware that can be authorized to this SoftLayer_Network_Storage.
9530func (r Network_Storage_Backup_Evault) GetAllowableHardware(filterHostname *string) (resp []datatypes.Hardware, err error) {
9531	params := []interface{}{
9532		filterHostname,
9533	}
9534	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowableHardware", params, &r.Options, &resp)
9535	return
9536}
9537
9538// This method retrieves a list of SoftLayer_Network_Subnet_IpAddress that can be authorized to this SoftLayer_Network_Storage.
9539func (r Network_Storage_Backup_Evault) GetAllowableIpAddresses(subnetId *int, filterIpAddress *string) (resp []datatypes.Network_Subnet_IpAddress, err error) {
9540	params := []interface{}{
9541		subnetId,
9542		filterIpAddress,
9543	}
9544	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowableIpAddresses", params, &r.Options, &resp)
9545	return
9546}
9547
9548// This method retrieves a list of SoftLayer_Network_Subnet that can be authorized to this SoftLayer_Network_Storage.
9549func (r Network_Storage_Backup_Evault) GetAllowableSubnets(filterNetworkIdentifier *string) (resp []datatypes.Network_Subnet, err error) {
9550	params := []interface{}{
9551		filterNetworkIdentifier,
9552	}
9553	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowableSubnets", params, &r.Options, &resp)
9554	return
9555}
9556
9557// This method retrieves a list of SoftLayer_Virtual_Guest that can be authorized to this SoftLayer_Network_Storage.
9558func (r Network_Storage_Backup_Evault) GetAllowableVirtualGuests(filterHostname *string) (resp []datatypes.Virtual_Guest, err error) {
9559	params := []interface{}{
9560		filterHostname,
9561	}
9562	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowableVirtualGuests", params, &r.Options, &resp)
9563	return
9564}
9565
9566// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume.
9567func (r Network_Storage_Backup_Evault) GetAllowedHardware() (resp []datatypes.Hardware, err error) {
9568	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedHardware", nil, &r.Options, &resp)
9569	return
9570}
9571
9572// Retrieves the total number of allowed hosts limit per volume.
9573func (r Network_Storage_Backup_Evault) GetAllowedHostsLimit() (resp int, err error) {
9574	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedHostsLimit", nil, &r.Options, &resp)
9575	return
9576}
9577
9578// Retrieve The SoftLayer_Network_Subnet_IpAddress objects which are allowed access to this storage volume.
9579func (r Network_Storage_Backup_Evault) GetAllowedIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
9580	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedIpAddresses", nil, &r.Options, &resp)
9581	return
9582}
9583
9584// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume's Replicant.
9585func (r Network_Storage_Backup_Evault) GetAllowedReplicationHardware() (resp []datatypes.Hardware, err error) {
9586	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedReplicationHardware", nil, &r.Options, &resp)
9587	return
9588}
9589
9590// Retrieve The SoftLayer_Network_Subnet_IpAddress objects which are allowed access to this storage volume's Replicant.
9591func (r Network_Storage_Backup_Evault) GetAllowedReplicationIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
9592	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedReplicationIpAddresses", nil, &r.Options, &resp)
9593	return
9594}
9595
9596// Retrieve The SoftLayer_Network_Subnet objects which are allowed access to this storage volume's Replicant.
9597func (r Network_Storage_Backup_Evault) GetAllowedReplicationSubnets() (resp []datatypes.Network_Subnet, err error) {
9598	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedReplicationSubnets", nil, &r.Options, &resp)
9599	return
9600}
9601
9602// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume's Replicant.
9603func (r Network_Storage_Backup_Evault) GetAllowedReplicationVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9604	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedReplicationVirtualGuests", nil, &r.Options, &resp)
9605	return
9606}
9607
9608// Retrieve The SoftLayer_Network_Subnet objects which are allowed access to this storage volume.
9609func (r Network_Storage_Backup_Evault) GetAllowedSubnets() (resp []datatypes.Network_Subnet, err error) {
9610	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedSubnets", nil, &r.Options, &resp)
9611	return
9612}
9613
9614// Retrieve The SoftLayer_Virtual_Guest objects which are allowed access to this storage volume.
9615func (r Network_Storage_Backup_Evault) GetAllowedVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
9616	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getAllowedVirtualGuests", nil, &r.Options, &resp)
9617	return
9618}
9619
9620// Retrieve The current billing item for a Storage volume.
9621func (r Network_Storage_Backup_Evault) GetBillingItem() (resp datatypes.Billing_Item, err error) {
9622	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getBillingItem", nil, &r.Options, &resp)
9623	return
9624}
9625
9626// Retrieve
9627func (r Network_Storage_Backup_Evault) GetBillingItemCategory() (resp datatypes.Product_Item_Category, err error) {
9628	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getBillingItemCategory", nil, &r.Options, &resp)
9629	return
9630}
9631
9632// Retrieve network storage accounts by username and storage account type. Use this method if you wish to retrieve a storage record by username rather than by id. The ''type'' parameter must correspond to one of the available ''nasType'' values in the SoftLayer_Network_Storage data type.
9633func (r Network_Storage_Backup_Evault) GetByUsername(username *string, typ *string) (resp []datatypes.Network_Storage, err error) {
9634	params := []interface{}{
9635		username,
9636		typ,
9637	}
9638	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getByUsername", params, &r.Options, &resp)
9639	return
9640}
9641
9642// Retrieve The amount of space used by the volume, in bytes.
9643func (r Network_Storage_Backup_Evault) GetBytesUsed() (resp string, err error) {
9644	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getBytesUsed", nil, &r.Options, &resp)
9645	return
9646}
9647
9648// no documentation yet
9649func (r Network_Storage_Backup_Evault) GetCdnUrls() (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_ContentDeliveryUrl, err error) {
9650	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getCdnUrls", nil, &r.Options, &resp)
9651	return
9652}
9653
9654// no documentation yet
9655func (r Network_Storage_Backup_Evault) GetClusterResource() (resp datatypes.Network_Service_Resource, err error) {
9656	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getClusterResource", nil, &r.Options, &resp)
9657	return
9658}
9659
9660// Retrieve The schedule id which was executed to create a snapshot.
9661func (r Network_Storage_Backup_Evault) GetCreationScheduleId() (resp string, err error) {
9662	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getCreationScheduleId", nil, &r.Options, &resp)
9663	return
9664}
9665
9666// Retrieve
9667func (r Network_Storage_Backup_Evault) GetCredentials() (resp []datatypes.Network_Storage_Credential, err error) {
9668	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getCredentials", nil, &r.Options, &resp)
9669	return
9670}
9671
9672// Retrieve The Daily Schedule which is associated with this network storage volume.
9673func (r Network_Storage_Backup_Evault) GetDailySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
9674	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getDailySchedule", nil, &r.Options, &resp)
9675	return
9676}
9677
9678// Retrieve The events which have taken place on a network storage volume.
9679func (r Network_Storage_Backup_Evault) GetEvents() (resp []datatypes.Network_Storage_Event, err error) {
9680	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getEvents", nil, &r.Options, &resp)
9681	return
9682}
9683
9684//
9685//
9686//
9687func (r Network_Storage_Backup_Evault) GetFileBlockEncryptedLocations() (resp []datatypes.Location, err error) {
9688	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getFileBlockEncryptedLocations", nil, &r.Options, &resp)
9689	return
9690}
9691
9692// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date of a file within a Storage account. This does not download file content.
9693func (r Network_Storage_Backup_Evault) GetFileByIdentifier(identifier *string) (resp datatypes.Container_Utility_File_Entity, err error) {
9694	params := []interface{}{
9695		identifier,
9696	}
9697	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getFileByIdentifier", params, &r.Options, &resp)
9698	return
9699}
9700
9701// {{CloudLayerOnlyMethod}} Retrieve the file number of files in a Virtual Server Storage account's root directory. This does not include the files stored in the recycle bin.
9702func (r Network_Storage_Backup_Evault) GetFileCount() (resp int, err error) {
9703	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getFileCount", nil, &r.Options, &resp)
9704	return
9705}
9706
9707// no documentation yet
9708func (r Network_Storage_Backup_Evault) GetFileList(folder *string, path *string) (resp []datatypes.Container_Utility_File_Entity, err error) {
9709	params := []interface{}{
9710		folder,
9711		path,
9712	}
9713	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getFileList", params, &r.Options, &resp)
9714	return
9715}
9716
9717// Retrieve Retrieves the NFS Network Mount Address Name for a given File Storage Volume.
9718func (r Network_Storage_Backup_Evault) GetFileNetworkMountAddress() (resp string, err error) {
9719	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getFileNetworkMountAddress", nil, &r.Options, &resp)
9720	return
9721}
9722
9723// {{CloudLayerOnlyMethod}} Retrieve the number of files pending deletion in a Storage account's recycle bin. Files in an account's recycle bin may either be restored to the account's root directory or permanently deleted.
9724func (r Network_Storage_Backup_Evault) GetFilePendingDeleteCount() (resp int, err error) {
9725	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getFilePendingDeleteCount", nil, &r.Options, &resp)
9726	return
9727}
9728
9729// {{CloudLayerOnlyMethod}} Retrieve a list of files that are pending deletion in a Storage account's recycle bin. Files in an account's recycle bin may either be restored to the account's root directory or permanently deleted. This method does not download file content.
9730func (r Network_Storage_Backup_Evault) GetFilesPendingDelete() (resp []datatypes.Container_Utility_File_Entity, err error) {
9731	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getFilesPendingDelete", nil, &r.Options, &resp)
9732	return
9733}
9734
9735// no documentation yet
9736func (r Network_Storage_Backup_Evault) GetFolderList() (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_Folder, err error) {
9737	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getFolderList", nil, &r.Options, &resp)
9738	return
9739}
9740
9741// {{CloudLayerOnlyMethod}}
9742//
9743// getGraph() retrieves a Storage account's usage and returns a PNG graph image, title, and the minimum and maximum dates included in the graphed date range. Virtual Server storage accounts can also graph upload and download bandwidth usage.
9744func (r Network_Storage_Backup_Evault) GetGraph(startDate *datatypes.Time, endDate *datatypes.Time, typ *string) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
9745	params := []interface{}{
9746		startDate,
9747		endDate,
9748		typ,
9749	}
9750	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getGraph", params, &r.Options, &resp)
9751	return
9752}
9753
9754// Retrieve When applicable, the hardware associated with a Storage service.
9755func (r Network_Storage_Backup_Evault) GetHardware() (resp datatypes.Hardware, err error) {
9756	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getHardware", nil, &r.Options, &resp)
9757	return
9758}
9759
9760// Retrieve a list of hardware associated with a SoftLayer customer account, placing all hardware with associated EVault storage accounts at the beginning of the list. The return type is SoftLayer_Hardware_Server[] contains the results; the number of items returned in the result will be returned in the soap header (totalItems). ''getHardwareWithEvaultFirst'' is useful in situations where you wish to search for hardware and provide paginated output.
9761//
9762//
9763//
9764//
9765//
9766// Results are only returned for hardware belonging to the account of the user making the API call.
9767//
9768// This method drives the backup page of the SoftLayer customer portal. It serves a very specific function, but we have exposed it as it may prove useful for API developers too.
9769func (r Network_Storage_Backup_Evault) GetHardwareWithEvaultFirst(option *string, exactMatch *bool, criteria *string, mode *string) (resp []datatypes.Hardware, err error) {
9770	params := []interface{}{
9771		option,
9772		exactMatch,
9773		criteria,
9774		mode,
9775	}
9776	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getHardwareWithEvaultFirst", params, &r.Options, &resp)
9777	return
9778}
9779
9780// Retrieve
9781func (r Network_Storage_Backup_Evault) GetHasEncryptionAtRest() (resp bool, err error) {
9782	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getHasEncryptionAtRest", nil, &r.Options, &resp)
9783	return
9784}
9785
9786// Retrieve The Hourly Schedule which is associated with this network storage volume.
9787func (r Network_Storage_Backup_Evault) GetHourlySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
9788	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getHourlySchedule", nil, &r.Options, &resp)
9789	return
9790}
9791
9792// Retrieve The Interval Schedule which is associated with this network storage volume.
9793func (r Network_Storage_Backup_Evault) GetIntervalSchedule() (resp datatypes.Network_Storage_Schedule, err error) {
9794	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getIntervalSchedule", nil, &r.Options, &resp)
9795	return
9796}
9797
9798// Retrieve The maximum number of IOPs selected for this volume.
9799func (r Network_Storage_Backup_Evault) GetIops() (resp string, err error) {
9800	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getIops", nil, &r.Options, &resp)
9801	return
9802}
9803
9804// Retrieve Determines whether a volume is ready to order snapshot space, or, if snapshot space is already available, to assign a snapshot schedule, or to take a manual snapshot.
9805func (r Network_Storage_Backup_Evault) GetIsReadyForSnapshot() (resp bool, err error) {
9806	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getIsReadyForSnapshot", nil, &r.Options, &resp)
9807	return
9808}
9809
9810// Retrieve Determines whether a volume is ready to have Hosts authorized to access it. This does not indicate whether another operation may be blocking, please refer to this volume's volumeStatus property for details.
9811func (r Network_Storage_Backup_Evault) GetIsReadyToMount() (resp bool, err error) {
9812	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getIsReadyToMount", nil, &r.Options, &resp)
9813	return
9814}
9815
9816// Retrieve Relationship between a container volume and iSCSI LUNs.
9817func (r Network_Storage_Backup_Evault) GetIscsiLuns() (resp []datatypes.Network_Storage, err error) {
9818	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getIscsiLuns", nil, &r.Options, &resp)
9819	return
9820}
9821
9822// Retrieve Returns the target IP addresses of an iSCSI volume.
9823func (r Network_Storage_Backup_Evault) GetIscsiTargetIpAddresses() (resp []string, err error) {
9824	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getIscsiTargetIpAddresses", nil, &r.Options, &resp)
9825	return
9826}
9827
9828// Retrieve The ID of the LUN volume.
9829func (r Network_Storage_Backup_Evault) GetLunId() (resp string, err error) {
9830	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getLunId", nil, &r.Options, &resp)
9831	return
9832}
9833
9834// Retrieve The manually-created snapshots associated with this SoftLayer_Network_Storage volume. Does not support pagination by result limit and offset.
9835func (r Network_Storage_Backup_Evault) GetManualSnapshots() (resp []datatypes.Network_Storage, err error) {
9836	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getManualSnapshots", nil, &r.Options, &resp)
9837	return
9838}
9839
9840// no documentation yet
9841func (r Network_Storage_Backup_Evault) GetMaximumExpansionSize() (resp int, err error) {
9842	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getMaximumExpansionSize", nil, &r.Options, &resp)
9843	return
9844}
9845
9846// Retrieve A network storage volume's metric tracking object. This object records all periodic polled data available to this volume.
9847func (r Network_Storage_Backup_Evault) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
9848	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getMetricTrackingObject", nil, &r.Options, &resp)
9849	return
9850}
9851
9852// Retrieve Whether or not a network storage volume may be mounted.
9853func (r Network_Storage_Backup_Evault) GetMountableFlag() (resp string, err error) {
9854	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getMountableFlag", nil, &r.Options, &resp)
9855	return
9856}
9857
9858// Retrieve The current status of split or move operation as a part of volume duplication.
9859func (r Network_Storage_Backup_Evault) GetMoveAndSplitStatus() (resp string, err error) {
9860	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getMoveAndSplitStatus", nil, &r.Options, &resp)
9861	return
9862}
9863
9864// no documentation yet
9865func (r Network_Storage_Backup_Evault) GetNetworkConnectionDetails() (resp datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
9866	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getNetworkConnectionDetails", nil, &r.Options, &resp)
9867	return
9868}
9869
9870// no documentation yet
9871func (r Network_Storage_Backup_Evault) GetNetworkMountAddress() (resp string, err error) {
9872	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getNetworkMountAddress", nil, &r.Options, &resp)
9873	return
9874}
9875
9876// Retrieve The subscribers that will be notified for usage amount warnings and overages.
9877func (r Network_Storage_Backup_Evault) GetNotificationSubscribers() (resp []datatypes.Notification_User_Subscriber, err error) {
9878	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getNotificationSubscribers", nil, &r.Options, &resp)
9879	return
9880}
9881
9882// getObject retrieves the SoftLayer_Network_Storage_Backup_Evault object whose ID corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Storage_Backup_Evault service.
9883func (r Network_Storage_Backup_Evault) GetObject() (resp datatypes.Network_Storage_Backup_Evault, err error) {
9884	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getObject", nil, &r.Options, &resp)
9885	return
9886}
9887
9888// no documentation yet
9889func (r Network_Storage_Backup_Evault) GetObjectStorageConnectionInformation() (resp []datatypes.Container_Network_Service_Resource_ObjectStorage_ConnectionInformation, err error) {
9890	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getObjectStorageConnectionInformation", nil, &r.Options, &resp)
9891	return
9892}
9893
9894// Retrieve network storage accounts by SoftLayer_Network_Storage_Credential object. Use this method if you wish to retrieve a storage record by a credential rather than by id.
9895func (r Network_Storage_Backup_Evault) GetObjectsByCredential(credentialObject *datatypes.Network_Storage_Credential) (resp []datatypes.Network_Storage, err error) {
9896	params := []interface{}{
9897		credentialObject,
9898	}
9899	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getObjectsByCredential", params, &r.Options, &resp)
9900	return
9901}
9902
9903// Retrieve The name of the snapshot that this volume was duplicated from.
9904func (r Network_Storage_Backup_Evault) GetOriginalSnapshotName() (resp string, err error) {
9905	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getOriginalSnapshotName", nil, &r.Options, &resp)
9906	return
9907}
9908
9909// Retrieve The name of the volume that this volume was duplicated from.
9910func (r Network_Storage_Backup_Evault) GetOriginalVolumeName() (resp string, err error) {
9911	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getOriginalVolumeName", nil, &r.Options, &resp)
9912	return
9913}
9914
9915// Retrieve The size (in GB) of the volume or LUN before any size expansion, or of the volume (before any possible size expansion) from which the duplicate volume or LUN was created.
9916func (r Network_Storage_Backup_Evault) GetOriginalVolumeSize() (resp string, err error) {
9917	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getOriginalVolumeSize", nil, &r.Options, &resp)
9918	return
9919}
9920
9921// Retrieve A volume's configured SoftLayer_Network_Storage_Iscsi_OS_Type.
9922func (r Network_Storage_Backup_Evault) GetOsType() (resp datatypes.Network_Storage_Iscsi_OS_Type, err error) {
9923	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getOsType", nil, &r.Options, &resp)
9924	return
9925}
9926
9927// Retrieve A volume's configured SoftLayer_Network_Storage_Iscsi_OS_Type ID.
9928func (r Network_Storage_Backup_Evault) GetOsTypeId() (resp string, err error) {
9929	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getOsTypeId", nil, &r.Options, &resp)
9930	return
9931}
9932
9933// Retrieve The volumes or snapshots partnered with a network storage volume in a parental role.
9934func (r Network_Storage_Backup_Evault) GetParentPartnerships() (resp []datatypes.Network_Storage_Partnership, err error) {
9935	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getParentPartnerships", nil, &r.Options, &resp)
9936	return
9937}
9938
9939// Retrieve The parent volume of a volume in a complex storage relationship.
9940func (r Network_Storage_Backup_Evault) GetParentVolume() (resp datatypes.Network_Storage, err error) {
9941	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getParentVolume", nil, &r.Options, &resp)
9942	return
9943}
9944
9945// Retrieve The volumes or snapshots partnered with a network storage volume.
9946func (r Network_Storage_Backup_Evault) GetPartnerships() (resp []datatypes.Network_Storage_Partnership, err error) {
9947	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getPartnerships", nil, &r.Options, &resp)
9948	return
9949}
9950
9951// Retrieve All permissions group(s) this volume is in.
9952func (r Network_Storage_Backup_Evault) GetPermissionsGroups() (resp []datatypes.Network_Storage_Group, err error) {
9953	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getPermissionsGroups", nil, &r.Options, &resp)
9954	return
9955}
9956
9957// Retrieve The properties used to provide additional details about a network storage volume.
9958func (r Network_Storage_Backup_Evault) GetProperties() (resp []datatypes.Network_Storage_Property, err error) {
9959	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getProperties", nil, &r.Options, &resp)
9960	return
9961}
9962
9963// Retrieve The number of IOPs provisioned for this volume.
9964func (r Network_Storage_Backup_Evault) GetProvisionedIops() (resp string, err error) {
9965	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getProvisionedIops", nil, &r.Options, &resp)
9966	return
9967}
9968
9969// {{CloudLayerOnlyMethod}} Retrieve the details of a file that is pending deletion in a Storage account's a recycle bin.
9970func (r Network_Storage_Backup_Evault) GetRecycleBinFileByIdentifier(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
9971	params := []interface{}{
9972		fileId,
9973	}
9974	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getRecycleBinFileByIdentifier", params, &r.Options, &resp)
9975	return
9976}
9977
9978// Retrieves the remaining number of allowed hosts per volume.
9979func (r Network_Storage_Backup_Evault) GetRemainingAllowedHosts() (resp int, err error) {
9980	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getRemainingAllowedHosts", nil, &r.Options, &resp)
9981	return
9982}
9983
9984// Retrieves the remaining number of allowed hosts for a volume's replicant.
9985func (r Network_Storage_Backup_Evault) GetRemainingAllowedHostsForReplicant() (resp int, err error) {
9986	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getRemainingAllowedHostsForReplicant", nil, &r.Options, &resp)
9987	return
9988}
9989
9990// Retrieve The iSCSI LUN volumes being replicated by this network storage volume.
9991func (r Network_Storage_Backup_Evault) GetReplicatingLuns() (resp []datatypes.Network_Storage, err error) {
9992	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getReplicatingLuns", nil, &r.Options, &resp)
9993	return
9994}
9995
9996// Retrieve The network storage volume being replicated by a volume.
9997func (r Network_Storage_Backup_Evault) GetReplicatingVolume() (resp datatypes.Network_Storage, err error) {
9998	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getReplicatingVolume", nil, &r.Options, &resp)
9999	return
10000}
10001
10002// Retrieve The volume replication events.
10003func (r Network_Storage_Backup_Evault) GetReplicationEvents() (resp []datatypes.Network_Storage_Event, err error) {
10004	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getReplicationEvents", nil, &r.Options, &resp)
10005	return
10006}
10007
10008// Retrieve The network storage volumes configured to be replicants of a volume.
10009func (r Network_Storage_Backup_Evault) GetReplicationPartners() (resp []datatypes.Network_Storage, err error) {
10010	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getReplicationPartners", nil, &r.Options, &resp)
10011	return
10012}
10013
10014// Retrieve The Replication Schedule associated with a network storage volume.
10015func (r Network_Storage_Backup_Evault) GetReplicationSchedule() (resp datatypes.Network_Storage_Schedule, err error) {
10016	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getReplicationSchedule", nil, &r.Options, &resp)
10017	return
10018}
10019
10020// Retrieve The current replication status of a network storage volume. Indicates Failover or Failback status.
10021func (r Network_Storage_Backup_Evault) GetReplicationStatus() (resp string, err error) {
10022	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getReplicationStatus", nil, &r.Options, &resp)
10023	return
10024}
10025
10026// Retrieve The schedules which are associated with a network storage volume.
10027func (r Network_Storage_Backup_Evault) GetSchedules() (resp []datatypes.Network_Storage_Schedule, err error) {
10028	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getSchedules", nil, &r.Options, &resp)
10029	return
10030}
10031
10032// Retrieve The network resource a Storage service is connected to.
10033func (r Network_Storage_Backup_Evault) GetServiceResource() (resp datatypes.Network_Service_Resource, err error) {
10034	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getServiceResource", nil, &r.Options, &resp)
10035	return
10036}
10037
10038// Retrieve The IP address of a Storage resource.
10039func (r Network_Storage_Backup_Evault) GetServiceResourceBackendIpAddress() (resp string, err error) {
10040	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getServiceResourceBackendIpAddress", nil, &r.Options, &resp)
10041	return
10042}
10043
10044// Retrieve The name of a Storage's network resource.
10045func (r Network_Storage_Backup_Evault) GetServiceResourceName() (resp string, err error) {
10046	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getServiceResourceName", nil, &r.Options, &resp)
10047	return
10048}
10049
10050// Retrieve A volume's configured snapshot space size.
10051func (r Network_Storage_Backup_Evault) GetSnapshotCapacityGb() (resp string, err error) {
10052	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getSnapshotCapacityGb", nil, &r.Options, &resp)
10053	return
10054}
10055
10056// Retrieve The creation timestamp of the snapshot on the storage platform.
10057func (r Network_Storage_Backup_Evault) GetSnapshotCreationTimestamp() (resp string, err error) {
10058	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getSnapshotCreationTimestamp", nil, &r.Options, &resp)
10059	return
10060}
10061
10062// Retrieve The percentage of used snapshot space after which to delete automated snapshots.
10063func (r Network_Storage_Backup_Evault) GetSnapshotDeletionThresholdPercentage() (resp string, err error) {
10064	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getSnapshotDeletionThresholdPercentage", nil, &r.Options, &resp)
10065	return
10066}
10067
10068// Retrieve The snapshot size in bytes.
10069func (r Network_Storage_Backup_Evault) GetSnapshotSizeBytes() (resp string, err error) {
10070	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getSnapshotSizeBytes", nil, &r.Options, &resp)
10071	return
10072}
10073
10074// Retrieve A volume's available snapshot reservation space.
10075func (r Network_Storage_Backup_Evault) GetSnapshotSpaceAvailable() (resp string, err error) {
10076	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getSnapshotSpaceAvailable", nil, &r.Options, &resp)
10077	return
10078}
10079
10080// Retrieve The snapshots associated with this SoftLayer_Network_Storage volume.
10081func (r Network_Storage_Backup_Evault) GetSnapshots() (resp []datatypes.Network_Storage, err error) {
10082	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getSnapshots", nil, &r.Options, &resp)
10083	return
10084}
10085
10086// Retrieves a list of snapshots for this SoftLayer_Network_Storage volume. This method works with the result limits and offset to support pagination.
10087func (r Network_Storage_Backup_Evault) GetSnapshotsForVolume() (resp []datatypes.Network_Storage, err error) {
10088	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getSnapshotsForVolume", nil, &r.Options, &resp)
10089	return
10090}
10091
10092// Retrieve
10093func (r Network_Storage_Backup_Evault) GetStaasVersion() (resp string, err error) {
10094	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getStaasVersion", nil, &r.Options, &resp)
10095	return
10096}
10097
10098// Retrieve The network storage groups this volume is attached to.
10099func (r Network_Storage_Backup_Evault) GetStorageGroups() (resp []datatypes.Network_Storage_Group, err error) {
10100	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getStorageGroups", nil, &r.Options, &resp)
10101	return
10102}
10103
10104// no documentation yet
10105func (r Network_Storage_Backup_Evault) GetStorageGroupsNetworkConnectionDetails() (resp []datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
10106	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getStorageGroupsNetworkConnectionDetails", nil, &r.Options, &resp)
10107	return
10108}
10109
10110// Retrieve
10111func (r Network_Storage_Backup_Evault) GetStorageTierLevel() (resp string, err error) {
10112	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getStorageTierLevel", nil, &r.Options, &resp)
10113	return
10114}
10115
10116// Retrieve A description of the Storage object.
10117func (r Network_Storage_Backup_Evault) GetStorageType() (resp datatypes.Network_Storage_Type, err error) {
10118	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getStorageType", nil, &r.Options, &resp)
10119	return
10120}
10121
10122// no documentation yet
10123func (r Network_Storage_Backup_Evault) GetTargetIpAddresses() (resp []string, err error) {
10124	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getTargetIpAddresses", nil, &r.Options, &resp)
10125	return
10126}
10127
10128// Retrieve The amount of space used by the volume.
10129func (r Network_Storage_Backup_Evault) GetTotalBytesUsed() (resp string, err error) {
10130	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getTotalBytesUsed", nil, &r.Options, &resp)
10131	return
10132}
10133
10134// Retrieve The total snapshot retention count of all schedules on this network storage volume.
10135func (r Network_Storage_Backup_Evault) GetTotalScheduleSnapshotRetentionCount() (resp uint, err error) {
10136	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getTotalScheduleSnapshotRetentionCount", nil, &r.Options, &resp)
10137	return
10138}
10139
10140// Retrieve The usage notification for SL Storage services.
10141func (r Network_Storage_Backup_Evault) GetUsageNotification() (resp datatypes.Notification, err error) {
10142	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getUsageNotification", nil, &r.Options, &resp)
10143	return
10144}
10145
10146// no documentation yet
10147func (r Network_Storage_Backup_Evault) GetValidReplicationTargetDatacenterLocations() (resp []datatypes.Location, err error) {
10148	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getValidReplicationTargetDatacenterLocations", nil, &r.Options, &resp)
10149	return
10150}
10151
10152// Retrieve The type of network storage service.
10153func (r Network_Storage_Backup_Evault) GetVendorName() (resp string, err error) {
10154	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getVendorName", nil, &r.Options, &resp)
10155	return
10156}
10157
10158// Retrieve When applicable, the virtual guest associated with a Storage service.
10159func (r Network_Storage_Backup_Evault) GetVirtualGuest() (resp datatypes.Virtual_Guest, err error) {
10160	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getVirtualGuest", nil, &r.Options, &resp)
10161	return
10162}
10163
10164// This method returns the parameters for cloning a volume
10165func (r Network_Storage_Backup_Evault) GetVolumeDuplicateParameters() (resp datatypes.Container_Network_Storage_VolumeDuplicateParameters, err error) {
10166	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getVolumeDuplicateParameters", nil, &r.Options, &resp)
10167	return
10168}
10169
10170// Retrieve The username and password history for a Storage service.
10171func (r Network_Storage_Backup_Evault) GetVolumeHistory() (resp []datatypes.Network_Storage_History, err error) {
10172	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getVolumeHistory", nil, &r.Options, &resp)
10173	return
10174}
10175
10176// Retrieve The current status of a network storage volume.
10177func (r Network_Storage_Backup_Evault) GetVolumeStatus() (resp string, err error) {
10178	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getVolumeStatus", nil, &r.Options, &resp)
10179	return
10180}
10181
10182// no documentation yet
10183func (r Network_Storage_Backup_Evault) GetWebCCAuthenticationDetails() (resp datatypes.Container_Network_Storage_Backup_Evault_WebCc_Authentication_Details, err error) {
10184	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getWebCCAuthenticationDetails", nil, &r.Options, &resp)
10185	return
10186}
10187
10188// Retrieve The account username and password for the EVault webCC interface.
10189func (r Network_Storage_Backup_Evault) GetWebccAccount() (resp datatypes.Account_Password, err error) {
10190	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getWebccAccount", nil, &r.Options, &resp)
10191	return
10192}
10193
10194// Retrieve The Weekly Schedule which is associated with this network storage volume.
10195func (r Network_Storage_Backup_Evault) GetWeeklySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
10196	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "getWeeklySchedule", nil, &r.Options, &resp)
10197	return
10198}
10199
10200// Immediate Failover to a volume replicant.  During the time which the replicant is in use the local nas volume will not be available.
10201func (r Network_Storage_Backup_Evault) ImmediateFailoverToReplicant(replicantId *int) (resp bool, err error) {
10202	params := []interface{}{
10203		replicantId,
10204	}
10205	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "immediateFailoverToReplicant", params, &r.Options, &resp)
10206	return
10207}
10208
10209// Evault Bare Metal Restore is a special version of Rescue Kernel designed specifically for making full system restores made with Evault's BMR backup. This process works very similar to Rescue Kernel, except only the Evault restore program is available. The process takes approximately 10 minutes. Once completed you will be able to access your server to do a restore through VNC or your servers KVM-over-IP. IP information and credentials can be found on the hardware page of the customer portal. The Evault Application will be running automatically upon startup, and will walk you through the restore process.
10210func (r Network_Storage_Backup_Evault) InitiateBareMetalRestore() (resp bool, err error) {
10211	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "initiateBareMetalRestore", nil, &r.Options, &resp)
10212	return
10213}
10214
10215// This method operates the same as the initiateBareMetalRestore() method.  However, using this method, the Bare Metal Restore can be initiated on any Windows server under the account.
10216func (r Network_Storage_Backup_Evault) InitiateBareMetalRestoreForServer(hardwareId *int) (resp bool, err error) {
10217	params := []interface{}{
10218		hardwareId,
10219	}
10220	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "initiateBareMetalRestoreForServer", params, &r.Options, &resp)
10221	return
10222}
10223
10224// no documentation yet
10225func (r Network_Storage_Backup_Evault) IsBlockingOperationInProgress(exemptStatusKeyNames []string) (resp bool, err error) {
10226	params := []interface{}{
10227		exemptStatusKeyNames,
10228	}
10229	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "isBlockingOperationInProgress", params, &r.Options, &resp)
10230	return
10231}
10232
10233// This method returns a boolean indicating whether the clone volume is ready for snapshot.
10234func (r Network_Storage_Backup_Evault) IsDuplicateReadyForSnapshot() (resp bool, err error) {
10235	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "isDuplicateReadyForSnapshot", nil, &r.Options, &resp)
10236	return
10237}
10238
10239// This method returns a boolean indicating whether the clone volume is ready to mount.
10240func (r Network_Storage_Backup_Evault) IsDuplicateReadyToMount() (resp bool, err error) {
10241	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "isDuplicateReadyToMount", nil, &r.Options, &resp)
10242	return
10243}
10244
10245// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
10246func (r Network_Storage_Backup_Evault) RemoveAccessFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
10247	params := []interface{}{
10248		hardwareObjectTemplate,
10249	}
10250	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromHardware", params, &r.Options, &resp)
10251	return
10252}
10253
10254// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
10255func (r Network_Storage_Backup_Evault) RemoveAccessFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
10256	params := []interface{}{
10257		hardwareObjectTemplates,
10258	}
10259	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromHardwareList", params, &r.Options, &resp)
10260	return
10261}
10262
10263// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
10264func (r Network_Storage_Backup_Evault) RemoveAccessFromHost(typeClassName *string, hostId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
10265	params := []interface{}{
10266		typeClassName,
10267		hostId,
10268	}
10269	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromHost", params, &r.Options, &resp)
10270	return
10271}
10272
10273// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
10274func (r Network_Storage_Backup_Evault) RemoveAccessFromHostList(hostObjectTemplates []datatypes.Container_Network_Storage_Host) (resp []datatypes.Network_Storage_Allowed_Host, err error) {
10275	params := []interface{}{
10276		hostObjectTemplates,
10277	}
10278	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromHostList", params, &r.Options, &resp)
10279	return
10280}
10281
10282// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage will be listed in the allowedIpAddresses property of this storage volume.
10283func (r Network_Storage_Backup_Evault) RemoveAccessFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
10284	params := []interface{}{
10285		ipAddressObjectTemplate,
10286	}
10287	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromIpAddress", params, &r.Options, &resp)
10288	return
10289}
10290
10291// no documentation yet
10292func (r Network_Storage_Backup_Evault) RemoveAccessFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
10293	params := []interface{}{
10294		ipAddressObjectTemplates,
10295	}
10296	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromIpAddressList", params, &r.Options, &resp)
10297	return
10298}
10299
10300// no documentation yet
10301func (r Network_Storage_Backup_Evault) RemoveAccessFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
10302	params := []interface{}{
10303		subnetObjectTemplate,
10304	}
10305	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromSubnet", params, &r.Options, &resp)
10306	return
10307}
10308
10309// no documentation yet
10310func (r Network_Storage_Backup_Evault) RemoveAccessFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
10311	params := []interface{}{
10312		subnetObjectTemplates,
10313	}
10314	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromSubnetList", params, &r.Options, &resp)
10315	return
10316}
10317
10318// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
10319func (r Network_Storage_Backup_Evault) RemoveAccessFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
10320	params := []interface{}{
10321		virtualGuestObjectTemplate,
10322	}
10323	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromVirtualGuest", params, &r.Options, &resp)
10324	return
10325}
10326
10327// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
10328func (r Network_Storage_Backup_Evault) RemoveAccessFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
10329	params := []interface{}{
10330		virtualGuestObjectTemplates,
10331	}
10332	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessFromVirtualGuestList", params, &r.Options, &resp)
10333	return
10334}
10335
10336// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Hardware objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationHardware property of this storage volume.
10337func (r Network_Storage_Backup_Evault) RemoveAccessToReplicantFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
10338	params := []interface{}{
10339		hardwareObjectTemplates,
10340	}
10341	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessToReplicantFromHardwareList", params, &r.Options, &resp)
10342	return
10343}
10344
10345// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationIpAddresses property of this storage volume.
10346func (r Network_Storage_Backup_Evault) RemoveAccessToReplicantFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
10347	params := []interface{}{
10348		ipAddressObjectTemplates,
10349	}
10350	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessToReplicantFromIpAddressList", params, &r.Options, &resp)
10351	return
10352}
10353
10354// no documentation yet
10355func (r Network_Storage_Backup_Evault) RemoveAccessToReplicantFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
10356	params := []interface{}{
10357		subnetObjectTemplate,
10358	}
10359	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessToReplicantFromSubnet", params, &r.Options, &resp)
10360	return
10361}
10362
10363// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationSubnets property of this storage volume.
10364func (r Network_Storage_Backup_Evault) RemoveAccessToReplicantFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
10365	params := []interface{}{
10366		subnetObjectTemplates,
10367	}
10368	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessToReplicantFromSubnetList", params, &r.Options, &resp)
10369	return
10370}
10371
10372// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationVirtualGuests property of this storage volume.
10373func (r Network_Storage_Backup_Evault) RemoveAccessToReplicantFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
10374	params := []interface{}{
10375		virtualGuestObjectTemplates,
10376	}
10377	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeAccessToReplicantFromVirtualGuestList", params, &r.Options, &resp)
10378	return
10379}
10380
10381// This method will remove a credential from the current volume. The credential must have been created using the 'addNewCredential' method.
10382func (r Network_Storage_Backup_Evault) RemoveCredential(username *string) (resp bool, err error) {
10383	params := []interface{}{
10384		username,
10385	}
10386	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "removeCredential", params, &r.Options, &resp)
10387	return
10388}
10389
10390// {{CloudLayerOnlyMethod}} Restore an individual file so that it may be used as it was before it was deleted.
10391//
10392// If a file is deleted from a Virtual Server Storage account, the file is placed into the account's recycle bin and not permanently deleted. Therefore, restoreFile can be used to place the file back into your Virtual Server account's root directory.
10393func (r Network_Storage_Backup_Evault) RestoreFile(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
10394	params := []interface{}{
10395		fileId,
10396	}
10397	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "restoreFile", params, &r.Options, &resp)
10398	return
10399}
10400
10401// Restore the volume from a snapshot that was previously taken.
10402func (r Network_Storage_Backup_Evault) RestoreFromSnapshot(snapshotId *int) (resp bool, err error) {
10403	params := []interface{}{
10404		snapshotId,
10405	}
10406	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "restoreFromSnapshot", params, &r.Options, &resp)
10407	return
10408}
10409
10410// The method will retrieve the password for the StorageLayer or Virtual Server Storage Account and email the password.  The Storage Account passwords will be emailed to the master user.  For Virtual Server Storage, the password will be sent to the email address used as the username.
10411func (r Network_Storage_Backup_Evault) SendPasswordReminderEmail(username *string) (resp bool, err error) {
10412	params := []interface{}{
10413		username,
10414	}
10415	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "sendPasswordReminderEmail", params, &r.Options, &resp)
10416	return
10417}
10418
10419// Enable or disable the mounting of a Storage volume. When mounting is enabled the Storage volume will be mountable or available for use.
10420//
10421// For Virtual Server volumes, disabling mounting will deny access to the Virtual Server Account, remove published material and deny all file interaction including uploads and downloads.
10422//
10423// Enabling or disabling mounting for Storage volumes is not possible if mounting has been disabled by SoftLayer or a parent account.
10424func (r Network_Storage_Backup_Evault) SetMountable(mountable *bool) (resp bool, err error) {
10425	params := []interface{}{
10426		mountable,
10427	}
10428	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "setMountable", params, &r.Options, &resp)
10429	return
10430}
10431
10432// no documentation yet
10433func (r Network_Storage_Backup_Evault) SetSnapshotAllocation(capacityGb *int) (err error) {
10434	var resp datatypes.Void
10435	params := []interface{}{
10436		capacityGb,
10437	}
10438	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "setSnapshotAllocation", params, &r.Options, &resp)
10439	return
10440}
10441
10442// Upgrade the Storage volume to one of the upgradable packages (for example from 10 Gigs of EVault storage to 100 Gigs of EVault storage).
10443func (r Network_Storage_Backup_Evault) UpgradeVolumeCapacity(itemId *int) (resp bool, err error) {
10444	params := []interface{}{
10445		itemId,
10446	}
10447	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "upgradeVolumeCapacity", params, &r.Options, &resp)
10448	return
10449}
10450
10451// {{CloudLayerOnlyMethod}} Upload a file to a Storage account's root directory. Once uploaded, this method returns new file entity identifier for the upload file.
10452//
10453// The following properties are required in the ''file'' parameter.
10454// *'''name''': The name of the file you wish to upload
10455// *'''content''': The raw contents of the file you wish to upload.
10456// *'''contentType''': The MIME-type of content that you wish to upload.
10457func (r Network_Storage_Backup_Evault) UploadFile(file *datatypes.Container_Utility_File_Entity) (resp datatypes.Container_Utility_File_Entity, err error) {
10458	params := []interface{}{
10459		file,
10460	}
10461	err = r.Session.DoRequest("SoftLayer_Network_Storage_Backup_Evault", "uploadFile", params, &r.Options, &resp)
10462	return
10463}
10464
10465// no documentation yet
10466type Network_Storage_Group struct {
10467	Session *session.Session
10468	Options sl.Options
10469}
10470
10471// GetNetworkStorageGroupService returns an instance of the Network_Storage_Group SoftLayer service
10472func GetNetworkStorageGroupService(sess *session.Session) Network_Storage_Group {
10473	return Network_Storage_Group{Session: sess}
10474}
10475
10476func (r Network_Storage_Group) Id(id int) Network_Storage_Group {
10477	r.Options.Id = &id
10478	return r
10479}
10480
10481func (r Network_Storage_Group) Mask(mask string) Network_Storage_Group {
10482	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
10483		mask = fmt.Sprintf("mask[%s]", mask)
10484	}
10485
10486	r.Options.Mask = mask
10487	return r
10488}
10489
10490func (r Network_Storage_Group) Filter(filter string) Network_Storage_Group {
10491	r.Options.Filter = filter
10492	return r
10493}
10494
10495func (r Network_Storage_Group) Limit(limit int) Network_Storage_Group {
10496	r.Options.Limit = &limit
10497	return r
10498}
10499
10500func (r Network_Storage_Group) Offset(offset int) Network_Storage_Group {
10501	r.Options.Offset = &offset
10502	return r
10503}
10504
10505// Use this method to attach a SoftLayer_Network_Storage_Allowed_Host object to this group.  This will automatically enable access from this host to any SoftLayer_Network_Storage volumes currently attached to this group.
10506func (r Network_Storage_Group) AddAllowedHost(allowedHost *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
10507	params := []interface{}{
10508		allowedHost,
10509	}
10510	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "addAllowedHost", params, &r.Options, &resp)
10511	return
10512}
10513
10514// Use this method to attach a SoftLayer_Network_Storage volume to this group.  This will automatically enable access to this volume for any SoftLayer_Network_Storage_Allowed_Host objects currently attached to this group.
10515func (r Network_Storage_Group) AttachToVolume(volume *datatypes.Network_Storage) (resp bool, err error) {
10516	params := []interface{}{
10517		volume,
10518	}
10519	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "attachToVolume", params, &r.Options, &resp)
10520	return
10521}
10522
10523// no documentation yet
10524func (r Network_Storage_Group) CreateObject(templateObject *datatypes.Network_Storage_Group) (resp bool, err error) {
10525	params := []interface{}{
10526		templateObject,
10527	}
10528	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "createObject", params, &r.Options, &resp)
10529	return
10530}
10531
10532// no documentation yet
10533func (r Network_Storage_Group) DeleteObject() (resp bool, err error) {
10534	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "deleteObject", nil, &r.Options, &resp)
10535	return
10536}
10537
10538// no documentation yet
10539func (r Network_Storage_Group) EditObject(templateObject *datatypes.Network_Storage_Group) (resp bool, err error) {
10540	params := []interface{}{
10541		templateObject,
10542	}
10543	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "editObject", params, &r.Options, &resp)
10544	return
10545}
10546
10547// Retrieve The SoftLayer_Account which owns this group.
10548func (r Network_Storage_Group) GetAccount() (resp datatypes.Account, err error) {
10549	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getAccount", nil, &r.Options, &resp)
10550	return
10551}
10552
10553// Use this method to retrieve all network storage groups.
10554func (r Network_Storage_Group) GetAllObjects() (resp []datatypes.Network_Storage_Group, err error) {
10555	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getAllObjects", nil, &r.Options, &resp)
10556	return
10557}
10558
10559// Retrieve The allowed hosts list for this group.
10560func (r Network_Storage_Group) GetAllowedHosts() (resp []datatypes.Network_Storage_Allowed_Host, err error) {
10561	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getAllowedHosts", nil, &r.Options, &resp)
10562	return
10563}
10564
10565// Retrieve The network storage volumes this group is attached to.
10566func (r Network_Storage_Group) GetAttachedVolumes() (resp []datatypes.Network_Storage, err error) {
10567	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getAttachedVolumes", nil, &r.Options, &resp)
10568	return
10569}
10570
10571// Retrieve The type which defines this group.
10572func (r Network_Storage_Group) GetGroupType() (resp datatypes.Network_Storage_Group_Type, err error) {
10573	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getGroupType", nil, &r.Options, &resp)
10574	return
10575}
10576
10577// Use this method to retrieve network connection information for SoftLayer_Network_Storage_Allowed_Host objects within this group.
10578func (r Network_Storage_Group) GetNetworkConnectionDetails() (resp datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
10579	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getNetworkConnectionDetails", nil, &r.Options, &resp)
10580	return
10581}
10582
10583// no documentation yet
10584func (r Network_Storage_Group) GetObject() (resp datatypes.Network_Storage_Group, err error) {
10585	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getObject", nil, &r.Options, &resp)
10586	return
10587}
10588
10589// Retrieve The OS Type this group is configured for.
10590func (r Network_Storage_Group) GetOsType() (resp datatypes.Network_Storage_Iscsi_OS_Type, err error) {
10591	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getOsType", nil, &r.Options, &resp)
10592	return
10593}
10594
10595// Retrieve The network resource this group is created on.
10596func (r Network_Storage_Group) GetServiceResource() (resp datatypes.Network_Service_Resource, err error) {
10597	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "getServiceResource", nil, &r.Options, &resp)
10598	return
10599}
10600
10601// Use this method to remove a SoftLayer_Network_Storage_Allowed_Host object from this group.  This will automatically disable access from this host to any SoftLayer_Network_Storage volumes currently attached to this group.
10602func (r Network_Storage_Group) RemoveAllowedHost(allowedHost *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
10603	params := []interface{}{
10604		allowedHost,
10605	}
10606	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "removeAllowedHost", params, &r.Options, &resp)
10607	return
10608}
10609
10610// Use this method to remove a SoftLayer_Network_Storage volume from this group.  This will automatically disable access to this volume for any SoftLayer_Network_Storage_Allowed_Host objects currently attached to this group.
10611func (r Network_Storage_Group) RemoveFromVolume(volume *datatypes.Network_Storage) (resp bool, err error) {
10612	params := []interface{}{
10613		volume,
10614	}
10615	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group", "removeFromVolume", params, &r.Options, &resp)
10616	return
10617}
10618
10619// no documentation yet
10620type Network_Storage_Group_Iscsi struct {
10621	Session *session.Session
10622	Options sl.Options
10623}
10624
10625// GetNetworkStorageGroupIscsiService returns an instance of the Network_Storage_Group_Iscsi SoftLayer service
10626func GetNetworkStorageGroupIscsiService(sess *session.Session) Network_Storage_Group_Iscsi {
10627	return Network_Storage_Group_Iscsi{Session: sess}
10628}
10629
10630func (r Network_Storage_Group_Iscsi) Id(id int) Network_Storage_Group_Iscsi {
10631	r.Options.Id = &id
10632	return r
10633}
10634
10635func (r Network_Storage_Group_Iscsi) Mask(mask string) Network_Storage_Group_Iscsi {
10636	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
10637		mask = fmt.Sprintf("mask[%s]", mask)
10638	}
10639
10640	r.Options.Mask = mask
10641	return r
10642}
10643
10644func (r Network_Storage_Group_Iscsi) Filter(filter string) Network_Storage_Group_Iscsi {
10645	r.Options.Filter = filter
10646	return r
10647}
10648
10649func (r Network_Storage_Group_Iscsi) Limit(limit int) Network_Storage_Group_Iscsi {
10650	r.Options.Limit = &limit
10651	return r
10652}
10653
10654func (r Network_Storage_Group_Iscsi) Offset(offset int) Network_Storage_Group_Iscsi {
10655	r.Options.Offset = &offset
10656	return r
10657}
10658
10659// Use this method to attach a SoftLayer_Network_Storage_Allowed_Host object to this group.  This will automatically enable access from this host to any SoftLayer_Network_Storage volumes currently attached to this group.
10660func (r Network_Storage_Group_Iscsi) AddAllowedHost(allowedHost *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
10661	params := []interface{}{
10662		allowedHost,
10663	}
10664	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "addAllowedHost", params, &r.Options, &resp)
10665	return
10666}
10667
10668// Use this method to attach a SoftLayer_Network_Storage volume to this group.  This will automatically enable access to this volume for any SoftLayer_Network_Storage_Allowed_Host objects currently attached to this group.
10669func (r Network_Storage_Group_Iscsi) AttachToVolume(volume *datatypes.Network_Storage) (resp bool, err error) {
10670	params := []interface{}{
10671		volume,
10672	}
10673	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "attachToVolume", params, &r.Options, &resp)
10674	return
10675}
10676
10677// no documentation yet
10678func (r Network_Storage_Group_Iscsi) CreateObject(templateObject *datatypes.Network_Storage_Group) (resp bool, err error) {
10679	params := []interface{}{
10680		templateObject,
10681	}
10682	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "createObject", params, &r.Options, &resp)
10683	return
10684}
10685
10686// no documentation yet
10687func (r Network_Storage_Group_Iscsi) DeleteObject() (resp bool, err error) {
10688	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "deleteObject", nil, &r.Options, &resp)
10689	return
10690}
10691
10692// no documentation yet
10693func (r Network_Storage_Group_Iscsi) EditObject(templateObject *datatypes.Network_Storage_Group) (resp bool, err error) {
10694	params := []interface{}{
10695		templateObject,
10696	}
10697	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "editObject", params, &r.Options, &resp)
10698	return
10699}
10700
10701// Retrieve The SoftLayer_Account which owns this group.
10702func (r Network_Storage_Group_Iscsi) GetAccount() (resp datatypes.Account, err error) {
10703	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getAccount", nil, &r.Options, &resp)
10704	return
10705}
10706
10707// Use this method to retrieve all network storage groups.
10708func (r Network_Storage_Group_Iscsi) GetAllObjects() (resp []datatypes.Network_Storage_Group, err error) {
10709	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getAllObjects", nil, &r.Options, &resp)
10710	return
10711}
10712
10713// Retrieve The allowed hosts list for this group.
10714func (r Network_Storage_Group_Iscsi) GetAllowedHosts() (resp []datatypes.Network_Storage_Allowed_Host, err error) {
10715	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getAllowedHosts", nil, &r.Options, &resp)
10716	return
10717}
10718
10719// Retrieve The network storage volumes this group is attached to.
10720func (r Network_Storage_Group_Iscsi) GetAttachedVolumes() (resp []datatypes.Network_Storage, err error) {
10721	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getAttachedVolumes", nil, &r.Options, &resp)
10722	return
10723}
10724
10725// Retrieve The type which defines this group.
10726func (r Network_Storage_Group_Iscsi) GetGroupType() (resp datatypes.Network_Storage_Group_Type, err error) {
10727	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getGroupType", nil, &r.Options, &resp)
10728	return
10729}
10730
10731// Use this method to retrieve network connection information for SoftLayer_Network_Storage_Allowed_Host objects within this group.
10732func (r Network_Storage_Group_Iscsi) GetNetworkConnectionDetails() (resp datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
10733	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getNetworkConnectionDetails", nil, &r.Options, &resp)
10734	return
10735}
10736
10737// no documentation yet
10738func (r Network_Storage_Group_Iscsi) GetObject() (resp datatypes.Network_Storage_Group_Iscsi, err error) {
10739	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getObject", nil, &r.Options, &resp)
10740	return
10741}
10742
10743// Retrieve The OS Type this group is configured for.
10744func (r Network_Storage_Group_Iscsi) GetOsType() (resp datatypes.Network_Storage_Iscsi_OS_Type, err error) {
10745	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getOsType", nil, &r.Options, &resp)
10746	return
10747}
10748
10749// Retrieve The network resource this group is created on.
10750func (r Network_Storage_Group_Iscsi) GetServiceResource() (resp datatypes.Network_Service_Resource, err error) {
10751	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "getServiceResource", nil, &r.Options, &resp)
10752	return
10753}
10754
10755// Use this method to remove a SoftLayer_Network_Storage_Allowed_Host object from this group.  This will automatically disable access from this host to any SoftLayer_Network_Storage volumes currently attached to this group.
10756func (r Network_Storage_Group_Iscsi) RemoveAllowedHost(allowedHost *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
10757	params := []interface{}{
10758		allowedHost,
10759	}
10760	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "removeAllowedHost", params, &r.Options, &resp)
10761	return
10762}
10763
10764// Use this method to remove a SoftLayer_Network_Storage volume from this group.  This will automatically disable access to this volume for any SoftLayer_Network_Storage_Allowed_Host objects currently attached to this group.
10765func (r Network_Storage_Group_Iscsi) RemoveFromVolume(volume *datatypes.Network_Storage) (resp bool, err error) {
10766	params := []interface{}{
10767		volume,
10768	}
10769	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Iscsi", "removeFromVolume", params, &r.Options, &resp)
10770	return
10771}
10772
10773// no documentation yet
10774type Network_Storage_Group_Nfs struct {
10775	Session *session.Session
10776	Options sl.Options
10777}
10778
10779// GetNetworkStorageGroupNfsService returns an instance of the Network_Storage_Group_Nfs SoftLayer service
10780func GetNetworkStorageGroupNfsService(sess *session.Session) Network_Storage_Group_Nfs {
10781	return Network_Storage_Group_Nfs{Session: sess}
10782}
10783
10784func (r Network_Storage_Group_Nfs) Id(id int) Network_Storage_Group_Nfs {
10785	r.Options.Id = &id
10786	return r
10787}
10788
10789func (r Network_Storage_Group_Nfs) Mask(mask string) Network_Storage_Group_Nfs {
10790	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
10791		mask = fmt.Sprintf("mask[%s]", mask)
10792	}
10793
10794	r.Options.Mask = mask
10795	return r
10796}
10797
10798func (r Network_Storage_Group_Nfs) Filter(filter string) Network_Storage_Group_Nfs {
10799	r.Options.Filter = filter
10800	return r
10801}
10802
10803func (r Network_Storage_Group_Nfs) Limit(limit int) Network_Storage_Group_Nfs {
10804	r.Options.Limit = &limit
10805	return r
10806}
10807
10808func (r Network_Storage_Group_Nfs) Offset(offset int) Network_Storage_Group_Nfs {
10809	r.Options.Offset = &offset
10810	return r
10811}
10812
10813// Use this method to attach a SoftLayer_Network_Storage_Allowed_Host object to this group.  This will automatically enable access from this host to any SoftLayer_Network_Storage volumes currently attached to this group.
10814func (r Network_Storage_Group_Nfs) AddAllowedHost(allowedHost *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
10815	params := []interface{}{
10816		allowedHost,
10817	}
10818	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "addAllowedHost", params, &r.Options, &resp)
10819	return
10820}
10821
10822// Use this method to attach a SoftLayer_Network_Storage volume to this group.  This will automatically enable access to this volume for any SoftLayer_Network_Storage_Allowed_Host objects currently attached to this group.
10823func (r Network_Storage_Group_Nfs) AttachToVolume(volume *datatypes.Network_Storage) (resp bool, err error) {
10824	params := []interface{}{
10825		volume,
10826	}
10827	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "attachToVolume", params, &r.Options, &resp)
10828	return
10829}
10830
10831// no documentation yet
10832func (r Network_Storage_Group_Nfs) CreateObject(templateObject *datatypes.Network_Storage_Group) (resp bool, err error) {
10833	params := []interface{}{
10834		templateObject,
10835	}
10836	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "createObject", params, &r.Options, &resp)
10837	return
10838}
10839
10840// no documentation yet
10841func (r Network_Storage_Group_Nfs) DeleteObject() (resp bool, err error) {
10842	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "deleteObject", nil, &r.Options, &resp)
10843	return
10844}
10845
10846// no documentation yet
10847func (r Network_Storage_Group_Nfs) EditObject(templateObject *datatypes.Network_Storage_Group) (resp bool, err error) {
10848	params := []interface{}{
10849		templateObject,
10850	}
10851	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "editObject", params, &r.Options, &resp)
10852	return
10853}
10854
10855// Retrieve The SoftLayer_Account which owns this group.
10856func (r Network_Storage_Group_Nfs) GetAccount() (resp datatypes.Account, err error) {
10857	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getAccount", nil, &r.Options, &resp)
10858	return
10859}
10860
10861// Use this method to retrieve all network storage groups.
10862func (r Network_Storage_Group_Nfs) GetAllObjects() (resp []datatypes.Network_Storage_Group, err error) {
10863	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getAllObjects", nil, &r.Options, &resp)
10864	return
10865}
10866
10867// Retrieve The allowed hosts list for this group.
10868func (r Network_Storage_Group_Nfs) GetAllowedHosts() (resp []datatypes.Network_Storage_Allowed_Host, err error) {
10869	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getAllowedHosts", nil, &r.Options, &resp)
10870	return
10871}
10872
10873// Retrieve The network storage volumes this group is attached to.
10874func (r Network_Storage_Group_Nfs) GetAttachedVolumes() (resp []datatypes.Network_Storage, err error) {
10875	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getAttachedVolumes", nil, &r.Options, &resp)
10876	return
10877}
10878
10879// Retrieve The type which defines this group.
10880func (r Network_Storage_Group_Nfs) GetGroupType() (resp datatypes.Network_Storage_Group_Type, err error) {
10881	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getGroupType", nil, &r.Options, &resp)
10882	return
10883}
10884
10885// Use this method to retrieve network connection information for SoftLayer_Network_Storage_Allowed_Host objects within this group.
10886func (r Network_Storage_Group_Nfs) GetNetworkConnectionDetails() (resp datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
10887	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getNetworkConnectionDetails", nil, &r.Options, &resp)
10888	return
10889}
10890
10891// no documentation yet
10892func (r Network_Storage_Group_Nfs) GetObject() (resp datatypes.Network_Storage_Group_Nfs, err error) {
10893	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getObject", nil, &r.Options, &resp)
10894	return
10895}
10896
10897// Retrieve The OS Type this group is configured for.
10898func (r Network_Storage_Group_Nfs) GetOsType() (resp datatypes.Network_Storage_Iscsi_OS_Type, err error) {
10899	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getOsType", nil, &r.Options, &resp)
10900	return
10901}
10902
10903// Retrieve The network resource this group is created on.
10904func (r Network_Storage_Group_Nfs) GetServiceResource() (resp datatypes.Network_Service_Resource, err error) {
10905	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "getServiceResource", nil, &r.Options, &resp)
10906	return
10907}
10908
10909// Use this method to remove a SoftLayer_Network_Storage_Allowed_Host object from this group.  This will automatically disable access from this host to any SoftLayer_Network_Storage volumes currently attached to this group.
10910func (r Network_Storage_Group_Nfs) RemoveAllowedHost(allowedHost *datatypes.Network_Storage_Allowed_Host) (resp bool, err error) {
10911	params := []interface{}{
10912		allowedHost,
10913	}
10914	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "removeAllowedHost", params, &r.Options, &resp)
10915	return
10916}
10917
10918// Use this method to remove a SoftLayer_Network_Storage volume from this group.  This will automatically disable access to this volume for any SoftLayer_Network_Storage_Allowed_Host objects currently attached to this group.
10919func (r Network_Storage_Group_Nfs) RemoveFromVolume(volume *datatypes.Network_Storage) (resp bool, err error) {
10920	params := []interface{}{
10921		volume,
10922	}
10923	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Nfs", "removeFromVolume", params, &r.Options, &resp)
10924	return
10925}
10926
10927// no documentation yet
10928type Network_Storage_Group_Type struct {
10929	Session *session.Session
10930	Options sl.Options
10931}
10932
10933// GetNetworkStorageGroupTypeService returns an instance of the Network_Storage_Group_Type SoftLayer service
10934func GetNetworkStorageGroupTypeService(sess *session.Session) Network_Storage_Group_Type {
10935	return Network_Storage_Group_Type{Session: sess}
10936}
10937
10938func (r Network_Storage_Group_Type) Id(id int) Network_Storage_Group_Type {
10939	r.Options.Id = &id
10940	return r
10941}
10942
10943func (r Network_Storage_Group_Type) Mask(mask string) Network_Storage_Group_Type {
10944	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
10945		mask = fmt.Sprintf("mask[%s]", mask)
10946	}
10947
10948	r.Options.Mask = mask
10949	return r
10950}
10951
10952func (r Network_Storage_Group_Type) Filter(filter string) Network_Storage_Group_Type {
10953	r.Options.Filter = filter
10954	return r
10955}
10956
10957func (r Network_Storage_Group_Type) Limit(limit int) Network_Storage_Group_Type {
10958	r.Options.Limit = &limit
10959	return r
10960}
10961
10962func (r Network_Storage_Group_Type) Offset(offset int) Network_Storage_Group_Type {
10963	r.Options.Offset = &offset
10964	return r
10965}
10966
10967// Use this method to retrieve all storage group types available.
10968func (r Network_Storage_Group_Type) GetAllObjects() (resp []datatypes.Network_Storage_Group_Type, err error) {
10969	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Type", "getAllObjects", nil, &r.Options, &resp)
10970	return
10971}
10972
10973// no documentation yet
10974func (r Network_Storage_Group_Type) GetObject() (resp datatypes.Network_Storage_Group_Type, err error) {
10975	err = r.Session.DoRequest("SoftLayer_Network_Storage_Group_Type", "getObject", nil, &r.Options, &resp)
10976	return
10977}
10978
10979// no documentation yet
10980type Network_Storage_Hub_Cleversafe_Account struct {
10981	Session *session.Session
10982	Options sl.Options
10983}
10984
10985// GetNetworkStorageHubCleversafeAccountService returns an instance of the Network_Storage_Hub_Cleversafe_Account SoftLayer service
10986func GetNetworkStorageHubCleversafeAccountService(sess *session.Session) Network_Storage_Hub_Cleversafe_Account {
10987	return Network_Storage_Hub_Cleversafe_Account{Session: sess}
10988}
10989
10990func (r Network_Storage_Hub_Cleversafe_Account) Id(id int) Network_Storage_Hub_Cleversafe_Account {
10991	r.Options.Id = &id
10992	return r
10993}
10994
10995func (r Network_Storage_Hub_Cleversafe_Account) Mask(mask string) Network_Storage_Hub_Cleversafe_Account {
10996	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
10997		mask = fmt.Sprintf("mask[%s]", mask)
10998	}
10999
11000	r.Options.Mask = mask
11001	return r
11002}
11003
11004func (r Network_Storage_Hub_Cleversafe_Account) Filter(filter string) Network_Storage_Hub_Cleversafe_Account {
11005	r.Options.Filter = filter
11006	return r
11007}
11008
11009func (r Network_Storage_Hub_Cleversafe_Account) Limit(limit int) Network_Storage_Hub_Cleversafe_Account {
11010	r.Options.Limit = &limit
11011	return r
11012}
11013
11014func (r Network_Storage_Hub_Cleversafe_Account) Offset(offset int) Network_Storage_Hub_Cleversafe_Account {
11015	r.Options.Offset = &offset
11016	return r
11017}
11018
11019// Create credentials for an IBM Cloud Object Storage Account
11020func (r Network_Storage_Hub_Cleversafe_Account) CredentialCreate() (resp []datatypes.Network_Storage_Credential, err error) {
11021	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "credentialCreate", nil, &r.Options, &resp)
11022	return
11023}
11024
11025// Delete a credential
11026func (r Network_Storage_Hub_Cleversafe_Account) CredentialDelete(credential *datatypes.Network_Storage_Credential) (resp bool, err error) {
11027	params := []interface{}{
11028		credential,
11029	}
11030	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "credentialDelete", params, &r.Options, &resp)
11031	return
11032}
11033
11034// Retrieve SoftLayer account to which an IBM Cloud Object Storage account belongs to.
11035func (r Network_Storage_Hub_Cleversafe_Account) GetAccount() (resp datatypes.Account, err error) {
11036	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getAccount", nil, &r.Options, &resp)
11037	return
11038}
11039
11040// no documentation yet
11041func (r Network_Storage_Hub_Cleversafe_Account) GetAllObjects() (resp []datatypes.Network_Storage_Hub_Cleversafe_Account, err error) {
11042	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getAllObjects", nil, &r.Options, &resp)
11043	return
11044}
11045
11046// Retrieve An associated parent billing item which is active. Includes billing items which are scheduled to be cancelled in the future.
11047func (r Network_Storage_Hub_Cleversafe_Account) GetBillingItem() (resp datatypes.Billing_Item, err error) {
11048	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getBillingItem", nil, &r.Options, &resp)
11049	return
11050}
11051
11052// Get buckets
11053func (r Network_Storage_Hub_Cleversafe_Account) GetBuckets() (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_Bucket, err error) {
11054	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getBuckets", nil, &r.Options, &resp)
11055	return
11056}
11057
11058// Retrieve An associated parent billing item which has been cancelled.
11059func (r Network_Storage_Hub_Cleversafe_Account) GetCancelledBillingItem() (resp datatypes.Billing_Item, err error) {
11060	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getCancelledBillingItem", nil, &r.Options, &resp)
11061	return
11062}
11063
11064// Returns the capacity usage for an IBM Cloud Object Storage account.
11065func (r Network_Storage_Hub_Cleversafe_Account) GetCapacityUsage() (resp int, err error) {
11066	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getCapacityUsage", nil, &r.Options, &resp)
11067	return
11068}
11069
11070// Returns credential limits for this IBM Cloud Object Storage account.
11071func (r Network_Storage_Hub_Cleversafe_Account) GetCredentialLimit() (resp int, err error) {
11072	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getCredentialLimit", nil, &r.Options, &resp)
11073	return
11074}
11075
11076// Retrieve Credentials used for generating an AWS signature. Max of 2.
11077func (r Network_Storage_Hub_Cleversafe_Account) GetCredentials() (resp []datatypes.Network_Storage_Credential, err error) {
11078	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getCredentials", nil, &r.Options, &resp)
11079	return
11080}
11081
11082// Returns a collection of endpoint URLs available to this IBM Cloud Object Storage account.
11083func (r Network_Storage_Hub_Cleversafe_Account) GetEndpoints(accountId *int) (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_Endpoint, err error) {
11084	params := []interface{}{
11085		accountId,
11086	}
11087	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getEndpoints", params, &r.Options, &resp)
11088	return
11089}
11090
11091// Retrieve Provides an interface to various metrics relating to the usage of an IBM Cloud Object Storage account.
11092func (r Network_Storage_Hub_Cleversafe_Account) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
11093	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getMetricTrackingObject", nil, &r.Options, &resp)
11094	return
11095}
11096
11097// no documentation yet
11098func (r Network_Storage_Hub_Cleversafe_Account) GetObject() (resp datatypes.Network_Storage_Hub_Cleversafe_Account, err error) {
11099	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getObject", nil, &r.Options, &resp)
11100	return
11101}
11102
11103// Retrieve Unique identifier for an IBM Cloud Object Storage account.
11104func (r Network_Storage_Hub_Cleversafe_Account) GetUuid() (resp string, err error) {
11105	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Cleversafe_Account", "getUuid", nil, &r.Options, &resp)
11106	return
11107}
11108
11109// no documentation yet
11110type Network_Storage_Hub_Swift_Share struct {
11111	Session *session.Session
11112	Options sl.Options
11113}
11114
11115// GetNetworkStorageHubSwiftShareService returns an instance of the Network_Storage_Hub_Swift_Share SoftLayer service
11116func GetNetworkStorageHubSwiftShareService(sess *session.Session) Network_Storage_Hub_Swift_Share {
11117	return Network_Storage_Hub_Swift_Share{Session: sess}
11118}
11119
11120func (r Network_Storage_Hub_Swift_Share) Id(id int) Network_Storage_Hub_Swift_Share {
11121	r.Options.Id = &id
11122	return r
11123}
11124
11125func (r Network_Storage_Hub_Swift_Share) Mask(mask string) Network_Storage_Hub_Swift_Share {
11126	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
11127		mask = fmt.Sprintf("mask[%s]", mask)
11128	}
11129
11130	r.Options.Mask = mask
11131	return r
11132}
11133
11134func (r Network_Storage_Hub_Swift_Share) Filter(filter string) Network_Storage_Hub_Swift_Share {
11135	r.Options.Filter = filter
11136	return r
11137}
11138
11139func (r Network_Storage_Hub_Swift_Share) Limit(limit int) Network_Storage_Hub_Swift_Share {
11140	r.Options.Limit = &limit
11141	return r
11142}
11143
11144func (r Network_Storage_Hub_Swift_Share) Offset(offset int) Network_Storage_Hub_Swift_Share {
11145	r.Options.Offset = &offset
11146	return r
11147}
11148
11149// This method returns a collection of container objects.
11150func (r Network_Storage_Hub_Swift_Share) GetContainerList() (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_Folder, err error) {
11151	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Swift_Share", "getContainerList", nil, &r.Options, &resp)
11152	return
11153}
11154
11155// This method returns a file object given the file's full name.
11156func (r Network_Storage_Hub_Swift_Share) GetFile(fileName *string, container *string) (resp datatypes.Container_Network_Storage_Hub_ObjectStorage_File, err error) {
11157	params := []interface{}{
11158		fileName,
11159		container,
11160	}
11161	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Swift_Share", "getFile", params, &r.Options, &resp)
11162	return
11163}
11164
11165// This method returns a collection of the file objects within a container and the given path.
11166func (r Network_Storage_Hub_Swift_Share) GetFileList(container *string, path *string) (resp []datatypes.Container_Utility_File_Entity, err error) {
11167	params := []interface{}{
11168		container,
11169		path,
11170	}
11171	err = r.Session.DoRequest("SoftLayer_Network_Storage_Hub_Swift_Share", "getFileList", params, &r.Options, &resp)
11172	return
11173}
11174
11175// The iscsi data type provides access to additional information about an iscsi volume such as the snapshot capacity limit and replication partners.
11176type Network_Storage_Iscsi struct {
11177	Session *session.Session
11178	Options sl.Options
11179}
11180
11181// GetNetworkStorageIscsiService returns an instance of the Network_Storage_Iscsi SoftLayer service
11182func GetNetworkStorageIscsiService(sess *session.Session) Network_Storage_Iscsi {
11183	return Network_Storage_Iscsi{Session: sess}
11184}
11185
11186func (r Network_Storage_Iscsi) Id(id int) Network_Storage_Iscsi {
11187	r.Options.Id = &id
11188	return r
11189}
11190
11191func (r Network_Storage_Iscsi) Mask(mask string) Network_Storage_Iscsi {
11192	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
11193		mask = fmt.Sprintf("mask[%s]", mask)
11194	}
11195
11196	r.Options.Mask = mask
11197	return r
11198}
11199
11200func (r Network_Storage_Iscsi) Filter(filter string) Network_Storage_Iscsi {
11201	r.Options.Filter = filter
11202	return r
11203}
11204
11205func (r Network_Storage_Iscsi) Limit(limit int) Network_Storage_Iscsi {
11206	r.Options.Limit = &limit
11207	return r
11208}
11209
11210func (r Network_Storage_Iscsi) Offset(offset int) Network_Storage_Iscsi {
11211	r.Options.Offset = &offset
11212	return r
11213}
11214
11215// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
11216func (r Network_Storage_Iscsi) AllowAccessFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
11217	params := []interface{}{
11218		hardwareObjectTemplate,
11219	}
11220	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromHardware", params, &r.Options, &resp)
11221	return
11222}
11223
11224// no documentation yet
11225func (r Network_Storage_Iscsi) AllowAccessFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
11226	params := []interface{}{
11227		hardwareObjectTemplates,
11228	}
11229	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromHardwareList", params, &r.Options, &resp)
11230	return
11231}
11232
11233// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
11234func (r Network_Storage_Iscsi) AllowAccessFromHost(typeClassName *string, hostId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
11235	params := []interface{}{
11236		typeClassName,
11237		hostId,
11238	}
11239	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromHost", params, &r.Options, &resp)
11240	return
11241}
11242
11243// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage volume will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
11244func (r Network_Storage_Iscsi) AllowAccessFromHostList(hostObjectTemplates []datatypes.Container_Network_Storage_Host) (resp []datatypes.Network_Storage_Allowed_Host, err error) {
11245	params := []interface{}{
11246		hostObjectTemplates,
11247	}
11248	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromHostList", params, &r.Options, &resp)
11249	return
11250}
11251
11252// no documentation yet
11253func (r Network_Storage_Iscsi) AllowAccessFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
11254	params := []interface{}{
11255		ipAddressObjectTemplate,
11256	}
11257	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromIpAddress", params, &r.Options, &resp)
11258	return
11259}
11260
11261// no documentation yet
11262func (r Network_Storage_Iscsi) AllowAccessFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
11263	params := []interface{}{
11264		ipAddressObjectTemplates,
11265	}
11266	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromIpAddressList", params, &r.Options, &resp)
11267	return
11268}
11269
11270// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
11271func (r Network_Storage_Iscsi) AllowAccessFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
11272	params := []interface{}{
11273		subnetObjectTemplate,
11274	}
11275	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromSubnet", params, &r.Options, &resp)
11276	return
11277}
11278
11279// no documentation yet
11280func (r Network_Storage_Iscsi) AllowAccessFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
11281	params := []interface{}{
11282		subnetObjectTemplates,
11283	}
11284	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromSubnetList", params, &r.Options, &resp)
11285	return
11286}
11287
11288// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
11289func (r Network_Storage_Iscsi) AllowAccessFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
11290	params := []interface{}{
11291		virtualGuestObjectTemplate,
11292	}
11293	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromVirtualGuest", params, &r.Options, &resp)
11294	return
11295}
11296
11297// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
11298func (r Network_Storage_Iscsi) AllowAccessFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
11299	params := []interface{}{
11300		virtualGuestObjectTemplates,
11301	}
11302	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessFromVirtualGuestList", params, &r.Options, &resp)
11303	return
11304}
11305
11306// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage replicant volume.
11307func (r Network_Storage_Iscsi) AllowAccessToReplicantFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
11308	params := []interface{}{
11309		hardwareObjectTemplate,
11310	}
11311	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessToReplicantFromHardware", params, &r.Options, &resp)
11312	return
11313}
11314
11315// This method is used to modify the access control list for this Storage replica volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage replica volume.
11316func (r Network_Storage_Iscsi) AllowAccessToReplicantFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
11317	params := []interface{}{
11318		hardwareObjectTemplates,
11319	}
11320	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessToReplicantFromHardwareList", params, &r.Options, &resp)
11321	return
11322}
11323
11324// no documentation yet
11325func (r Network_Storage_Iscsi) AllowAccessToReplicantFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
11326	params := []interface{}{
11327		ipAddressObjectTemplate,
11328	}
11329	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessToReplicantFromIpAddress", params, &r.Options, &resp)
11330	return
11331}
11332
11333// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
11334func (r Network_Storage_Iscsi) AllowAccessToReplicantFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
11335	params := []interface{}{
11336		ipAddressObjectTemplates,
11337	}
11338	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessToReplicantFromIpAddressList", params, &r.Options, &resp)
11339	return
11340}
11341
11342// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage replicant volume.
11343func (r Network_Storage_Iscsi) AllowAccessToReplicantFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
11344	params := []interface{}{
11345		subnetObjectTemplate,
11346	}
11347	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessToReplicantFromSubnet", params, &r.Options, &resp)
11348	return
11349}
11350
11351// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationSubnets property of this storage volume.
11352func (r Network_Storage_Iscsi) AllowAccessToReplicantFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
11353	params := []interface{}{
11354		subnetObjectTemplates,
11355	}
11356	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessToReplicantFromSubnetList", params, &r.Options, &resp)
11357	return
11358}
11359
11360// This method is used to modify the access control list for this Storage replicant volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage replicant volume.
11361func (r Network_Storage_Iscsi) AllowAccessToReplicantFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
11362	params := []interface{}{
11363		virtualGuestObjectTemplate,
11364	}
11365	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessToReplicantFromVirtualGuest", params, &r.Options, &resp)
11366	return
11367}
11368
11369// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
11370func (r Network_Storage_Iscsi) AllowAccessToReplicantFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
11371	params := []interface{}{
11372		virtualGuestObjectTemplates,
11373	}
11374	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "allowAccessToReplicantFromVirtualGuestList", params, &r.Options, &resp)
11375	return
11376}
11377
11378// This method will assign an existing credential to the current volume. The credential must have been created using the 'addNewCredential' method. The volume type must support an additional credential.
11379func (r Network_Storage_Iscsi) AssignCredential(username *string) (resp bool, err error) {
11380	params := []interface{}{
11381		username,
11382	}
11383	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "assignCredential", params, &r.Options, &resp)
11384	return
11385}
11386
11387// This method will set up a new credential for the remote storage volume. The storage volume must support an additional credential. Once created, the credential will be automatically assigned to the current volume. If there are no volumes assigned to the credential it will be automatically deleted.
11388func (r Network_Storage_Iscsi) AssignNewCredential(typ *string) (resp datatypes.Network_Storage_Credential, err error) {
11389	params := []interface{}{
11390		typ,
11391	}
11392	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "assignNewCredential", params, &r.Options, &resp)
11393	return
11394}
11395
11396// The method will change the password for the given Storage/Virtual Server Storage account.
11397func (r Network_Storage_Iscsi) ChangePassword(username *string, currentPassword *string, newPassword *string) (resp bool, err error) {
11398	params := []interface{}{
11399		username,
11400		currentPassword,
11401		newPassword,
11402	}
11403	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "changePassword", params, &r.Options, &resp)
11404	return
11405}
11406
11407// {{CloudLayerOnlyMethod}}
11408//
11409// collectBandwidth() Retrieve the bandwidth usage for the current billing cycle.
11410func (r Network_Storage_Iscsi) CollectBandwidth(typ *string, startDate *datatypes.Time, endDate *datatypes.Time) (resp uint, err error) {
11411	params := []interface{}{
11412		typ,
11413		startDate,
11414		endDate,
11415	}
11416	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "collectBandwidth", params, &r.Options, &resp)
11417	return
11418}
11419
11420// {{CloudLayerOnlyMethod}}
11421//
11422// collectBytesUsed() retrieves the number of bytes capacity currently in use on a Storage account.
11423func (r Network_Storage_Iscsi) CollectBytesUsed() (resp uint, err error) {
11424	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "collectBytesUsed", nil, &r.Options, &resp)
11425	return
11426}
11427
11428// no documentation yet
11429func (r Network_Storage_Iscsi) CreateFolder(folder *string) (resp bool, err error) {
11430	params := []interface{}{
11431		folder,
11432	}
11433	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "createFolder", params, &r.Options, &resp)
11434	return
11435}
11436
11437// The LUN ID only takes effect during the Host Authorization process. It is required to de-authorize all hosts before using this method.
11438func (r Network_Storage_Iscsi) CreateOrUpdateLunId(lunId *int) (resp datatypes.Network_Storage_Property, err error) {
11439	params := []interface{}{
11440		lunId,
11441	}
11442	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "createOrUpdateLunId", params, &r.Options, &resp)
11443	return
11444}
11445
11446// no documentation yet
11447func (r Network_Storage_Iscsi) CreateSnapshot(notes *string) (resp datatypes.Network_Storage, err error) {
11448	params := []interface{}{
11449		notes,
11450	}
11451	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "createSnapshot", params, &r.Options, &resp)
11452	return
11453}
11454
11455// {{CloudLayerOnlyMethod}} Delete all files within a Storage account. Depending on the type of Storage account, Deleting either deletes files permanently or sends files to your account's recycle bin.
11456//
11457// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the files are in the account's recycle bin. If the files exist in the recycle bin, then they are permanently deleted.
11458//
11459// Please note, files can not be restored once they are permanently deleted.
11460func (r Network_Storage_Iscsi) DeleteAllFiles() (resp bool, err error) {
11461	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "deleteAllFiles", nil, &r.Options, &resp)
11462	return
11463}
11464
11465// {{CloudLayerOnlyMethod}} Delete an individual file within a Storage account. Depending on the type of Storage account, Deleting a file either deletes the file permanently or sends the file to your account's recycle bin.
11466//
11467// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the file is in the account's recycle bin. If the file exist in the recycle bin, then it is permanently deleted.
11468//
11469// Please note, a file can not be restored once it is permanently deleted.
11470func (r Network_Storage_Iscsi) DeleteFile(fileId *string) (resp bool, err error) {
11471	params := []interface{}{
11472		fileId,
11473	}
11474	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "deleteFile", params, &r.Options, &resp)
11475	return
11476}
11477
11478// {{CloudLayerOnlyMethod}} Delete multiple files within a Storage account. Depending on the type of Storage account, Deleting either deletes files permanently or sends files to your account's recycle bin.
11479//
11480// Currently, Virtual Server storage is the only type of Storage account that sends files to a recycle bin when deleted. When called against a Virtual Server storage account , this method also determines if the files are in the account's recycle bin. If the files exist in the recycle bin, then they are permanently deleted.
11481//
11482// Please note, files can not be restored once they are permanently deleted.
11483func (r Network_Storage_Iscsi) DeleteFiles(fileIds []string) (resp bool, err error) {
11484	params := []interface{}{
11485		fileIds,
11486	}
11487	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "deleteFiles", params, &r.Options, &resp)
11488	return
11489}
11490
11491// no documentation yet
11492func (r Network_Storage_Iscsi) DeleteFolder(folder *string) (resp bool, err error) {
11493	params := []interface{}{
11494		folder,
11495	}
11496	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "deleteFolder", params, &r.Options, &resp)
11497	return
11498}
11499
11500// Delete a network storage volume. '''This cannot be undone.''' At this time only network storage snapshots may be deleted with this method.
11501//
11502// ''deleteObject'' returns Boolean ''true'' on successful deletion or ''false'' if it was unable to remove a volume;
11503func (r Network_Storage_Iscsi) DeleteObject() (resp bool, err error) {
11504	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "deleteObject", nil, &r.Options, &resp)
11505	return
11506}
11507
11508// This method is not valid for Legacy iSCSI Storage Volumes.
11509//
11510// Disable scheduled snapshots of this storage volume. Scheduling options include 'INTERVAL', HOURLY, DAILY and WEEKLY schedules.
11511func (r Network_Storage_Iscsi) DisableSnapshots(scheduleType *string) (resp bool, err error) {
11512	params := []interface{}{
11513		scheduleType,
11514	}
11515	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "disableSnapshots", params, &r.Options, &resp)
11516	return
11517}
11518
11519// {{CloudLayerOnlyMethod}} Download a file from a Storage account. This method returns a file's details including the file's raw content.
11520func (r Network_Storage_Iscsi) DownloadFile(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
11521	params := []interface{}{
11522		fileId,
11523	}
11524	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "downloadFile", params, &r.Options, &resp)
11525	return
11526}
11527
11528// This method will change the password of a credential created using the 'addNewCredential' method. If the credential exists on multiple storage volumes it will change for those volumes as well.
11529func (r Network_Storage_Iscsi) EditCredential(username *string, newPassword *string) (resp bool, err error) {
11530	params := []interface{}{
11531		username,
11532		newPassword,
11533	}
11534	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "editCredential", params, &r.Options, &resp)
11535	return
11536}
11537
11538// The password and/or notes may be modified for the Storage service except evault passwords and notes.
11539func (r Network_Storage_Iscsi) EditObject(templateObject *datatypes.Network_Storage) (resp bool, err error) {
11540	params := []interface{}{
11541		templateObject,
11542	}
11543	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "editObject", params, &r.Options, &resp)
11544	return
11545}
11546
11547// This method is not valid for Legacy iSCSI Storage Volumes.
11548//
11549// Enable scheduled snapshots of this storage volume. Scheduling options include HOURLY, DAILY and WEEKLY schedules. For HOURLY schedules, provide relevant data for $scheduleType, $retentionCount and $minute. For DAILY schedules, provide relevant data for $scheduleType, $retentionCount, $minute, and $hour. For WEEKLY schedules, provide relevant data for all parameters of this method.
11550func (r Network_Storage_Iscsi) EnableSnapshots(scheduleType *string, retentionCount *int, minute *int, hour *int, dayOfWeek *string) (resp bool, err error) {
11551	params := []interface{}{
11552		scheduleType,
11553		retentionCount,
11554		minute,
11555		hour,
11556		dayOfWeek,
11557	}
11558	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "enableSnapshots", params, &r.Options, &resp)
11559	return
11560}
11561
11562// Failback from a volume replicant. In order to failback the volume must have already been failed over to a replicant.
11563func (r Network_Storage_Iscsi) FailbackFromReplicant() (resp bool, err error) {
11564	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "failbackFromReplicant", nil, &r.Options, &resp)
11565	return
11566}
11567
11568// Failover to a volume replicant.  During the time which the replicant is in use the local nas volume will not be available.
11569func (r Network_Storage_Iscsi) FailoverToReplicant(replicantId *int) (resp bool, err error) {
11570	params := []interface{}{
11571		replicantId,
11572	}
11573	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "failoverToReplicant", params, &r.Options, &resp)
11574	return
11575}
11576
11577// Retrieve The account that a Storage services belongs to.
11578func (r Network_Storage_Iscsi) GetAccount() (resp datatypes.Account, err error) {
11579	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAccount", nil, &r.Options, &resp)
11580	return
11581}
11582
11583// Retrieve Other usernames and passwords associated with a Storage volume.
11584func (r Network_Storage_Iscsi) GetAccountPassword() (resp datatypes.Account_Password, err error) {
11585	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAccountPassword", nil, &r.Options, &resp)
11586	return
11587}
11588
11589// Retrieve The currently active transactions on a network storage volume.
11590func (r Network_Storage_Iscsi) GetActiveTransactions() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
11591	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getActiveTransactions", nil, &r.Options, &resp)
11592	return
11593}
11594
11595// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date for all files in a Storage account's root directory. This does not download file content.
11596func (r Network_Storage_Iscsi) GetAllFiles() (resp []datatypes.Container_Utility_File_Entity, err error) {
11597	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllFiles", nil, &r.Options, &resp)
11598	return
11599}
11600
11601// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date for all files matching the filter's criteria in a Storage account's root directory. This does not download file content.
11602func (r Network_Storage_Iscsi) GetAllFilesByFilter(filter *datatypes.Container_Utility_File_Entity) (resp []datatypes.Container_Utility_File_Entity, err error) {
11603	params := []interface{}{
11604		filter,
11605	}
11606	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllFilesByFilter", params, &r.Options, &resp)
11607	return
11608}
11609
11610// This method retrieves a list of SoftLayer_Hardware that can be authorized to this SoftLayer_Network_Storage.
11611func (r Network_Storage_Iscsi) GetAllowableHardware(filterHostname *string) (resp []datatypes.Hardware, err error) {
11612	params := []interface{}{
11613		filterHostname,
11614	}
11615	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowableHardware", params, &r.Options, &resp)
11616	return
11617}
11618
11619// This method retrieves a list of SoftLayer_Network_Subnet_IpAddress that can be authorized to this SoftLayer_Network_Storage.
11620func (r Network_Storage_Iscsi) GetAllowableIpAddresses(subnetId *int, filterIpAddress *string) (resp []datatypes.Network_Subnet_IpAddress, err error) {
11621	params := []interface{}{
11622		subnetId,
11623		filterIpAddress,
11624	}
11625	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowableIpAddresses", params, &r.Options, &resp)
11626	return
11627}
11628
11629// This method retrieves a list of SoftLayer_Network_Subnet that can be authorized to this SoftLayer_Network_Storage.
11630func (r Network_Storage_Iscsi) GetAllowableSubnets(filterNetworkIdentifier *string) (resp []datatypes.Network_Subnet, err error) {
11631	params := []interface{}{
11632		filterNetworkIdentifier,
11633	}
11634	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowableSubnets", params, &r.Options, &resp)
11635	return
11636}
11637
11638// This method retrieves a list of SoftLayer_Virtual_Guest that can be authorized to this SoftLayer_Network_Storage.
11639func (r Network_Storage_Iscsi) GetAllowableVirtualGuests(filterHostname *string) (resp []datatypes.Virtual_Guest, err error) {
11640	params := []interface{}{
11641		filterHostname,
11642	}
11643	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowableVirtualGuests", params, &r.Options, &resp)
11644	return
11645}
11646
11647// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume.
11648func (r Network_Storage_Iscsi) GetAllowedHardware() (resp []datatypes.Hardware, err error) {
11649	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedHardware", nil, &r.Options, &resp)
11650	return
11651}
11652
11653// Retrieves the total number of allowed hosts limit per volume.
11654func (r Network_Storage_Iscsi) GetAllowedHostsLimit() (resp int, err error) {
11655	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedHostsLimit", nil, &r.Options, &resp)
11656	return
11657}
11658
11659// Retrieve The SoftLayer_Network_Subnet_IpAddress objects which are allowed access to this storage volume.
11660func (r Network_Storage_Iscsi) GetAllowedIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
11661	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedIpAddresses", nil, &r.Options, &resp)
11662	return
11663}
11664
11665// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume's Replicant.
11666func (r Network_Storage_Iscsi) GetAllowedReplicationHardware() (resp []datatypes.Hardware, err error) {
11667	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedReplicationHardware", nil, &r.Options, &resp)
11668	return
11669}
11670
11671// Retrieve The SoftLayer_Network_Subnet_IpAddress objects which are allowed access to this storage volume's Replicant.
11672func (r Network_Storage_Iscsi) GetAllowedReplicationIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
11673	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedReplicationIpAddresses", nil, &r.Options, &resp)
11674	return
11675}
11676
11677// Retrieve The SoftLayer_Network_Subnet objects which are allowed access to this storage volume's Replicant.
11678func (r Network_Storage_Iscsi) GetAllowedReplicationSubnets() (resp []datatypes.Network_Subnet, err error) {
11679	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedReplicationSubnets", nil, &r.Options, &resp)
11680	return
11681}
11682
11683// Retrieve The SoftLayer_Hardware objects which are allowed access to this storage volume's Replicant.
11684func (r Network_Storage_Iscsi) GetAllowedReplicationVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
11685	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedReplicationVirtualGuests", nil, &r.Options, &resp)
11686	return
11687}
11688
11689// Retrieve The SoftLayer_Network_Subnet objects which are allowed access to this storage volume.
11690func (r Network_Storage_Iscsi) GetAllowedSubnets() (resp []datatypes.Network_Subnet, err error) {
11691	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedSubnets", nil, &r.Options, &resp)
11692	return
11693}
11694
11695// Retrieve The SoftLayer_Virtual_Guest objects which are allowed access to this storage volume.
11696func (r Network_Storage_Iscsi) GetAllowedVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
11697	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getAllowedVirtualGuests", nil, &r.Options, &resp)
11698	return
11699}
11700
11701// Retrieve The current billing item for a Storage volume.
11702func (r Network_Storage_Iscsi) GetBillingItem() (resp datatypes.Billing_Item, err error) {
11703	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getBillingItem", nil, &r.Options, &resp)
11704	return
11705}
11706
11707// Retrieve
11708func (r Network_Storage_Iscsi) GetBillingItemCategory() (resp datatypes.Product_Item_Category, err error) {
11709	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getBillingItemCategory", nil, &r.Options, &resp)
11710	return
11711}
11712
11713// Retrieve network storage accounts by username and storage account type. Use this method if you wish to retrieve a storage record by username rather than by id. The ''type'' parameter must correspond to one of the available ''nasType'' values in the SoftLayer_Network_Storage data type.
11714func (r Network_Storage_Iscsi) GetByUsername(username *string, typ *string) (resp []datatypes.Network_Storage, err error) {
11715	params := []interface{}{
11716		username,
11717		typ,
11718	}
11719	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getByUsername", params, &r.Options, &resp)
11720	return
11721}
11722
11723// Retrieve The amount of space used by the volume, in bytes.
11724func (r Network_Storage_Iscsi) GetBytesUsed() (resp string, err error) {
11725	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getBytesUsed", nil, &r.Options, &resp)
11726	return
11727}
11728
11729// no documentation yet
11730func (r Network_Storage_Iscsi) GetCdnUrls() (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_ContentDeliveryUrl, err error) {
11731	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getCdnUrls", nil, &r.Options, &resp)
11732	return
11733}
11734
11735// no documentation yet
11736func (r Network_Storage_Iscsi) GetClusterResource() (resp datatypes.Network_Service_Resource, err error) {
11737	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getClusterResource", nil, &r.Options, &resp)
11738	return
11739}
11740
11741// Retrieve The schedule id which was executed to create a snapshot.
11742func (r Network_Storage_Iscsi) GetCreationScheduleId() (resp string, err error) {
11743	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getCreationScheduleId", nil, &r.Options, &resp)
11744	return
11745}
11746
11747// Retrieve
11748func (r Network_Storage_Iscsi) GetCredentials() (resp []datatypes.Network_Storage_Credential, err error) {
11749	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getCredentials", nil, &r.Options, &resp)
11750	return
11751}
11752
11753// Retrieve The Daily Schedule which is associated with this network storage volume.
11754func (r Network_Storage_Iscsi) GetDailySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
11755	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getDailySchedule", nil, &r.Options, &resp)
11756	return
11757}
11758
11759// Retrieve The events which have taken place on a network storage volume.
11760func (r Network_Storage_Iscsi) GetEvents() (resp []datatypes.Network_Storage_Event, err error) {
11761	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getEvents", nil, &r.Options, &resp)
11762	return
11763}
11764
11765//
11766//
11767//
11768func (r Network_Storage_Iscsi) GetFileBlockEncryptedLocations() (resp []datatypes.Location, err error) {
11769	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getFileBlockEncryptedLocations", nil, &r.Options, &resp)
11770	return
11771}
11772
11773// {{CloudLayerOnlyMethod}} Retrieve details such as id, name, size, create date of a file within a Storage account. This does not download file content.
11774func (r Network_Storage_Iscsi) GetFileByIdentifier(identifier *string) (resp datatypes.Container_Utility_File_Entity, err error) {
11775	params := []interface{}{
11776		identifier,
11777	}
11778	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getFileByIdentifier", params, &r.Options, &resp)
11779	return
11780}
11781
11782// {{CloudLayerOnlyMethod}} Retrieve the file number of files in a Virtual Server Storage account's root directory. This does not include the files stored in the recycle bin.
11783func (r Network_Storage_Iscsi) GetFileCount() (resp int, err error) {
11784	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getFileCount", nil, &r.Options, &resp)
11785	return
11786}
11787
11788// no documentation yet
11789func (r Network_Storage_Iscsi) GetFileList(folder *string, path *string) (resp []datatypes.Container_Utility_File_Entity, err error) {
11790	params := []interface{}{
11791		folder,
11792		path,
11793	}
11794	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getFileList", params, &r.Options, &resp)
11795	return
11796}
11797
11798// Retrieve Retrieves the NFS Network Mount Address Name for a given File Storage Volume.
11799func (r Network_Storage_Iscsi) GetFileNetworkMountAddress() (resp string, err error) {
11800	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getFileNetworkMountAddress", nil, &r.Options, &resp)
11801	return
11802}
11803
11804// {{CloudLayerOnlyMethod}} Retrieve the number of files pending deletion in a Storage account's recycle bin. Files in an account's recycle bin may either be restored to the account's root directory or permanently deleted.
11805func (r Network_Storage_Iscsi) GetFilePendingDeleteCount() (resp int, err error) {
11806	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getFilePendingDeleteCount", nil, &r.Options, &resp)
11807	return
11808}
11809
11810// {{CloudLayerOnlyMethod}} Retrieve a list of files that are pending deletion in a Storage account's recycle bin. Files in an account's recycle bin may either be restored to the account's root directory or permanently deleted. This method does not download file content.
11811func (r Network_Storage_Iscsi) GetFilesPendingDelete() (resp []datatypes.Container_Utility_File_Entity, err error) {
11812	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getFilesPendingDelete", nil, &r.Options, &resp)
11813	return
11814}
11815
11816// no documentation yet
11817func (r Network_Storage_Iscsi) GetFolderList() (resp []datatypes.Container_Network_Storage_Hub_ObjectStorage_Folder, err error) {
11818	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getFolderList", nil, &r.Options, &resp)
11819	return
11820}
11821
11822// {{CloudLayerOnlyMethod}}
11823//
11824// getGraph() retrieves a Storage account's usage and returns a PNG graph image, title, and the minimum and maximum dates included in the graphed date range. Virtual Server storage accounts can also graph upload and download bandwidth usage.
11825func (r Network_Storage_Iscsi) GetGraph(startDate *datatypes.Time, endDate *datatypes.Time, typ *string) (resp datatypes.Container_Bandwidth_GraphOutputs, err error) {
11826	params := []interface{}{
11827		startDate,
11828		endDate,
11829		typ,
11830	}
11831	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getGraph", params, &r.Options, &resp)
11832	return
11833}
11834
11835// Retrieve When applicable, the hardware associated with a Storage service.
11836func (r Network_Storage_Iscsi) GetHardware() (resp datatypes.Hardware, err error) {
11837	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getHardware", nil, &r.Options, &resp)
11838	return
11839}
11840
11841// Retrieve
11842func (r Network_Storage_Iscsi) GetHasEncryptionAtRest() (resp bool, err error) {
11843	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getHasEncryptionAtRest", nil, &r.Options, &resp)
11844	return
11845}
11846
11847// Retrieve The Hourly Schedule which is associated with this network storage volume.
11848func (r Network_Storage_Iscsi) GetHourlySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
11849	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getHourlySchedule", nil, &r.Options, &resp)
11850	return
11851}
11852
11853// Retrieve The Interval Schedule which is associated with this network storage volume.
11854func (r Network_Storage_Iscsi) GetIntervalSchedule() (resp datatypes.Network_Storage_Schedule, err error) {
11855	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getIntervalSchedule", nil, &r.Options, &resp)
11856	return
11857}
11858
11859// Retrieve The maximum number of IOPs selected for this volume.
11860func (r Network_Storage_Iscsi) GetIops() (resp string, err error) {
11861	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getIops", nil, &r.Options, &resp)
11862	return
11863}
11864
11865// Retrieve Determines whether a volume is ready to order snapshot space, or, if snapshot space is already available, to assign a snapshot schedule, or to take a manual snapshot.
11866func (r Network_Storage_Iscsi) GetIsReadyForSnapshot() (resp bool, err error) {
11867	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getIsReadyForSnapshot", nil, &r.Options, &resp)
11868	return
11869}
11870
11871// Retrieve Determines whether a volume is ready to have Hosts authorized to access it. This does not indicate whether another operation may be blocking, please refer to this volume's volumeStatus property for details.
11872func (r Network_Storage_Iscsi) GetIsReadyToMount() (resp bool, err error) {
11873	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getIsReadyToMount", nil, &r.Options, &resp)
11874	return
11875}
11876
11877// Retrieve Relationship between a container volume and iSCSI LUNs.
11878func (r Network_Storage_Iscsi) GetIscsiLuns() (resp []datatypes.Network_Storage, err error) {
11879	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getIscsiLuns", nil, &r.Options, &resp)
11880	return
11881}
11882
11883// Retrieve Returns the target IP addresses of an iSCSI volume.
11884func (r Network_Storage_Iscsi) GetIscsiTargetIpAddresses() (resp []string, err error) {
11885	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getIscsiTargetIpAddresses", nil, &r.Options, &resp)
11886	return
11887}
11888
11889// Retrieve The ID of the LUN volume.
11890func (r Network_Storage_Iscsi) GetLunId() (resp string, err error) {
11891	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getLunId", nil, &r.Options, &resp)
11892	return
11893}
11894
11895// Retrieve The manually-created snapshots associated with this SoftLayer_Network_Storage volume. Does not support pagination by result limit and offset.
11896func (r Network_Storage_Iscsi) GetManualSnapshots() (resp []datatypes.Network_Storage, err error) {
11897	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getManualSnapshots", nil, &r.Options, &resp)
11898	return
11899}
11900
11901// no documentation yet
11902func (r Network_Storage_Iscsi) GetMaximumExpansionSize() (resp int, err error) {
11903	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getMaximumExpansionSize", nil, &r.Options, &resp)
11904	return
11905}
11906
11907// Retrieve A network storage volume's metric tracking object. This object records all periodic polled data available to this volume.
11908func (r Network_Storage_Iscsi) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
11909	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getMetricTrackingObject", nil, &r.Options, &resp)
11910	return
11911}
11912
11913// Retrieve Whether or not a network storage volume may be mounted.
11914func (r Network_Storage_Iscsi) GetMountableFlag() (resp string, err error) {
11915	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getMountableFlag", nil, &r.Options, &resp)
11916	return
11917}
11918
11919// Retrieve The current status of split or move operation as a part of volume duplication.
11920func (r Network_Storage_Iscsi) GetMoveAndSplitStatus() (resp string, err error) {
11921	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getMoveAndSplitStatus", nil, &r.Options, &resp)
11922	return
11923}
11924
11925// no documentation yet
11926func (r Network_Storage_Iscsi) GetNetworkConnectionDetails() (resp datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
11927	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getNetworkConnectionDetails", nil, &r.Options, &resp)
11928	return
11929}
11930
11931// no documentation yet
11932func (r Network_Storage_Iscsi) GetNetworkMountAddress() (resp string, err error) {
11933	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getNetworkMountAddress", nil, &r.Options, &resp)
11934	return
11935}
11936
11937// Retrieve The subscribers that will be notified for usage amount warnings and overages.
11938func (r Network_Storage_Iscsi) GetNotificationSubscribers() (resp []datatypes.Notification_User_Subscriber, err error) {
11939	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getNotificationSubscribers", nil, &r.Options, &resp)
11940	return
11941}
11942
11943// no documentation yet
11944func (r Network_Storage_Iscsi) GetObject() (resp datatypes.Network_Storage_Iscsi, err error) {
11945	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getObject", nil, &r.Options, &resp)
11946	return
11947}
11948
11949// no documentation yet
11950func (r Network_Storage_Iscsi) GetObjectStorageConnectionInformation() (resp []datatypes.Container_Network_Service_Resource_ObjectStorage_ConnectionInformation, err error) {
11951	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getObjectStorageConnectionInformation", nil, &r.Options, &resp)
11952	return
11953}
11954
11955// Retrieve network storage accounts by SoftLayer_Network_Storage_Credential object. Use this method if you wish to retrieve a storage record by a credential rather than by id.
11956func (r Network_Storage_Iscsi) GetObjectsByCredential(credentialObject *datatypes.Network_Storage_Credential) (resp []datatypes.Network_Storage, err error) {
11957	params := []interface{}{
11958		credentialObject,
11959	}
11960	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getObjectsByCredential", params, &r.Options, &resp)
11961	return
11962}
11963
11964// Retrieve The name of the snapshot that this volume was duplicated from.
11965func (r Network_Storage_Iscsi) GetOriginalSnapshotName() (resp string, err error) {
11966	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getOriginalSnapshotName", nil, &r.Options, &resp)
11967	return
11968}
11969
11970// Retrieve The name of the volume that this volume was duplicated from.
11971func (r Network_Storage_Iscsi) GetOriginalVolumeName() (resp string, err error) {
11972	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getOriginalVolumeName", nil, &r.Options, &resp)
11973	return
11974}
11975
11976// Retrieve The size (in GB) of the volume or LUN before any size expansion, or of the volume (before any possible size expansion) from which the duplicate volume or LUN was created.
11977func (r Network_Storage_Iscsi) GetOriginalVolumeSize() (resp string, err error) {
11978	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getOriginalVolumeSize", nil, &r.Options, &resp)
11979	return
11980}
11981
11982// Retrieve A volume's configured SoftLayer_Network_Storage_Iscsi_OS_Type.
11983func (r Network_Storage_Iscsi) GetOsType() (resp datatypes.Network_Storage_Iscsi_OS_Type, err error) {
11984	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getOsType", nil, &r.Options, &resp)
11985	return
11986}
11987
11988// Retrieve A volume's configured SoftLayer_Network_Storage_Iscsi_OS_Type ID.
11989func (r Network_Storage_Iscsi) GetOsTypeId() (resp string, err error) {
11990	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getOsTypeId", nil, &r.Options, &resp)
11991	return
11992}
11993
11994// Retrieve The volumes or snapshots partnered with a network storage volume in a parental role.
11995func (r Network_Storage_Iscsi) GetParentPartnerships() (resp []datatypes.Network_Storage_Partnership, err error) {
11996	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getParentPartnerships", nil, &r.Options, &resp)
11997	return
11998}
11999
12000// Retrieve The parent volume of a volume in a complex storage relationship.
12001func (r Network_Storage_Iscsi) GetParentVolume() (resp datatypes.Network_Storage, err error) {
12002	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getParentVolume", nil, &r.Options, &resp)
12003	return
12004}
12005
12006// Retrieve The volumes or snapshots partnered with a network storage volume.
12007func (r Network_Storage_Iscsi) GetPartnerships() (resp []datatypes.Network_Storage_Partnership, err error) {
12008	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getPartnerships", nil, &r.Options, &resp)
12009	return
12010}
12011
12012// Retrieve All permissions group(s) this volume is in.
12013func (r Network_Storage_Iscsi) GetPermissionsGroups() (resp []datatypes.Network_Storage_Group, err error) {
12014	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getPermissionsGroups", nil, &r.Options, &resp)
12015	return
12016}
12017
12018// Retrieve The properties used to provide additional details about a network storage volume.
12019func (r Network_Storage_Iscsi) GetProperties() (resp []datatypes.Network_Storage_Property, err error) {
12020	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getProperties", nil, &r.Options, &resp)
12021	return
12022}
12023
12024// Retrieve The number of IOPs provisioned for this volume.
12025func (r Network_Storage_Iscsi) GetProvisionedIops() (resp string, err error) {
12026	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getProvisionedIops", nil, &r.Options, &resp)
12027	return
12028}
12029
12030// {{CloudLayerOnlyMethod}} Retrieve the details of a file that is pending deletion in a Storage account's a recycle bin.
12031func (r Network_Storage_Iscsi) GetRecycleBinFileByIdentifier(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
12032	params := []interface{}{
12033		fileId,
12034	}
12035	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getRecycleBinFileByIdentifier", params, &r.Options, &resp)
12036	return
12037}
12038
12039// Retrieves the remaining number of allowed hosts per volume.
12040func (r Network_Storage_Iscsi) GetRemainingAllowedHosts() (resp int, err error) {
12041	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getRemainingAllowedHosts", nil, &r.Options, &resp)
12042	return
12043}
12044
12045// Retrieves the remaining number of allowed hosts for a volume's replicant.
12046func (r Network_Storage_Iscsi) GetRemainingAllowedHostsForReplicant() (resp int, err error) {
12047	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getRemainingAllowedHostsForReplicant", nil, &r.Options, &resp)
12048	return
12049}
12050
12051// Retrieve The iSCSI LUN volumes being replicated by this network storage volume.
12052func (r Network_Storage_Iscsi) GetReplicatingLuns() (resp []datatypes.Network_Storage, err error) {
12053	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getReplicatingLuns", nil, &r.Options, &resp)
12054	return
12055}
12056
12057// Retrieve The network storage volume being replicated by a volume.
12058func (r Network_Storage_Iscsi) GetReplicatingVolume() (resp datatypes.Network_Storage, err error) {
12059	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getReplicatingVolume", nil, &r.Options, &resp)
12060	return
12061}
12062
12063// Retrieve The volume replication events.
12064func (r Network_Storage_Iscsi) GetReplicationEvents() (resp []datatypes.Network_Storage_Event, err error) {
12065	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getReplicationEvents", nil, &r.Options, &resp)
12066	return
12067}
12068
12069// Retrieve The network storage volumes configured to be replicants of a volume.
12070func (r Network_Storage_Iscsi) GetReplicationPartners() (resp []datatypes.Network_Storage, err error) {
12071	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getReplicationPartners", nil, &r.Options, &resp)
12072	return
12073}
12074
12075// Retrieve The Replication Schedule associated with a network storage volume.
12076func (r Network_Storage_Iscsi) GetReplicationSchedule() (resp datatypes.Network_Storage_Schedule, err error) {
12077	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getReplicationSchedule", nil, &r.Options, &resp)
12078	return
12079}
12080
12081// Retrieve The current replication status of a network storage volume. Indicates Failover or Failback status.
12082func (r Network_Storage_Iscsi) GetReplicationStatus() (resp string, err error) {
12083	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getReplicationStatus", nil, &r.Options, &resp)
12084	return
12085}
12086
12087// Retrieve The schedules which are associated with a network storage volume.
12088func (r Network_Storage_Iscsi) GetSchedules() (resp []datatypes.Network_Storage_Schedule, err error) {
12089	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getSchedules", nil, &r.Options, &resp)
12090	return
12091}
12092
12093// Retrieve The network resource a Storage service is connected to.
12094func (r Network_Storage_Iscsi) GetServiceResource() (resp datatypes.Network_Service_Resource, err error) {
12095	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getServiceResource", nil, &r.Options, &resp)
12096	return
12097}
12098
12099// Retrieve The IP address of a Storage resource.
12100func (r Network_Storage_Iscsi) GetServiceResourceBackendIpAddress() (resp string, err error) {
12101	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getServiceResourceBackendIpAddress", nil, &r.Options, &resp)
12102	return
12103}
12104
12105// Retrieve The name of a Storage's network resource.
12106func (r Network_Storage_Iscsi) GetServiceResourceName() (resp string, err error) {
12107	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getServiceResourceName", nil, &r.Options, &resp)
12108	return
12109}
12110
12111// Retrieve A volume's configured snapshot space size.
12112func (r Network_Storage_Iscsi) GetSnapshotCapacityGb() (resp string, err error) {
12113	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getSnapshotCapacityGb", nil, &r.Options, &resp)
12114	return
12115}
12116
12117// Retrieve The creation timestamp of the snapshot on the storage platform.
12118func (r Network_Storage_Iscsi) GetSnapshotCreationTimestamp() (resp string, err error) {
12119	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getSnapshotCreationTimestamp", nil, &r.Options, &resp)
12120	return
12121}
12122
12123// Retrieve The percentage of used snapshot space after which to delete automated snapshots.
12124func (r Network_Storage_Iscsi) GetSnapshotDeletionThresholdPercentage() (resp string, err error) {
12125	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getSnapshotDeletionThresholdPercentage", nil, &r.Options, &resp)
12126	return
12127}
12128
12129// Retrieve The snapshot size in bytes.
12130func (r Network_Storage_Iscsi) GetSnapshotSizeBytes() (resp string, err error) {
12131	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getSnapshotSizeBytes", nil, &r.Options, &resp)
12132	return
12133}
12134
12135// Retrieve A volume's available snapshot reservation space.
12136func (r Network_Storage_Iscsi) GetSnapshotSpaceAvailable() (resp string, err error) {
12137	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getSnapshotSpaceAvailable", nil, &r.Options, &resp)
12138	return
12139}
12140
12141// Retrieve The snapshots associated with this SoftLayer_Network_Storage volume.
12142func (r Network_Storage_Iscsi) GetSnapshots() (resp []datatypes.Network_Storage, err error) {
12143	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getSnapshots", nil, &r.Options, &resp)
12144	return
12145}
12146
12147// Retrieves a list of snapshots for this SoftLayer_Network_Storage volume. This method works with the result limits and offset to support pagination.
12148func (r Network_Storage_Iscsi) GetSnapshotsForVolume() (resp []datatypes.Network_Storage, err error) {
12149	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getSnapshotsForVolume", nil, &r.Options, &resp)
12150	return
12151}
12152
12153// Retrieve
12154func (r Network_Storage_Iscsi) GetStaasVersion() (resp string, err error) {
12155	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getStaasVersion", nil, &r.Options, &resp)
12156	return
12157}
12158
12159// Retrieve The network storage groups this volume is attached to.
12160func (r Network_Storage_Iscsi) GetStorageGroups() (resp []datatypes.Network_Storage_Group, err error) {
12161	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getStorageGroups", nil, &r.Options, &resp)
12162	return
12163}
12164
12165// no documentation yet
12166func (r Network_Storage_Iscsi) GetStorageGroupsNetworkConnectionDetails() (resp []datatypes.Container_Network_Storage_NetworkConnectionInformation, err error) {
12167	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getStorageGroupsNetworkConnectionDetails", nil, &r.Options, &resp)
12168	return
12169}
12170
12171// Retrieve
12172func (r Network_Storage_Iscsi) GetStorageTierLevel() (resp string, err error) {
12173	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getStorageTierLevel", nil, &r.Options, &resp)
12174	return
12175}
12176
12177// Retrieve A description of the Storage object.
12178func (r Network_Storage_Iscsi) GetStorageType() (resp datatypes.Network_Storage_Type, err error) {
12179	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getStorageType", nil, &r.Options, &resp)
12180	return
12181}
12182
12183// no documentation yet
12184func (r Network_Storage_Iscsi) GetTargetIpAddresses() (resp []string, err error) {
12185	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getTargetIpAddresses", nil, &r.Options, &resp)
12186	return
12187}
12188
12189// Retrieve The amount of space used by the volume.
12190func (r Network_Storage_Iscsi) GetTotalBytesUsed() (resp string, err error) {
12191	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getTotalBytesUsed", nil, &r.Options, &resp)
12192	return
12193}
12194
12195// Retrieve The total snapshot retention count of all schedules on this network storage volume.
12196func (r Network_Storage_Iscsi) GetTotalScheduleSnapshotRetentionCount() (resp uint, err error) {
12197	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getTotalScheduleSnapshotRetentionCount", nil, &r.Options, &resp)
12198	return
12199}
12200
12201// Retrieve The usage notification for SL Storage services.
12202func (r Network_Storage_Iscsi) GetUsageNotification() (resp datatypes.Notification, err error) {
12203	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getUsageNotification", nil, &r.Options, &resp)
12204	return
12205}
12206
12207// no documentation yet
12208func (r Network_Storage_Iscsi) GetValidReplicationTargetDatacenterLocations() (resp []datatypes.Location, err error) {
12209	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getValidReplicationTargetDatacenterLocations", nil, &r.Options, &resp)
12210	return
12211}
12212
12213// Retrieve The type of network storage service.
12214func (r Network_Storage_Iscsi) GetVendorName() (resp string, err error) {
12215	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getVendorName", nil, &r.Options, &resp)
12216	return
12217}
12218
12219// Retrieve When applicable, the virtual guest associated with a Storage service.
12220func (r Network_Storage_Iscsi) GetVirtualGuest() (resp datatypes.Virtual_Guest, err error) {
12221	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getVirtualGuest", nil, &r.Options, &resp)
12222	return
12223}
12224
12225// This method returns the parameters for cloning a volume
12226func (r Network_Storage_Iscsi) GetVolumeDuplicateParameters() (resp datatypes.Container_Network_Storage_VolumeDuplicateParameters, err error) {
12227	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getVolumeDuplicateParameters", nil, &r.Options, &resp)
12228	return
12229}
12230
12231// Retrieve The username and password history for a Storage service.
12232func (r Network_Storage_Iscsi) GetVolumeHistory() (resp []datatypes.Network_Storage_History, err error) {
12233	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getVolumeHistory", nil, &r.Options, &resp)
12234	return
12235}
12236
12237// Retrieve The current status of a network storage volume.
12238func (r Network_Storage_Iscsi) GetVolumeStatus() (resp string, err error) {
12239	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getVolumeStatus", nil, &r.Options, &resp)
12240	return
12241}
12242
12243// Retrieve The account username and password for the EVault webCC interface.
12244func (r Network_Storage_Iscsi) GetWebccAccount() (resp datatypes.Account_Password, err error) {
12245	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getWebccAccount", nil, &r.Options, &resp)
12246	return
12247}
12248
12249// Retrieve The Weekly Schedule which is associated with this network storage volume.
12250func (r Network_Storage_Iscsi) GetWeeklySchedule() (resp datatypes.Network_Storage_Schedule, err error) {
12251	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "getWeeklySchedule", nil, &r.Options, &resp)
12252	return
12253}
12254
12255// Immediate Failover to a volume replicant.  During the time which the replicant is in use the local nas volume will not be available.
12256func (r Network_Storage_Iscsi) ImmediateFailoverToReplicant(replicantId *int) (resp bool, err error) {
12257	params := []interface{}{
12258		replicantId,
12259	}
12260	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "immediateFailoverToReplicant", params, &r.Options, &resp)
12261	return
12262}
12263
12264// no documentation yet
12265func (r Network_Storage_Iscsi) IsBlockingOperationInProgress(exemptStatusKeyNames []string) (resp bool, err error) {
12266	params := []interface{}{
12267		exemptStatusKeyNames,
12268	}
12269	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "isBlockingOperationInProgress", params, &r.Options, &resp)
12270	return
12271}
12272
12273// This method returns a boolean indicating whether the clone volume is ready for snapshot.
12274func (r Network_Storage_Iscsi) IsDuplicateReadyForSnapshot() (resp bool, err error) {
12275	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "isDuplicateReadyForSnapshot", nil, &r.Options, &resp)
12276	return
12277}
12278
12279// This method returns a boolean indicating whether the clone volume is ready to mount.
12280func (r Network_Storage_Iscsi) IsDuplicateReadyToMount() (resp bool, err error) {
12281	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "isDuplicateReadyToMount", nil, &r.Options, &resp)
12282	return
12283}
12284
12285// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
12286func (r Network_Storage_Iscsi) RemoveAccessFromHardware(hardwareObjectTemplate *datatypes.Hardware) (resp bool, err error) {
12287	params := []interface{}{
12288		hardwareObjectTemplate,
12289	}
12290	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromHardware", params, &r.Options, &resp)
12291	return
12292}
12293
12294// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage volume.
12295func (r Network_Storage_Iscsi) RemoveAccessFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
12296	params := []interface{}{
12297		hardwareObjectTemplates,
12298	}
12299	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromHardwareList", params, &r.Options, &resp)
12300	return
12301}
12302
12303// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
12304func (r Network_Storage_Iscsi) RemoveAccessFromHost(typeClassName *string, hostId *int) (resp datatypes.Network_Storage_Allowed_Host, err error) {
12305	params := []interface{}{
12306		typeClassName,
12307		hostId,
12308	}
12309	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromHost", params, &r.Options, &resp)
12310	return
12311}
12312
12313// This method is used to modify the access control list for this Storage volume.  The [[SoftLayer_Hardware|SoftLayer_Virtual_Guest|SoftLayer_Network_Subnet|SoftLayer_Network_Subnet_IpAddress]] objects which have been allowed access to this storage will be listed in the [[allowedHardware|allowedVirtualGuests|allowedSubnets|allowedIpAddresses]] property of this storage volume.
12314func (r Network_Storage_Iscsi) RemoveAccessFromHostList(hostObjectTemplates []datatypes.Container_Network_Storage_Host) (resp []datatypes.Network_Storage_Allowed_Host, err error) {
12315	params := []interface{}{
12316		hostObjectTemplates,
12317	}
12318	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromHostList", params, &r.Options, &resp)
12319	return
12320}
12321
12322// no documentation yet
12323func (r Network_Storage_Iscsi) RemoveAccessFromIpAddress(ipAddressObjectTemplate *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
12324	params := []interface{}{
12325		ipAddressObjectTemplate,
12326	}
12327	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromIpAddress", params, &r.Options, &resp)
12328	return
12329}
12330
12331// no documentation yet
12332func (r Network_Storage_Iscsi) RemoveAccessFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
12333	params := []interface{}{
12334		ipAddressObjectTemplates,
12335	}
12336	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromIpAddressList", params, &r.Options, &resp)
12337	return
12338}
12339
12340// no documentation yet
12341func (r Network_Storage_Iscsi) RemoveAccessFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
12342	params := []interface{}{
12343		subnetObjectTemplate,
12344	}
12345	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromSubnet", params, &r.Options, &resp)
12346	return
12347}
12348
12349// no documentation yet
12350func (r Network_Storage_Iscsi) RemoveAccessFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
12351	params := []interface{}{
12352		subnetObjectTemplates,
12353	}
12354	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromSubnetList", params, &r.Options, &resp)
12355	return
12356}
12357
12358// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
12359func (r Network_Storage_Iscsi) RemoveAccessFromVirtualGuest(virtualGuestObjectTemplate *datatypes.Virtual_Guest) (resp bool, err error) {
12360	params := []interface{}{
12361		virtualGuestObjectTemplate,
12362	}
12363	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromVirtualGuest", params, &r.Options, &resp)
12364	return
12365}
12366
12367// This method is used to modify the access control list for this Storage volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage volume.
12368func (r Network_Storage_Iscsi) RemoveAccessFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
12369	params := []interface{}{
12370		virtualGuestObjectTemplates,
12371	}
12372	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessFromVirtualGuestList", params, &r.Options, &resp)
12373	return
12374}
12375
12376// This method is used to modify the access control list for this Storage replica volume.  The SoftLayer_Hardware objects which have been allowed access to this storage will be listed in the allowedHardware property of this storage replica volume.
12377func (r Network_Storage_Iscsi) RemoveAccessToReplicantFromHardwareList(hardwareObjectTemplates []datatypes.Hardware) (resp bool, err error) {
12378	params := []interface{}{
12379		hardwareObjectTemplates,
12380	}
12381	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessToReplicantFromHardwareList", params, &r.Options, &resp)
12382	return
12383}
12384
12385// This method is used to modify the access control list for this Storage replica volume.  The SoftLayer_Network_Subnet_IpAddress objects which have been allowed access to this storage will be listed in the allowedIpAddresses property of this storage replica volume.
12386func (r Network_Storage_Iscsi) RemoveAccessToReplicantFromIpAddressList(ipAddressObjectTemplates []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
12387	params := []interface{}{
12388		ipAddressObjectTemplates,
12389	}
12390	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessToReplicantFromIpAddressList", params, &r.Options, &resp)
12391	return
12392}
12393
12394// no documentation yet
12395func (r Network_Storage_Iscsi) RemoveAccessToReplicantFromSubnet(subnetObjectTemplate *datatypes.Network_Subnet) (resp bool, err error) {
12396	params := []interface{}{
12397		subnetObjectTemplate,
12398	}
12399	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessToReplicantFromSubnet", params, &r.Options, &resp)
12400	return
12401}
12402
12403// This method is used to modify the access control list for this Storage volume's replica.  The SoftLayer_Network_Subnet objects which have been allowed access to this storage volume's replica will be listed in the allowedReplicationSubnets property of this storage volume.
12404func (r Network_Storage_Iscsi) RemoveAccessToReplicantFromSubnetList(subnetObjectTemplates []datatypes.Network_Subnet) (resp bool, err error) {
12405	params := []interface{}{
12406		subnetObjectTemplates,
12407	}
12408	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessToReplicantFromSubnetList", params, &r.Options, &resp)
12409	return
12410}
12411
12412// This method is used to modify the access control list for this Storage replica volume.  The SoftLayer_Virtual_Guest objects which have been allowed access to this storage will be listed in the allowedVirtualGuests property of this storage replica volume.
12413func (r Network_Storage_Iscsi) RemoveAccessToReplicantFromVirtualGuestList(virtualGuestObjectTemplates []datatypes.Virtual_Guest) (resp bool, err error) {
12414	params := []interface{}{
12415		virtualGuestObjectTemplates,
12416	}
12417	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeAccessToReplicantFromVirtualGuestList", params, &r.Options, &resp)
12418	return
12419}
12420
12421// This method will remove a credential from the current volume. The credential must have been created using the 'addNewCredential' method.
12422func (r Network_Storage_Iscsi) RemoveCredential(username *string) (resp bool, err error) {
12423	params := []interface{}{
12424		username,
12425	}
12426	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "removeCredential", params, &r.Options, &resp)
12427	return
12428}
12429
12430// {{CloudLayerOnlyMethod}} Restore an individual file so that it may be used as it was before it was deleted.
12431//
12432// If a file is deleted from a Virtual Server Storage account, the file is placed into the account's recycle bin and not permanently deleted. Therefore, restoreFile can be used to place the file back into your Virtual Server account's root directory.
12433func (r Network_Storage_Iscsi) RestoreFile(fileId *string) (resp datatypes.Container_Utility_File_Entity, err error) {
12434	params := []interface{}{
12435		fileId,
12436	}
12437	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "restoreFile", params, &r.Options, &resp)
12438	return
12439}
12440
12441// Restore the volume from a snapshot that was previously taken.
12442func (r Network_Storage_Iscsi) RestoreFromSnapshot(snapshotId *int) (resp bool, err error) {
12443	params := []interface{}{
12444		snapshotId,
12445	}
12446	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "restoreFromSnapshot", params, &r.Options, &resp)
12447	return
12448}
12449
12450// The method will retrieve the password for the StorageLayer or Virtual Server Storage Account and email the password.  The Storage Account passwords will be emailed to the master user.  For Virtual Server Storage, the password will be sent to the email address used as the username.
12451func (r Network_Storage_Iscsi) SendPasswordReminderEmail(username *string) (resp bool, err error) {
12452	params := []interface{}{
12453		username,
12454	}
12455	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "sendPasswordReminderEmail", params, &r.Options, &resp)
12456	return
12457}
12458
12459// Enable or disable the mounting of a Storage volume. When mounting is enabled the Storage volume will be mountable or available for use.
12460//
12461// For Virtual Server volumes, disabling mounting will deny access to the Virtual Server Account, remove published material and deny all file interaction including uploads and downloads.
12462//
12463// Enabling or disabling mounting for Storage volumes is not possible if mounting has been disabled by SoftLayer or a parent account.
12464func (r Network_Storage_Iscsi) SetMountable(mountable *bool) (resp bool, err error) {
12465	params := []interface{}{
12466		mountable,
12467	}
12468	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "setMountable", params, &r.Options, &resp)
12469	return
12470}
12471
12472// no documentation yet
12473func (r Network_Storage_Iscsi) SetSnapshotAllocation(capacityGb *int) (err error) {
12474	var resp datatypes.Void
12475	params := []interface{}{
12476		capacityGb,
12477	}
12478	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "setSnapshotAllocation", params, &r.Options, &resp)
12479	return
12480}
12481
12482// Upgrade the Storage volume to one of the upgradable packages (for example from 10 Gigs of EVault storage to 100 Gigs of EVault storage).
12483func (r Network_Storage_Iscsi) UpgradeVolumeCapacity(itemId *int) (resp bool, err error) {
12484	params := []interface{}{
12485		itemId,
12486	}
12487	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "upgradeVolumeCapacity", params, &r.Options, &resp)
12488	return
12489}
12490
12491// {{CloudLayerOnlyMethod}} Upload a file to a Storage account's root directory. Once uploaded, this method returns new file entity identifier for the upload file.
12492//
12493// The following properties are required in the ''file'' parameter.
12494// *'''name''': The name of the file you wish to upload
12495// *'''content''': The raw contents of the file you wish to upload.
12496// *'''contentType''': The MIME-type of content that you wish to upload.
12497func (r Network_Storage_Iscsi) UploadFile(file *datatypes.Container_Utility_File_Entity) (resp datatypes.Container_Utility_File_Entity, err error) {
12498	params := []interface{}{
12499		file,
12500	}
12501	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi", "uploadFile", params, &r.Options, &resp)
12502	return
12503}
12504
12505// no documentation yet
12506type Network_Storage_Iscsi_OS_Type struct {
12507	Session *session.Session
12508	Options sl.Options
12509}
12510
12511// GetNetworkStorageIscsiOSTypeService returns an instance of the Network_Storage_Iscsi_OS_Type SoftLayer service
12512func GetNetworkStorageIscsiOSTypeService(sess *session.Session) Network_Storage_Iscsi_OS_Type {
12513	return Network_Storage_Iscsi_OS_Type{Session: sess}
12514}
12515
12516func (r Network_Storage_Iscsi_OS_Type) Id(id int) Network_Storage_Iscsi_OS_Type {
12517	r.Options.Id = &id
12518	return r
12519}
12520
12521func (r Network_Storage_Iscsi_OS_Type) Mask(mask string) Network_Storage_Iscsi_OS_Type {
12522	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
12523		mask = fmt.Sprintf("mask[%s]", mask)
12524	}
12525
12526	r.Options.Mask = mask
12527	return r
12528}
12529
12530func (r Network_Storage_Iscsi_OS_Type) Filter(filter string) Network_Storage_Iscsi_OS_Type {
12531	r.Options.Filter = filter
12532	return r
12533}
12534
12535func (r Network_Storage_Iscsi_OS_Type) Limit(limit int) Network_Storage_Iscsi_OS_Type {
12536	r.Options.Limit = &limit
12537	return r
12538}
12539
12540func (r Network_Storage_Iscsi_OS_Type) Offset(offset int) Network_Storage_Iscsi_OS_Type {
12541	r.Options.Offset = &offset
12542	return r
12543}
12544
12545// Use this method to retrieve all iSCSI OS Types.
12546func (r Network_Storage_Iscsi_OS_Type) GetAllObjects() (resp []datatypes.Network_Storage_Iscsi_OS_Type, err error) {
12547	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi_OS_Type", "getAllObjects", nil, &r.Options, &resp)
12548	return
12549}
12550
12551// no documentation yet
12552func (r Network_Storage_Iscsi_OS_Type) GetObject() (resp datatypes.Network_Storage_Iscsi_OS_Type, err error) {
12553	err = r.Session.DoRequest("SoftLayer_Network_Storage_Iscsi_OS_Type", "getObject", nil, &r.Options, &resp)
12554	return
12555}
12556
12557// no documentation yet
12558type Network_Storage_MassDataMigration_CrossRegion_Country_Xref struct {
12559	Session *session.Session
12560	Options sl.Options
12561}
12562
12563// GetNetworkStorageMassDataMigrationCrossRegionCountryXrefService returns an instance of the Network_Storage_MassDataMigration_CrossRegion_Country_Xref SoftLayer service
12564func GetNetworkStorageMassDataMigrationCrossRegionCountryXrefService(sess *session.Session) Network_Storage_MassDataMigration_CrossRegion_Country_Xref {
12565	return Network_Storage_MassDataMigration_CrossRegion_Country_Xref{Session: sess}
12566}
12567
12568func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) Id(id int) Network_Storage_MassDataMigration_CrossRegion_Country_Xref {
12569	r.Options.Id = &id
12570	return r
12571}
12572
12573func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) Mask(mask string) Network_Storage_MassDataMigration_CrossRegion_Country_Xref {
12574	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
12575		mask = fmt.Sprintf("mask[%s]", mask)
12576	}
12577
12578	r.Options.Mask = mask
12579	return r
12580}
12581
12582func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) Filter(filter string) Network_Storage_MassDataMigration_CrossRegion_Country_Xref {
12583	r.Options.Filter = filter
12584	return r
12585}
12586
12587func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) Limit(limit int) Network_Storage_MassDataMigration_CrossRegion_Country_Xref {
12588	r.Options.Limit = &limit
12589	return r
12590}
12591
12592func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) Offset(offset int) Network_Storage_MassDataMigration_CrossRegion_Country_Xref {
12593	r.Options.Offset = &offset
12594	return r
12595}
12596
12597// no documentation yet
12598func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) GetAllObjects() (resp []datatypes.Network_Storage_MassDataMigration_CrossRegion_Country_Xref, err error) {
12599	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_CrossRegion_Country_Xref", "getAllObjects", nil, &r.Options, &resp)
12600	return
12601}
12602
12603// Retrieve SoftLayer_Locale_Country Id.
12604func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) GetCountry() (resp datatypes.Locale_Country, err error) {
12605	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_CrossRegion_Country_Xref", "getCountry", nil, &r.Options, &resp)
12606	return
12607}
12608
12609// Retrieve Location Group ID of CleverSafe cross region.
12610func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) GetLocationGroup() (resp datatypes.Location_Group, err error) {
12611	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_CrossRegion_Country_Xref", "getLocationGroup", nil, &r.Options, &resp)
12612	return
12613}
12614
12615// no documentation yet
12616func (r Network_Storage_MassDataMigration_CrossRegion_Country_Xref) GetObject() (resp datatypes.Network_Storage_MassDataMigration_CrossRegion_Country_Xref, err error) {
12617	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_CrossRegion_Country_Xref", "getObject", nil, &r.Options, &resp)
12618	return
12619}
12620
12621// The SoftLayer_Network_Storage_MassDataMigration_Request data type contains information on a single Mass Data Migration request. Creation of these requests is limited to SoftLayer customers through the SoftLayer Customer Portal.
12622type Network_Storage_MassDataMigration_Request struct {
12623	Session *session.Session
12624	Options sl.Options
12625}
12626
12627// GetNetworkStorageMassDataMigrationRequestService returns an instance of the Network_Storage_MassDataMigration_Request SoftLayer service
12628func GetNetworkStorageMassDataMigrationRequestService(sess *session.Session) Network_Storage_MassDataMigration_Request {
12629	return Network_Storage_MassDataMigration_Request{Session: sess}
12630}
12631
12632func (r Network_Storage_MassDataMigration_Request) Id(id int) Network_Storage_MassDataMigration_Request {
12633	r.Options.Id = &id
12634	return r
12635}
12636
12637func (r Network_Storage_MassDataMigration_Request) Mask(mask string) Network_Storage_MassDataMigration_Request {
12638	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
12639		mask = fmt.Sprintf("mask[%s]", mask)
12640	}
12641
12642	r.Options.Mask = mask
12643	return r
12644}
12645
12646func (r Network_Storage_MassDataMigration_Request) Filter(filter string) Network_Storage_MassDataMigration_Request {
12647	r.Options.Filter = filter
12648	return r
12649}
12650
12651func (r Network_Storage_MassDataMigration_Request) Limit(limit int) Network_Storage_MassDataMigration_Request {
12652	r.Options.Limit = &limit
12653	return r
12654}
12655
12656func (r Network_Storage_MassDataMigration_Request) Offset(offset int) Network_Storage_MassDataMigration_Request {
12657	r.Options.Offset = &offset
12658	return r
12659}
12660
12661// Edit the properties of a Mass Data Migration request record by passing in a modified instance of a SoftLayer_Network_Storage_MassDataMigration_Request object.
12662func (r Network_Storage_MassDataMigration_Request) EditObject(templateObject *datatypes.Network_Storage_MassDataMigration_Request) (resp bool, err error) {
12663	params := []interface{}{
12664		templateObject,
12665	}
12666	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "editObject", params, &r.Options, &resp)
12667	return
12668}
12669
12670// Retrieve The account to which the request belongs.
12671func (r Network_Storage_MassDataMigration_Request) GetAccount() (resp datatypes.Account, err error) {
12672	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getAccount", nil, &r.Options, &resp)
12673	return
12674}
12675
12676// Retrieve The active tickets that are attached to the MDMS request.
12677func (r Network_Storage_MassDataMigration_Request) GetActiveTickets() (resp []datatypes.Ticket, err error) {
12678	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getActiveTickets", nil, &r.Options, &resp)
12679	return
12680}
12681
12682// Retrieve The customer address where the device is shipped to.
12683func (r Network_Storage_MassDataMigration_Request) GetAddress() (resp datatypes.Account_Address, err error) {
12684	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getAddress", nil, &r.Options, &resp)
12685	return
12686}
12687
12688// no documentation yet
12689func (r Network_Storage_MassDataMigration_Request) GetAllObjects() (resp []datatypes.Network_Storage_MassDataMigration_Request, err error) {
12690	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getAllObjects", nil, &r.Options, &resp)
12691	return
12692}
12693
12694// Retrieves a list of all the possible statuses to which a request may be set.
12695func (r Network_Storage_MassDataMigration_Request) GetAllRequestStatuses() (resp []datatypes.Network_Storage_MassDataMigration_Request_Status, err error) {
12696	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getAllRequestStatuses", nil, &r.Options, &resp)
12697	return
12698}
12699
12700// Retrieve An associated parent billing item which is active. Includes billing items which are scheduled to be cancelled in the future.
12701func (r Network_Storage_MassDataMigration_Request) GetBillingItem() (resp datatypes.Billing_Item, err error) {
12702	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getBillingItem", nil, &r.Options, &resp)
12703	return
12704}
12705
12706// Retrieve The employee user who created the request.
12707func (r Network_Storage_MassDataMigration_Request) GetCreateEmployee() (resp datatypes.User_Employee, err error) {
12708	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getCreateEmployee", nil, &r.Options, &resp)
12709	return
12710}
12711
12712// Retrieve The customer user who created the request.
12713func (r Network_Storage_MassDataMigration_Request) GetCreateUser() (resp datatypes.User_Customer, err error) {
12714	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getCreateUser", nil, &r.Options, &resp)
12715	return
12716}
12717
12718// Retrieve The device configurations.
12719func (r Network_Storage_MassDataMigration_Request) GetDeviceConfiguration() (resp datatypes.Network_Storage_MassDataMigration_Request_DeviceConfiguration, err error) {
12720	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getDeviceConfiguration", nil, &r.Options, &resp)
12721	return
12722}
12723
12724// Retrieve The key contacts for this requests.
12725func (r Network_Storage_MassDataMigration_Request) GetKeyContacts() (resp []datatypes.Network_Storage_MassDataMigration_Request_KeyContact, err error) {
12726	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getKeyContacts", nil, &r.Options, &resp)
12727	return
12728}
12729
12730// Retrieve The employee who last modified the request.
12731func (r Network_Storage_MassDataMigration_Request) GetModifyEmployee() (resp datatypes.User_Employee, err error) {
12732	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getModifyEmployee", nil, &r.Options, &resp)
12733	return
12734}
12735
12736// Retrieve The customer user who last modified the request.
12737func (r Network_Storage_MassDataMigration_Request) GetModifyUser() (resp datatypes.User_Customer, err error) {
12738	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getModifyUser", nil, &r.Options, &resp)
12739	return
12740}
12741
12742// no documentation yet
12743func (r Network_Storage_MassDataMigration_Request) GetObject() (resp datatypes.Network_Storage_MassDataMigration_Request, err error) {
12744	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getObject", nil, &r.Options, &resp)
12745	return
12746}
12747
12748// Returns placeholder MDMS requests for any MDMS order pending approval.
12749func (r Network_Storage_MassDataMigration_Request) GetPendingRequests() (resp []datatypes.Network_Storage_MassDataMigration_Request, err error) {
12750	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getPendingRequests", nil, &r.Options, &resp)
12751	return
12752}
12753
12754// Retrieve The shipments of the request.
12755func (r Network_Storage_MassDataMigration_Request) GetShipments() (resp []datatypes.Account_Shipment, err error) {
12756	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getShipments", nil, &r.Options, &resp)
12757	return
12758}
12759
12760// Retrieve The status of the request.
12761func (r Network_Storage_MassDataMigration_Request) GetStatus() (resp datatypes.Network_Storage_MassDataMigration_Request_Status, err error) {
12762	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getStatus", nil, &r.Options, &resp)
12763	return
12764}
12765
12766// Retrieve Ticket that is attached to this mass data migration request.
12767func (r Network_Storage_MassDataMigration_Request) GetTicket() (resp datatypes.Ticket, err error) {
12768	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getTicket", nil, &r.Options, &resp)
12769	return
12770}
12771
12772// Retrieve All tickets that are attached to the mass data migration request.
12773func (r Network_Storage_MassDataMigration_Request) GetTickets() (resp []datatypes.Ticket, err error) {
12774	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request", "getTickets", nil, &r.Options, &resp)
12775	return
12776}
12777
12778// The SoftLayer_Network_Storage_MassDataMigration_Request_KeyContact data type contains name, email, and phone for key contact at customer location who will handle Mass Data Migration.
12779type Network_Storage_MassDataMigration_Request_KeyContact struct {
12780	Session *session.Session
12781	Options sl.Options
12782}
12783
12784// GetNetworkStorageMassDataMigrationRequestKeyContactService returns an instance of the Network_Storage_MassDataMigration_Request_KeyContact SoftLayer service
12785func GetNetworkStorageMassDataMigrationRequestKeyContactService(sess *session.Session) Network_Storage_MassDataMigration_Request_KeyContact {
12786	return Network_Storage_MassDataMigration_Request_KeyContact{Session: sess}
12787}
12788
12789func (r Network_Storage_MassDataMigration_Request_KeyContact) Id(id int) Network_Storage_MassDataMigration_Request_KeyContact {
12790	r.Options.Id = &id
12791	return r
12792}
12793
12794func (r Network_Storage_MassDataMigration_Request_KeyContact) Mask(mask string) Network_Storage_MassDataMigration_Request_KeyContact {
12795	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
12796		mask = fmt.Sprintf("mask[%s]", mask)
12797	}
12798
12799	r.Options.Mask = mask
12800	return r
12801}
12802
12803func (r Network_Storage_MassDataMigration_Request_KeyContact) Filter(filter string) Network_Storage_MassDataMigration_Request_KeyContact {
12804	r.Options.Filter = filter
12805	return r
12806}
12807
12808func (r Network_Storage_MassDataMigration_Request_KeyContact) Limit(limit int) Network_Storage_MassDataMigration_Request_KeyContact {
12809	r.Options.Limit = &limit
12810	return r
12811}
12812
12813func (r Network_Storage_MassDataMigration_Request_KeyContact) Offset(offset int) Network_Storage_MassDataMigration_Request_KeyContact {
12814	r.Options.Offset = &offset
12815	return r
12816}
12817
12818// Retrieve The request this key contact belongs to.
12819func (r Network_Storage_MassDataMigration_Request_KeyContact) GetAccount() (resp datatypes.Account, err error) {
12820	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request_KeyContact", "getAccount", nil, &r.Options, &resp)
12821	return
12822}
12823
12824// no documentation yet
12825func (r Network_Storage_MassDataMigration_Request_KeyContact) GetObject() (resp datatypes.Network_Storage_MassDataMigration_Request_KeyContact, err error) {
12826	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request_KeyContact", "getObject", nil, &r.Options, &resp)
12827	return
12828}
12829
12830// Retrieve The request this key contact belongs to.
12831func (r Network_Storage_MassDataMigration_Request_KeyContact) GetRequest() (resp datatypes.Network_Storage_MassDataMigration_Request, err error) {
12832	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request_KeyContact", "getRequest", nil, &r.Options, &resp)
12833	return
12834}
12835
12836// The SoftLayer_Network_Storage_MassDataMigration_Request_Status data type contains general information relating to the statuses to which a Mass Data Migration Request may be set.
12837type Network_Storage_MassDataMigration_Request_Status struct {
12838	Session *session.Session
12839	Options sl.Options
12840}
12841
12842// GetNetworkStorageMassDataMigrationRequestStatusService returns an instance of the Network_Storage_MassDataMigration_Request_Status SoftLayer service
12843func GetNetworkStorageMassDataMigrationRequestStatusService(sess *session.Session) Network_Storage_MassDataMigration_Request_Status {
12844	return Network_Storage_MassDataMigration_Request_Status{Session: sess}
12845}
12846
12847func (r Network_Storage_MassDataMigration_Request_Status) Id(id int) Network_Storage_MassDataMigration_Request_Status {
12848	r.Options.Id = &id
12849	return r
12850}
12851
12852func (r Network_Storage_MassDataMigration_Request_Status) Mask(mask string) Network_Storage_MassDataMigration_Request_Status {
12853	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
12854		mask = fmt.Sprintf("mask[%s]", mask)
12855	}
12856
12857	r.Options.Mask = mask
12858	return r
12859}
12860
12861func (r Network_Storage_MassDataMigration_Request_Status) Filter(filter string) Network_Storage_MassDataMigration_Request_Status {
12862	r.Options.Filter = filter
12863	return r
12864}
12865
12866func (r Network_Storage_MassDataMigration_Request_Status) Limit(limit int) Network_Storage_MassDataMigration_Request_Status {
12867	r.Options.Limit = &limit
12868	return r
12869}
12870
12871func (r Network_Storage_MassDataMigration_Request_Status) Offset(offset int) Network_Storage_MassDataMigration_Request_Status {
12872	r.Options.Offset = &offset
12873	return r
12874}
12875
12876// no documentation yet
12877func (r Network_Storage_MassDataMigration_Request_Status) GetObject() (resp datatypes.Network_Storage_MassDataMigration_Request_Status, err error) {
12878	err = r.Session.DoRequest("SoftLayer_Network_Storage_MassDataMigration_Request_Status", "getObject", nil, &r.Options, &resp)
12879	return
12880}
12881
12882// Schedules can be created for select Storage services, such as iscsi. These schedules are used to perform various tasks such as scheduling snapshots or synchronizing replicants.
12883type Network_Storage_Schedule struct {
12884	Session *session.Session
12885	Options sl.Options
12886}
12887
12888// GetNetworkStorageScheduleService returns an instance of the Network_Storage_Schedule SoftLayer service
12889func GetNetworkStorageScheduleService(sess *session.Session) Network_Storage_Schedule {
12890	return Network_Storage_Schedule{Session: sess}
12891}
12892
12893func (r Network_Storage_Schedule) Id(id int) Network_Storage_Schedule {
12894	r.Options.Id = &id
12895	return r
12896}
12897
12898func (r Network_Storage_Schedule) Mask(mask string) Network_Storage_Schedule {
12899	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
12900		mask = fmt.Sprintf("mask[%s]", mask)
12901	}
12902
12903	r.Options.Mask = mask
12904	return r
12905}
12906
12907func (r Network_Storage_Schedule) Filter(filter string) Network_Storage_Schedule {
12908	r.Options.Filter = filter
12909	return r
12910}
12911
12912func (r Network_Storage_Schedule) Limit(limit int) Network_Storage_Schedule {
12913	r.Options.Limit = &limit
12914	return r
12915}
12916
12917func (r Network_Storage_Schedule) Offset(offset int) Network_Storage_Schedule {
12918	r.Options.Offset = &offset
12919	return r
12920}
12921
12922// Create a nas volume schedule
12923func (r Network_Storage_Schedule) CreateObject(templateObject *datatypes.Network_Storage_Schedule) (resp datatypes.Network_Storage_Schedule, err error) {
12924	params := []interface{}{
12925		templateObject,
12926	}
12927	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "createObject", params, &r.Options, &resp)
12928	return
12929}
12930
12931// Delete a network storage schedule. '''This cannot be undone.''' ''deleteObject'' returns Boolean ''true'' on successful deletion or ''false'' if it was unable to remove a schedule;
12932func (r Network_Storage_Schedule) DeleteObject() (resp bool, err error) {
12933	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "deleteObject", nil, &r.Options, &resp)
12934	return
12935}
12936
12937// Edit a nas volume schedule
12938func (r Network_Storage_Schedule) EditObject(templateObject *datatypes.Network_Storage_Schedule) (resp bool, err error) {
12939	params := []interface{}{
12940		templateObject,
12941	}
12942	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "editObject", params, &r.Options, &resp)
12943	return
12944}
12945
12946// Retrieve The hour parameter of this schedule.
12947func (r Network_Storage_Schedule) GetDay() (resp string, err error) {
12948	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getDay", nil, &r.Options, &resp)
12949	return
12950}
12951
12952// Retrieve The day of the month parameter of this schedule.
12953func (r Network_Storage_Schedule) GetDayOfMonth() (resp string, err error) {
12954	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getDayOfMonth", nil, &r.Options, &resp)
12955	return
12956}
12957
12958// Retrieve The day of the week parameter of this schedule.
12959func (r Network_Storage_Schedule) GetDayOfWeek() (resp string, err error) {
12960	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getDayOfWeek", nil, &r.Options, &resp)
12961	return
12962}
12963
12964// Retrieve Events which have been created as the result of a schedule execution.
12965func (r Network_Storage_Schedule) GetEvents() (resp []datatypes.Network_Storage_Event, err error) {
12966	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getEvents", nil, &r.Options, &resp)
12967	return
12968}
12969
12970// Retrieve The hour parameter of this schedule.
12971func (r Network_Storage_Schedule) GetHour() (resp string, err error) {
12972	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getHour", nil, &r.Options, &resp)
12973	return
12974}
12975
12976// Retrieve The minute parameter of this schedule.
12977func (r Network_Storage_Schedule) GetMinute() (resp string, err error) {
12978	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getMinute", nil, &r.Options, &resp)
12979	return
12980}
12981
12982// Retrieve The month of the year parameter of this schedule.
12983func (r Network_Storage_Schedule) GetMonthOfYear() (resp string, err error) {
12984	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getMonthOfYear", nil, &r.Options, &resp)
12985	return
12986}
12987
12988// no documentation yet
12989func (r Network_Storage_Schedule) GetObject() (resp datatypes.Network_Storage_Schedule, err error) {
12990	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getObject", nil, &r.Options, &resp)
12991	return
12992}
12993
12994// Retrieve The associated partnership for a schedule.
12995func (r Network_Storage_Schedule) GetPartnership() (resp datatypes.Network_Storage_Partnership, err error) {
12996	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getPartnership", nil, &r.Options, &resp)
12997	return
12998}
12999
13000// Retrieve Properties used for configuration of a schedule.
13001func (r Network_Storage_Schedule) GetProperties() (resp []datatypes.Network_Storage_Schedule_Property, err error) {
13002	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getProperties", nil, &r.Options, &resp)
13003	return
13004}
13005
13006// Retrieve Replica snapshots which have been created as the result of this schedule's execution.
13007func (r Network_Storage_Schedule) GetReplicaSnapshots() (resp []datatypes.Network_Storage, err error) {
13008	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getReplicaSnapshots", nil, &r.Options, &resp)
13009	return
13010}
13011
13012// Retrieve The number of snapshots this schedule is configured to retain.
13013func (r Network_Storage_Schedule) GetRetentionCount() (resp string, err error) {
13014	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getRetentionCount", nil, &r.Options, &resp)
13015	return
13016}
13017
13018// Retrieve The minute parameter of this schedule.
13019func (r Network_Storage_Schedule) GetSecond() (resp string, err error) {
13020	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getSecond", nil, &r.Options, &resp)
13021	return
13022}
13023
13024// Retrieve Snapshots which have been created as the result of this schedule's execution.
13025func (r Network_Storage_Schedule) GetSnapshots() (resp []datatypes.Network_Storage, err error) {
13026	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getSnapshots", nil, &r.Options, &resp)
13027	return
13028}
13029
13030// Retrieve The type provides a standardized definition for a schedule.
13031func (r Network_Storage_Schedule) GetType() (resp datatypes.Network_Storage_Schedule_Type, err error) {
13032	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getType", nil, &r.Options, &resp)
13033	return
13034}
13035
13036// Retrieve The associated volume for a schedule.
13037func (r Network_Storage_Schedule) GetVolume() (resp datatypes.Network_Storage, err error) {
13038	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule", "getVolume", nil, &r.Options, &resp)
13039	return
13040}
13041
13042// A schedule property type is used to allow for a standardized method of defining network storage schedules.
13043type Network_Storage_Schedule_Property_Type struct {
13044	Session *session.Session
13045	Options sl.Options
13046}
13047
13048// GetNetworkStorageSchedulePropertyTypeService returns an instance of the Network_Storage_Schedule_Property_Type SoftLayer service
13049func GetNetworkStorageSchedulePropertyTypeService(sess *session.Session) Network_Storage_Schedule_Property_Type {
13050	return Network_Storage_Schedule_Property_Type{Session: sess}
13051}
13052
13053func (r Network_Storage_Schedule_Property_Type) Id(id int) Network_Storage_Schedule_Property_Type {
13054	r.Options.Id = &id
13055	return r
13056}
13057
13058func (r Network_Storage_Schedule_Property_Type) Mask(mask string) Network_Storage_Schedule_Property_Type {
13059	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
13060		mask = fmt.Sprintf("mask[%s]", mask)
13061	}
13062
13063	r.Options.Mask = mask
13064	return r
13065}
13066
13067func (r Network_Storage_Schedule_Property_Type) Filter(filter string) Network_Storage_Schedule_Property_Type {
13068	r.Options.Filter = filter
13069	return r
13070}
13071
13072func (r Network_Storage_Schedule_Property_Type) Limit(limit int) Network_Storage_Schedule_Property_Type {
13073	r.Options.Limit = &limit
13074	return r
13075}
13076
13077func (r Network_Storage_Schedule_Property_Type) Offset(offset int) Network_Storage_Schedule_Property_Type {
13078	r.Options.Offset = &offset
13079	return r
13080}
13081
13082// Use this method to retrieve all network storage schedule property types.
13083func (r Network_Storage_Schedule_Property_Type) GetAllObjects() (resp []datatypes.Network_Storage_Schedule_Property_Type, err error) {
13084	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule_Property_Type", "getAllObjects", nil, &r.Options, &resp)
13085	return
13086}
13087
13088// no documentation yet
13089func (r Network_Storage_Schedule_Property_Type) GetObject() (resp datatypes.Network_Storage_Schedule_Property_Type, err error) {
13090	err = r.Session.DoRequest("SoftLayer_Network_Storage_Schedule_Property_Type", "getObject", nil, &r.Options, &resp)
13091	return
13092}
13093
13094// The SoftLayer_Network_Subnet data type contains general information relating to a single SoftLayer subnet. Personal information in this type such as names, addresses, and phone numbers are assigned to the account only and not to users belonging to the account.
13095type Network_Subnet struct {
13096	Session *session.Session
13097	Options sl.Options
13098}
13099
13100// GetNetworkSubnetService returns an instance of the Network_Subnet SoftLayer service
13101func GetNetworkSubnetService(sess *session.Session) Network_Subnet {
13102	return Network_Subnet{Session: sess}
13103}
13104
13105func (r Network_Subnet) Id(id int) Network_Subnet {
13106	r.Options.Id = &id
13107	return r
13108}
13109
13110func (r Network_Subnet) Mask(mask string) Network_Subnet {
13111	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
13112		mask = fmt.Sprintf("mask[%s]", mask)
13113	}
13114
13115	r.Options.Mask = mask
13116	return r
13117}
13118
13119func (r Network_Subnet) Filter(filter string) Network_Subnet {
13120	r.Options.Filter = filter
13121	return r
13122}
13123
13124func (r Network_Subnet) Limit(limit int) Network_Subnet {
13125	r.Options.Limit = &limit
13126	return r
13127}
13128
13129func (r Network_Subnet) Offset(offset int) Network_Subnet {
13130	r.Options.Offset = &offset
13131	return r
13132}
13133
13134// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
13135func (r Network_Subnet) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
13136	params := []interface{}{
13137		networkStorageTemplateObject,
13138	}
13139	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "allowAccessToNetworkStorage", params, &r.Options, &resp)
13140	return
13141}
13142
13143// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
13144func (r Network_Subnet) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
13145	params := []interface{}{
13146		networkStorageTemplateObjects,
13147	}
13148	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
13149	return
13150}
13151
13152// Create the default PTR records for this subnet
13153func (r Network_Subnet) CreateReverseDomainRecords() (resp datatypes.Dns_Domain_Reverse, err error) {
13154	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "createReverseDomainRecords", nil, &r.Options, &resp)
13155	return
13156}
13157
13158// This function is used to create a new transaction to modify a subnet route. Routes are updated in one to two minutes depending on the number of transactions that are pending for a router.
13159//
13160// Usage of this function is restricted and may only be called from authorized accounts. It is not available for general API users without justification and consent from a SoftLayer representative.
13161func (r Network_Subnet) CreateSubnetRouteUpdateTransaction(newEndPointIpAddress *string) (resp bool, err error) {
13162	params := []interface{}{
13163		newEndPointIpAddress,
13164	}
13165	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "createSubnetRouteUpdateTransaction", params, &r.Options, &resp)
13166	return
13167}
13168
13169// This function is used to create a new SoftLayer SWIP transaction to register your RWHOIS data with ARIN. SWIP transactions can only be initiated on subnets that contain more than 8 IP addresses.
13170func (r Network_Subnet) CreateSwipTransaction() (resp bool, err error) {
13171	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "createSwipTransaction", nil, &r.Options, &resp)
13172	return
13173}
13174
13175// Edit the note for this subnet.
13176func (r Network_Subnet) EditNote(note *string) (resp bool, err error) {
13177	params := []interface{}{
13178		note,
13179	}
13180	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "editNote", params, &r.Options, &resp)
13181	return
13182}
13183
13184// Retrieve a list of a SoftLayer customer's subnets along with their SWIP transaction statuses. This is a shortcut method that combines the SoftLayer_Network_Subnet retrieval methods along with [[object masks]] to retrieve their subnets' associated SWIP transactions as well.
13185//
13186// This is a special function built for SoftLayer's use on the SWIP section of the customer portal, but may also be useful for API users looking for the same data.
13187func (r Network_Subnet) FindAllSubnetsAndActiveSwipTransactionStatus() (resp []datatypes.Network_Subnet, err error) {
13188	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "findAllSubnetsAndActiveSwipTransactionStatus", nil, &r.Options, &resp)
13189	return
13190}
13191
13192// Retrieve
13193func (r Network_Subnet) GetAccount() (resp datatypes.Account, err error) {
13194	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getAccount", nil, &r.Options, &resp)
13195	return
13196}
13197
13198// Retrieve If present, the active registration for this subnet.
13199func (r Network_Subnet) GetActiveRegistration() (resp datatypes.Network_Subnet_Registration, err error) {
13200	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getActiveRegistration", nil, &r.Options, &resp)
13201	return
13202}
13203
13204// Retrieve All the swip transactions associated with a subnet that are still active.
13205func (r Network_Subnet) GetActiveSwipTransaction() (resp datatypes.Network_Subnet_Swip_Transaction, err error) {
13206	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getActiveSwipTransaction", nil, &r.Options, &resp)
13207	return
13208}
13209
13210// Retrieve The billing item for a subnet.
13211func (r Network_Subnet) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
13212	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getActiveTransaction", nil, &r.Options, &resp)
13213	return
13214}
13215
13216// Retrieve Identifier which distinguishes whether the subnet is public or private address space.
13217func (r Network_Subnet) GetAddressSpace() (resp string, err error) {
13218	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getAddressSpace", nil, &r.Options, &resp)
13219	return
13220}
13221
13222// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this Subnet to Network Storage supporting access control lists.
13223func (r Network_Subnet) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
13224	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getAllowedHost", nil, &r.Options, &resp)
13225	return
13226}
13227
13228// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
13229func (r Network_Subnet) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
13230	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getAllowedNetworkStorage", nil, &r.Options, &resp)
13231	return
13232}
13233
13234// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
13235func (r Network_Subnet) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
13236	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
13237	return
13238}
13239
13240// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Network_Subnet.
13241func (r Network_Subnet) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
13242	params := []interface{}{
13243		nasType,
13244	}
13245	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getAttachedNetworkStorages", params, &r.Options, &resp)
13246	return
13247}
13248
13249// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Network_Subnet.
13250func (r Network_Subnet) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
13251	params := []interface{}{
13252		nasType,
13253	}
13254	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getAvailableNetworkStorages", params, &r.Options, &resp)
13255	return
13256}
13257
13258// Retrieve The billing item for a subnet.
13259func (r Network_Subnet) GetBillingItem() (resp datatypes.Billing_Item, err error) {
13260	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getBillingItem", nil, &r.Options, &resp)
13261	return
13262}
13263
13264// Retrieve
13265func (r Network_Subnet) GetBoundDescendants() (resp []datatypes.Network_Subnet, err error) {
13266	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getBoundDescendants", nil, &r.Options, &resp)
13267	return
13268}
13269
13270// Retrieve Whether or not this subnet is associated with a router. Subnets that are not associated with a router cannot be routed.
13271func (r Network_Subnet) GetBoundRouterFlag() (resp bool, err error) {
13272	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getBoundRouterFlag", nil, &r.Options, &resp)
13273	return
13274}
13275
13276// Retrieve
13277func (r Network_Subnet) GetBoundRouters() (resp []datatypes.Hardware, err error) {
13278	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getBoundRouters", nil, &r.Options, &resp)
13279	return
13280}
13281
13282// Retrieve
13283func (r Network_Subnet) GetChildren() (resp []datatypes.Network_Subnet, err error) {
13284	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getChildren", nil, &r.Options, &resp)
13285	return
13286}
13287
13288// Retrieve The data center this subnet may be routed within.
13289func (r Network_Subnet) GetDatacenter() (resp datatypes.Location_Datacenter, err error) {
13290	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getDatacenter", nil, &r.Options, &resp)
13291	return
13292}
13293
13294// Retrieve
13295func (r Network_Subnet) GetDescendants() (resp []datatypes.Network_Subnet, err error) {
13296	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getDescendants", nil, &r.Options, &resp)
13297	return
13298}
13299
13300// Retrieve
13301func (r Network_Subnet) GetDisplayLabel() (resp string, err error) {
13302	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getDisplayLabel", nil, &r.Options, &resp)
13303	return
13304}
13305
13306// Retrieve A static routed ip address
13307func (r Network_Subnet) GetEndPointIpAddress() (resp datatypes.Network_Subnet_IpAddress, err error) {
13308	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getEndPointIpAddress", nil, &r.Options, &resp)
13309	return
13310}
13311
13312// Retrieve
13313func (r Network_Subnet) GetGlobalIpRecord() (resp datatypes.Network_Subnet_IpAddress_Global, err error) {
13314	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getGlobalIpRecord", nil, &r.Options, &resp)
13315	return
13316}
13317
13318// Retrieve The hardware using IP addresses on this subnet.
13319func (r Network_Subnet) GetHardware() (resp []datatypes.Hardware, err error) {
13320	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getHardware", nil, &r.Options, &resp)
13321	return
13322}
13323
13324// Retrieve All the ip addresses associated with a subnet.
13325func (r Network_Subnet) GetIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
13326	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getIpAddresses", nil, &r.Options, &resp)
13327	return
13328}
13329
13330// Retrieve The upstream network component firewall.
13331func (r Network_Subnet) GetNetworkComponentFirewall() (resp datatypes.Network_Component_Firewall, err error) {
13332	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getNetworkComponentFirewall", nil, &r.Options, &resp)
13333	return
13334}
13335
13336// Retrieve The Private Network identifier this subnet is within, if applicable.
13337func (r Network_Subnet) GetNetworkId() (resp int, err error) {
13338	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getNetworkId", nil, &r.Options, &resp)
13339	return
13340}
13341
13342// Retrieve
13343func (r Network_Subnet) GetNetworkProtectionAddresses() (resp []datatypes.Network_Protection_Address, err error) {
13344	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getNetworkProtectionAddresses", nil, &r.Options, &resp)
13345	return
13346}
13347
13348// Retrieve IPSec network tunnels that have access to a private subnet.
13349func (r Network_Subnet) GetNetworkTunnelContexts() (resp []datatypes.Network_Tunnel_Module_Context, err error) {
13350	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getNetworkTunnelContexts", nil, &r.Options, &resp)
13351	return
13352}
13353
13354// Retrieve The VLAN object that a subnet is associated with.
13355func (r Network_Subnet) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
13356	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getNetworkVlan", nil, &r.Options, &resp)
13357	return
13358}
13359
13360// getObject retrieves the SoftLayer_Network_Subnet object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Subnet service. You can only retrieve the subnet whose vlan is associated with the account that you portal user is assigned to.
13361func (r Network_Subnet) GetObject() (resp datatypes.Network_Subnet, err error) {
13362	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getObject", nil, &r.Options, &resp)
13363	return
13364}
13365
13366// Retrieve The pod in which this subnet resides.
13367func (r Network_Subnet) GetPodName() (resp string, err error) {
13368	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getPodName", nil, &r.Options, &resp)
13369	return
13370}
13371
13372// Retrieve
13373func (r Network_Subnet) GetProtectedIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
13374	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getProtectedIpAddresses", nil, &r.Options, &resp)
13375	return
13376}
13377
13378// Retrieve
13379func (r Network_Subnet) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
13380	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getRegionalInternetRegistry", nil, &r.Options, &resp)
13381	return
13382}
13383
13384// Retrieve All registrations that have been created for this subnet.
13385func (r Network_Subnet) GetRegistrations() (resp []datatypes.Network_Subnet_Registration, err error) {
13386	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getRegistrations", nil, &r.Options, &resp)
13387	return
13388}
13389
13390// Retrieve The reverse DNS domain associated with this subnet.
13391func (r Network_Subnet) GetReverseDomain() (resp datatypes.Dns_Domain, err error) {
13392	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getReverseDomain", nil, &r.Options, &resp)
13393	return
13394}
13395
13396// Retrieve all reverse DNS records associated with a subnet.
13397func (r Network_Subnet) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
13398	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getReverseDomainRecords", nil, &r.Options, &resp)
13399	return
13400}
13401
13402// Retrieve An identifier of the role the subnet is within. Roles dictate how a subnet may be used.
13403func (r Network_Subnet) GetRoleKeyName() (resp string, err error) {
13404	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getRoleKeyName", nil, &r.Options, &resp)
13405	return
13406}
13407
13408// Retrieve The name of the role the subnet is within. Roles dictate how a subnet may be used.
13409func (r Network_Subnet) GetRoleName() (resp string, err error) {
13410	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getRoleName", nil, &r.Options, &resp)
13411	return
13412}
13413
13414// getRoutableEndpointAddresses retrieves valid routable endpoint addresses for a subnet. You may use any IP address in a portable subnet, but may not use the network identifier, gateway, or broadcast address for primary and secondary on VLAN subnets.
13415func (r Network_Subnet) GetRoutableEndpointIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
13416	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getRoutableEndpointIpAddresses", nil, &r.Options, &resp)
13417	return
13418}
13419
13420// Retrieve The identifier for the type of route then subnet is currently configured for.
13421func (r Network_Subnet) GetRoutingTypeKeyName() (resp string, err error) {
13422	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getRoutingTypeKeyName", nil, &r.Options, &resp)
13423	return
13424}
13425
13426// Retrieve The name for the type of route then subnet is currently configured for.
13427func (r Network_Subnet) GetRoutingTypeName() (resp string, err error) {
13428	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getRoutingTypeName", nil, &r.Options, &resp)
13429	return
13430}
13431
13432// Retrieve the subnet associated with an IP address. You may only retrieve subnets assigned to your SoftLayer customer account.
13433func (r Network_Subnet) GetSubnetForIpAddress(ipAddress *string) (resp datatypes.Network_Subnet, err error) {
13434	params := []interface{}{
13435		ipAddress,
13436	}
13437	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getSubnetForIpAddress", params, &r.Options, &resp)
13438	return
13439}
13440
13441// Retrieve All the swip transactions associated with a subnet.
13442func (r Network_Subnet) GetSwipTransaction() (resp []datatypes.Network_Subnet_Swip_Transaction, err error) {
13443	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getSwipTransaction", nil, &r.Options, &resp)
13444	return
13445}
13446
13447// Retrieve
13448func (r Network_Subnet) GetUnboundDescendants() (resp []datatypes.Network_Subnet, err error) {
13449	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getUnboundDescendants", nil, &r.Options, &resp)
13450	return
13451}
13452
13453// Retrieve Provides the total number of utilized IP addresses on this subnet. The primary consumer of IP addresses are compute resources, which can consume more than one address. This value is only supported for primary subnet types.
13454func (r Network_Subnet) GetUtilizedIpAddressCount() (resp uint, err error) {
13455	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getUtilizedIpAddressCount", nil, &r.Options, &resp)
13456	return
13457}
13458
13459// Retrieve The Virtual Servers using IP addresses on this subnet.
13460func (r Network_Subnet) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
13461	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "getVirtualGuests", nil, &r.Options, &resp)
13462	return
13463}
13464
13465// This method is used to remove access to multiple SoftLayer_Network_Storage volumes
13466func (r Network_Subnet) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
13467	params := []interface{}{
13468		networkStorageTemplateObjects,
13469	}
13470	err = r.Session.DoRequest("SoftLayer_Network_Subnet", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
13471	return
13472}
13473
13474// The SoftLayer_Network_Subnet_IpAddress data type contains general information relating to a single SoftLayer IPv4 address.
13475type Network_Subnet_IpAddress struct {
13476	Session *session.Session
13477	Options sl.Options
13478}
13479
13480// GetNetworkSubnetIpAddressService returns an instance of the Network_Subnet_IpAddress SoftLayer service
13481func GetNetworkSubnetIpAddressService(sess *session.Session) Network_Subnet_IpAddress {
13482	return Network_Subnet_IpAddress{Session: sess}
13483}
13484
13485func (r Network_Subnet_IpAddress) Id(id int) Network_Subnet_IpAddress {
13486	r.Options.Id = &id
13487	return r
13488}
13489
13490func (r Network_Subnet_IpAddress) Mask(mask string) Network_Subnet_IpAddress {
13491	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
13492		mask = fmt.Sprintf("mask[%s]", mask)
13493	}
13494
13495	r.Options.Mask = mask
13496	return r
13497}
13498
13499func (r Network_Subnet_IpAddress) Filter(filter string) Network_Subnet_IpAddress {
13500	r.Options.Filter = filter
13501	return r
13502}
13503
13504func (r Network_Subnet_IpAddress) Limit(limit int) Network_Subnet_IpAddress {
13505	r.Options.Limit = &limit
13506	return r
13507}
13508
13509func (r Network_Subnet_IpAddress) Offset(offset int) Network_Subnet_IpAddress {
13510	r.Options.Offset = &offset
13511	return r
13512}
13513
13514// This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
13515func (r Network_Subnet_IpAddress) AllowAccessToNetworkStorage(networkStorageTemplateObject *datatypes.Network_Storage) (resp bool, err error) {
13516	params := []interface{}{
13517		networkStorageTemplateObject,
13518	}
13519	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "allowAccessToNetworkStorage", params, &r.Options, &resp)
13520	return
13521}
13522
13523// This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
13524func (r Network_Subnet_IpAddress) AllowAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
13525	params := []interface{}{
13526		networkStorageTemplateObjects,
13527	}
13528	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "allowAccessToNetworkStorageList", params, &r.Options, &resp)
13529	return
13530}
13531
13532// Edit a subnet IP address.
13533func (r Network_Subnet_IpAddress) EditObject(templateObject *datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
13534	params := []interface{}{
13535		templateObject,
13536	}
13537	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "editObject", params, &r.Options, &resp)
13538	return
13539}
13540
13541// This function is used to edit multiple objects at the same time.
13542func (r Network_Subnet_IpAddress) EditObjects(templateObjects []datatypes.Network_Subnet_IpAddress) (resp bool, err error) {
13543	params := []interface{}{
13544		templateObjects,
13545	}
13546	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "editObjects", params, &r.Options, &resp)
13547	return
13548}
13549
13550// Search for an IP address record by IPv4 address.
13551func (r Network_Subnet_IpAddress) FindByIpv4Address(ipAddress *string) (resp datatypes.Network_Subnet_IpAddress, err error) {
13552	params := []interface{}{
13553		ipAddress,
13554	}
13555	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "findByIpv4Address", params, &r.Options, &resp)
13556	return
13557}
13558
13559// Retrieve The SoftLayer_Network_Storage_Allowed_Host information to connect this IP Address to Network Storage supporting access control lists.
13560func (r Network_Subnet_IpAddress) GetAllowedHost() (resp datatypes.Network_Storage_Allowed_Host, err error) {
13561	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getAllowedHost", nil, &r.Options, &resp)
13562	return
13563}
13564
13565// Retrieve The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
13566func (r Network_Subnet_IpAddress) GetAllowedNetworkStorage() (resp []datatypes.Network_Storage, err error) {
13567	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getAllowedNetworkStorage", nil, &r.Options, &resp)
13568	return
13569}
13570
13571// Retrieve The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
13572func (r Network_Subnet_IpAddress) GetAllowedNetworkStorageReplicas() (resp []datatypes.Network_Storage, err error) {
13573	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getAllowedNetworkStorageReplicas", nil, &r.Options, &resp)
13574	return
13575}
13576
13577// Retrieve The application delivery controller using this address.
13578func (r Network_Subnet_IpAddress) GetApplicationDeliveryController() (resp datatypes.Network_Application_Delivery_Controller, err error) {
13579	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getApplicationDeliveryController", nil, &r.Options, &resp)
13580	return
13581}
13582
13583// This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Network_Subnet_IpAddress.
13584func (r Network_Subnet_IpAddress) GetAttachedNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
13585	params := []interface{}{
13586		nasType,
13587	}
13588	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getAttachedNetworkStorages", params, &r.Options, &resp)
13589	return
13590}
13591
13592// This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Network_Subnet_IpAddress.
13593func (r Network_Subnet_IpAddress) GetAvailableNetworkStorages(nasType *string) (resp []datatypes.Network_Storage, err error) {
13594	params := []interface{}{
13595		nasType,
13596	}
13597	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getAvailableNetworkStorages", params, &r.Options, &resp)
13598	return
13599}
13600
13601// Search for an IP address record by IP address.
13602func (r Network_Subnet_IpAddress) GetByIpAddress(ipAddress *string) (resp datatypes.Network_Subnet_IpAddress, err error) {
13603	params := []interface{}{
13604		ipAddress,
13605	}
13606	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getByIpAddress", params, &r.Options, &resp)
13607	return
13608}
13609
13610// Retrieve An IPSec network tunnel's address translations. These translations use a SoftLayer ip address from an assigned static NAT subnet to deliver the packets to the remote (customer) destination.
13611func (r Network_Subnet_IpAddress) GetContextTunnelTranslations() (resp []datatypes.Network_Tunnel_Module_Context_Address_Translation, err error) {
13612	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getContextTunnelTranslations", nil, &r.Options, &resp)
13613	return
13614}
13615
13616// Retrieve All the subnets routed to an IP address.
13617func (r Network_Subnet_IpAddress) GetEndpointSubnets() (resp []datatypes.Network_Subnet, err error) {
13618	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getEndpointSubnets", nil, &r.Options, &resp)
13619	return
13620}
13621
13622// Retrieve A network component that is statically routed to an IP address.
13623func (r Network_Subnet_IpAddress) GetGuestNetworkComponent() (resp datatypes.Virtual_Guest_Network_Component, err error) {
13624	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getGuestNetworkComponent", nil, &r.Options, &resp)
13625	return
13626}
13627
13628// Retrieve A network component that is statically routed to an IP address.
13629func (r Network_Subnet_IpAddress) GetGuestNetworkComponentBinding() (resp datatypes.Virtual_Guest_Network_Component_IpAddress, err error) {
13630	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getGuestNetworkComponentBinding", nil, &r.Options, &resp)
13631	return
13632}
13633
13634// Retrieve A server that this IP address is routed to.
13635func (r Network_Subnet_IpAddress) GetHardware() (resp datatypes.Hardware, err error) {
13636	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getHardware", nil, &r.Options, &resp)
13637	return
13638}
13639
13640// Retrieve A network component that is statically routed to an IP address.
13641func (r Network_Subnet_IpAddress) GetNetworkComponent() (resp datatypes.Network_Component, err error) {
13642	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getNetworkComponent", nil, &r.Options, &resp)
13643	return
13644}
13645
13646// getObject retrieves the SoftLayer_Network_Subnet_IpAddress object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Subnet_IpAddress service. You can only retrieve the IP address whose subnet is associated with a VLAN that is associated with the account that your portal user is assigned to.
13647func (r Network_Subnet_IpAddress) GetObject() (resp datatypes.Network_Subnet_IpAddress, err error) {
13648	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getObject", nil, &r.Options, &resp)
13649	return
13650}
13651
13652// Retrieve The network gateway appliance using this address as the private IP address.
13653func (r Network_Subnet_IpAddress) GetPrivateNetworkGateway() (resp datatypes.Network_Gateway, err error) {
13654	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getPrivateNetworkGateway", nil, &r.Options, &resp)
13655	return
13656}
13657
13658// Retrieve
13659func (r Network_Subnet_IpAddress) GetProtectionAddress() (resp []datatypes.Network_Protection_Address, err error) {
13660	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getProtectionAddress", nil, &r.Options, &resp)
13661	return
13662}
13663
13664// Retrieve The network gateway appliance using this address as the public IP address.
13665func (r Network_Subnet_IpAddress) GetPublicNetworkGateway() (resp datatypes.Network_Gateway, err error) {
13666	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getPublicNetworkGateway", nil, &r.Options, &resp)
13667	return
13668}
13669
13670// Retrieve An IPMI-based management network component of the IP address.
13671func (r Network_Subnet_IpAddress) GetRemoteManagementNetworkComponent() (resp datatypes.Network_Component, err error) {
13672	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getRemoteManagementNetworkComponent", nil, &r.Options, &resp)
13673	return
13674}
13675
13676// Retrieve An IP address' associated subnet.
13677func (r Network_Subnet_IpAddress) GetSubnet() (resp datatypes.Network_Subnet, err error) {
13678	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getSubnet", nil, &r.Options, &resp)
13679	return
13680}
13681
13682// Retrieve All events for this IP address stored in the datacenter syslogs from the last 24 hours
13683func (r Network_Subnet_IpAddress) GetSyslogEventsOneDay() (resp []datatypes.Network_Logging_Syslog, err error) {
13684	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getSyslogEventsOneDay", nil, &r.Options, &resp)
13685	return
13686}
13687
13688// Retrieve All events for this IP address stored in the datacenter syslogs from the last 7 days
13689func (r Network_Subnet_IpAddress) GetSyslogEventsSevenDays() (resp []datatypes.Network_Logging_Syslog, err error) {
13690	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getSyslogEventsSevenDays", nil, &r.Options, &resp)
13691	return
13692}
13693
13694// Retrieve Top Ten network datacenter syslog events, grouped by destination port, for the last 24 hours
13695func (r Network_Subnet_IpAddress) GetTopTenSyslogEventsByDestinationPortOneDay() (resp []datatypes.Network_Logging_Syslog, err error) {
13696	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getTopTenSyslogEventsByDestinationPortOneDay", nil, &r.Options, &resp)
13697	return
13698}
13699
13700// Retrieve Top Ten network datacenter syslog events, grouped by destination port, for the last 7 days
13701func (r Network_Subnet_IpAddress) GetTopTenSyslogEventsByDestinationPortSevenDays() (resp []datatypes.Network_Logging_Syslog, err error) {
13702	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getTopTenSyslogEventsByDestinationPortSevenDays", nil, &r.Options, &resp)
13703	return
13704}
13705
13706// Retrieve Top Ten network datacenter syslog events, grouped by source port, for the last 24 hours
13707func (r Network_Subnet_IpAddress) GetTopTenSyslogEventsByProtocolsOneDay() (resp []datatypes.Network_Logging_Syslog, err error) {
13708	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getTopTenSyslogEventsByProtocolsOneDay", nil, &r.Options, &resp)
13709	return
13710}
13711
13712// Retrieve Top Ten network datacenter syslog events, grouped by source port, for the last 7 days
13713func (r Network_Subnet_IpAddress) GetTopTenSyslogEventsByProtocolsSevenDays() (resp []datatypes.Network_Logging_Syslog, err error) {
13714	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getTopTenSyslogEventsByProtocolsSevenDays", nil, &r.Options, &resp)
13715	return
13716}
13717
13718// Retrieve Top Ten network datacenter syslog events, grouped by source ip address, for the last 24 hours
13719func (r Network_Subnet_IpAddress) GetTopTenSyslogEventsBySourceIpOneDay() (resp []datatypes.Network_Logging_Syslog, err error) {
13720	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getTopTenSyslogEventsBySourceIpOneDay", nil, &r.Options, &resp)
13721	return
13722}
13723
13724// Retrieve Top Ten network datacenter syslog events, grouped by source ip address, for the last 7 days
13725func (r Network_Subnet_IpAddress) GetTopTenSyslogEventsBySourceIpSevenDays() (resp []datatypes.Network_Logging_Syslog, err error) {
13726	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getTopTenSyslogEventsBySourceIpSevenDays", nil, &r.Options, &resp)
13727	return
13728}
13729
13730// Retrieve Top Ten network datacenter syslog events, grouped by source port, for the last 24 hours
13731func (r Network_Subnet_IpAddress) GetTopTenSyslogEventsBySourcePortOneDay() (resp []datatypes.Network_Logging_Syslog, err error) {
13732	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getTopTenSyslogEventsBySourcePortOneDay", nil, &r.Options, &resp)
13733	return
13734}
13735
13736// Retrieve Top Ten network datacenter syslog events, grouped by source port, for the last 7 days
13737func (r Network_Subnet_IpAddress) GetTopTenSyslogEventsBySourcePortSevenDays() (resp []datatypes.Network_Logging_Syslog, err error) {
13738	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getTopTenSyslogEventsBySourcePortSevenDays", nil, &r.Options, &resp)
13739	return
13740}
13741
13742// Retrieve A virtual guest that this IP address is routed to.
13743func (r Network_Subnet_IpAddress) GetVirtualGuest() (resp datatypes.Virtual_Guest, err error) {
13744	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getVirtualGuest", nil, &r.Options, &resp)
13745	return
13746}
13747
13748// Retrieve Virtual licenses allocated for an IP Address.
13749func (r Network_Subnet_IpAddress) GetVirtualLicenses() (resp []datatypes.Software_VirtualLicense, err error) {
13750	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "getVirtualLicenses", nil, &r.Options, &resp)
13751	return
13752}
13753
13754// This method is used to remove access to multiple SoftLayer_Network_Storage volumes
13755func (r Network_Subnet_IpAddress) RemoveAccessToNetworkStorageList(networkStorageTemplateObjects []datatypes.Network_Storage) (resp bool, err error) {
13756	params := []interface{}{
13757		networkStorageTemplateObjects,
13758	}
13759	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress", "removeAccessToNetworkStorageList", params, &r.Options, &resp)
13760	return
13761}
13762
13763// no documentation yet
13764type Network_Subnet_IpAddress_Global struct {
13765	Session *session.Session
13766	Options sl.Options
13767}
13768
13769// GetNetworkSubnetIpAddressGlobalService returns an instance of the Network_Subnet_IpAddress_Global SoftLayer service
13770func GetNetworkSubnetIpAddressGlobalService(sess *session.Session) Network_Subnet_IpAddress_Global {
13771	return Network_Subnet_IpAddress_Global{Session: sess}
13772}
13773
13774func (r Network_Subnet_IpAddress_Global) Id(id int) Network_Subnet_IpAddress_Global {
13775	r.Options.Id = &id
13776	return r
13777}
13778
13779func (r Network_Subnet_IpAddress_Global) Mask(mask string) Network_Subnet_IpAddress_Global {
13780	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
13781		mask = fmt.Sprintf("mask[%s]", mask)
13782	}
13783
13784	r.Options.Mask = mask
13785	return r
13786}
13787
13788func (r Network_Subnet_IpAddress_Global) Filter(filter string) Network_Subnet_IpAddress_Global {
13789	r.Options.Filter = filter
13790	return r
13791}
13792
13793func (r Network_Subnet_IpAddress_Global) Limit(limit int) Network_Subnet_IpAddress_Global {
13794	r.Options.Limit = &limit
13795	return r
13796}
13797
13798func (r Network_Subnet_IpAddress_Global) Offset(offset int) Network_Subnet_IpAddress_Global {
13799	r.Options.Offset = &offset
13800	return r
13801}
13802
13803// Retrieve
13804func (r Network_Subnet_IpAddress_Global) GetAccount() (resp datatypes.Account, err error) {
13805	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress_Global", "getAccount", nil, &r.Options, &resp)
13806	return
13807}
13808
13809// Retrieve The active transaction associated with this Global IP.
13810func (r Network_Subnet_IpAddress_Global) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
13811	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress_Global", "getActiveTransaction", nil, &r.Options, &resp)
13812	return
13813}
13814
13815// Retrieve The billing item for this Global IP.
13816func (r Network_Subnet_IpAddress_Global) GetBillingItem() (resp datatypes.Billing_Item_Network_Subnet_IpAddress_Global, err error) {
13817	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress_Global", "getBillingItem", nil, &r.Options, &resp)
13818	return
13819}
13820
13821// Retrieve
13822func (r Network_Subnet_IpAddress_Global) GetDestinationIpAddress() (resp datatypes.Network_Subnet_IpAddress, err error) {
13823	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress_Global", "getDestinationIpAddress", nil, &r.Options, &resp)
13824	return
13825}
13826
13827// Retrieve
13828func (r Network_Subnet_IpAddress_Global) GetIpAddress() (resp datatypes.Network_Subnet_IpAddress, err error) {
13829	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress_Global", "getIpAddress", nil, &r.Options, &resp)
13830	return
13831}
13832
13833// no documentation yet
13834func (r Network_Subnet_IpAddress_Global) GetObject() (resp datatypes.Network_Subnet_IpAddress_Global, err error) {
13835	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress_Global", "getObject", nil, &r.Options, &resp)
13836	return
13837}
13838
13839// This function is used to create a new transaction to modify a global IP route. Routes are updated in one to two minutes depending on the number of transactions that are pending for a router.
13840func (r Network_Subnet_IpAddress_Global) Route(newEndPointIpAddress *string) (resp datatypes.Provisioning_Version1_Transaction, err error) {
13841	params := []interface{}{
13842		newEndPointIpAddress,
13843	}
13844	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress_Global", "route", params, &r.Options, &resp)
13845	return
13846}
13847
13848// This function is used to create a new transaction to unroute a global IP address. Routes are updated in one to two minutes depending on the number of transactions that are pending for a router.
13849func (r Network_Subnet_IpAddress_Global) Unroute() (resp datatypes.Provisioning_Version1_Transaction, err error) {
13850	err = r.Session.DoRequest("SoftLayer_Network_Subnet_IpAddress_Global", "unroute", nil, &r.Options, &resp)
13851	return
13852}
13853
13854// The subnet registration data type contains general information relating to a single subnet registration instance. These registration instances can be updated to reflect changes, and will record the changes in the [[SoftLayer_Network_Subnet_Registration_Event|events]].
13855type Network_Subnet_Registration struct {
13856	Session *session.Session
13857	Options sl.Options
13858}
13859
13860// GetNetworkSubnetRegistrationService returns an instance of the Network_Subnet_Registration SoftLayer service
13861func GetNetworkSubnetRegistrationService(sess *session.Session) Network_Subnet_Registration {
13862	return Network_Subnet_Registration{Session: sess}
13863}
13864
13865func (r Network_Subnet_Registration) Id(id int) Network_Subnet_Registration {
13866	r.Options.Id = &id
13867	return r
13868}
13869
13870func (r Network_Subnet_Registration) Mask(mask string) Network_Subnet_Registration {
13871	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
13872		mask = fmt.Sprintf("mask[%s]", mask)
13873	}
13874
13875	r.Options.Mask = mask
13876	return r
13877}
13878
13879func (r Network_Subnet_Registration) Filter(filter string) Network_Subnet_Registration {
13880	r.Options.Filter = filter
13881	return r
13882}
13883
13884func (r Network_Subnet_Registration) Limit(limit int) Network_Subnet_Registration {
13885	r.Options.Limit = &limit
13886	return r
13887}
13888
13889func (r Network_Subnet_Registration) Offset(offset int) Network_Subnet_Registration {
13890	r.Options.Offset = &offset
13891	return r
13892}
13893
13894// This method will initiate the removal of a subnet registration.
13895func (r Network_Subnet_Registration) ClearRegistration() (resp bool, err error) {
13896	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "clearRegistration", nil, &r.Options, &resp)
13897	return
13898}
13899
13900// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style> This method will create a new SoftLayer_Network_Subnet_Registration object.
13901//
13902// <b>Input</b> - [[SoftLayer_Network_Subnet_Registration (type)|SoftLayer_Network_Subnet_Registration]] <ul class="create_object"> <li><code>networkIdentifier</code> <div> The base address of the [[SoftLayer_Network_Subnet|subnet]] being registered. This can be derived directly from the SoftLayer_Network_Subnet object's networkIdentifier property. </div> <ul> <li><b>Required</b></li> <li><b>Type</b> - string</li> </ul> </li> <li><code>cidr</code> <div> The CIDR prefix of the [[SoftLayer_Network_Subnet|subnet]] being registered. This can be derived directly from the SoftLayer_Network_Subnet object's cidr property. </div> <ul> <li><b>Required</b></li> <li><b>Type</b> - integer</li> </ul> </li> </ul>
13903func (r Network_Subnet_Registration) CreateObject(templateObject *datatypes.Network_Subnet_Registration) (resp datatypes.Network_Subnet_Registration, err error) {
13904	params := []interface{}{
13905		templateObject,
13906	}
13907	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "createObject", params, &r.Options, &resp)
13908	return
13909}
13910
13911// This method will edit an existing SoftLayer_Network_Subnet_Registration object. For more detail, see [[SoftLayer_Network_Subnet_Registration::createObject|createObject]].
13912func (r Network_Subnet_Registration) EditObject(templateObject *datatypes.Network_Subnet_Registration) (resp bool, err error) {
13913	params := []interface{}{
13914		templateObject,
13915	}
13916	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "editObject", params, &r.Options, &resp)
13917	return
13918}
13919
13920// This method modifies a single registration by modifying the current [[SoftLayer_Network_Subnet_Registration_Details]] objects that are linked to that registration.
13921func (r Network_Subnet_Registration) EditRegistrationAttachedDetails(personObjectSkeleton *datatypes.Network_Subnet_Registration_Details, networkObjectSkeleton *datatypes.Network_Subnet_Registration_Details) (resp bool, err error) {
13922	params := []interface{}{
13923		personObjectSkeleton,
13924		networkObjectSkeleton,
13925	}
13926	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "editRegistrationAttachedDetails", params, &r.Options, &resp)
13927	return
13928}
13929
13930// Retrieve The account that this registration belongs to.
13931func (r Network_Subnet_Registration) GetAccount() (resp datatypes.Account, err error) {
13932	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getAccount", nil, &r.Options, &resp)
13933	return
13934}
13935
13936// Retrieve The cross-reference records that tie the [[SoftLayer_Account_Regional_Registry_Detail]] objects to the registration object.
13937func (r Network_Subnet_Registration) GetDetailReferences() (resp []datatypes.Network_Subnet_Registration_Details, err error) {
13938	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getDetailReferences", nil, &r.Options, &resp)
13939	return
13940}
13941
13942// Retrieve The related registration events.
13943func (r Network_Subnet_Registration) GetEvents() (resp []datatypes.Network_Subnet_Registration_Event, err error) {
13944	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getEvents", nil, &r.Options, &resp)
13945	return
13946}
13947
13948// Retrieve The "network" detail object.
13949func (r Network_Subnet_Registration) GetNetworkDetail() (resp datatypes.Account_Regional_Registry_Detail, err error) {
13950	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getNetworkDetail", nil, &r.Options, &resp)
13951	return
13952}
13953
13954// no documentation yet
13955func (r Network_Subnet_Registration) GetObject() (resp datatypes.Network_Subnet_Registration, err error) {
13956	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getObject", nil, &r.Options, &resp)
13957	return
13958}
13959
13960// Retrieve The "person" detail object.
13961func (r Network_Subnet_Registration) GetPersonDetail() (resp datatypes.Account_Regional_Registry_Detail, err error) {
13962	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getPersonDetail", nil, &r.Options, &resp)
13963	return
13964}
13965
13966// Retrieve The related Regional Internet Registry.
13967func (r Network_Subnet_Registration) GetRegionalInternetRegistry() (resp datatypes.Network_Regional_Internet_Registry, err error) {
13968	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getRegionalInternetRegistry", nil, &r.Options, &resp)
13969	return
13970}
13971
13972// Retrieve The RIR handle that this registration object belongs to. This field may not be populated until the registration is complete.
13973func (r Network_Subnet_Registration) GetRegionalInternetRegistryHandle() (resp datatypes.Account_Rwhois_Handle, err error) {
13974	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getRegionalInternetRegistryHandle", nil, &r.Options, &resp)
13975	return
13976}
13977
13978// Retrieve The status of this registration.
13979func (r Network_Subnet_Registration) GetStatus() (resp datatypes.Network_Subnet_Registration_Status, err error) {
13980	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getStatus", nil, &r.Options, &resp)
13981	return
13982}
13983
13984// Retrieve The subnet that this registration pertains to.
13985func (r Network_Subnet_Registration) GetSubnet() (resp datatypes.Network_Subnet, err error) {
13986	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration", "getSubnet", nil, &r.Options, &resp)
13987	return
13988}
13989
13990// The SoftLayer_Network_Subnet_Registration_Details objects are used to relate [[SoftLayer_Account_Regional_Registry_Detail]] objects to a [[SoftLayer_Network_Subnet_Registration]] object. This allows for easy reuse of registration details. It is important to note that only one detail object per type may be associated to a registration object.
13991type Network_Subnet_Registration_Details struct {
13992	Session *session.Session
13993	Options sl.Options
13994}
13995
13996// GetNetworkSubnetRegistrationDetailsService returns an instance of the Network_Subnet_Registration_Details SoftLayer service
13997func GetNetworkSubnetRegistrationDetailsService(sess *session.Session) Network_Subnet_Registration_Details {
13998	return Network_Subnet_Registration_Details{Session: sess}
13999}
14000
14001func (r Network_Subnet_Registration_Details) Id(id int) Network_Subnet_Registration_Details {
14002	r.Options.Id = &id
14003	return r
14004}
14005
14006func (r Network_Subnet_Registration_Details) Mask(mask string) Network_Subnet_Registration_Details {
14007	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
14008		mask = fmt.Sprintf("mask[%s]", mask)
14009	}
14010
14011	r.Options.Mask = mask
14012	return r
14013}
14014
14015func (r Network_Subnet_Registration_Details) Filter(filter string) Network_Subnet_Registration_Details {
14016	r.Options.Filter = filter
14017	return r
14018}
14019
14020func (r Network_Subnet_Registration_Details) Limit(limit int) Network_Subnet_Registration_Details {
14021	r.Options.Limit = &limit
14022	return r
14023}
14024
14025func (r Network_Subnet_Registration_Details) Offset(offset int) Network_Subnet_Registration_Details {
14026	r.Options.Offset = &offset
14027	return r
14028}
14029
14030// <style type="text/css">.create_object > li > div { padding-top: .5em; padding-bottom: .5em}</style> This method will create a new SoftLayer_Network_Subnet_Registration_Details object.
14031//
14032// <b>Input</b> - [[SoftLayer_Network_Subnet_Registration_Details (type)|SoftLayer_Network_Subnet_Registration_Details]] <ul class="create_object"> <li><code>detailId</code> <div> The numeric ID of the [[SoftLayer_Account_Regional_Registry_Detail|detail]] object to relate. </div> <ul> <li><b>Required</b></li> <li><b>Type</b> - integer</li> </ul> </li> <li><code>registrationId</code> <div> The numeric ID of the [[SoftLayer_Network_Subnet_Registration|registration]] object to relate. </div> <ul> <li><b>Required</b></li> <li><b>Type</b> - integer</li> </ul> </li> </ul>
14033func (r Network_Subnet_Registration_Details) CreateObject(templateObject *datatypes.Network_Subnet_Registration_Details) (resp datatypes.Network_Subnet_Registration_Details, err error) {
14034	params := []interface{}{
14035		templateObject,
14036	}
14037	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration_Details", "createObject", params, &r.Options, &resp)
14038	return
14039}
14040
14041// This method will delete an existing SoftLayer_Account_Regional_Registry_Detail object.
14042func (r Network_Subnet_Registration_Details) DeleteObject() (resp bool, err error) {
14043	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration_Details", "deleteObject", nil, &r.Options, &resp)
14044	return
14045}
14046
14047// Retrieve The related [[SoftLayer_Account_Regional_Registry_Detail|detail object]].
14048func (r Network_Subnet_Registration_Details) GetDetail() (resp datatypes.Account_Regional_Registry_Detail, err error) {
14049	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration_Details", "getDetail", nil, &r.Options, &resp)
14050	return
14051}
14052
14053// no documentation yet
14054func (r Network_Subnet_Registration_Details) GetObject() (resp datatypes.Network_Subnet_Registration_Details, err error) {
14055	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration_Details", "getObject", nil, &r.Options, &resp)
14056	return
14057}
14058
14059// Retrieve The related [[SoftLayer_Network_Subnet_Registration|registration object]].
14060func (r Network_Subnet_Registration_Details) GetRegistration() (resp datatypes.Network_Subnet_Registration, err error) {
14061	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration_Details", "getRegistration", nil, &r.Options, &resp)
14062	return
14063}
14064
14065// Subnet Registration Status objects describe the current status of a subnet registration.
14066//
14067// The standard values for these objects are as follows: <ul> <li><strong>OPEN</strong> - Indicates that the registration object is new and has yet to be submitted to the RIR</li> <li><strong>PENDING</strong> - Indicates that the registration object has been submitted to the RIR and is awaiting response</li> <li><strong>COMPLETE</strong> - Indicates that the RIR action has completed</li> <li><strong>DELETED</strong> - Indicates that the registration object has been gracefully removed is no longer valid</li> <li><strong>CANCELLED</strong> - Indicates that the registration object has been abruptly removed is no longer valid</li> </ul>
14068type Network_Subnet_Registration_Status struct {
14069	Session *session.Session
14070	Options sl.Options
14071}
14072
14073// GetNetworkSubnetRegistrationStatusService returns an instance of the Network_Subnet_Registration_Status SoftLayer service
14074func GetNetworkSubnetRegistrationStatusService(sess *session.Session) Network_Subnet_Registration_Status {
14075	return Network_Subnet_Registration_Status{Session: sess}
14076}
14077
14078func (r Network_Subnet_Registration_Status) Id(id int) Network_Subnet_Registration_Status {
14079	r.Options.Id = &id
14080	return r
14081}
14082
14083func (r Network_Subnet_Registration_Status) Mask(mask string) Network_Subnet_Registration_Status {
14084	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
14085		mask = fmt.Sprintf("mask[%s]", mask)
14086	}
14087
14088	r.Options.Mask = mask
14089	return r
14090}
14091
14092func (r Network_Subnet_Registration_Status) Filter(filter string) Network_Subnet_Registration_Status {
14093	r.Options.Filter = filter
14094	return r
14095}
14096
14097func (r Network_Subnet_Registration_Status) Limit(limit int) Network_Subnet_Registration_Status {
14098	r.Options.Limit = &limit
14099	return r
14100}
14101
14102func (r Network_Subnet_Registration_Status) Offset(offset int) Network_Subnet_Registration_Status {
14103	r.Options.Offset = &offset
14104	return r
14105}
14106
14107// no documentation yet
14108func (r Network_Subnet_Registration_Status) GetAllObjects() (resp []datatypes.Network_Subnet_Registration_Status, err error) {
14109	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration_Status", "getAllObjects", nil, &r.Options, &resp)
14110	return
14111}
14112
14113// no documentation yet
14114func (r Network_Subnet_Registration_Status) GetObject() (resp datatypes.Network_Subnet_Registration_Status, err error) {
14115	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Registration_Status", "getObject", nil, &r.Options, &resp)
14116	return
14117}
14118
14119// Every SoftLayer customer account has contact information associated with it for reverse WHOIS purposes. An account's RWHOIS data, modeled by the SoftLayer_Network_Subnet_Rwhois_Data data type, is used by SoftLayer's reverse WHOIS server as well as for SWIP transactions. SoftLayer's reverse WHOIS servers respond to WHOIS queries for IP addresses belonging to a customer's servers, returning this RWHOIS data.
14120//
14121// A SoftLayer customer's RWHOIS data may not necessarily match their account or portal users' contact information.
14122type Network_Subnet_Rwhois_Data struct {
14123	Session *session.Session
14124	Options sl.Options
14125}
14126
14127// GetNetworkSubnetRwhoisDataService returns an instance of the Network_Subnet_Rwhois_Data SoftLayer service
14128func GetNetworkSubnetRwhoisDataService(sess *session.Session) Network_Subnet_Rwhois_Data {
14129	return Network_Subnet_Rwhois_Data{Session: sess}
14130}
14131
14132func (r Network_Subnet_Rwhois_Data) Id(id int) Network_Subnet_Rwhois_Data {
14133	r.Options.Id = &id
14134	return r
14135}
14136
14137func (r Network_Subnet_Rwhois_Data) Mask(mask string) Network_Subnet_Rwhois_Data {
14138	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
14139		mask = fmt.Sprintf("mask[%s]", mask)
14140	}
14141
14142	r.Options.Mask = mask
14143	return r
14144}
14145
14146func (r Network_Subnet_Rwhois_Data) Filter(filter string) Network_Subnet_Rwhois_Data {
14147	r.Options.Filter = filter
14148	return r
14149}
14150
14151func (r Network_Subnet_Rwhois_Data) Limit(limit int) Network_Subnet_Rwhois_Data {
14152	r.Options.Limit = &limit
14153	return r
14154}
14155
14156func (r Network_Subnet_Rwhois_Data) Offset(offset int) Network_Subnet_Rwhois_Data {
14157	r.Options.Offset = &offset
14158	return r
14159}
14160
14161// Edit the RWHOIS record by passing in a modified version of the record object.  All fields are editable.
14162func (r Network_Subnet_Rwhois_Data) EditObject(templateObject *datatypes.Network_Subnet_Rwhois_Data) (resp bool, err error) {
14163	params := []interface{}{
14164		templateObject,
14165	}
14166	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Rwhois_Data", "editObject", params, &r.Options, &resp)
14167	return
14168}
14169
14170// Retrieve The SoftLayer customer account associated with this reverse WHOIS data.
14171func (r Network_Subnet_Rwhois_Data) GetAccount() (resp datatypes.Account, err error) {
14172	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Rwhois_Data", "getAccount", nil, &r.Options, &resp)
14173	return
14174}
14175
14176// getObject retrieves the SoftLayer_Network_Subnet_Rwhois_Data object whose ID corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Subnet_Rwhois_Data service.
14177//
14178// The best way to get Rwhois Data for an account is through getRhwoisData on the Account service.
14179func (r Network_Subnet_Rwhois_Data) GetObject() (resp datatypes.Network_Subnet_Rwhois_Data, err error) {
14180	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Rwhois_Data", "getObject", nil, &r.Options, &resp)
14181	return
14182}
14183
14184// The SoftLayer_Network_Subnet_Swip_Transaction data type contains basic information tracked at SoftLayer to allow automation of Swip creation, update, and removal requests.  A specific transaction is attached to an accountId and a subnetId. This also contains a "Status Name" which tells the customer what the transaction is doing:
14185//
14186//
14187// * REQUEST QUEUED:  Request is queued up to be sent to ARIN
14188// * REQUEST SENT:  The email request has been sent to ARIN
14189// * REQUEST CONFIRMED:  ARIN has confirmed that the request is good, and should be available in 24 hours
14190// * OK:  The subnet has been checked with WHOIS and it the SWIP transaction has completed correctly
14191// * REMOVE QUEUED:  A subnet is queued to be removed from ARIN's systems
14192// * REMOVE SENT:  The removal email request has been sent to ARIN
14193// * REMOVE CONFIRMED:  ARIN has confirmed that the removal request is good, and the subnet should be clear in WHOIS in 24 hours
14194// * DELETED:  This specific SWIP Transaction has been removed from ARIN and is no longer in effect
14195// * SOFTLAYER MANUALLY PROCESSING:  Sometimes a request doesn't go through correctly and has to be manually processed by SoftLayer.  This may take some time.
14196type Network_Subnet_Swip_Transaction struct {
14197	Session *session.Session
14198	Options sl.Options
14199}
14200
14201// GetNetworkSubnetSwipTransactionService returns an instance of the Network_Subnet_Swip_Transaction SoftLayer service
14202func GetNetworkSubnetSwipTransactionService(sess *session.Session) Network_Subnet_Swip_Transaction {
14203	return Network_Subnet_Swip_Transaction{Session: sess}
14204}
14205
14206func (r Network_Subnet_Swip_Transaction) Id(id int) Network_Subnet_Swip_Transaction {
14207	r.Options.Id = &id
14208	return r
14209}
14210
14211func (r Network_Subnet_Swip_Transaction) Mask(mask string) Network_Subnet_Swip_Transaction {
14212	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
14213		mask = fmt.Sprintf("mask[%s]", mask)
14214	}
14215
14216	r.Options.Mask = mask
14217	return r
14218}
14219
14220func (r Network_Subnet_Swip_Transaction) Filter(filter string) Network_Subnet_Swip_Transaction {
14221	r.Options.Filter = filter
14222	return r
14223}
14224
14225func (r Network_Subnet_Swip_Transaction) Limit(limit int) Network_Subnet_Swip_Transaction {
14226	r.Options.Limit = &limit
14227	return r
14228}
14229
14230func (r Network_Subnet_Swip_Transaction) Offset(offset int) Network_Subnet_Swip_Transaction {
14231	r.Options.Offset = &offset
14232	return r
14233}
14234
14235// This function will return an array of SoftLayer_Network_Subnet_Swip_Transaction objects, one for each SWIP that is currently in transaction with ARIN.  This includes all swip registrations, swip removal requests, and SWIP objects that are currently OK.
14236func (r Network_Subnet_Swip_Transaction) FindMyTransactions() (resp []datatypes.Network_Subnet_Swip_Transaction, err error) {
14237	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "findMyTransactions", nil, &r.Options, &resp)
14238	return
14239}
14240
14241// Retrieve The Account whose RWHOIS data was used to SWIP this subnet
14242func (r Network_Subnet_Swip_Transaction) GetAccount() (resp datatypes.Account, err error) {
14243	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "getAccount", nil, &r.Options, &resp)
14244	return
14245}
14246
14247// getObject retrieves the SoftLayer_Network_Subnet_Swip_Transaction object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Subnet_Swip_transaction service. You can only retrieve Swip transactions tied to the account.
14248func (r Network_Subnet_Swip_Transaction) GetObject() (resp datatypes.Network_Subnet_Swip_Transaction, err error) {
14249	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "getObject", nil, &r.Options, &resp)
14250	return
14251}
14252
14253// Retrieve The subnet that this SWIP transaction was created for.
14254func (r Network_Subnet_Swip_Transaction) GetSubnet() (resp datatypes.Network_Subnet, err error) {
14255	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "getSubnet", nil, &r.Options, &resp)
14256	return
14257}
14258
14259// This method finds all subnets attached to your account that are in OK status and starts "DELETE" transactions with ARIN, allowing you to remove your SWIP registration information.
14260func (r Network_Subnet_Swip_Transaction) RemoveAllSubnetSwips() (resp int, err error) {
14261	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "removeAllSubnetSwips", nil, &r.Options, &resp)
14262	return
14263}
14264
14265// This function, when called on an instantiated SWIP transaction, will allow you to start a "DELETE" transaction with ARIN, allowing you to remove your SWIP registration information.
14266func (r Network_Subnet_Swip_Transaction) RemoveSwipData() (resp bool, err error) {
14267	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "removeSwipData", nil, &r.Options, &resp)
14268	return
14269}
14270
14271// This function will allow you to update ARIN's registration data for a subnet to your current RWHOIS data.
14272func (r Network_Subnet_Swip_Transaction) ResendSwipData() (resp bool, err error) {
14273	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "resendSwipData", nil, &r.Options, &resp)
14274	return
14275}
14276
14277// swipAllSubnets finds all subnets attached to your account and attempts to create a SWIP transaction for all subnets that do not already have a SWIP transaction in progress.
14278func (r Network_Subnet_Swip_Transaction) SwipAllSubnets() (resp int, err error) {
14279	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "swipAllSubnets", nil, &r.Options, &resp)
14280	return
14281}
14282
14283// This method finds all subnets attached to your account that are in "OK" status and updates their data with ARIN.  Use this function after you have updated your RWHOIS data if you want to keep SWIP up to date.
14284func (r Network_Subnet_Swip_Transaction) UpdateAllSubnetSwips() (resp int, err error) {
14285	err = r.Session.DoRequest("SoftLayer_Network_Subnet_Swip_Transaction", "updateAllSubnetSwips", nil, &r.Options, &resp)
14286	return
14287}
14288
14289// no documentation yet
14290type Network_TippingPointReporting struct {
14291	Session *session.Session
14292	Options sl.Options
14293}
14294
14295// GetNetworkTippingPointReportingService returns an instance of the Network_TippingPointReporting SoftLayer service
14296func GetNetworkTippingPointReportingService(sess *session.Session) Network_TippingPointReporting {
14297	return Network_TippingPointReporting{Session: sess}
14298}
14299
14300func (r Network_TippingPointReporting) Id(id int) Network_TippingPointReporting {
14301	r.Options.Id = &id
14302	return r
14303}
14304
14305func (r Network_TippingPointReporting) Mask(mask string) Network_TippingPointReporting {
14306	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
14307		mask = fmt.Sprintf("mask[%s]", mask)
14308	}
14309
14310	r.Options.Mask = mask
14311	return r
14312}
14313
14314func (r Network_TippingPointReporting) Filter(filter string) Network_TippingPointReporting {
14315	r.Options.Filter = filter
14316	return r
14317}
14318
14319func (r Network_TippingPointReporting) Limit(limit int) Network_TippingPointReporting {
14320	r.Options.Limit = &limit
14321	return r
14322}
14323
14324func (r Network_TippingPointReporting) Offset(offset int) Network_TippingPointReporting {
14325	r.Options.Offset = &offset
14326	return r
14327}
14328
14329// This method, when given an attack signature ID (available in the return values of getReportForIpAddressOrSubnet and  getSubnetReportForEntireAccount) and an IP Address and subnet mask, returns all attacks for that subnet in the specified time frame and direction.  Once the results have been filtered, additional data is available, including starting and ending times for the attack, originating IP address and port, and destination IP address and port.
14330//
14331// CVE and Bugtraq information is not available at this level.
14332func (r Network_TippingPointReporting) DrillDownAttack(signatureId *string, IpAddress *string, subnetMask *int, timeFrame *int, direction *string) (resp datatypes.Container_Network_IntrusionProtection_SubnetReport, err error) {
14333	params := []interface{}{
14334		signatureId,
14335		IpAddress,
14336		subnetMask,
14337		timeFrame,
14338		direction,
14339	}
14340	err = r.Session.DoRequest("SoftLayer_Network_TippingPointReporting", "drillDownAttack", params, &r.Options, &resp)
14341	return
14342}
14343
14344// This method returns the attack statistics for the current user's account and for the entire SoftLayer network.  These attacks are recorded and monitored at the entry point to the network, and represent attacks in both directions.
14345//
14346// The data returned is:
14347// * Top attacks (by attack name) on datacenter Dal01 in the last hour (and last 24 hours)
14348// * Top attacks (by attack name) on IPs you own in the last hour (and last 24 hours)
14349// * Top IPs attacking IPs you own in the last hour (and last 24 hours)
14350// Each one of these lists can contain any number of items, the default is 5.  The usable limit is less than 10, but setting the limit to an abnormally high value will effectively return all records.
14351//
14352// The data is returned as a collection of SoftLayer_Container_Network_IntrusionProtection_Statistics objects.
14353func (r Network_TippingPointReporting) GetMainStatistics(numberOfAttacks *int) (resp []datatypes.Container_Network_IntrusionProtection_Statistics, err error) {
14354	params := []interface{}{
14355		numberOfAttacks,
14356	}
14357	err = r.Session.DoRequest("SoftLayer_Network_TippingPointReporting", "getMainStatistics", params, &r.Options, &resp)
14358	return
14359}
14360
14361// This method expands on the getSubnetReportForEntireAccount method by offering the ability to filter by subnet or IP address. This method is identical to getSubnetReportForEntireAccount, but allows filtering by subnet.  Like in the getSubnetReportForEntireAccount method, CVE and BugTraq IDs are provided, if available.
14362//
14363// This method should be called once an attack has been identified using getSubnetReportForEntireAccount (in which case "All Subnets" is the subnet) or getReportForIpAddressOrSubnet.
14364func (r Network_TippingPointReporting) GetReportForIpAddressOrSubnet(IpAddress *string, subnetMask *int, timeFrame *int, orderBy *string, orderDirection *string) (resp []datatypes.Container_Network_IntrusionProtection_SubnetReport, err error) {
14365	params := []interface{}{
14366		IpAddress,
14367		subnetMask,
14368		timeFrame,
14369		orderBy,
14370		orderDirection,
14371	}
14372	err = r.Session.DoRequest("SoftLayer_Network_TippingPointReporting", "getReportForIpAddressOrSubnet", params, &r.Options, &resp)
14373	return
14374}
14375
14376// This method returns specific attacks by name for all subnets on the current user's account.
14377//
14378// The data returned is stored in SoftLayer_Container_Network_IntrusionProtection_SubnetReport objects, with the "subnet" value set to "All Subnets"
14379//
14380// The data is separated into "Inbound" and "Outbound" traffic.  A significant amount of outbound attack traffic could indicate that your servers have been compromised.
14381//
14382// The data returned includes Attack Count, attack name, extended attack description, and IDs that correspond with the BugTraq or CVE databases. BugTraq can be accessed at [http://www.securityfocus.com/vulnerabilities] The CVE database is located at [http://cve.mitre.org/find/index.html]
14383//
14384// For more detailed information, use the getReportForIpAddressOrSubnet method
14385func (r Network_TippingPointReporting) GetSubnetReportForEntireAccount(timeFrame *int, orderBy *string, orderDirection *string, returnSubnetGroups *bool) (resp []datatypes.Container_Network_IntrusionProtection_SubnetReport, err error) {
14386	params := []interface{}{
14387		timeFrame,
14388		orderBy,
14389		orderDirection,
14390		returnSubnetGroups,
14391	}
14392	err = r.Session.DoRequest("SoftLayer_Network_TippingPointReporting", "getSubnetReportForEntireAccount", params, &r.Options, &resp)
14393	return
14394}
14395
14396// The SoftLayer_Network_Tunnel_Module_Context data type contains general information relating to a single SoftLayer network tunnel.  The SoftLayer_Network_Tunnel_Module_Context is useful to gather information such as related customer subnets (remote) and internal subnets (local) associated with the network tunnel as well as other information needed to manage the network tunnel.  Account and billing information related to the network tunnel can also be retrieved.
14397type Network_Tunnel_Module_Context struct {
14398	Session *session.Session
14399	Options sl.Options
14400}
14401
14402// GetNetworkTunnelModuleContextService returns an instance of the Network_Tunnel_Module_Context SoftLayer service
14403func GetNetworkTunnelModuleContextService(sess *session.Session) Network_Tunnel_Module_Context {
14404	return Network_Tunnel_Module_Context{Session: sess}
14405}
14406
14407func (r Network_Tunnel_Module_Context) Id(id int) Network_Tunnel_Module_Context {
14408	r.Options.Id = &id
14409	return r
14410}
14411
14412func (r Network_Tunnel_Module_Context) Mask(mask string) Network_Tunnel_Module_Context {
14413	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
14414		mask = fmt.Sprintf("mask[%s]", mask)
14415	}
14416
14417	r.Options.Mask = mask
14418	return r
14419}
14420
14421func (r Network_Tunnel_Module_Context) Filter(filter string) Network_Tunnel_Module_Context {
14422	r.Options.Filter = filter
14423	return r
14424}
14425
14426func (r Network_Tunnel_Module_Context) Limit(limit int) Network_Tunnel_Module_Context {
14427	r.Options.Limit = &limit
14428	return r
14429}
14430
14431func (r Network_Tunnel_Module_Context) Offset(offset int) Network_Tunnel_Module_Context {
14432	r.Options.Offset = &offset
14433	return r
14434}
14435
14436// Associates a remote subnet to the network tunnel.  When a remote subnet is associated, a network tunnel will allow the customer (remote) network to communicate with the private and service subnets on the SoftLayer network which are on the other end of this network tunnel.
14437//
14438// NOTE:  A network tunnel's configurations must be applied to the network device in order for the association described above to take effect.
14439func (r Network_Tunnel_Module_Context) AddCustomerSubnetToNetworkTunnel(subnetId *int) (resp bool, err error) {
14440	params := []interface{}{
14441		subnetId,
14442	}
14443	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "addCustomerSubnetToNetworkTunnel", params, &r.Options, &resp)
14444	return
14445}
14446
14447// Associates a private subnet to the network tunnel.  When a private subnet is associated, the network tunnel will allow the customer (remote) network to access the private subnet.
14448//
14449// NOTE:  A network tunnel's configurations must be applied to the network device in order for the association described above to take effect.
14450func (r Network_Tunnel_Module_Context) AddPrivateSubnetToNetworkTunnel(subnetId *int) (resp bool, err error) {
14451	params := []interface{}{
14452		subnetId,
14453	}
14454	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "addPrivateSubnetToNetworkTunnel", params, &r.Options, &resp)
14455	return
14456}
14457
14458// Associates a service subnet to the network tunnel.  When a service subnet is associated, a network tunnel will allow the customer (remote) network to communicate with the private and service subnets on the SoftLayer network which are on the other end of this network tunnel.  Service subnets provide access to SoftLayer services such as the customer management portal and the SoftLayer API.
14459//
14460// NOTE:  A network tunnel's configurations must be applied to the network device in order for the association described above to take effect.
14461func (r Network_Tunnel_Module_Context) AddServiceSubnetToNetworkTunnel(subnetId *int) (resp bool, err error) {
14462	params := []interface{}{
14463		subnetId,
14464	}
14465	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "addServiceSubnetToNetworkTunnel", params, &r.Options, &resp)
14466	return
14467}
14468
14469// A transaction will be created to apply the IPSec network tunnel's configuration to SoftLayer network devices.  During this time, an IPSec network tunnel cannot be modified in anyway.  Only one network tunnel configuration transaction can be created.  If a transaction has been created or is running, a new transaction cannot be created until the previous transaction completes.
14470func (r Network_Tunnel_Module_Context) ApplyConfigurationsToDevice() (resp bool, err error) {
14471	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "applyConfigurationsToDevice", nil, &r.Options, &resp)
14472	return
14473}
14474
14475// Create an address translation for a network tunnel.
14476//
14477// To create an address translation, ip addresses from an assigned /30 static route subnet are used.  Address translations deliver packets to a destination ip address that is on a customer (remote) subnet.
14478//
14479// NOTE:  A network tunnel's configurations must be applied to the network device in order for an address translation to be created.
14480func (r Network_Tunnel_Module_Context) CreateAddressTranslation(translation *datatypes.Network_Tunnel_Module_Context_Address_Translation) (resp datatypes.Network_Tunnel_Module_Context_Address_Translation, err error) {
14481	params := []interface{}{
14482		translation,
14483	}
14484	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "createAddressTranslation", params, &r.Options, &resp)
14485	return
14486}
14487
14488// This has the same functionality as the SoftLayer_Network_Tunnel_Module_Context::createAddressTranslation.  However, it allows multiple translations to be passed in for creation.
14489//
14490// NOTE:  A network tunnel's configurations must be applied to the network device in order for the address translations to be created.
14491func (r Network_Tunnel_Module_Context) CreateAddressTranslations(translations []datatypes.Network_Tunnel_Module_Context_Address_Translation) (resp []datatypes.Network_Tunnel_Module_Context_Address_Translation, err error) {
14492	params := []interface{}{
14493		translations,
14494	}
14495	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "createAddressTranslations", params, &r.Options, &resp)
14496	return
14497}
14498
14499// Remove an existing address translation from a network tunnel.
14500//
14501// Address translations deliver packets to a destination ip address that is on a customer subnet (remote).
14502//
14503// NOTE:  A network tunnel's configurations must be applied to the network device in order for an address translation to be deleted.
14504func (r Network_Tunnel_Module_Context) DeleteAddressTranslation(translationId *int) (resp bool, err error) {
14505	params := []interface{}{
14506		translationId,
14507	}
14508	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "deleteAddressTranslation", params, &r.Options, &resp)
14509	return
14510}
14511
14512// Provides all of the address translation configurations for an IPSec VPN tunnel in a text file
14513func (r Network_Tunnel_Module_Context) DownloadAddressTranslationConfigurations() (resp datatypes.Container_Utility_File_Entity, err error) {
14514	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "downloadAddressTranslationConfigurations", nil, &r.Options, &resp)
14515	return
14516}
14517
14518// Provides all of the configurations for an IPSec VPN network tunnel in a text file
14519func (r Network_Tunnel_Module_Context) DownloadParameterConfigurations() (resp datatypes.Container_Utility_File_Entity, err error) {
14520	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "downloadParameterConfigurations", nil, &r.Options, &resp)
14521	return
14522}
14523
14524// Edit name, source (SoftLayer IP) ip address and/or destination (Customer IP) ip address for an existing address translation for a network tunnel.
14525//
14526// Address translations deliver packets to a destination ip address that is on a customer (remote) subnet.
14527//
14528// NOTE:  A network tunnel's configurations must be applied to the network device in order for an address translation to be created.
14529func (r Network_Tunnel_Module_Context) EditAddressTranslation(translation *datatypes.Network_Tunnel_Module_Context_Address_Translation) (resp datatypes.Network_Tunnel_Module_Context_Address_Translation, err error) {
14530	params := []interface{}{
14531		translation,
14532	}
14533	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "editAddressTranslation", params, &r.Options, &resp)
14534	return
14535}
14536
14537// Edit name, source (SoftLayer IP) ip address and/or destination (Customer IP) ip address for existing address translations for a network tunnel.
14538//
14539// Address translations deliver packets to a destination ip address that is on a customer (remote) subnet.
14540//
14541// NOTE:  A network tunnel's configurations must be applied to the network device in order for an address translation to be modified.
14542func (r Network_Tunnel_Module_Context) EditAddressTranslations(translations []datatypes.Network_Tunnel_Module_Context_Address_Translation) (resp []datatypes.Network_Tunnel_Module_Context_Address_Translation, err error) {
14543	params := []interface{}{
14544		translations,
14545	}
14546	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "editAddressTranslations", params, &r.Options, &resp)
14547	return
14548}
14549
14550// Negotiation parameters for both phases one and two are editable. Here are the phase one and two parameters that can modified:
14551//
14552//
14553// *Phase One
14554// **Authentication
14555// ***Default value is set to MD5.
14556// ***Valid Options are: MD5, SHA1, SHA256.
14557// **Encryption
14558// ***Default value is set to 3DES.
14559// ***Valid Options are: DES, 3DES, AES128, AES192, AES256.
14560// **Diffie-Hellman Group
14561// ***Default value is set to 2.
14562// ***Valid Options are: 0 (None), 1, 2, 5.
14563// **Keylife
14564// ***Default value is set to 3600.
14565// ***Limits are:  MIN = 120, MAX = 172800
14566// **Preshared Key
14567// *Phase Two
14568// **Authentication
14569// ***Default value is set to MD5.
14570// ***Valid Options are: MD5, SHA1, SHA256.
14571// **Encryption
14572// ***Default value is set to 3DES.
14573// ***Valid Options are: DES, 3DES, AES128, AES192, AES256.
14574// **Diffie-Hellman Group
14575// ***Default value is set to 2.
14576// ***Valid Options are: 0 (None), 1, 2, 5.
14577// **Keylife
14578// ***Default value is set to 28800.
14579// ***Limits are:  MIN = 120, MAX = 172800
14580// **Perfect Forward Secrecy
14581// ***Valid Options are: Off = 0, On = 1.
14582// ***NOTE:  If perfect forward secrecy is turned On (set to 1), then a phase 2 diffie-hellman group is required.
14583//
14584//
14585// The remote peer address for the network tunnel may also be modified if needed.  Invalid options will not be accepted and will cause an exception to be thrown.  There are properties that provide valid options and limits for each negotiation parameter.  Those properties are as follows:
14586// * encryptionDefault
14587// * encryptionOptions
14588// * authenticationDefault
14589// * authenticationOptions
14590// * diffieHellmanGroupDefault
14591// * diffieHellmanGroupOptions
14592// * phaseOneKeylifeDefault
14593// * phaseTwoKeylifeDefault
14594// * keylifeLimits
14595//
14596//
14597// Configurations cannot be modified if a network tunnel's requires complex manual setups/configuration modifications by the SoftLayer Network department.  If the former is required, the configurations for the network tunnel will be locked until the manual configurations are complete. A network tunnel's configurations are applied via a transaction.  If a network tunnel configuration change transaction is currently running, the network tunnel's setting cannot be modified until the running transaction completes.
14598//
14599// NOTE:  A network tunnel's configurations must be applied to the network device in order for the modifications made to take effect.
14600func (r Network_Tunnel_Module_Context) EditObject(templateObject *datatypes.Network_Tunnel_Module_Context) (resp bool, err error) {
14601	params := []interface{}{
14602		templateObject,
14603	}
14604	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "editObject", params, &r.Options, &resp)
14605	return
14606}
14607
14608// Retrieve The account that a network tunnel belongs to.
14609func (r Network_Tunnel_Module_Context) GetAccount() (resp datatypes.Account, err error) {
14610	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getAccount", nil, &r.Options, &resp)
14611	return
14612}
14613
14614// Retrieve The transaction that is currently applying configurations for the network tunnel.
14615func (r Network_Tunnel_Module_Context) GetActiveTransaction() (resp datatypes.Provisioning_Version1_Transaction, err error) {
14616	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getActiveTransaction", nil, &r.Options, &resp)
14617	return
14618}
14619
14620// The address translations will be returned.  All the translations will be formatted so that the configurations can be copied into a host file.
14621//
14622// Format:
14623//
14624// {address translation SoftLayer IP Address}        {address translation name}
14625func (r Network_Tunnel_Module_Context) GetAddressTranslationConfigurations() (resp string, err error) {
14626	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getAddressTranslationConfigurations", nil, &r.Options, &resp)
14627	return
14628}
14629
14630// Retrieve A network tunnel's address translations.
14631func (r Network_Tunnel_Module_Context) GetAddressTranslations() (resp []datatypes.Network_Tunnel_Module_Context_Address_Translation, err error) {
14632	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getAddressTranslations", nil, &r.Options, &resp)
14633	return
14634}
14635
14636// Retrieve Subnets that provide access to SoftLayer services such as the management portal and the SoftLayer API.
14637func (r Network_Tunnel_Module_Context) GetAllAvailableServiceSubnets() (resp []datatypes.Network_Subnet, err error) {
14638	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getAllAvailableServiceSubnets", nil, &r.Options, &resp)
14639	return
14640}
14641
14642// The default authentication type used for both phases of the negotiation process.  The default value is set to MD5.
14643func (r Network_Tunnel_Module_Context) GetAuthenticationDefault() (resp string, err error) {
14644	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getAuthenticationDefault", nil, &r.Options, &resp)
14645	return
14646}
14647
14648// Authentication options available for both phases of the negotiation process.
14649//
14650// The authentication options are as follows:
14651// * MD5
14652// * SHA1
14653// * SHA256
14654func (r Network_Tunnel_Module_Context) GetAuthenticationOptions() (resp []string, err error) {
14655	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getAuthenticationOptions", nil, &r.Options, &resp)
14656	return
14657}
14658
14659// Retrieve The current billing item for network tunnel.
14660func (r Network_Tunnel_Module_Context) GetBillingItem() (resp datatypes.Billing_Item, err error) {
14661	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getBillingItem", nil, &r.Options, &resp)
14662	return
14663}
14664
14665// Retrieve Remote subnets that are allowed access through a network tunnel.
14666func (r Network_Tunnel_Module_Context) GetCustomerSubnets() (resp []datatypes.Network_Customer_Subnet, err error) {
14667	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getCustomerSubnets", nil, &r.Options, &resp)
14668	return
14669}
14670
14671// Retrieve The datacenter location for one end of the network tunnel that allows access to account's private subnets.
14672func (r Network_Tunnel_Module_Context) GetDatacenter() (resp datatypes.Location, err error) {
14673	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getDatacenter", nil, &r.Options, &resp)
14674	return
14675}
14676
14677// The default Diffie-Hellman group used for both phases of the negotiation process.  The default value is set to 2.
14678func (r Network_Tunnel_Module_Context) GetDiffieHellmanGroupDefault() (resp int, err error) {
14679	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getDiffieHellmanGroupDefault", nil, &r.Options, &resp)
14680	return
14681}
14682
14683// The Diffie-Hellman group options used for both phases of the negotiation process.
14684//
14685// The diffie-hellman group options are as follows:
14686// * 0 (None)
14687// * 1
14688// * 2
14689// * 5
14690func (r Network_Tunnel_Module_Context) GetDiffieHellmanGroupOptions() (resp []int, err error) {
14691	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getDiffieHellmanGroupOptions", nil, &r.Options, &resp)
14692	return
14693}
14694
14695// The default encryption type used for both phases of the negotiation process.  The default value is set to 3DES.
14696func (r Network_Tunnel_Module_Context) GetEncryptionDefault() (resp string, err error) {
14697	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getEncryptionDefault", nil, &r.Options, &resp)
14698	return
14699}
14700
14701// Encryption options available for both phases of the negotiation process.
14702//
14703// The valid encryption options are as follows:
14704// * DES
14705// * 3DES
14706// * AES128
14707// * AES192
14708// * AES256
14709func (r Network_Tunnel_Module_Context) GetEncryptionOptions() (resp []string, err error) {
14710	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getEncryptionOptions", nil, &r.Options, &resp)
14711	return
14712}
14713
14714// Retrieve Private subnets that can be accessed through the network tunnel.
14715func (r Network_Tunnel_Module_Context) GetInternalSubnets() (resp []datatypes.Network_Subnet, err error) {
14716	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getInternalSubnets", nil, &r.Options, &resp)
14717	return
14718}
14719
14720// The keylife limits.  Keylife max limit is set to 120.  Keylife min limit is set to 172800.
14721func (r Network_Tunnel_Module_Context) GetKeylifeLimits() (resp []int, err error) {
14722	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getKeylifeLimits", nil, &r.Options, &resp)
14723	return
14724}
14725
14726// getObject retrieves the SoftLayer_Network_Tunnel_Module_Context object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Tunnel_Module_Context service. The IPSec network tunnel will be returned if it is associated with the account and the user has proper permission to manage network tunnels.
14727func (r Network_Tunnel_Module_Context) GetObject() (resp datatypes.Network_Tunnel_Module_Context, err error) {
14728	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getObject", nil, &r.Options, &resp)
14729	return
14730}
14731
14732// All of the IPSec VPN tunnel's configurations will be returned.  It will list all of phase one and two negotiation parameters.  Both remote and local subnets will be provided as well.  This is useful when the configurations need to be passed on to another team and/or company for internal network configuration.
14733func (r Network_Tunnel_Module_Context) GetParameterConfigurationsForCustomerView() (resp string, err error) {
14734	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getParameterConfigurationsForCustomerView", nil, &r.Options, &resp)
14735	return
14736}
14737
14738// The default phase 1 keylife used if a value is not provided.  The default value is set to 3600.
14739func (r Network_Tunnel_Module_Context) GetPhaseOneKeylifeDefault() (resp string, err error) {
14740	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getPhaseOneKeylifeDefault", nil, &r.Options, &resp)
14741	return
14742}
14743
14744// The default phase 2 keylife used if a value is not provided.  The default value is set to 28800.
14745func (r Network_Tunnel_Module_Context) GetPhaseTwoKeylifeDefault() (resp string, err error) {
14746	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getPhaseTwoKeylifeDefault", nil, &r.Options, &resp)
14747	return
14748}
14749
14750// Retrieve Service subnets that can be access through the network tunnel.
14751func (r Network_Tunnel_Module_Context) GetServiceSubnets() (resp []datatypes.Network_Subnet, err error) {
14752	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getServiceSubnets", nil, &r.Options, &resp)
14753	return
14754}
14755
14756// Retrieve Subnets used for a network tunnel's address translations.
14757func (r Network_Tunnel_Module_Context) GetStaticRouteSubnets() (resp []datatypes.Network_Subnet, err error) {
14758	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getStaticRouteSubnets", nil, &r.Options, &resp)
14759	return
14760}
14761
14762// Retrieve The transaction history for this network tunnel.
14763func (r Network_Tunnel_Module_Context) GetTransactionHistory() (resp []datatypes.Provisioning_Version1_Transaction, err error) {
14764	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "getTransactionHistory", nil, &r.Options, &resp)
14765	return
14766}
14767
14768// Disassociate a customer subnet (remote) from a network tunnel.  When a remote subnet is disassociated, that subnet will not able to communicate with private and service subnets on the SoftLayer network.
14769//
14770// NOTE:  A network tunnel's configurations must be applied to the network device in order for the disassociation described above to take effect.
14771func (r Network_Tunnel_Module_Context) RemoveCustomerSubnetFromNetworkTunnel(subnetId *int) (resp bool, err error) {
14772	params := []interface{}{
14773		subnetId,
14774	}
14775	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "removeCustomerSubnetFromNetworkTunnel", params, &r.Options, &resp)
14776	return
14777}
14778
14779// Disassociate a private subnet from a network tunnel.  When a private subnet is disassociated, the customer (remote) subnet on the other end of the tunnel will not able to communicate with the private subnet that was just disassociated.
14780//
14781// NOTE:  A network tunnel's configurations must be applied to the network device in order for the disassociation described above to take effect.
14782func (r Network_Tunnel_Module_Context) RemovePrivateSubnetFromNetworkTunnel(subnetId *int) (resp bool, err error) {
14783	params := []interface{}{
14784		subnetId,
14785	}
14786	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "removePrivateSubnetFromNetworkTunnel", params, &r.Options, &resp)
14787	return
14788}
14789
14790// Disassociate a service subnet from a network tunnel.  When a service subnet is disassociated, that customer (remote) subnet on the other end of the network tunnel will not able to communicate with that service subnet on the SoftLayer network.
14791//
14792// NOTE:  A network tunnel's configurations must be applied to the network device in order for the disassociation described above to take effect.
14793func (r Network_Tunnel_Module_Context) RemoveServiceSubnetFromNetworkTunnel(subnetId *int) (resp bool, err error) {
14794	params := []interface{}{
14795		subnetId,
14796	}
14797	err = r.Session.DoRequest("SoftLayer_Network_Tunnel_Module_Context", "removeServiceSubnetFromNetworkTunnel", params, &r.Options, &resp)
14798	return
14799}
14800
14801// The SoftLayer_Network_Vlan data type models a single VLAN within SoftLayer's public and private networks. a Virtual LAN is a structure that associates network interfaces on routers, switches, and servers in different locations to act as if they were on the same local network broadcast domain. VLANs are a central part of the SoftLayer network. They can determine how new IP subnets are routed and how individual servers communicate to each other.
14802type Network_Vlan struct {
14803	Session *session.Session
14804	Options sl.Options
14805}
14806
14807// GetNetworkVlanService returns an instance of the Network_Vlan SoftLayer service
14808func GetNetworkVlanService(sess *session.Session) Network_Vlan {
14809	return Network_Vlan{Session: sess}
14810}
14811
14812func (r Network_Vlan) Id(id int) Network_Vlan {
14813	r.Options.Id = &id
14814	return r
14815}
14816
14817func (r Network_Vlan) Mask(mask string) Network_Vlan {
14818	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
14819		mask = fmt.Sprintf("mask[%s]", mask)
14820	}
14821
14822	r.Options.Mask = mask
14823	return r
14824}
14825
14826func (r Network_Vlan) Filter(filter string) Network_Vlan {
14827	r.Options.Filter = filter
14828	return r
14829}
14830
14831func (r Network_Vlan) Limit(limit int) Network_Vlan {
14832	r.Options.Limit = &limit
14833	return r
14834}
14835
14836func (r Network_Vlan) Offset(offset int) Network_Vlan {
14837	r.Options.Offset = &offset
14838	return r
14839}
14840
14841// Edit a VLAN's properties
14842func (r Network_Vlan) EditObject(templateObject *datatypes.Network_Vlan) (resp bool, err error) {
14843	params := []interface{}{
14844		templateObject,
14845	}
14846	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "editObject", params, &r.Options, &resp)
14847	return
14848}
14849
14850// Retrieve The SoftLayer customer account associated with a VLAN.
14851func (r Network_Vlan) GetAccount() (resp datatypes.Account, err error) {
14852	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getAccount", nil, &r.Options, &resp)
14853	return
14854}
14855
14856// Retrieve A VLAN's additional primary subnets. These are used to extend the number of servers attached to the VLAN by adding more ip addresses to the primary IP address pool.
14857func (r Network_Vlan) GetAdditionalPrimarySubnets() (resp []datatypes.Network_Subnet, err error) {
14858	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getAdditionalPrimarySubnets", nil, &r.Options, &resp)
14859	return
14860}
14861
14862// Retrieve The gateway this VLAN is inside of.
14863func (r Network_Vlan) GetAttachedNetworkGateway() (resp datatypes.Network_Gateway, err error) {
14864	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getAttachedNetworkGateway", nil, &r.Options, &resp)
14865	return
14866}
14867
14868// Retrieve Whether or not this VLAN is inside a gateway.
14869func (r Network_Vlan) GetAttachedNetworkGatewayFlag() (resp bool, err error) {
14870	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getAttachedNetworkGatewayFlag", nil, &r.Options, &resp)
14871	return
14872}
14873
14874// Retrieve The inside VLAN record if this VLAN is inside a network gateway.
14875func (r Network_Vlan) GetAttachedNetworkGatewayVlan() (resp datatypes.Network_Gateway_Vlan, err error) {
14876	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getAttachedNetworkGatewayVlan", nil, &r.Options, &resp)
14877	return
14878}
14879
14880// Retrieve The billing item for a network vlan.
14881func (r Network_Vlan) GetBillingItem() (resp datatypes.Billing_Item, err error) {
14882	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getBillingItem", nil, &r.Options, &resp)
14883	return
14884}
14885
14886// Get a set of reasons why this VLAN may not be cancelled. If the result is empty, this VLAN may be cancelled.
14887func (r Network_Vlan) GetCancelFailureReasons() (resp []string, err error) {
14888	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getCancelFailureReasons", nil, &r.Options, &resp)
14889	return
14890}
14891
14892// Retrieve A flag indicating that a network vlan is on a Hardware Firewall (Dedicated).
14893func (r Network_Vlan) GetDedicatedFirewallFlag() (resp int, err error) {
14894	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getDedicatedFirewallFlag", nil, &r.Options, &resp)
14895	return
14896}
14897
14898// Retrieve The extension router that a VLAN is associated with.
14899func (r Network_Vlan) GetExtensionRouter() (resp datatypes.Hardware_Router, err error) {
14900	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getExtensionRouter", nil, &r.Options, &resp)
14901	return
14902}
14903
14904// Retrieve A firewalled Vlan's network components.
14905func (r Network_Vlan) GetFirewallGuestNetworkComponents() (resp []datatypes.Network_Component_Firewall, err error) {
14906	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getFirewallGuestNetworkComponents", nil, &r.Options, &resp)
14907	return
14908}
14909
14910// Retrieve A firewalled vlan's inbound/outbound interfaces.
14911func (r Network_Vlan) GetFirewallInterfaces() (resp []datatypes.Network_Firewall_Module_Context_Interface, err error) {
14912	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getFirewallInterfaces", nil, &r.Options, &resp)
14913	return
14914}
14915
14916// Retrieve A firewalled Vlan's network components.
14917func (r Network_Vlan) GetFirewallNetworkComponents() (resp []datatypes.Network_Component_Firewall, err error) {
14918	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getFirewallNetworkComponents", nil, &r.Options, &resp)
14919	return
14920}
14921
14922// 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 VLAN. Please use getFirewallProtectableSubnets to get all protectable subnets.
14923func (r Network_Vlan) GetFirewallProtectableIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
14924	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getFirewallProtectableIpAddresses", nil, &r.Options, &resp)
14925	return
14926}
14927
14928// Get the subnets associated with this server that are protectable by a network component firewall.
14929func (r Network_Vlan) GetFirewallProtectableSubnets() (resp []datatypes.Network_Subnet, err error) {
14930	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getFirewallProtectableSubnets", nil, &r.Options, &resp)
14931	return
14932}
14933
14934// Retrieve The currently running rule set of a firewalled VLAN.
14935func (r Network_Vlan) GetFirewallRules() (resp []datatypes.Network_Vlan_Firewall_Rule, err error) {
14936	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getFirewallRules", nil, &r.Options, &resp)
14937	return
14938}
14939
14940// Retrieve The networking components that are connected to a VLAN.
14941func (r Network_Vlan) GetGuestNetworkComponents() (resp []datatypes.Virtual_Guest_Network_Component, err error) {
14942	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getGuestNetworkComponents", nil, &r.Options, &resp)
14943	return
14944}
14945
14946// Retrieve All of the hardware that exists on a VLAN. Hardware is associated with a VLAN by its networking components.
14947func (r Network_Vlan) GetHardware() (resp []datatypes.Hardware, err error) {
14948	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getHardware", nil, &r.Options, &resp)
14949	return
14950}
14951
14952// Retrieve
14953func (r Network_Vlan) GetHighAvailabilityFirewallFlag() (resp bool, err error) {
14954	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getHighAvailabilityFirewallFlag", nil, &r.Options, &resp)
14955	return
14956}
14957
14958// Retrieve A flag indicating that a vlan can be assigned to a host that has local disk functionality.
14959func (r Network_Vlan) GetLocalDiskStorageCapabilityFlag() (resp bool, err error) {
14960	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getLocalDiskStorageCapabilityFlag", nil, &r.Options, &resp)
14961	return
14962}
14963
14964// Retrieve The network in which this VLAN resides.
14965func (r Network_Vlan) GetNetwork() (resp datatypes.Network, err error) {
14966	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getNetwork", nil, &r.Options, &resp)
14967	return
14968}
14969
14970// Retrieve The network components that are connected to this VLAN through a trunk.
14971func (r Network_Vlan) GetNetworkComponentTrunks() (resp []datatypes.Network_Component_Network_Vlan_Trunk, err error) {
14972	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getNetworkComponentTrunks", nil, &r.Options, &resp)
14973	return
14974}
14975
14976// Retrieve The networking components that are connected to a VLAN.
14977func (r Network_Vlan) GetNetworkComponents() (resp []datatypes.Network_Component, err error) {
14978	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getNetworkComponents", nil, &r.Options, &resp)
14979	return
14980}
14981
14982// Retrieve Identifier to denote whether a VLAN is used for public or private connectivity.
14983func (r Network_Vlan) GetNetworkSpace() (resp string, err error) {
14984	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getNetworkSpace", nil, &r.Options, &resp)
14985	return
14986}
14987
14988// Retrieve The Hardware Firewall (Dedicated) for a network vlan.
14989func (r Network_Vlan) GetNetworkVlanFirewall() (resp datatypes.Network_Vlan_Firewall, err error) {
14990	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getNetworkVlanFirewall", nil, &r.Options, &resp)
14991	return
14992}
14993
14994// getObject retrieves the SoftLayer_Network_Vlan object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Vlan service. You can only retrieve VLANs that are associated with your SoftLayer customer account.
14995func (r Network_Vlan) GetObject() (resp datatypes.Network_Vlan, err error) {
14996	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getObject", nil, &r.Options, &resp)
14997	return
14998}
14999
15000// Retrieve The primary router that a VLAN is associated with. Every SoftLayer VLAN is connected to more than one router for greater network redundancy.
15001func (r Network_Vlan) GetPrimaryRouter() (resp datatypes.Hardware_Router, err error) {
15002	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPrimaryRouter", nil, &r.Options, &resp)
15003	return
15004}
15005
15006// Retrieve A VLAN's primary subnet. Each VLAN has at least one subnet, usually the subnet that is assigned to a server or new IP address block when it's purchased.
15007func (r Network_Vlan) GetPrimarySubnet() (resp datatypes.Network_Subnet, err error) {
15008	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPrimarySubnet", nil, &r.Options, &resp)
15009	return
15010}
15011
15012// Retrieve A VLAN's primary IPv6 subnet. Some VLAN's may not have a primary IPv6 subnet.
15013func (r Network_Vlan) GetPrimarySubnetVersion6() (resp datatypes.Network_Subnet, err error) {
15014	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPrimarySubnetVersion6", nil, &r.Options, &resp)
15015	return
15016}
15017
15018// Retrieve
15019func (r Network_Vlan) GetPrimarySubnets() (resp []datatypes.Network_Subnet, err error) {
15020	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPrimarySubnets", nil, &r.Options, &resp)
15021	return
15022}
15023
15024// Retrieve The gateways this VLAN is the private VLAN of.
15025func (r Network_Vlan) GetPrivateNetworkGateways() (resp []datatypes.Network_Gateway, err error) {
15026	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPrivateNetworkGateways", nil, &r.Options, &resp)
15027	return
15028}
15029
15030// Retrieve a VLAN's associated private network VLAN. getPrivateVlan gathers it's information by retrieving the private VLAN of a VLAN's primary hardware object.
15031func (r Network_Vlan) GetPrivateVlan() (resp datatypes.Network_Vlan, err error) {
15032	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPrivateVlan", nil, &r.Options, &resp)
15033	return
15034}
15035
15036// Retrieve the private network VLAN associated with an IP address.
15037func (r Network_Vlan) GetPrivateVlanByIpAddress(ipAddress *string) (resp datatypes.Network_Vlan, err error) {
15038	params := []interface{}{
15039		ipAddress,
15040	}
15041	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPrivateVlanByIpAddress", params, &r.Options, &resp)
15042	return
15043}
15044
15045// Retrieve
15046func (r Network_Vlan) GetProtectedIpAddresses() (resp []datatypes.Network_Subnet_IpAddress, err error) {
15047	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getProtectedIpAddresses", nil, &r.Options, &resp)
15048	return
15049}
15050
15051// Retrieve The gateways this VLAN is the public VLAN of.
15052func (r Network_Vlan) GetPublicNetworkGateways() (resp []datatypes.Network_Gateway, err error) {
15053	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPublicNetworkGateways", nil, &r.Options, &resp)
15054	return
15055}
15056
15057// Retrieve the VLAN that belongs to a server's public network interface, as described by a server's fully-qualified domain name. A server's ''FQDN'' is it's hostname, followed by a period then it's domain name.
15058func (r Network_Vlan) GetPublicVlanByFqdn(fqdn *string) (resp datatypes.Network_Vlan, err error) {
15059	params := []interface{}{
15060		fqdn,
15061	}
15062	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getPublicVlanByFqdn", params, &r.Options, &resp)
15063	return
15064}
15065
15066// Retrieve all reverse DNS records associated with the subnets assigned to a VLAN.
15067func (r Network_Vlan) GetReverseDomainRecords() (resp []datatypes.Dns_Domain, err error) {
15068	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getReverseDomainRecords", nil, &r.Options, &resp)
15069	return
15070}
15071
15072// Retrieve A flag indicating that a vlan can be assigned to a host that has SAN disk functionality.
15073func (r Network_Vlan) GetSanStorageCapabilityFlag() (resp bool, err error) {
15074	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getSanStorageCapabilityFlag", nil, &r.Options, &resp)
15075	return
15076}
15077
15078// Retrieve Collection of scale VLANs this VLAN applies to.
15079func (r Network_Vlan) GetScaleVlans() (resp []datatypes.Scale_Network_Vlan, err error) {
15080	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getScaleVlans", nil, &r.Options, &resp)
15081	return
15082}
15083
15084// Retrieve The secondary router that a VLAN is associated with. Every SoftLayer VLAN is connected to more than one router for greater network redundancy.
15085func (r Network_Vlan) GetSecondaryRouter() (resp datatypes.Hardware, err error) {
15086	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getSecondaryRouter", nil, &r.Options, &resp)
15087	return
15088}
15089
15090// Retrieve The subnets that exist as secondary interfaces on a VLAN
15091func (r Network_Vlan) GetSecondarySubnets() (resp []datatypes.Network_Subnet, err error) {
15092	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getSecondarySubnets", nil, &r.Options, &resp)
15093	return
15094}
15095
15096// Retrieve All of the subnets that exist as VLAN interfaces.
15097func (r Network_Vlan) GetSubnets() (resp []datatypes.Network_Subnet, err error) {
15098	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getSubnets", nil, &r.Options, &resp)
15099	return
15100}
15101
15102// Retrieve References to all tags for this VLAN.
15103func (r Network_Vlan) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
15104	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getTagReferences", nil, &r.Options, &resp)
15105	return
15106}
15107
15108// Retrieve The number of primary IP addresses in a VLAN.
15109func (r Network_Vlan) GetTotalPrimaryIpAddressCount() (resp uint, err error) {
15110	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getTotalPrimaryIpAddressCount", nil, &r.Options, &resp)
15111	return
15112}
15113
15114// Retrieve The type of this VLAN.
15115func (r Network_Vlan) GetType() (resp datatypes.Network_Vlan_Type, err error) {
15116	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getType", nil, &r.Options, &resp)
15117	return
15118}
15119
15120// Retrieve All of the Virtual Servers that are connected to a VLAN.
15121func (r Network_Vlan) GetVirtualGuests() (resp []datatypes.Virtual_Guest, err error) {
15122	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getVirtualGuests", nil, &r.Options, &resp)
15123	return
15124}
15125
15126// Retrieve the VLAN associated with an IP address via the IP's associated subnet.
15127func (r Network_Vlan) GetVlanForIpAddress(ipAddress *string) (resp datatypes.Network_Vlan, err error) {
15128	params := []interface{}{
15129		ipAddress,
15130	}
15131	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "getVlanForIpAddress", params, &r.Options, &resp)
15132	return
15133}
15134
15135// Tag a VLAN by passing in one or more tags separated by a comma. Tag references are cleared out every time this method is called. If your VLAN is already tagged you will need to pass the current tags along with any new ones. To remove all tag references pass an empty string. To remove one or more tags omit them from the tag list.
15136func (r Network_Vlan) SetTags(tags *string) (resp bool, err error) {
15137	params := []interface{}{
15138		tags,
15139	}
15140	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "setTags", params, &r.Options, &resp)
15141	return
15142}
15143
15144// The '''getSensorData''' method updates a VLAN's firewall to allow or disallow intra-VLAN communication.
15145func (r Network_Vlan) UpdateFirewallIntraVlanCommunication(enabled *bool) (err error) {
15146	var resp datatypes.Void
15147	params := []interface{}{
15148		enabled,
15149	}
15150	err = r.Session.DoRequest("SoftLayer_Network_Vlan", "updateFirewallIntraVlanCommunication", params, &r.Options, &resp)
15151	return
15152}
15153
15154// The SoftLayer_Network_Vlan_Firewall data type contains general information relating to a single SoftLayer VLAN firewall. This is the object which ties the running rules to a specific downstream server. Use the [[SoftLayer Network Firewall Template]] service to pull SoftLayer recommended rule set templates. Use the [[SoftLayer Network Firewall Update Request]] service to submit a firewall update request.
15155type Network_Vlan_Firewall struct {
15156	Session *session.Session
15157	Options sl.Options
15158}
15159
15160// GetNetworkVlanFirewallService returns an instance of the Network_Vlan_Firewall SoftLayer service
15161func GetNetworkVlanFirewallService(sess *session.Session) Network_Vlan_Firewall {
15162	return Network_Vlan_Firewall{Session: sess}
15163}
15164
15165func (r Network_Vlan_Firewall) Id(id int) Network_Vlan_Firewall {
15166	r.Options.Id = &id
15167	return r
15168}
15169
15170func (r Network_Vlan_Firewall) Mask(mask string) Network_Vlan_Firewall {
15171	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
15172		mask = fmt.Sprintf("mask[%s]", mask)
15173	}
15174
15175	r.Options.Mask = mask
15176	return r
15177}
15178
15179func (r Network_Vlan_Firewall) Filter(filter string) Network_Vlan_Firewall {
15180	r.Options.Filter = filter
15181	return r
15182}
15183
15184func (r Network_Vlan_Firewall) Limit(limit int) Network_Vlan_Firewall {
15185	r.Options.Limit = &limit
15186	return r
15187}
15188
15189func (r Network_Vlan_Firewall) Offset(offset int) Network_Vlan_Firewall {
15190	r.Options.Offset = &offset
15191	return r
15192}
15193
15194// Approve a request from technical support to bypass the firewall. Once approved, support will be able to route and unroute the VLAN on the firewall.
15195func (r Network_Vlan_Firewall) ApproveBypassRequest() (err error) {
15196	var resp datatypes.Void
15197	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "approveBypassRequest", nil, &r.Options, &resp)
15198	return
15199}
15200
15201// Retrieve
15202func (r Network_Vlan_Firewall) GetAccountId() (resp int, err error) {
15203	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getAccountId", nil, &r.Options, &resp)
15204	return
15205}
15206
15207// Retrieve A firewall's allotted bandwidth (measured in GB).
15208func (r Network_Vlan_Firewall) GetBandwidthAllocation() (resp datatypes.Float64, err error) {
15209	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getBandwidthAllocation", nil, &r.Options, &resp)
15210	return
15211}
15212
15213// Retrieve The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this firewall is attached to.
15214func (r Network_Vlan_Firewall) GetBillingCycleBandwidthUsage() (resp []datatypes.Network_Bandwidth_Usage, err error) {
15215	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getBillingCycleBandwidthUsage", nil, &r.Options, &resp)
15216	return
15217}
15218
15219// Retrieve The raw private bandwidth usage data for the current billing cycle.
15220func (r Network_Vlan_Firewall) GetBillingCyclePrivateBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
15221	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getBillingCyclePrivateBandwidthUsage", nil, &r.Options, &resp)
15222	return
15223}
15224
15225// Retrieve The raw public bandwidth usage data for the current billing cycle.
15226func (r Network_Vlan_Firewall) GetBillingCyclePublicBandwidthUsage() (resp datatypes.Network_Bandwidth_Usage, err error) {
15227	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getBillingCyclePublicBandwidthUsage", nil, &r.Options, &resp)
15228	return
15229}
15230
15231// Retrieve The billing item for a Hardware Firewall (Dedicated).
15232func (r Network_Vlan_Firewall) GetBillingItem() (resp datatypes.Billing_Item, err error) {
15233	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getBillingItem", nil, &r.Options, &resp)
15234	return
15235}
15236
15237// Retrieve Administrative bypass request status.
15238func (r Network_Vlan_Firewall) GetBypassRequestStatus() (resp string, err error) {
15239	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getBypassRequestStatus", nil, &r.Options, &resp)
15240	return
15241}
15242
15243// Retrieve The datacenter that the firewall resides in.
15244func (r Network_Vlan_Firewall) GetDatacenter() (resp datatypes.Location, err error) {
15245	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getDatacenter", nil, &r.Options, &resp)
15246	return
15247}
15248
15249// Retrieve The firewall device type.
15250func (r Network_Vlan_Firewall) GetFirewallType() (resp string, err error) {
15251	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getFirewallType", nil, &r.Options, &resp)
15252	return
15253}
15254
15255// Retrieve A name reflecting the hostname and domain of the firewall. This is created from the combined values of the firewall's logical name and vlan number automatically, and thus can not be edited directly.
15256func (r Network_Vlan_Firewall) GetFullyQualifiedDomainName() (resp string, err error) {
15257	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getFullyQualifiedDomainName", nil, &r.Options, &resp)
15258	return
15259}
15260
15261// Retrieve The credentials to log in to a firewall device. This is only present for dedicated appliances.
15262func (r Network_Vlan_Firewall) GetManagementCredentials() (resp datatypes.Software_Component_Password, err error) {
15263	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getManagementCredentials", nil, &r.Options, &resp)
15264	return
15265}
15266
15267// Retrieve A firewall's metric tracking object.
15268func (r Network_Vlan_Firewall) GetMetricTrackingObject() (resp datatypes.Metric_Tracking_Object, err error) {
15269	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getMetricTrackingObject", nil, &r.Options, &resp)
15270	return
15271}
15272
15273// Retrieve The metric tracking object ID for this firewall.
15274func (r Network_Vlan_Firewall) GetMetricTrackingObjectId() (resp int, err error) {
15275	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getMetricTrackingObjectId", nil, &r.Options, &resp)
15276	return
15277}
15278
15279// Retrieve The update requests made for this firewall.
15280func (r Network_Vlan_Firewall) GetNetworkFirewallUpdateRequests() (resp []datatypes.Network_Firewall_Update_Request, err error) {
15281	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getNetworkFirewallUpdateRequests", nil, &r.Options, &resp)
15282	return
15283}
15284
15285// Retrieve The gateway associated with this firewall, if any.
15286func (r Network_Vlan_Firewall) GetNetworkGateway() (resp datatypes.Network_Gateway, err error) {
15287	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getNetworkGateway", nil, &r.Options, &resp)
15288	return
15289}
15290
15291// Retrieve The VLAN object that a firewall is associated with and protecting.
15292func (r Network_Vlan_Firewall) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
15293	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getNetworkVlan", nil, &r.Options, &resp)
15294	return
15295}
15296
15297// Retrieve The VLAN objects that a firewall is associated with and protecting.
15298func (r Network_Vlan_Firewall) GetNetworkVlans() (resp []datatypes.Network_Vlan, err error) {
15299	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getNetworkVlans", nil, &r.Options, &resp)
15300	return
15301}
15302
15303// getObject returns a SoftLayer_Network_Vlan_Firewall object. You can only get objects for vlans attached to your account that have a network firewall enabled.
15304func (r Network_Vlan_Firewall) GetObject() (resp datatypes.Network_Vlan_Firewall, err error) {
15305	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getObject", nil, &r.Options, &resp)
15306	return
15307}
15308
15309// Retrieve The currently running rule set of this network component firewall.
15310func (r Network_Vlan_Firewall) GetRules() (resp []datatypes.Network_Vlan_Firewall_Rule, err error) {
15311	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getRules", nil, &r.Options, &resp)
15312	return
15313}
15314
15315// Retrieve
15316func (r Network_Vlan_Firewall) GetTagReferences() (resp []datatypes.Tag_Reference, err error) {
15317	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getTagReferences", nil, &r.Options, &resp)
15318	return
15319}
15320
15321// Retrieve A firewall's associated upgrade request object, if any.
15322func (r Network_Vlan_Firewall) GetUpgradeRequest() (resp datatypes.Product_Upgrade_Request, err error) {
15323	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "getUpgradeRequest", nil, &r.Options, &resp)
15324	return
15325}
15326
15327// Whether this firewall qualifies for High Availability upgrade.
15328func (r Network_Vlan_Firewall) IsHighAvailabilityUpgradeAvailable() (resp bool, err error) {
15329	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "isHighAvailabilityUpgradeAvailable", nil, &r.Options, &resp)
15330	return
15331}
15332
15333// Reject a request from technical support to bypass the firewall. Once rejected, IBM support will not be able to route and unroute the VLAN on the firewall.
15334func (r Network_Vlan_Firewall) RejectBypassRequest() (err error) {
15335	var resp datatypes.Void
15336	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "rejectBypassRequest", nil, &r.Options, &resp)
15337	return
15338}
15339
15340// This will completely reset the firewall to factory settings. If the firewall is not a dedicated appliance an error will occur. Note, this process is performed asynchronously. During the process all traffic will not be routed through the firewall.
15341func (r Network_Vlan_Firewall) RestoreDefaults() (resp datatypes.Provisioning_Version1_Transaction, err error) {
15342	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "restoreDefaults", nil, &r.Options, &resp)
15343	return
15344}
15345
15346// This method will associate a comma separated list of tags with this object.
15347func (r Network_Vlan_Firewall) SetTags(tags *string) (resp bool, err error) {
15348	params := []interface{}{
15349		tags,
15350	}
15351	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "setTags", params, &r.Options, &resp)
15352	return
15353}
15354
15355// Enable or disable route bypass for this context. If enabled, this will bypass the firewall entirely and all traffic will be routed directly to the host(s) behind it. If disabled, traffic will flow through the firewall normally. This feature is only available for Hardware Firewall (Dedicated) and dedicated appliances.
15356func (r Network_Vlan_Firewall) UpdateRouteBypass(bypass *bool) (resp datatypes.Provisioning_Version1_Transaction, err error) {
15357	params := []interface{}{
15358		bypass,
15359	}
15360	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Firewall", "updateRouteBypass", params, &r.Options, &resp)
15361	return
15362}
15363
15364// no documentation yet
15365type Network_Vlan_Type struct {
15366	Session *session.Session
15367	Options sl.Options
15368}
15369
15370// GetNetworkVlanTypeService returns an instance of the Network_Vlan_Type SoftLayer service
15371func GetNetworkVlanTypeService(sess *session.Session) Network_Vlan_Type {
15372	return Network_Vlan_Type{Session: sess}
15373}
15374
15375func (r Network_Vlan_Type) Id(id int) Network_Vlan_Type {
15376	r.Options.Id = &id
15377	return r
15378}
15379
15380func (r Network_Vlan_Type) Mask(mask string) Network_Vlan_Type {
15381	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
15382		mask = fmt.Sprintf("mask[%s]", mask)
15383	}
15384
15385	r.Options.Mask = mask
15386	return r
15387}
15388
15389func (r Network_Vlan_Type) Filter(filter string) Network_Vlan_Type {
15390	r.Options.Filter = filter
15391	return r
15392}
15393
15394func (r Network_Vlan_Type) Limit(limit int) Network_Vlan_Type {
15395	r.Options.Limit = &limit
15396	return r
15397}
15398
15399func (r Network_Vlan_Type) Offset(offset int) Network_Vlan_Type {
15400	r.Options.Offset = &offset
15401	return r
15402}
15403
15404// no documentation yet
15405func (r Network_Vlan_Type) GetObject() (resp datatypes.Network_Vlan_Type, err error) {
15406	err = r.Session.DoRequest("SoftLayer_Network_Vlan_Type", "getObject", nil, &r.Options, &resp)
15407	return
15408}
15409