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 Scale_Asset struct {
34	Session *session.Session
35	Options sl.Options
36}
37
38// GetScaleAssetService returns an instance of the Scale_Asset SoftLayer service
39func GetScaleAssetService(sess *session.Session) Scale_Asset {
40	return Scale_Asset{Session: sess}
41}
42
43func (r Scale_Asset) Id(id int) Scale_Asset {
44	r.Options.Id = &id
45	return r
46}
47
48func (r Scale_Asset) Mask(mask string) Scale_Asset {
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 Scale_Asset) Filter(filter string) Scale_Asset {
58	r.Options.Filter = filter
59	return r
60}
61
62func (r Scale_Asset) Limit(limit int) Scale_Asset {
63	r.Options.Limit = &limit
64	return r
65}
66
67func (r Scale_Asset) Offset(offset int) Scale_Asset {
68	r.Options.Offset = &offset
69	return r
70}
71
72// no documentation yet
73func (r Scale_Asset) DeleteObject() (resp bool, err error) {
74	err = r.Session.DoRequest("SoftLayer_Scale_Asset", "deleteObject", nil, &r.Options, &resp)
75	return
76}
77
78// no documentation yet
79func (r Scale_Asset) GetObject() (resp datatypes.Scale_Asset, err error) {
80	err = r.Session.DoRequest("SoftLayer_Scale_Asset", "getObject", nil, &r.Options, &resp)
81	return
82}
83
84// Retrieve The group this asset belongs to.
85func (r Scale_Asset) GetScaleGroup() (resp datatypes.Scale_Group, err error) {
86	err = r.Session.DoRequest("SoftLayer_Scale_Asset", "getScaleGroup", nil, &r.Options, &resp)
87	return
88}
89
90// no documentation yet
91type Scale_Asset_Hardware struct {
92	Session *session.Session
93	Options sl.Options
94}
95
96// GetScaleAssetHardwareService returns an instance of the Scale_Asset_Hardware SoftLayer service
97func GetScaleAssetHardwareService(sess *session.Session) Scale_Asset_Hardware {
98	return Scale_Asset_Hardware{Session: sess}
99}
100
101func (r Scale_Asset_Hardware) Id(id int) Scale_Asset_Hardware {
102	r.Options.Id = &id
103	return r
104}
105
106func (r Scale_Asset_Hardware) Mask(mask string) Scale_Asset_Hardware {
107	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
108		mask = fmt.Sprintf("mask[%s]", mask)
109	}
110
111	r.Options.Mask = mask
112	return r
113}
114
115func (r Scale_Asset_Hardware) Filter(filter string) Scale_Asset_Hardware {
116	r.Options.Filter = filter
117	return r
118}
119
120func (r Scale_Asset_Hardware) Limit(limit int) Scale_Asset_Hardware {
121	r.Options.Limit = &limit
122	return r
123}
124
125func (r Scale_Asset_Hardware) Offset(offset int) Scale_Asset_Hardware {
126	r.Options.Offset = &offset
127	return r
128}
129
130// no documentation yet
131func (r Scale_Asset_Hardware) CreateObject(templateObject *datatypes.Scale_Asset_Hardware) (resp datatypes.Scale_Asset_Hardware, err error) {
132	params := []interface{}{
133		templateObject,
134	}
135	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Hardware", "createObject", params, &r.Options, &resp)
136	return
137}
138
139// no documentation yet
140func (r Scale_Asset_Hardware) DeleteObject() (resp bool, err error) {
141	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Hardware", "deleteObject", nil, &r.Options, &resp)
142	return
143}
144
145// Retrieve The hardware for this asset.
146func (r Scale_Asset_Hardware) GetHardware() (resp datatypes.Hardware, err error) {
147	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Hardware", "getHardware", nil, &r.Options, &resp)
148	return
149}
150
151// Retrieve The identifier of the hardware for this asset.
152func (r Scale_Asset_Hardware) GetHardwareId() (resp int, err error) {
153	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Hardware", "getHardwareId", nil, &r.Options, &resp)
154	return
155}
156
157// no documentation yet
158func (r Scale_Asset_Hardware) GetObject() (resp datatypes.Scale_Asset_Hardware, err error) {
159	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Hardware", "getObject", nil, &r.Options, &resp)
160	return
161}
162
163// Retrieve The group this asset belongs to.
164func (r Scale_Asset_Hardware) GetScaleGroup() (resp datatypes.Scale_Group, err error) {
165	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Hardware", "getScaleGroup", nil, &r.Options, &resp)
166	return
167}
168
169// no documentation yet
170type Scale_Asset_Virtual_Guest struct {
171	Session *session.Session
172	Options sl.Options
173}
174
175// GetScaleAssetVirtualGuestService returns an instance of the Scale_Asset_Virtual_Guest SoftLayer service
176func GetScaleAssetVirtualGuestService(sess *session.Session) Scale_Asset_Virtual_Guest {
177	return Scale_Asset_Virtual_Guest{Session: sess}
178}
179
180func (r Scale_Asset_Virtual_Guest) Id(id int) Scale_Asset_Virtual_Guest {
181	r.Options.Id = &id
182	return r
183}
184
185func (r Scale_Asset_Virtual_Guest) Mask(mask string) Scale_Asset_Virtual_Guest {
186	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
187		mask = fmt.Sprintf("mask[%s]", mask)
188	}
189
190	r.Options.Mask = mask
191	return r
192}
193
194func (r Scale_Asset_Virtual_Guest) Filter(filter string) Scale_Asset_Virtual_Guest {
195	r.Options.Filter = filter
196	return r
197}
198
199func (r Scale_Asset_Virtual_Guest) Limit(limit int) Scale_Asset_Virtual_Guest {
200	r.Options.Limit = &limit
201	return r
202}
203
204func (r Scale_Asset_Virtual_Guest) Offset(offset int) Scale_Asset_Virtual_Guest {
205	r.Options.Offset = &offset
206	return r
207}
208
209// no documentation yet
210func (r Scale_Asset_Virtual_Guest) CreateObject(templateObject *datatypes.Scale_Asset_Virtual_Guest) (resp datatypes.Scale_Asset_Virtual_Guest, err error) {
211	params := []interface{}{
212		templateObject,
213	}
214	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Virtual_Guest", "createObject", params, &r.Options, &resp)
215	return
216}
217
218// no documentation yet
219func (r Scale_Asset_Virtual_Guest) DeleteObject() (resp bool, err error) {
220	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Virtual_Guest", "deleteObject", nil, &r.Options, &resp)
221	return
222}
223
224// no documentation yet
225func (r Scale_Asset_Virtual_Guest) GetObject() (resp datatypes.Scale_Asset_Virtual_Guest, err error) {
226	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Virtual_Guest", "getObject", nil, &r.Options, &resp)
227	return
228}
229
230// Retrieve The group this asset belongs to.
231func (r Scale_Asset_Virtual_Guest) GetScaleGroup() (resp datatypes.Scale_Group, err error) {
232	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Virtual_Guest", "getScaleGroup", nil, &r.Options, &resp)
233	return
234}
235
236// Retrieve The guest for this asset.
237func (r Scale_Asset_Virtual_Guest) GetVirtualGuest() (resp datatypes.Virtual_Guest, err error) {
238	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Virtual_Guest", "getVirtualGuest", nil, &r.Options, &resp)
239	return
240}
241
242// Retrieve The identifier of the guest for this asset.
243func (r Scale_Asset_Virtual_Guest) GetVirtualGuestId() (resp int, err error) {
244	err = r.Session.DoRequest("SoftLayer_Scale_Asset_Virtual_Guest", "getVirtualGuestId", nil, &r.Options, &resp)
245	return
246}
247
248// no documentation yet
249type Scale_Group struct {
250	Session *session.Session
251	Options sl.Options
252}
253
254// GetScaleGroupService returns an instance of the Scale_Group SoftLayer service
255func GetScaleGroupService(sess *session.Session) Scale_Group {
256	return Scale_Group{Session: sess}
257}
258
259func (r Scale_Group) Id(id int) Scale_Group {
260	r.Options.Id = &id
261	return r
262}
263
264func (r Scale_Group) Mask(mask string) Scale_Group {
265	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
266		mask = fmt.Sprintf("mask[%s]", mask)
267	}
268
269	r.Options.Mask = mask
270	return r
271}
272
273func (r Scale_Group) Filter(filter string) Scale_Group {
274	r.Options.Filter = filter
275	return r
276}
277
278func (r Scale_Group) Limit(limit int) Scale_Group {
279	r.Options.Limit = &limit
280	return r
281}
282
283func (r Scale_Group) Offset(offset int) Scale_Group {
284	r.Options.Offset = &offset
285	return r
286}
287
288// Create a scale group. If minimumMemberCount is greater than zero or desiredMemberCount is present, guest members will be created right away.
289func (r Scale_Group) CreateObject(templateObject *datatypes.Scale_Group) (resp datatypes.Scale_Group, err error) {
290	params := []interface{}{
291		templateObject,
292	}
293	err = r.Session.DoRequest("SoftLayer_Scale_Group", "createObject", params, &r.Options, &resp)
294	return
295}
296
297// Delete this group. This can only be done on an empty, active group. This means that minimumMemberCount must be 0 since it is the only way for a group to have no group members. To delete a group and all of its members at the same time, use forceDeleteObject.
298func (r Scale_Group) DeleteObject() (resp bool, err error) {
299	err = r.Session.DoRequest("SoftLayer_Scale_Group", "deleteObject", nil, &r.Options, &resp)
300	return
301}
302
303// Edit this group. The name can be edited at any time. The minimumMemberCount and maximumMemberCount fields can also be edited at any time provided they don't force a scale up or scale down to bring the group into the proper range. Otherwise, the group's status must be active to set those fields. If the group member count is less than the new minimumMemberCount and the group is active, it will scale up the group members to reach the new minimum. Similarly if the group member count is greater than the new maximumMemberCount and the group is active, it will scale down the group members to reach the new maximum.
304//
305// When editing an active group, a special field can be provided: desiredMemberCount. When given, the group members are automatically scaled up or down to reach that number.
306func (r Scale_Group) EditObject(templateObject *datatypes.Scale_Group) (resp bool, err error) {
307	params := []interface{}{
308		templateObject,
309	}
310	err = r.Session.DoRequest("SoftLayer_Scale_Group", "editObject", params, &r.Options, &resp)
311	return
312}
313
314// no documentation yet
315func (r Scale_Group) ForceDeleteObject() (resp bool, err error) {
316	err = r.Session.DoRequest("SoftLayer_Scale_Group", "forceDeleteObject", nil, &r.Options, &resp)
317	return
318}
319
320// Retrieve The account for this scaling group.
321func (r Scale_Group) GetAccount() (resp datatypes.Account, err error) {
322	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getAccount", nil, &r.Options, &resp)
323	return
324}
325
326// This returns the number of hourly instances an account can add from this point. It is essentially the same as [[SoftLayer_Account/hourlyInstanceLimit|hourlyInstanceLimit]] minus existing hourly instances and ones spoken for as part of a scaling group (as determined by the group's maximum). This number can be used to help determine a maximum member count for a new group to ensure it won't go over the account limit. This can return a negative value if the current hourly instance count combined with the unused-but-possible count (based on other scale group maximums) is over the limit.
327func (r Scale_Group) GetAvailableHourlyInstanceLimit() (resp int, err error) {
328	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getAvailableHourlyInstanceLimit", nil, &r.Options, &resp)
329	return
330}
331
332// no documentation yet
333func (r Scale_Group) GetAvailableRegionalGroups() (resp []datatypes.Location_Group, err error) {
334	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getAvailableRegionalGroups", nil, &r.Options, &resp)
335	return
336}
337
338// Retrieve Collection of load balancers for this auto scale group.
339func (r Scale_Group) GetLoadBalancers() (resp []datatypes.Scale_LoadBalancer, err error) {
340	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getLoadBalancers", nil, &r.Options, &resp)
341	return
342}
343
344// Retrieve Collection of log entries for this group.
345func (r Scale_Group) GetLogs() (resp []datatypes.Scale_Group_Log, err error) {
346	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getLogs", nil, &r.Options, &resp)
347	return
348}
349
350// Retrieve Collection of VLANs for this auto scale group. VLANs are optional. This can contain a public or private VLAN or both. When a single VLAN for a public/private type is given it can be a non-purchased VLAN only if the minimumMemberCount on the group is >= 1. This can also contain any number of public/private purchased VLANs and members are staggered across them when scaled up.
351func (r Scale_Group) GetNetworkVlans() (resp []datatypes.Scale_Network_Vlan, err error) {
352	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getNetworkVlans", nil, &r.Options, &resp)
353	return
354}
355
356// no documentation yet
357func (r Scale_Group) GetObject() (resp datatypes.Scale_Group, err error) {
358	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getObject", nil, &r.Options, &resp)
359	return
360}
361
362// Retrieve Collection of policies for this group. This can be empty.
363func (r Scale_Group) GetPolicies() (resp []datatypes.Scale_Policy, err error) {
364	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getPolicies", nil, &r.Options, &resp)
365	return
366}
367
368// Retrieve The regional group for this scale group.
369func (r Scale_Group) GetRegionalGroup() (resp datatypes.Location_Group_Regional, err error) {
370	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getRegionalGroup", nil, &r.Options, &resp)
371	return
372}
373
374// Retrieve The status for this scale group.
375func (r Scale_Group) GetStatus() (resp datatypes.Scale_Group_Status, err error) {
376	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getStatus", nil, &r.Options, &resp)
377	return
378}
379
380// Retrieve The termination policy for this scaling group.
381func (r Scale_Group) GetTerminationPolicy() (resp datatypes.Scale_Termination_Policy, err error) {
382	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getTerminationPolicy", nil, &r.Options, &resp)
383	return
384}
385
386// Retrieve Collection of guests that have been pinned to this group. Guest assets are only used for certain trigger checks such as resource watches. They do not count towards the auto scaling guest counts of this group in anyway and are never automatically added or removed.
387func (r Scale_Group) GetVirtualGuestAssets() (resp []datatypes.Scale_Asset_Virtual_Guest, err error) {
388	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getVirtualGuestAssets", nil, &r.Options, &resp)
389	return
390}
391
392// Retrieve Collection of guests that have been scaled with the group. When this group is active, the count of guests here is guaranteed to be between minimumMemberCount and maximumMemberCount inclusively.
393func (r Scale_Group) GetVirtualGuestMembers() (resp []datatypes.Scale_Member_Virtual_Guest, err error) {
394	err = r.Session.DoRequest("SoftLayer_Scale_Group", "getVirtualGuestMembers", nil, &r.Options, &resp)
395	return
396}
397
398// Resume this group. The group must be in a suspended status to do this. By doing this, the group's status will become active.
399func (r Scale_Group) Resume() (err error) {
400	var resp datatypes.Void
401	err = r.Session.DoRequest("SoftLayer_Scale_Group", "resume", nil, &r.Options, &resp)
402	return
403}
404
405// Scale this group up or down by the amount given. If the number is negative, the given amount of guest members are removed. Similarly, if the number is positive, the given amount of guest members are added. Note, this call will add or remove as much as asked for, but will NOT go beyond the limits set by minimumMemberCount and maximumMemberCount. The result is a collection of SoftLayer_Scale_Member instances that were either removed or added. This call can only be invoked on an active group and does not respect cooldown (i.e. even if in a cooldown period, the scaling will still occur).
406func (r Scale_Group) Scale(delta *int) (resp []datatypes.Scale_Member, err error) {
407	params := []interface{}{
408		delta,
409	}
410	err = r.Session.DoRequest("SoftLayer_Scale_Group", "scale", params, &r.Options, &resp)
411	return
412}
413
414// Scale this group up or down to the number given. This call will add or remove as many guests as necessary, but will NOT go beyond the limits set by minimumMemberCount and maximumMemberCount. This call and its result are the equivalent of calling scale(number - virtualGuestMemberCount). This call can only be invoked on an active group and does not respect cooldown (i.e. even if in a cooldown period, the scaling will still occur).
415func (r Scale_Group) ScaleTo(number *int) (resp []datatypes.Scale_Member, err error) {
416	params := []interface{}{
417		number,
418	}
419	err = r.Session.DoRequest("SoftLayer_Scale_Group", "scaleTo", params, &r.Options, &resp)
420	return
421}
422
423// Suspend this group. The group must be in an active status to do this. While suspended, a group cannot add or remove guest members for any reason. Changes to group settings that will cause a member to be added or deleted is also not allowed.
424func (r Scale_Group) Suspend() (err error) {
425	var resp datatypes.Void
426	err = r.Session.DoRequest("SoftLayer_Scale_Group", "suspend", nil, &r.Options, &resp)
427	return
428}
429
430// no documentation yet
431type Scale_Group_Status struct {
432	Session *session.Session
433	Options sl.Options
434}
435
436// GetScaleGroupStatusService returns an instance of the Scale_Group_Status SoftLayer service
437func GetScaleGroupStatusService(sess *session.Session) Scale_Group_Status {
438	return Scale_Group_Status{Session: sess}
439}
440
441func (r Scale_Group_Status) Id(id int) Scale_Group_Status {
442	r.Options.Id = &id
443	return r
444}
445
446func (r Scale_Group_Status) Mask(mask string) Scale_Group_Status {
447	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
448		mask = fmt.Sprintf("mask[%s]", mask)
449	}
450
451	r.Options.Mask = mask
452	return r
453}
454
455func (r Scale_Group_Status) Filter(filter string) Scale_Group_Status {
456	r.Options.Filter = filter
457	return r
458}
459
460func (r Scale_Group_Status) Limit(limit int) Scale_Group_Status {
461	r.Options.Limit = &limit
462	return r
463}
464
465func (r Scale_Group_Status) Offset(offset int) Scale_Group_Status {
466	r.Options.Offset = &offset
467	return r
468}
469
470// no documentation yet
471func (r Scale_Group_Status) GetAllObjects() (resp []datatypes.Scale_Group_Status, err error) {
472	err = r.Session.DoRequest("SoftLayer_Scale_Group_Status", "getAllObjects", nil, &r.Options, &resp)
473	return
474}
475
476// no documentation yet
477func (r Scale_Group_Status) GetObject() (resp datatypes.Scale_Group_Status, err error) {
478	err = r.Session.DoRequest("SoftLayer_Scale_Group_Status", "getObject", nil, &r.Options, &resp)
479	return
480}
481
482// no documentation yet
483type Scale_LoadBalancer struct {
484	Session *session.Session
485	Options sl.Options
486}
487
488// GetScaleLoadBalancerService returns an instance of the Scale_LoadBalancer SoftLayer service
489func GetScaleLoadBalancerService(sess *session.Session) Scale_LoadBalancer {
490	return Scale_LoadBalancer{Session: sess}
491}
492
493func (r Scale_LoadBalancer) Id(id int) Scale_LoadBalancer {
494	r.Options.Id = &id
495	return r
496}
497
498func (r Scale_LoadBalancer) Mask(mask string) Scale_LoadBalancer {
499	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
500		mask = fmt.Sprintf("mask[%s]", mask)
501	}
502
503	r.Options.Mask = mask
504	return r
505}
506
507func (r Scale_LoadBalancer) Filter(filter string) Scale_LoadBalancer {
508	r.Options.Filter = filter
509	return r
510}
511
512func (r Scale_LoadBalancer) Limit(limit int) Scale_LoadBalancer {
513	r.Options.Limit = &limit
514	return r
515}
516
517func (r Scale_LoadBalancer) Offset(offset int) Scale_LoadBalancer {
518	r.Options.Offset = &offset
519	return r
520}
521
522// Create a load balancer for a scale group. Once created, the configuration will be used to configure the load balancers for autoscaled members.
523//
524// If the given virtual server port exists for the given virtual IP address, it is reused here if all the other values match. Otherwise, the virtual server port will be created.
525func (r Scale_LoadBalancer) CreateObject(templateObject *datatypes.Scale_LoadBalancer) (resp datatypes.Scale_LoadBalancer, err error) {
526	params := []interface{}{
527		templateObject,
528	}
529	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "createObject", params, &r.Options, &resp)
530	return
531}
532
533// Delete this load balancer configuration. Note, this does not affect existing scaled members. Once deleted however, future scaled members will not be load balanced with this configuration.
534func (r Scale_LoadBalancer) DeleteObject() (resp bool, err error) {
535	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "deleteObject", nil, &r.Options, &resp)
536	return
537}
538
539// Edit this load balancer configuration. Note, this does not affect existing scaled members. Once edited however, future scaled members will be load balanced with this configuration.
540func (r Scale_LoadBalancer) EditObject(templateObject *datatypes.Scale_LoadBalancer) (resp bool, err error) {
541	params := []interface{}{
542		templateObject,
543	}
544	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "editObject", params, &r.Options, &resp)
545	return
546}
547
548// Retrieve The percentage of connections allocated to this virtual server.
549func (r Scale_LoadBalancer) GetAllocationPercent() (resp int, err error) {
550	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getAllocationPercent", nil, &r.Options, &resp)
551	return
552}
553
554// Retrieve The health check for this configuration.
555func (r Scale_LoadBalancer) GetHealthCheck() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Health_Check, err error) {
556	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getHealthCheck", nil, &r.Options, &resp)
557	return
558}
559
560// no documentation yet
561func (r Scale_LoadBalancer) GetObject() (resp datatypes.Scale_LoadBalancer, err error) {
562	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getObject", nil, &r.Options, &resp)
563	return
564}
565
566// Retrieve The routing method.
567func (r Scale_LoadBalancer) GetRoutingMethod() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Method, err error) {
568	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getRoutingMethod", nil, &r.Options, &resp)
569	return
570}
571
572// Retrieve The routing type.
573func (r Scale_LoadBalancer) GetRoutingType() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_Routing_Type, err error) {
574	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getRoutingType", nil, &r.Options, &resp)
575	return
576}
577
578// Retrieve The group this load balancer configuration is for.
579func (r Scale_LoadBalancer) GetScaleGroup() (resp datatypes.Scale_Group, err error) {
580	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getScaleGroup", nil, &r.Options, &resp)
581	return
582}
583
584// Retrieve The ID of the virtual IP address.
585func (r Scale_LoadBalancer) GetVirtualIpAddressId() (resp int, err error) {
586	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getVirtualIpAddressId", nil, &r.Options, &resp)
587	return
588}
589
590// Retrieve The virtual server for this configuration.
591func (r Scale_LoadBalancer) GetVirtualServer() (resp datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualServer, err error) {
592	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getVirtualServer", nil, &r.Options, &resp)
593	return
594}
595
596// Retrieve The port on the virtual server.
597func (r Scale_LoadBalancer) GetVirtualServerPort() (resp int, err error) {
598	err = r.Session.DoRequest("SoftLayer_Scale_LoadBalancer", "getVirtualServerPort", nil, &r.Options, &resp)
599	return
600}
601
602// no documentation yet
603type Scale_Member struct {
604	Session *session.Session
605	Options sl.Options
606}
607
608// GetScaleMemberService returns an instance of the Scale_Member SoftLayer service
609func GetScaleMemberService(sess *session.Session) Scale_Member {
610	return Scale_Member{Session: sess}
611}
612
613func (r Scale_Member) Id(id int) Scale_Member {
614	r.Options.Id = &id
615	return r
616}
617
618func (r Scale_Member) Mask(mask string) Scale_Member {
619	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
620		mask = fmt.Sprintf("mask[%s]", mask)
621	}
622
623	r.Options.Mask = mask
624	return r
625}
626
627func (r Scale_Member) Filter(filter string) Scale_Member {
628	r.Options.Filter = filter
629	return r
630}
631
632func (r Scale_Member) Limit(limit int) Scale_Member {
633	r.Options.Limit = &limit
634	return r
635}
636
637func (r Scale_Member) Offset(offset int) Scale_Member {
638	r.Options.Offset = &offset
639	return r
640}
641
642// no documentation yet
643func (r Scale_Member) DeleteObject() (resp bool, err error) {
644	err = r.Session.DoRequest("SoftLayer_Scale_Member", "deleteObject", nil, &r.Options, &resp)
645	return
646}
647
648// no documentation yet
649func (r Scale_Member) GetObject() (resp datatypes.Scale_Member, err error) {
650	err = r.Session.DoRequest("SoftLayer_Scale_Member", "getObject", nil, &r.Options, &resp)
651	return
652}
653
654// Retrieve The group this member belongs to.
655func (r Scale_Member) GetScaleGroup() (resp datatypes.Scale_Group, err error) {
656	err = r.Session.DoRequest("SoftLayer_Scale_Member", "getScaleGroup", nil, &r.Options, &resp)
657	return
658}
659
660// no documentation yet
661type Scale_Member_Virtual_Guest struct {
662	Session *session.Session
663	Options sl.Options
664}
665
666// GetScaleMemberVirtualGuestService returns an instance of the Scale_Member_Virtual_Guest SoftLayer service
667func GetScaleMemberVirtualGuestService(sess *session.Session) Scale_Member_Virtual_Guest {
668	return Scale_Member_Virtual_Guest{Session: sess}
669}
670
671func (r Scale_Member_Virtual_Guest) Id(id int) Scale_Member_Virtual_Guest {
672	r.Options.Id = &id
673	return r
674}
675
676func (r Scale_Member_Virtual_Guest) Mask(mask string) Scale_Member_Virtual_Guest {
677	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
678		mask = fmt.Sprintf("mask[%s]", mask)
679	}
680
681	r.Options.Mask = mask
682	return r
683}
684
685func (r Scale_Member_Virtual_Guest) Filter(filter string) Scale_Member_Virtual_Guest {
686	r.Options.Filter = filter
687	return r
688}
689
690func (r Scale_Member_Virtual_Guest) Limit(limit int) Scale_Member_Virtual_Guest {
691	r.Options.Limit = &limit
692	return r
693}
694
695func (r Scale_Member_Virtual_Guest) Offset(offset int) Scale_Member_Virtual_Guest {
696	r.Options.Offset = &offset
697	return r
698}
699
700// Delete this group member. Note, this can only be done on an active group when it wont cause the group to go below its minimumMemberCount. This is not the recommended way to delete members. Instead, users should invoke scale(-1) on SoftLayer_Scale_Group so it can choose the best guest member to remove.
701func (r Scale_Member_Virtual_Guest) DeleteObject() (resp bool, err error) {
702	err = r.Session.DoRequest("SoftLayer_Scale_Member_Virtual_Guest", "deleteObject", nil, &r.Options, &resp)
703	return
704}
705
706// no documentation yet
707func (r Scale_Member_Virtual_Guest) GetObject() (resp datatypes.Scale_Member_Virtual_Guest, err error) {
708	err = r.Session.DoRequest("SoftLayer_Scale_Member_Virtual_Guest", "getObject", nil, &r.Options, &resp)
709	return
710}
711
712// Retrieve The group this member belongs to.
713func (r Scale_Member_Virtual_Guest) GetScaleGroup() (resp datatypes.Scale_Group, err error) {
714	err = r.Session.DoRequest("SoftLayer_Scale_Member_Virtual_Guest", "getScaleGroup", nil, &r.Options, &resp)
715	return
716}
717
718// Retrieve The guest for this member.
719func (r Scale_Member_Virtual_Guest) GetVirtualGuest() (resp datatypes.Virtual_Guest, err error) {
720	err = r.Session.DoRequest("SoftLayer_Scale_Member_Virtual_Guest", "getVirtualGuest", nil, &r.Options, &resp)
721	return
722}
723
724// Retrieve The identifier of the guest for this member.
725func (r Scale_Member_Virtual_Guest) GetVirtualGuestId() (resp int, err error) {
726	err = r.Session.DoRequest("SoftLayer_Scale_Member_Virtual_Guest", "getVirtualGuestId", nil, &r.Options, &resp)
727	return
728}
729
730// no documentation yet
731type Scale_Network_Vlan struct {
732	Session *session.Session
733	Options sl.Options
734}
735
736// GetScaleNetworkVlanService returns an instance of the Scale_Network_Vlan SoftLayer service
737func GetScaleNetworkVlanService(sess *session.Session) Scale_Network_Vlan {
738	return Scale_Network_Vlan{Session: sess}
739}
740
741func (r Scale_Network_Vlan) Id(id int) Scale_Network_Vlan {
742	r.Options.Id = &id
743	return r
744}
745
746func (r Scale_Network_Vlan) Mask(mask string) Scale_Network_Vlan {
747	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
748		mask = fmt.Sprintf("mask[%s]", mask)
749	}
750
751	r.Options.Mask = mask
752	return r
753}
754
755func (r Scale_Network_Vlan) Filter(filter string) Scale_Network_Vlan {
756	r.Options.Filter = filter
757	return r
758}
759
760func (r Scale_Network_Vlan) Limit(limit int) Scale_Network_Vlan {
761	r.Options.Limit = &limit
762	return r
763}
764
765func (r Scale_Network_Vlan) Offset(offset int) Scale_Network_Vlan {
766	r.Options.Offset = &offset
767	return r
768}
769
770// no documentation yet
771func (r Scale_Network_Vlan) CreateObject(templateObject *datatypes.Scale_Network_Vlan) (resp datatypes.Scale_Network_Vlan, err error) {
772	params := []interface{}{
773		templateObject,
774	}
775	err = r.Session.DoRequest("SoftLayer_Scale_Network_Vlan", "createObject", params, &r.Options, &resp)
776	return
777}
778
779// no documentation yet
780func (r Scale_Network_Vlan) DeleteObject() (resp bool, err error) {
781	err = r.Session.DoRequest("SoftLayer_Scale_Network_Vlan", "deleteObject", nil, &r.Options, &resp)
782	return
783}
784
785// Retrieve The network VLAN to scale with.
786func (r Scale_Network_Vlan) GetNetworkVlan() (resp datatypes.Network_Vlan, err error) {
787	err = r.Session.DoRequest("SoftLayer_Scale_Network_Vlan", "getNetworkVlan", nil, &r.Options, &resp)
788	return
789}
790
791// no documentation yet
792func (r Scale_Network_Vlan) GetObject() (resp datatypes.Scale_Network_Vlan, err error) {
793	err = r.Session.DoRequest("SoftLayer_Scale_Network_Vlan", "getObject", nil, &r.Options, &resp)
794	return
795}
796
797// Retrieve The group this network VLAN is for.
798func (r Scale_Network_Vlan) GetScaleGroup() (resp datatypes.Scale_Group, err error) {
799	err = r.Session.DoRequest("SoftLayer_Scale_Network_Vlan", "getScaleGroup", nil, &r.Options, &resp)
800	return
801}
802
803// no documentation yet
804type Scale_Policy struct {
805	Session *session.Session
806	Options sl.Options
807}
808
809// GetScalePolicyService returns an instance of the Scale_Policy SoftLayer service
810func GetScalePolicyService(sess *session.Session) Scale_Policy {
811	return Scale_Policy{Session: sess}
812}
813
814func (r Scale_Policy) Id(id int) Scale_Policy {
815	r.Options.Id = &id
816	return r
817}
818
819func (r Scale_Policy) Mask(mask string) Scale_Policy {
820	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
821		mask = fmt.Sprintf("mask[%s]", mask)
822	}
823
824	r.Options.Mask = mask
825	return r
826}
827
828func (r Scale_Policy) Filter(filter string) Scale_Policy {
829	r.Options.Filter = filter
830	return r
831}
832
833func (r Scale_Policy) Limit(limit int) Scale_Policy {
834	r.Options.Limit = &limit
835	return r
836}
837
838func (r Scale_Policy) Offset(offset int) Scale_Policy {
839	r.Options.Offset = &offset
840	return r
841}
842
843// no documentation yet
844func (r Scale_Policy) CreateObject(templateObject *datatypes.Scale_Policy) (resp datatypes.Scale_Policy, err error) {
845	params := []interface{}{
846		templateObject,
847	}
848	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "createObject", params, &r.Options, &resp)
849	return
850}
851
852// no documentation yet
853func (r Scale_Policy) DeleteObject() (resp bool, err error) {
854	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "deleteObject", nil, &r.Options, &resp)
855	return
856}
857
858// no documentation yet
859func (r Scale_Policy) EditObject(templateObject *datatypes.Scale_Policy) (resp bool, err error) {
860	params := []interface{}{
861		templateObject,
862	}
863	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "editObject", params, &r.Options, &resp)
864	return
865}
866
867// Retrieve The actions to perform upon any trigger hit. Currently this must be a single value.
868func (r Scale_Policy) GetActions() (resp []datatypes.Scale_Policy_Action, err error) {
869	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "getActions", nil, &r.Options, &resp)
870	return
871}
872
873// no documentation yet
874func (r Scale_Policy) GetObject() (resp datatypes.Scale_Policy, err error) {
875	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "getObject", nil, &r.Options, &resp)
876	return
877}
878
879// Retrieve The one-time triggers to check for this group.
880func (r Scale_Policy) GetOneTimeTriggers() (resp []datatypes.Scale_Policy_Trigger_OneTime, err error) {
881	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "getOneTimeTriggers", nil, &r.Options, &resp)
882	return
883}
884
885// Retrieve The repeating triggers to check for this group.
886func (r Scale_Policy) GetRepeatingTriggers() (resp []datatypes.Scale_Policy_Trigger_Repeating, err error) {
887	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "getRepeatingTriggers", nil, &r.Options, &resp)
888	return
889}
890
891// Retrieve The resource-use triggers to check for this group.
892func (r Scale_Policy) GetResourceUseTriggers() (resp []datatypes.Scale_Policy_Trigger_ResourceUse, err error) {
893	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "getResourceUseTriggers", nil, &r.Options, &resp)
894	return
895}
896
897// Retrieve The scale actions to perform upon any trigger hit. Currently this must be a single value.
898func (r Scale_Policy) GetScaleActions() (resp []datatypes.Scale_Policy_Action_Scale, err error) {
899	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "getScaleActions", nil, &r.Options, &resp)
900	return
901}
902
903// Retrieve The group this policy is on.
904func (r Scale_Policy) GetScaleGroup() (resp datatypes.Scale_Group, err error) {
905	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "getScaleGroup", nil, &r.Options, &resp)
906	return
907}
908
909// Retrieve The triggers to check for this group.
910func (r Scale_Policy) GetTriggers() (resp []datatypes.Scale_Policy_Trigger, err error) {
911	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "getTriggers", nil, &r.Options, &resp)
912	return
913}
914
915// Manually trigger the actions on this policy. Returns members if the trigger has an effect, or an empty set of members if there is no effect. Sometimes this may not have an effect if the group is not active, in cooldown, or the result would violate the group range. If this call fails, the group is suspended, the failure logged, and a ticket is created.
916func (r Scale_Policy) Trigger() (resp []datatypes.Scale_Member, err error) {
917	err = r.Session.DoRequest("SoftLayer_Scale_Policy", "trigger", nil, &r.Options, &resp)
918	return
919}
920
921// no documentation yet
922type Scale_Policy_Action struct {
923	Session *session.Session
924	Options sl.Options
925}
926
927// GetScalePolicyActionService returns an instance of the Scale_Policy_Action SoftLayer service
928func GetScalePolicyActionService(sess *session.Session) Scale_Policy_Action {
929	return Scale_Policy_Action{Session: sess}
930}
931
932func (r Scale_Policy_Action) Id(id int) Scale_Policy_Action {
933	r.Options.Id = &id
934	return r
935}
936
937func (r Scale_Policy_Action) Mask(mask string) Scale_Policy_Action {
938	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
939		mask = fmt.Sprintf("mask[%s]", mask)
940	}
941
942	r.Options.Mask = mask
943	return r
944}
945
946func (r Scale_Policy_Action) Filter(filter string) Scale_Policy_Action {
947	r.Options.Filter = filter
948	return r
949}
950
951func (r Scale_Policy_Action) Limit(limit int) Scale_Policy_Action {
952	r.Options.Limit = &limit
953	return r
954}
955
956func (r Scale_Policy_Action) Offset(offset int) Scale_Policy_Action {
957	r.Options.Offset = &offset
958	return r
959}
960
961// no documentation yet
962func (r Scale_Policy_Action) DeleteObject() (resp bool, err error) {
963	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action", "deleteObject", nil, &r.Options, &resp)
964	return
965}
966
967// no documentation yet
968func (r Scale_Policy_Action) EditObject(templateObject *datatypes.Scale_Policy_Action) (resp bool, err error) {
969	params := []interface{}{
970		templateObject,
971	}
972	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action", "editObject", params, &r.Options, &resp)
973	return
974}
975
976// no documentation yet
977func (r Scale_Policy_Action) GetObject() (resp datatypes.Scale_Policy_Action, err error) {
978	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action", "getObject", nil, &r.Options, &resp)
979	return
980}
981
982// Retrieve The policy this action is on.
983func (r Scale_Policy_Action) GetScalePolicy() (resp datatypes.Scale_Policy, err error) {
984	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action", "getScalePolicy", nil, &r.Options, &resp)
985	return
986}
987
988// Retrieve The type of action.
989func (r Scale_Policy_Action) GetType() (resp datatypes.Scale_Policy_Action_Type, err error) {
990	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action", "getType", nil, &r.Options, &resp)
991	return
992}
993
994// no documentation yet
995type Scale_Policy_Action_Scale struct {
996	Session *session.Session
997	Options sl.Options
998}
999
1000// GetScalePolicyActionScaleService returns an instance of the Scale_Policy_Action_Scale SoftLayer service
1001func GetScalePolicyActionScaleService(sess *session.Session) Scale_Policy_Action_Scale {
1002	return Scale_Policy_Action_Scale{Session: sess}
1003}
1004
1005func (r Scale_Policy_Action_Scale) Id(id int) Scale_Policy_Action_Scale {
1006	r.Options.Id = &id
1007	return r
1008}
1009
1010func (r Scale_Policy_Action_Scale) Mask(mask string) Scale_Policy_Action_Scale {
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 Scale_Policy_Action_Scale) Filter(filter string) Scale_Policy_Action_Scale {
1020	r.Options.Filter = filter
1021	return r
1022}
1023
1024func (r Scale_Policy_Action_Scale) Limit(limit int) Scale_Policy_Action_Scale {
1025	r.Options.Limit = &limit
1026	return r
1027}
1028
1029func (r Scale_Policy_Action_Scale) Offset(offset int) Scale_Policy_Action_Scale {
1030	r.Options.Offset = &offset
1031	return r
1032}
1033
1034// no documentation yet
1035func (r Scale_Policy_Action_Scale) CreateObject(templateObject *datatypes.Scale_Policy_Action_Scale) (resp datatypes.Scale_Policy_Action_Scale, err error) {
1036	params := []interface{}{
1037		templateObject,
1038	}
1039	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action_Scale", "createObject", params, &r.Options, &resp)
1040	return
1041}
1042
1043// no documentation yet
1044func (r Scale_Policy_Action_Scale) DeleteObject() (resp bool, err error) {
1045	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action_Scale", "deleteObject", nil, &r.Options, &resp)
1046	return
1047}
1048
1049// no documentation yet
1050func (r Scale_Policy_Action_Scale) EditObject(templateObject *datatypes.Scale_Policy_Action) (resp bool, err error) {
1051	params := []interface{}{
1052		templateObject,
1053	}
1054	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action_Scale", "editObject", params, &r.Options, &resp)
1055	return
1056}
1057
1058// no documentation yet
1059func (r Scale_Policy_Action_Scale) GetObject() (resp datatypes.Scale_Policy_Action_Scale, err error) {
1060	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action_Scale", "getObject", nil, &r.Options, &resp)
1061	return
1062}
1063
1064// Retrieve The policy this action is on.
1065func (r Scale_Policy_Action_Scale) GetScalePolicy() (resp datatypes.Scale_Policy, err error) {
1066	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action_Scale", "getScalePolicy", nil, &r.Options, &resp)
1067	return
1068}
1069
1070// Retrieve The type of action.
1071func (r Scale_Policy_Action_Scale) GetType() (resp datatypes.Scale_Policy_Action_Type, err error) {
1072	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action_Scale", "getType", nil, &r.Options, &resp)
1073	return
1074}
1075
1076// no documentation yet
1077type Scale_Policy_Action_Type struct {
1078	Session *session.Session
1079	Options sl.Options
1080}
1081
1082// GetScalePolicyActionTypeService returns an instance of the Scale_Policy_Action_Type SoftLayer service
1083func GetScalePolicyActionTypeService(sess *session.Session) Scale_Policy_Action_Type {
1084	return Scale_Policy_Action_Type{Session: sess}
1085}
1086
1087func (r Scale_Policy_Action_Type) Id(id int) Scale_Policy_Action_Type {
1088	r.Options.Id = &id
1089	return r
1090}
1091
1092func (r Scale_Policy_Action_Type) Mask(mask string) Scale_Policy_Action_Type {
1093	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1094		mask = fmt.Sprintf("mask[%s]", mask)
1095	}
1096
1097	r.Options.Mask = mask
1098	return r
1099}
1100
1101func (r Scale_Policy_Action_Type) Filter(filter string) Scale_Policy_Action_Type {
1102	r.Options.Filter = filter
1103	return r
1104}
1105
1106func (r Scale_Policy_Action_Type) Limit(limit int) Scale_Policy_Action_Type {
1107	r.Options.Limit = &limit
1108	return r
1109}
1110
1111func (r Scale_Policy_Action_Type) Offset(offset int) Scale_Policy_Action_Type {
1112	r.Options.Offset = &offset
1113	return r
1114}
1115
1116// no documentation yet
1117func (r Scale_Policy_Action_Type) GetAllObjects() (resp []datatypes.Scale_Policy_Action_Type, err error) {
1118	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action_Type", "getAllObjects", nil, &r.Options, &resp)
1119	return
1120}
1121
1122// no documentation yet
1123func (r Scale_Policy_Action_Type) GetObject() (resp datatypes.Scale_Policy_Action_Type, err error) {
1124	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Action_Type", "getObject", nil, &r.Options, &resp)
1125	return
1126}
1127
1128// no documentation yet
1129type Scale_Policy_Trigger struct {
1130	Session *session.Session
1131	Options sl.Options
1132}
1133
1134// GetScalePolicyTriggerService returns an instance of the Scale_Policy_Trigger SoftLayer service
1135func GetScalePolicyTriggerService(sess *session.Session) Scale_Policy_Trigger {
1136	return Scale_Policy_Trigger{Session: sess}
1137}
1138
1139func (r Scale_Policy_Trigger) Id(id int) Scale_Policy_Trigger {
1140	r.Options.Id = &id
1141	return r
1142}
1143
1144func (r Scale_Policy_Trigger) Mask(mask string) Scale_Policy_Trigger {
1145	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1146		mask = fmt.Sprintf("mask[%s]", mask)
1147	}
1148
1149	r.Options.Mask = mask
1150	return r
1151}
1152
1153func (r Scale_Policy_Trigger) Filter(filter string) Scale_Policy_Trigger {
1154	r.Options.Filter = filter
1155	return r
1156}
1157
1158func (r Scale_Policy_Trigger) Limit(limit int) Scale_Policy_Trigger {
1159	r.Options.Limit = &limit
1160	return r
1161}
1162
1163func (r Scale_Policy_Trigger) Offset(offset int) Scale_Policy_Trigger {
1164	r.Options.Offset = &offset
1165	return r
1166}
1167
1168// no documentation yet
1169func (r Scale_Policy_Trigger) CreateObject(templateObject *datatypes.Scale_Policy_Trigger) (resp datatypes.Scale_Policy_Trigger, err error) {
1170	params := []interface{}{
1171		templateObject,
1172	}
1173	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger", "createObject", params, &r.Options, &resp)
1174	return
1175}
1176
1177// no documentation yet
1178func (r Scale_Policy_Trigger) DeleteObject() (resp bool, err error) {
1179	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger", "deleteObject", nil, &r.Options, &resp)
1180	return
1181}
1182
1183// no documentation yet
1184func (r Scale_Policy_Trigger) EditObject(templateObject *datatypes.Scale_Policy_Trigger) (resp bool, err error) {
1185	params := []interface{}{
1186		templateObject,
1187	}
1188	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger", "editObject", params, &r.Options, &resp)
1189	return
1190}
1191
1192// no documentation yet
1193func (r Scale_Policy_Trigger) GetObject() (resp datatypes.Scale_Policy_Trigger, err error) {
1194	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger", "getObject", nil, &r.Options, &resp)
1195	return
1196}
1197
1198// Retrieve The policy this trigger is on.
1199func (r Scale_Policy_Trigger) GetScalePolicy() (resp datatypes.Scale_Policy, err error) {
1200	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger", "getScalePolicy", nil, &r.Options, &resp)
1201	return
1202}
1203
1204// Retrieve The type of trigger.
1205func (r Scale_Policy_Trigger) GetType() (resp datatypes.Scale_Policy_Trigger_Type, err error) {
1206	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger", "getType", nil, &r.Options, &resp)
1207	return
1208}
1209
1210// no documentation yet
1211type Scale_Policy_Trigger_OneTime struct {
1212	Session *session.Session
1213	Options sl.Options
1214}
1215
1216// GetScalePolicyTriggerOneTimeService returns an instance of the Scale_Policy_Trigger_OneTime SoftLayer service
1217func GetScalePolicyTriggerOneTimeService(sess *session.Session) Scale_Policy_Trigger_OneTime {
1218	return Scale_Policy_Trigger_OneTime{Session: sess}
1219}
1220
1221func (r Scale_Policy_Trigger_OneTime) Id(id int) Scale_Policy_Trigger_OneTime {
1222	r.Options.Id = &id
1223	return r
1224}
1225
1226func (r Scale_Policy_Trigger_OneTime) Mask(mask string) Scale_Policy_Trigger_OneTime {
1227	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1228		mask = fmt.Sprintf("mask[%s]", mask)
1229	}
1230
1231	r.Options.Mask = mask
1232	return r
1233}
1234
1235func (r Scale_Policy_Trigger_OneTime) Filter(filter string) Scale_Policy_Trigger_OneTime {
1236	r.Options.Filter = filter
1237	return r
1238}
1239
1240func (r Scale_Policy_Trigger_OneTime) Limit(limit int) Scale_Policy_Trigger_OneTime {
1241	r.Options.Limit = &limit
1242	return r
1243}
1244
1245func (r Scale_Policy_Trigger_OneTime) Offset(offset int) Scale_Policy_Trigger_OneTime {
1246	r.Options.Offset = &offset
1247	return r
1248}
1249
1250// no documentation yet
1251func (r Scale_Policy_Trigger_OneTime) CreateObject(templateObject *datatypes.Scale_Policy_Trigger_OneTime) (resp datatypes.Scale_Policy_Trigger_OneTime, err error) {
1252	params := []interface{}{
1253		templateObject,
1254	}
1255	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_OneTime", "createObject", params, &r.Options, &resp)
1256	return
1257}
1258
1259// no documentation yet
1260func (r Scale_Policy_Trigger_OneTime) DeleteObject() (resp bool, err error) {
1261	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_OneTime", "deleteObject", nil, &r.Options, &resp)
1262	return
1263}
1264
1265// no documentation yet
1266func (r Scale_Policy_Trigger_OneTime) EditObject(templateObject *datatypes.Scale_Policy_Trigger) (resp bool, err error) {
1267	params := []interface{}{
1268		templateObject,
1269	}
1270	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_OneTime", "editObject", params, &r.Options, &resp)
1271	return
1272}
1273
1274// no documentation yet
1275func (r Scale_Policy_Trigger_OneTime) GetObject() (resp datatypes.Scale_Policy_Trigger_OneTime, err error) {
1276	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_OneTime", "getObject", nil, &r.Options, &resp)
1277	return
1278}
1279
1280// Retrieve The policy this trigger is on.
1281func (r Scale_Policy_Trigger_OneTime) GetScalePolicy() (resp datatypes.Scale_Policy, err error) {
1282	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_OneTime", "getScalePolicy", nil, &r.Options, &resp)
1283	return
1284}
1285
1286// Retrieve The type of trigger.
1287func (r Scale_Policy_Trigger_OneTime) GetType() (resp datatypes.Scale_Policy_Trigger_Type, err error) {
1288	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_OneTime", "getType", nil, &r.Options, &resp)
1289	return
1290}
1291
1292// no documentation yet
1293type Scale_Policy_Trigger_Repeating struct {
1294	Session *session.Session
1295	Options sl.Options
1296}
1297
1298// GetScalePolicyTriggerRepeatingService returns an instance of the Scale_Policy_Trigger_Repeating SoftLayer service
1299func GetScalePolicyTriggerRepeatingService(sess *session.Session) Scale_Policy_Trigger_Repeating {
1300	return Scale_Policy_Trigger_Repeating{Session: sess}
1301}
1302
1303func (r Scale_Policy_Trigger_Repeating) Id(id int) Scale_Policy_Trigger_Repeating {
1304	r.Options.Id = &id
1305	return r
1306}
1307
1308func (r Scale_Policy_Trigger_Repeating) Mask(mask string) Scale_Policy_Trigger_Repeating {
1309	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1310		mask = fmt.Sprintf("mask[%s]", mask)
1311	}
1312
1313	r.Options.Mask = mask
1314	return r
1315}
1316
1317func (r Scale_Policy_Trigger_Repeating) Filter(filter string) Scale_Policy_Trigger_Repeating {
1318	r.Options.Filter = filter
1319	return r
1320}
1321
1322func (r Scale_Policy_Trigger_Repeating) Limit(limit int) Scale_Policy_Trigger_Repeating {
1323	r.Options.Limit = &limit
1324	return r
1325}
1326
1327func (r Scale_Policy_Trigger_Repeating) Offset(offset int) Scale_Policy_Trigger_Repeating {
1328	r.Options.Offset = &offset
1329	return r
1330}
1331
1332// no documentation yet
1333func (r Scale_Policy_Trigger_Repeating) CreateObject(templateObject *datatypes.Scale_Policy_Trigger_Repeating) (resp datatypes.Scale_Policy_Trigger_Repeating, err error) {
1334	params := []interface{}{
1335		templateObject,
1336	}
1337	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Repeating", "createObject", params, &r.Options, &resp)
1338	return
1339}
1340
1341// no documentation yet
1342func (r Scale_Policy_Trigger_Repeating) DeleteObject() (resp bool, err error) {
1343	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Repeating", "deleteObject", nil, &r.Options, &resp)
1344	return
1345}
1346
1347// no documentation yet
1348func (r Scale_Policy_Trigger_Repeating) EditObject(templateObject *datatypes.Scale_Policy_Trigger) (resp bool, err error) {
1349	params := []interface{}{
1350		templateObject,
1351	}
1352	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Repeating", "editObject", params, &r.Options, &resp)
1353	return
1354}
1355
1356// no documentation yet
1357func (r Scale_Policy_Trigger_Repeating) GetObject() (resp datatypes.Scale_Policy_Trigger_Repeating, err error) {
1358	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Repeating", "getObject", nil, &r.Options, &resp)
1359	return
1360}
1361
1362// Retrieve The policy this trigger is on.
1363func (r Scale_Policy_Trigger_Repeating) GetScalePolicy() (resp datatypes.Scale_Policy, err error) {
1364	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Repeating", "getScalePolicy", nil, &r.Options, &resp)
1365	return
1366}
1367
1368// Retrieve The type of trigger.
1369func (r Scale_Policy_Trigger_Repeating) GetType() (resp datatypes.Scale_Policy_Trigger_Type, err error) {
1370	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Repeating", "getType", nil, &r.Options, &resp)
1371	return
1372}
1373
1374// no documentation yet
1375func (r Scale_Policy_Trigger_Repeating) ValidateCronExpression(expression *string) (err error) {
1376	var resp datatypes.Void
1377	params := []interface{}{
1378		expression,
1379	}
1380	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Repeating", "validateCronExpression", params, &r.Options, &resp)
1381	return
1382}
1383
1384// no documentation yet
1385type Scale_Policy_Trigger_ResourceUse struct {
1386	Session *session.Session
1387	Options sl.Options
1388}
1389
1390// GetScalePolicyTriggerResourceUseService returns an instance of the Scale_Policy_Trigger_ResourceUse SoftLayer service
1391func GetScalePolicyTriggerResourceUseService(sess *session.Session) Scale_Policy_Trigger_ResourceUse {
1392	return Scale_Policy_Trigger_ResourceUse{Session: sess}
1393}
1394
1395func (r Scale_Policy_Trigger_ResourceUse) Id(id int) Scale_Policy_Trigger_ResourceUse {
1396	r.Options.Id = &id
1397	return r
1398}
1399
1400func (r Scale_Policy_Trigger_ResourceUse) Mask(mask string) Scale_Policy_Trigger_ResourceUse {
1401	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1402		mask = fmt.Sprintf("mask[%s]", mask)
1403	}
1404
1405	r.Options.Mask = mask
1406	return r
1407}
1408
1409func (r Scale_Policy_Trigger_ResourceUse) Filter(filter string) Scale_Policy_Trigger_ResourceUse {
1410	r.Options.Filter = filter
1411	return r
1412}
1413
1414func (r Scale_Policy_Trigger_ResourceUse) Limit(limit int) Scale_Policy_Trigger_ResourceUse {
1415	r.Options.Limit = &limit
1416	return r
1417}
1418
1419func (r Scale_Policy_Trigger_ResourceUse) Offset(offset int) Scale_Policy_Trigger_ResourceUse {
1420	r.Options.Offset = &offset
1421	return r
1422}
1423
1424// no documentation yet
1425func (r Scale_Policy_Trigger_ResourceUse) CreateObject(templateObject *datatypes.Scale_Policy_Trigger_ResourceUse) (resp datatypes.Scale_Policy_Trigger_ResourceUse, err error) {
1426	params := []interface{}{
1427		templateObject,
1428	}
1429	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse", "createObject", params, &r.Options, &resp)
1430	return
1431}
1432
1433// no documentation yet
1434func (r Scale_Policy_Trigger_ResourceUse) DeleteObject() (resp bool, err error) {
1435	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse", "deleteObject", nil, &r.Options, &resp)
1436	return
1437}
1438
1439// no documentation yet
1440func (r Scale_Policy_Trigger_ResourceUse) EditObject(templateObject *datatypes.Scale_Policy_Trigger) (resp bool, err error) {
1441	params := []interface{}{
1442		templateObject,
1443	}
1444	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse", "editObject", params, &r.Options, &resp)
1445	return
1446}
1447
1448// no documentation yet
1449func (r Scale_Policy_Trigger_ResourceUse) GetObject() (resp datatypes.Scale_Policy_Trigger_ResourceUse, err error) {
1450	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse", "getObject", nil, &r.Options, &resp)
1451	return
1452}
1453
1454// Retrieve The policy this trigger is on.
1455func (r Scale_Policy_Trigger_ResourceUse) GetScalePolicy() (resp datatypes.Scale_Policy, err error) {
1456	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse", "getScalePolicy", nil, &r.Options, &resp)
1457	return
1458}
1459
1460// Retrieve The type of trigger.
1461func (r Scale_Policy_Trigger_ResourceUse) GetType() (resp datatypes.Scale_Policy_Trigger_Type, err error) {
1462	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse", "getType", nil, &r.Options, &resp)
1463	return
1464}
1465
1466// Retrieve The resource watches for this trigger.
1467func (r Scale_Policy_Trigger_ResourceUse) GetWatches() (resp []datatypes.Scale_Policy_Trigger_ResourceUse_Watch, err error) {
1468	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse", "getWatches", nil, &r.Options, &resp)
1469	return
1470}
1471
1472// no documentation yet
1473type Scale_Policy_Trigger_ResourceUse_Watch struct {
1474	Session *session.Session
1475	Options sl.Options
1476}
1477
1478// GetScalePolicyTriggerResourceUseWatchService returns an instance of the Scale_Policy_Trigger_ResourceUse_Watch SoftLayer service
1479func GetScalePolicyTriggerResourceUseWatchService(sess *session.Session) Scale_Policy_Trigger_ResourceUse_Watch {
1480	return Scale_Policy_Trigger_ResourceUse_Watch{Session: sess}
1481}
1482
1483func (r Scale_Policy_Trigger_ResourceUse_Watch) Id(id int) Scale_Policy_Trigger_ResourceUse_Watch {
1484	r.Options.Id = &id
1485	return r
1486}
1487
1488func (r Scale_Policy_Trigger_ResourceUse_Watch) Mask(mask string) Scale_Policy_Trigger_ResourceUse_Watch {
1489	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1490		mask = fmt.Sprintf("mask[%s]", mask)
1491	}
1492
1493	r.Options.Mask = mask
1494	return r
1495}
1496
1497func (r Scale_Policy_Trigger_ResourceUse_Watch) Filter(filter string) Scale_Policy_Trigger_ResourceUse_Watch {
1498	r.Options.Filter = filter
1499	return r
1500}
1501
1502func (r Scale_Policy_Trigger_ResourceUse_Watch) Limit(limit int) Scale_Policy_Trigger_ResourceUse_Watch {
1503	r.Options.Limit = &limit
1504	return r
1505}
1506
1507func (r Scale_Policy_Trigger_ResourceUse_Watch) Offset(offset int) Scale_Policy_Trigger_ResourceUse_Watch {
1508	r.Options.Offset = &offset
1509	return r
1510}
1511
1512// no documentation yet
1513func (r Scale_Policy_Trigger_ResourceUse_Watch) CreateObject(templateObject *datatypes.Scale_Policy_Trigger_ResourceUse_Watch) (resp datatypes.Scale_Policy_Trigger_ResourceUse_Watch, err error) {
1514	params := []interface{}{
1515		templateObject,
1516	}
1517	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse_Watch", "createObject", params, &r.Options, &resp)
1518	return
1519}
1520
1521// no documentation yet
1522func (r Scale_Policy_Trigger_ResourceUse_Watch) DeleteObject() (resp bool, err error) {
1523	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse_Watch", "deleteObject", nil, &r.Options, &resp)
1524	return
1525}
1526
1527// no documentation yet
1528func (r Scale_Policy_Trigger_ResourceUse_Watch) EditObject(templateObject *datatypes.Scale_Policy_Trigger_ResourceUse_Watch) (resp bool, err error) {
1529	params := []interface{}{
1530		templateObject,
1531	}
1532	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse_Watch", "editObject", params, &r.Options, &resp)
1533	return
1534}
1535
1536// no documentation yet
1537func (r Scale_Policy_Trigger_ResourceUse_Watch) GetAllPossibleAlgorithms() (resp []string, err error) {
1538	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse_Watch", "getAllPossibleAlgorithms", nil, &r.Options, &resp)
1539	return
1540}
1541
1542// no documentation yet
1543func (r Scale_Policy_Trigger_ResourceUse_Watch) GetAllPossibleMetrics() (resp []string, err error) {
1544	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse_Watch", "getAllPossibleMetrics", nil, &r.Options, &resp)
1545	return
1546}
1547
1548// no documentation yet
1549func (r Scale_Policy_Trigger_ResourceUse_Watch) GetAllPossibleOperators() (resp []string, err error) {
1550	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse_Watch", "getAllPossibleOperators", nil, &r.Options, &resp)
1551	return
1552}
1553
1554// no documentation yet
1555func (r Scale_Policy_Trigger_ResourceUse_Watch) GetObject() (resp datatypes.Scale_Policy_Trigger_ResourceUse_Watch, err error) {
1556	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse_Watch", "getObject", nil, &r.Options, &resp)
1557	return
1558}
1559
1560// Retrieve The trigger this watch is on.
1561func (r Scale_Policy_Trigger_ResourceUse_Watch) GetScalePolicyTrigger() (resp datatypes.Scale_Policy_Trigger_ResourceUse, err error) {
1562	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_ResourceUse_Watch", "getScalePolicyTrigger", nil, &r.Options, &resp)
1563	return
1564}
1565
1566// no documentation yet
1567type Scale_Policy_Trigger_Type struct {
1568	Session *session.Session
1569	Options sl.Options
1570}
1571
1572// GetScalePolicyTriggerTypeService returns an instance of the Scale_Policy_Trigger_Type SoftLayer service
1573func GetScalePolicyTriggerTypeService(sess *session.Session) Scale_Policy_Trigger_Type {
1574	return Scale_Policy_Trigger_Type{Session: sess}
1575}
1576
1577func (r Scale_Policy_Trigger_Type) Id(id int) Scale_Policy_Trigger_Type {
1578	r.Options.Id = &id
1579	return r
1580}
1581
1582func (r Scale_Policy_Trigger_Type) Mask(mask string) Scale_Policy_Trigger_Type {
1583	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1584		mask = fmt.Sprintf("mask[%s]", mask)
1585	}
1586
1587	r.Options.Mask = mask
1588	return r
1589}
1590
1591func (r Scale_Policy_Trigger_Type) Filter(filter string) Scale_Policy_Trigger_Type {
1592	r.Options.Filter = filter
1593	return r
1594}
1595
1596func (r Scale_Policy_Trigger_Type) Limit(limit int) Scale_Policy_Trigger_Type {
1597	r.Options.Limit = &limit
1598	return r
1599}
1600
1601func (r Scale_Policy_Trigger_Type) Offset(offset int) Scale_Policy_Trigger_Type {
1602	r.Options.Offset = &offset
1603	return r
1604}
1605
1606// no documentation yet
1607func (r Scale_Policy_Trigger_Type) GetAllObjects() (resp []datatypes.Scale_Policy_Trigger_Type, err error) {
1608	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Type", "getAllObjects", nil, &r.Options, &resp)
1609	return
1610}
1611
1612// no documentation yet
1613func (r Scale_Policy_Trigger_Type) GetObject() (resp datatypes.Scale_Policy_Trigger_Type, err error) {
1614	err = r.Session.DoRequest("SoftLayer_Scale_Policy_Trigger_Type", "getObject", nil, &r.Options, &resp)
1615	return
1616}
1617
1618// no documentation yet
1619type Scale_Termination_Policy struct {
1620	Session *session.Session
1621	Options sl.Options
1622}
1623
1624// GetScaleTerminationPolicyService returns an instance of the Scale_Termination_Policy SoftLayer service
1625func GetScaleTerminationPolicyService(sess *session.Session) Scale_Termination_Policy {
1626	return Scale_Termination_Policy{Session: sess}
1627}
1628
1629func (r Scale_Termination_Policy) Id(id int) Scale_Termination_Policy {
1630	r.Options.Id = &id
1631	return r
1632}
1633
1634func (r Scale_Termination_Policy) Mask(mask string) Scale_Termination_Policy {
1635	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
1636		mask = fmt.Sprintf("mask[%s]", mask)
1637	}
1638
1639	r.Options.Mask = mask
1640	return r
1641}
1642
1643func (r Scale_Termination_Policy) Filter(filter string) Scale_Termination_Policy {
1644	r.Options.Filter = filter
1645	return r
1646}
1647
1648func (r Scale_Termination_Policy) Limit(limit int) Scale_Termination_Policy {
1649	r.Options.Limit = &limit
1650	return r
1651}
1652
1653func (r Scale_Termination_Policy) Offset(offset int) Scale_Termination_Policy {
1654	r.Options.Offset = &offset
1655	return r
1656}
1657
1658// no documentation yet
1659func (r Scale_Termination_Policy) GetAllObjects() (resp []datatypes.Scale_Termination_Policy, err error) {
1660	err = r.Session.DoRequest("SoftLayer_Scale_Termination_Policy", "getAllObjects", nil, &r.Options, &resp)
1661	return
1662}
1663
1664// no documentation yet
1665func (r Scale_Termination_Policy) GetObject() (resp datatypes.Scale_Termination_Policy, err error) {
1666	err = r.Session.DoRequest("SoftLayer_Scale_Termination_Policy", "getObject", nil, &r.Options, &resp)
1667	return
1668}
1669