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// Supported hardware raid modes
33type Configuration_Storage_Group_Array_Type struct {
34	Session *session.Session
35	Options sl.Options
36}
37
38// GetConfigurationStorageGroupArrayTypeService returns an instance of the Configuration_Storage_Group_Array_Type SoftLayer service
39func GetConfigurationStorageGroupArrayTypeService(sess *session.Session) Configuration_Storage_Group_Array_Type {
40	return Configuration_Storage_Group_Array_Type{Session: sess}
41}
42
43func (r Configuration_Storage_Group_Array_Type) Id(id int) Configuration_Storage_Group_Array_Type {
44	r.Options.Id = &id
45	return r
46}
47
48func (r Configuration_Storage_Group_Array_Type) Mask(mask string) Configuration_Storage_Group_Array_Type {
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 Configuration_Storage_Group_Array_Type) Filter(filter string) Configuration_Storage_Group_Array_Type {
58	r.Options.Filter = filter
59	return r
60}
61
62func (r Configuration_Storage_Group_Array_Type) Limit(limit int) Configuration_Storage_Group_Array_Type {
63	r.Options.Limit = &limit
64	return r
65}
66
67func (r Configuration_Storage_Group_Array_Type) Offset(offset int) Configuration_Storage_Group_Array_Type {
68	r.Options.Offset = &offset
69	return r
70}
71
72// no documentation yet
73func (r Configuration_Storage_Group_Array_Type) GetAllObjects() (resp []datatypes.Configuration_Storage_Group_Array_Type, err error) {
74	err = r.Session.DoRequest("SoftLayer_Configuration_Storage_Group_Array_Type", "getAllObjects", nil, &r.Options, &resp)
75	return
76}
77
78// Retrieve
79func (r Configuration_Storage_Group_Array_Type) GetHardwareComponentModels() (resp []datatypes.Hardware_Component_Model, err error) {
80	err = r.Session.DoRequest("SoftLayer_Configuration_Storage_Group_Array_Type", "getHardwareComponentModels", nil, &r.Options, &resp)
81	return
82}
83
84// no documentation yet
85func (r Configuration_Storage_Group_Array_Type) GetObject() (resp datatypes.Configuration_Storage_Group_Array_Type, err error) {
86	err = r.Session.DoRequest("SoftLayer_Configuration_Storage_Group_Array_Type", "getObject", nil, &r.Options, &resp)
87	return
88}
89
90// The SoftLayer_Configuration_Template data type contains general information of an arbitrary resource.
91type Configuration_Template struct {
92	Session *session.Session
93	Options sl.Options
94}
95
96// GetConfigurationTemplateService returns an instance of the Configuration_Template SoftLayer service
97func GetConfigurationTemplateService(sess *session.Session) Configuration_Template {
98	return Configuration_Template{Session: sess}
99}
100
101func (r Configuration_Template) Id(id int) Configuration_Template {
102	r.Options.Id = &id
103	return r
104}
105
106func (r Configuration_Template) Mask(mask string) Configuration_Template {
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 Configuration_Template) Filter(filter string) Configuration_Template {
116	r.Options.Filter = filter
117	return r
118}
119
120func (r Configuration_Template) Limit(limit int) Configuration_Template {
121	r.Options.Limit = &limit
122	return r
123}
124
125func (r Configuration_Template) Offset(offset int) Configuration_Template {
126	r.Options.Offset = &offset
127	return r
128}
129
130// Copy a configuration template and returns a newly created template copy
131func (r Configuration_Template) CopyTemplate(templateObject *datatypes.Configuration_Template) (resp datatypes.Configuration_Template, err error) {
132	params := []interface{}{
133		templateObject,
134	}
135	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "copyTemplate", params, &r.Options, &resp)
136	return
137}
138
139// Deletes a customer configuration template.
140func (r Configuration_Template) DeleteObject() (resp bool, err error) {
141	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "deleteObject", nil, &r.Options, &resp)
142	return
143}
144
145// Edit the object by passing in a modified instance of the object. Use this method to modify configuration template name or description.
146func (r Configuration_Template) EditObject(templateObject *datatypes.Configuration_Template) (resp bool, err error) {
147	params := []interface{}{
148		templateObject,
149	}
150	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "editObject", params, &r.Options, &resp)
151	return
152}
153
154// Retrieve
155func (r Configuration_Template) GetAccount() (resp datatypes.Account, err error) {
156	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getAccount", nil, &r.Options, &resp)
157	return
158}
159
160// Retrieves all available configuration templates
161func (r Configuration_Template) GetAllObjects() (resp []datatypes.Configuration_Template, err error) {
162	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getAllObjects", nil, &r.Options, &resp)
163	return
164}
165
166// Retrieve
167func (r Configuration_Template) GetConfigurationSections() (resp []datatypes.Configuration_Template_Section, err error) {
168	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getConfigurationSections", nil, &r.Options, &resp)
169	return
170}
171
172// Retrieve
173func (r Configuration_Template) GetConfigurationTemplateReference() (resp []datatypes.Monitoring_Agent_Configuration_Template_Group_Reference, err error) {
174	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getConfigurationTemplateReference", nil, &r.Options, &resp)
175	return
176}
177
178// Retrieve
179func (r Configuration_Template) GetDefaultValues() (resp []datatypes.Configuration_Template_Section_Definition_Value, err error) {
180	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getDefaultValues", nil, &r.Options, &resp)
181	return
182}
183
184// Retrieve
185func (r Configuration_Template) GetDefinitions() (resp []datatypes.Configuration_Template_Section_Definition, err error) {
186	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getDefinitions", nil, &r.Options, &resp)
187	return
188}
189
190// Retrieve
191func (r Configuration_Template) GetItem() (resp datatypes.Product_Item, err error) {
192	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getItem", nil, &r.Options, &resp)
193	return
194}
195
196// Retrieve
197func (r Configuration_Template) GetLinkedSectionReferences() (resp datatypes.Configuration_Template_Section_Reference, err error) {
198	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getLinkedSectionReferences", nil, &r.Options, &resp)
199	return
200}
201
202// no documentation yet
203func (r Configuration_Template) GetObject() (resp datatypes.Configuration_Template, err error) {
204	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getObject", nil, &r.Options, &resp)
205	return
206}
207
208// Retrieve
209func (r Configuration_Template) GetParent() (resp datatypes.Configuration_Template, err error) {
210	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getParent", nil, &r.Options, &resp)
211	return
212}
213
214// Retrieve
215func (r Configuration_Template) GetUser() (resp datatypes.User_Customer, err error) {
216	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "getUser", nil, &r.Options, &resp)
217	return
218}
219
220// Updates default configuration values.
221func (r Configuration_Template) UpdateDefaultValues(configurationValues []datatypes.Configuration_Template_Section_Definition_Value) (resp bool, err error) {
222	params := []interface{}{
223		configurationValues,
224	}
225	err = r.Session.DoRequest("SoftLayer_Configuration_Template", "updateDefaultValues", params, &r.Options, &resp)
226	return
227}
228
229// The SoftLayer_Configuration_Template_Section data type contains information of a configuration section.
230//
231// Configuration can contain sub-sections.
232type Configuration_Template_Section struct {
233	Session *session.Session
234	Options sl.Options
235}
236
237// GetConfigurationTemplateSectionService returns an instance of the Configuration_Template_Section SoftLayer service
238func GetConfigurationTemplateSectionService(sess *session.Session) Configuration_Template_Section {
239	return Configuration_Template_Section{Session: sess}
240}
241
242func (r Configuration_Template_Section) Id(id int) Configuration_Template_Section {
243	r.Options.Id = &id
244	return r
245}
246
247func (r Configuration_Template_Section) Mask(mask string) Configuration_Template_Section {
248	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
249		mask = fmt.Sprintf("mask[%s]", mask)
250	}
251
252	r.Options.Mask = mask
253	return r
254}
255
256func (r Configuration_Template_Section) Filter(filter string) Configuration_Template_Section {
257	r.Options.Filter = filter
258	return r
259}
260
261func (r Configuration_Template_Section) Limit(limit int) Configuration_Template_Section {
262	r.Options.Limit = &limit
263	return r
264}
265
266func (r Configuration_Template_Section) Offset(offset int) Configuration_Template_Section {
267	r.Options.Offset = &offset
268	return r
269}
270
271// Retrieve
272func (r Configuration_Template_Section) GetDefinitions() (resp []datatypes.Configuration_Template_Section_Definition, err error) {
273	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getDefinitions", nil, &r.Options, &resp)
274	return
275}
276
277// Retrieve
278func (r Configuration_Template_Section) GetDisallowedDeletionFlag() (resp bool, err error) {
279	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getDisallowedDeletionFlag", nil, &r.Options, &resp)
280	return
281}
282
283// Retrieve
284func (r Configuration_Template_Section) GetLinkedTemplate() (resp datatypes.Configuration_Template, err error) {
285	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getLinkedTemplate", nil, &r.Options, &resp)
286	return
287}
288
289// Retrieve
290func (r Configuration_Template_Section) GetLinkedTemplateReference() (resp datatypes.Configuration_Template_Section_Reference, err error) {
291	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getLinkedTemplateReference", nil, &r.Options, &resp)
292	return
293}
294
295// no documentation yet
296func (r Configuration_Template_Section) GetObject() (resp datatypes.Configuration_Template_Section, err error) {
297	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getObject", nil, &r.Options, &resp)
298	return
299}
300
301// Retrieve
302func (r Configuration_Template_Section) GetProfiles() (resp []datatypes.Configuration_Template_Section_Profile, err error) {
303	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getProfiles", nil, &r.Options, &resp)
304	return
305}
306
307// Retrieve
308func (r Configuration_Template_Section) GetSectionType() (resp datatypes.Configuration_Template_Section_Type, err error) {
309	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getSectionType", nil, &r.Options, &resp)
310	return
311}
312
313// Retrieve
314func (r Configuration_Template_Section) GetSectionTypeName() (resp string, err error) {
315	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getSectionTypeName", nil, &r.Options, &resp)
316	return
317}
318
319// Retrieve
320func (r Configuration_Template_Section) GetSubSections() (resp []datatypes.Configuration_Template_Section, err error) {
321	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getSubSections", nil, &r.Options, &resp)
322	return
323}
324
325// Retrieve
326func (r Configuration_Template_Section) GetTemplate() (resp datatypes.Configuration_Template, err error) {
327	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "getTemplate", nil, &r.Options, &resp)
328	return
329}
330
331// Returns true if the object has sub-sections
332func (r Configuration_Template_Section) HasSubSections() (resp bool, err error) {
333	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section", "hasSubSections", nil, &r.Options, &resp)
334	return
335}
336
337// Configuration definition gives you details of the value that you're setting.
338//
339// Some monitoring agents requires values unique to your system. If value type is defined as "Resource Specific Values", you will have to make an additional API call to retrieve your system specific values.
340//
341// See [[SoftLayer_Monitoring_Agent::getAvailableConfigurationValues|Monitoring Agent]] service to retrieve your system specific values.
342type Configuration_Template_Section_Definition struct {
343	Session *session.Session
344	Options sl.Options
345}
346
347// GetConfigurationTemplateSectionDefinitionService returns an instance of the Configuration_Template_Section_Definition SoftLayer service
348func GetConfigurationTemplateSectionDefinitionService(sess *session.Session) Configuration_Template_Section_Definition {
349	return Configuration_Template_Section_Definition{Session: sess}
350}
351
352func (r Configuration_Template_Section_Definition) Id(id int) Configuration_Template_Section_Definition {
353	r.Options.Id = &id
354	return r
355}
356
357func (r Configuration_Template_Section_Definition) Mask(mask string) Configuration_Template_Section_Definition {
358	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
359		mask = fmt.Sprintf("mask[%s]", mask)
360	}
361
362	r.Options.Mask = mask
363	return r
364}
365
366func (r Configuration_Template_Section_Definition) Filter(filter string) Configuration_Template_Section_Definition {
367	r.Options.Filter = filter
368	return r
369}
370
371func (r Configuration_Template_Section_Definition) Limit(limit int) Configuration_Template_Section_Definition {
372	r.Options.Limit = &limit
373	return r
374}
375
376func (r Configuration_Template_Section_Definition) Offset(offset int) Configuration_Template_Section_Definition {
377	r.Options.Offset = &offset
378	return r
379}
380
381// Retrieve
382func (r Configuration_Template_Section_Definition) GetAttributes() (resp []datatypes.Configuration_Template_Section_Definition_Attribute, err error) {
383	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition", "getAttributes", nil, &r.Options, &resp)
384	return
385}
386
387// Retrieve
388func (r Configuration_Template_Section_Definition) GetDefaultValue() (resp datatypes.Configuration_Template_Section_Definition_Value, err error) {
389	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition", "getDefaultValue", nil, &r.Options, &resp)
390	return
391}
392
393// Retrieve
394func (r Configuration_Template_Section_Definition) GetGroup() (resp datatypes.Configuration_Template_Section_Definition_Group, err error) {
395	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition", "getGroup", nil, &r.Options, &resp)
396	return
397}
398
399// Retrieve
400func (r Configuration_Template_Section_Definition) GetMonitoringDataFlag() (resp bool, err error) {
401	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition", "getMonitoringDataFlag", nil, &r.Options, &resp)
402	return
403}
404
405// no documentation yet
406func (r Configuration_Template_Section_Definition) GetObject() (resp datatypes.Configuration_Template_Section_Definition, err error) {
407	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition", "getObject", nil, &r.Options, &resp)
408	return
409}
410
411// Retrieve
412func (r Configuration_Template_Section_Definition) GetSection() (resp datatypes.Configuration_Template_Section, err error) {
413	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition", "getSection", nil, &r.Options, &resp)
414	return
415}
416
417// Retrieve
418func (r Configuration_Template_Section_Definition) GetValueType() (resp datatypes.Configuration_Template_Section_Definition_Type, err error) {
419	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition", "getValueType", nil, &r.Options, &resp)
420	return
421}
422
423// Configuration definition group gives you details of the definition and allows extra functionality.
424//
425//
426type Configuration_Template_Section_Definition_Group struct {
427	Session *session.Session
428	Options sl.Options
429}
430
431// GetConfigurationTemplateSectionDefinitionGroupService returns an instance of the Configuration_Template_Section_Definition_Group SoftLayer service
432func GetConfigurationTemplateSectionDefinitionGroupService(sess *session.Session) Configuration_Template_Section_Definition_Group {
433	return Configuration_Template_Section_Definition_Group{Session: sess}
434}
435
436func (r Configuration_Template_Section_Definition_Group) Id(id int) Configuration_Template_Section_Definition_Group {
437	r.Options.Id = &id
438	return r
439}
440
441func (r Configuration_Template_Section_Definition_Group) Mask(mask string) Configuration_Template_Section_Definition_Group {
442	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
443		mask = fmt.Sprintf("mask[%s]", mask)
444	}
445
446	r.Options.Mask = mask
447	return r
448}
449
450func (r Configuration_Template_Section_Definition_Group) Filter(filter string) Configuration_Template_Section_Definition_Group {
451	r.Options.Filter = filter
452	return r
453}
454
455func (r Configuration_Template_Section_Definition_Group) Limit(limit int) Configuration_Template_Section_Definition_Group {
456	r.Options.Limit = &limit
457	return r
458}
459
460func (r Configuration_Template_Section_Definition_Group) Offset(offset int) Configuration_Template_Section_Definition_Group {
461	r.Options.Offset = &offset
462	return r
463}
464
465// Get all configuration definition group objects.
466//
467// ''getAllGroups'' returns an array of SoftLayer_Configuration_Template_Section_Definition_Group objects upon success.
468func (r Configuration_Template_Section_Definition_Group) GetAllGroups() (resp []datatypes.Configuration_Template_Section_Definition_Group, err error) {
469	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition_Group", "getAllGroups", nil, &r.Options, &resp)
470	return
471}
472
473// no documentation yet
474func (r Configuration_Template_Section_Definition_Group) GetObject() (resp datatypes.Configuration_Template_Section_Definition_Group, err error) {
475	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition_Group", "getObject", nil, &r.Options, &resp)
476	return
477}
478
479// Retrieve
480func (r Configuration_Template_Section_Definition_Group) GetParent() (resp datatypes.Configuration_Template_Section_Definition_Group, err error) {
481	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition_Group", "getParent", nil, &r.Options, &resp)
482	return
483}
484
485// SoftLayer_Configuration_Template_Section_Definition_Type further defines the value of a configuration definition.
486type Configuration_Template_Section_Definition_Type struct {
487	Session *session.Session
488	Options sl.Options
489}
490
491// GetConfigurationTemplateSectionDefinitionTypeService returns an instance of the Configuration_Template_Section_Definition_Type SoftLayer service
492func GetConfigurationTemplateSectionDefinitionTypeService(sess *session.Session) Configuration_Template_Section_Definition_Type {
493	return Configuration_Template_Section_Definition_Type{Session: sess}
494}
495
496func (r Configuration_Template_Section_Definition_Type) Id(id int) Configuration_Template_Section_Definition_Type {
497	r.Options.Id = &id
498	return r
499}
500
501func (r Configuration_Template_Section_Definition_Type) Mask(mask string) Configuration_Template_Section_Definition_Type {
502	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
503		mask = fmt.Sprintf("mask[%s]", mask)
504	}
505
506	r.Options.Mask = mask
507	return r
508}
509
510func (r Configuration_Template_Section_Definition_Type) Filter(filter string) Configuration_Template_Section_Definition_Type {
511	r.Options.Filter = filter
512	return r
513}
514
515func (r Configuration_Template_Section_Definition_Type) Limit(limit int) Configuration_Template_Section_Definition_Type {
516	r.Options.Limit = &limit
517	return r
518}
519
520func (r Configuration_Template_Section_Definition_Type) Offset(offset int) Configuration_Template_Section_Definition_Type {
521	r.Options.Offset = &offset
522	return r
523}
524
525// no documentation yet
526func (r Configuration_Template_Section_Definition_Type) GetObject() (resp datatypes.Configuration_Template_Section_Definition_Type, err error) {
527	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition_Type", "getObject", nil, &r.Options, &resp)
528	return
529}
530
531// SoftLayer_Configuration_Section_Value is used to set the value for a configuration definition
532type Configuration_Template_Section_Definition_Value struct {
533	Session *session.Session
534	Options sl.Options
535}
536
537// GetConfigurationTemplateSectionDefinitionValueService returns an instance of the Configuration_Template_Section_Definition_Value SoftLayer service
538func GetConfigurationTemplateSectionDefinitionValueService(sess *session.Session) Configuration_Template_Section_Definition_Value {
539	return Configuration_Template_Section_Definition_Value{Session: sess}
540}
541
542func (r Configuration_Template_Section_Definition_Value) Id(id int) Configuration_Template_Section_Definition_Value {
543	r.Options.Id = &id
544	return r
545}
546
547func (r Configuration_Template_Section_Definition_Value) Mask(mask string) Configuration_Template_Section_Definition_Value {
548	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
549		mask = fmt.Sprintf("mask[%s]", mask)
550	}
551
552	r.Options.Mask = mask
553	return r
554}
555
556func (r Configuration_Template_Section_Definition_Value) Filter(filter string) Configuration_Template_Section_Definition_Value {
557	r.Options.Filter = filter
558	return r
559}
560
561func (r Configuration_Template_Section_Definition_Value) Limit(limit int) Configuration_Template_Section_Definition_Value {
562	r.Options.Limit = &limit
563	return r
564}
565
566func (r Configuration_Template_Section_Definition_Value) Offset(offset int) Configuration_Template_Section_Definition_Value {
567	r.Options.Offset = &offset
568	return r
569}
570
571// Retrieve
572func (r Configuration_Template_Section_Definition_Value) GetDefinition() (resp datatypes.Configuration_Template_Section_Definition, err error) {
573	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition_Value", "getDefinition", nil, &r.Options, &resp)
574	return
575}
576
577// no documentation yet
578func (r Configuration_Template_Section_Definition_Value) GetObject() (resp datatypes.Configuration_Template_Section_Definition_Value, err error) {
579	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition_Value", "getObject", nil, &r.Options, &resp)
580	return
581}
582
583// Retrieve
584func (r Configuration_Template_Section_Definition_Value) GetTemplate() (resp datatypes.Configuration_Template, err error) {
585	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Definition_Value", "getTemplate", nil, &r.Options, &resp)
586	return
587}
588
589// Some configuration templates let you create a unique configuration profiles.
590//
591// For example, you can create multiple configuration profiles to monitor multiple hard drives with "CPU/Memory/Disk Monitoring Agent". SoftLayer_Configuration_Template_Section_Profile help you keep track of custom configuration profiles.
592type Configuration_Template_Section_Profile struct {
593	Session *session.Session
594	Options sl.Options
595}
596
597// GetConfigurationTemplateSectionProfileService returns an instance of the Configuration_Template_Section_Profile SoftLayer service
598func GetConfigurationTemplateSectionProfileService(sess *session.Session) Configuration_Template_Section_Profile {
599	return Configuration_Template_Section_Profile{Session: sess}
600}
601
602func (r Configuration_Template_Section_Profile) Id(id int) Configuration_Template_Section_Profile {
603	r.Options.Id = &id
604	return r
605}
606
607func (r Configuration_Template_Section_Profile) Mask(mask string) Configuration_Template_Section_Profile {
608	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
609		mask = fmt.Sprintf("mask[%s]", mask)
610	}
611
612	r.Options.Mask = mask
613	return r
614}
615
616func (r Configuration_Template_Section_Profile) Filter(filter string) Configuration_Template_Section_Profile {
617	r.Options.Filter = filter
618	return r
619}
620
621func (r Configuration_Template_Section_Profile) Limit(limit int) Configuration_Template_Section_Profile {
622	r.Options.Limit = &limit
623	return r
624}
625
626func (r Configuration_Template_Section_Profile) Offset(offset int) Configuration_Template_Section_Profile {
627	r.Options.Offset = &offset
628	return r
629}
630
631// Retrieve
632func (r Configuration_Template_Section_Profile) GetConfigurationSection() (resp datatypes.Configuration_Template_Section, err error) {
633	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Profile", "getConfigurationSection", nil, &r.Options, &resp)
634	return
635}
636
637// Retrieve
638func (r Configuration_Template_Section_Profile) GetMonitoringAgent() (resp datatypes.Monitoring_Agent, err error) {
639	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Profile", "getMonitoringAgent", nil, &r.Options, &resp)
640	return
641}
642
643// no documentation yet
644func (r Configuration_Template_Section_Profile) GetObject() (resp datatypes.Configuration_Template_Section_Profile, err error) {
645	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Profile", "getObject", nil, &r.Options, &resp)
646	return
647}
648
649// The SoftLayer_Configuration_Template_Section_Reference data type contains information of a configuration section and its associated configuration template.
650type Configuration_Template_Section_Reference struct {
651	Session *session.Session
652	Options sl.Options
653}
654
655// GetConfigurationTemplateSectionReferenceService returns an instance of the Configuration_Template_Section_Reference SoftLayer service
656func GetConfigurationTemplateSectionReferenceService(sess *session.Session) Configuration_Template_Section_Reference {
657	return Configuration_Template_Section_Reference{Session: sess}
658}
659
660func (r Configuration_Template_Section_Reference) Id(id int) Configuration_Template_Section_Reference {
661	r.Options.Id = &id
662	return r
663}
664
665func (r Configuration_Template_Section_Reference) Mask(mask string) Configuration_Template_Section_Reference {
666	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
667		mask = fmt.Sprintf("mask[%s]", mask)
668	}
669
670	r.Options.Mask = mask
671	return r
672}
673
674func (r Configuration_Template_Section_Reference) Filter(filter string) Configuration_Template_Section_Reference {
675	r.Options.Filter = filter
676	return r
677}
678
679func (r Configuration_Template_Section_Reference) Limit(limit int) Configuration_Template_Section_Reference {
680	r.Options.Limit = &limit
681	return r
682}
683
684func (r Configuration_Template_Section_Reference) Offset(offset int) Configuration_Template_Section_Reference {
685	r.Options.Offset = &offset
686	return r
687}
688
689// no documentation yet
690func (r Configuration_Template_Section_Reference) GetObject() (resp datatypes.Configuration_Template_Section_Reference, err error) {
691	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Reference", "getObject", nil, &r.Options, &resp)
692	return
693}
694
695// Retrieve
696func (r Configuration_Template_Section_Reference) GetSection() (resp datatypes.Configuration_Template_Section, err error) {
697	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Reference", "getSection", nil, &r.Options, &resp)
698	return
699}
700
701// Retrieve
702func (r Configuration_Template_Section_Reference) GetTemplate() (resp datatypes.Configuration_Template, err error) {
703	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Reference", "getTemplate", nil, &r.Options, &resp)
704	return
705}
706
707// The SoftLayer_Configuration_Template_Section_Type data type contains information of a configuration section type.
708//
709// Configuration can contain sub-sections.
710type Configuration_Template_Section_Type struct {
711	Session *session.Session
712	Options sl.Options
713}
714
715// GetConfigurationTemplateSectionTypeService returns an instance of the Configuration_Template_Section_Type SoftLayer service
716func GetConfigurationTemplateSectionTypeService(sess *session.Session) Configuration_Template_Section_Type {
717	return Configuration_Template_Section_Type{Session: sess}
718}
719
720func (r Configuration_Template_Section_Type) Id(id int) Configuration_Template_Section_Type {
721	r.Options.Id = &id
722	return r
723}
724
725func (r Configuration_Template_Section_Type) Mask(mask string) Configuration_Template_Section_Type {
726	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
727		mask = fmt.Sprintf("mask[%s]", mask)
728	}
729
730	r.Options.Mask = mask
731	return r
732}
733
734func (r Configuration_Template_Section_Type) Filter(filter string) Configuration_Template_Section_Type {
735	r.Options.Filter = filter
736	return r
737}
738
739func (r Configuration_Template_Section_Type) Limit(limit int) Configuration_Template_Section_Type {
740	r.Options.Limit = &limit
741	return r
742}
743
744func (r Configuration_Template_Section_Type) Offset(offset int) Configuration_Template_Section_Type {
745	r.Options.Offset = &offset
746	return r
747}
748
749// no documentation yet
750func (r Configuration_Template_Section_Type) GetObject() (resp datatypes.Configuration_Template_Section_Type, err error) {
751	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Section_Type", "getObject", nil, &r.Options, &resp)
752	return
753}
754
755// The SoftLayer_Configuration_Template_Type data type contains configuration template type information.
756type Configuration_Template_Type struct {
757	Session *session.Session
758	Options sl.Options
759}
760
761// GetConfigurationTemplateTypeService returns an instance of the Configuration_Template_Type SoftLayer service
762func GetConfigurationTemplateTypeService(sess *session.Session) Configuration_Template_Type {
763	return Configuration_Template_Type{Session: sess}
764}
765
766func (r Configuration_Template_Type) Id(id int) Configuration_Template_Type {
767	r.Options.Id = &id
768	return r
769}
770
771func (r Configuration_Template_Type) Mask(mask string) Configuration_Template_Type {
772	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
773		mask = fmt.Sprintf("mask[%s]", mask)
774	}
775
776	r.Options.Mask = mask
777	return r
778}
779
780func (r Configuration_Template_Type) Filter(filter string) Configuration_Template_Type {
781	r.Options.Filter = filter
782	return r
783}
784
785func (r Configuration_Template_Type) Limit(limit int) Configuration_Template_Type {
786	r.Options.Limit = &limit
787	return r
788}
789
790func (r Configuration_Template_Type) Offset(offset int) Configuration_Template_Type {
791	r.Options.Offset = &offset
792	return r
793}
794
795// no documentation yet
796func (r Configuration_Template_Type) GetObject() (resp datatypes.Configuration_Template_Type, err error) {
797	err = r.Session.DoRequest("SoftLayer_Configuration_Template_Type", "getObject", nil, &r.Options, &resp)
798	return
799}
800